Log a message on the console when the {push,replace}State quota is exceeded.

Previously, history.{push,replace}State spam failed silently, causing developer
confusion.

This change also introduces the --disable-pushstate-throttle flag to allow users
to disable the throttling.

This work was primarily authored by Trent Willis <[email protected]>.

[email protected], [email protected]

Bug: 769592, 794923
Change-Id: I969456b190d535f8dee3e03b5c4f4f36730d6b38
Reviewed-on: https://chromium-review.googlesource.com/851000
Commit-Queue: Chris Palmer <[email protected]>
Reviewed-by: Charlie Reis <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#543154}
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 5b46ec2..9ad3aac 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -170,6 +170,9 @@
 extern const char kDisableAudioForDesktopShareName[];
 extern const char kDisableAudioForDesktopShareDescription[];
 
+extern const char kDisablePushStateThrottleName[];
+extern const char kDisablePushStateThrottleDescription[];
+
 extern const char kDisableTabForDesktopShareName[];
 extern const char kDisableTabForDesktopShareDescription[];