Make JavaScript dialogs auto-dismiss on tab switch.

This is a Views-only implementation for now. This works on the Mac too, but is ugly; a real Mac version is to come.

Behind the feature flag "AutoDismissingDialogs".

BUG=629964

Review-Url: https://chromiumcodereview.appspot.com/2421943002
Cr-Commit-Position: refs/heads/master@{#426133}
diff --git a/components/app_modal/javascript_dialog_manager.h b/components/app_modal/javascript_dialog_manager.h
index 9e9dfeb..3018142 100644
--- a/components/app_modal/javascript_dialog_manager.h
+++ b/components/app_modal/javascript_dialog_manager.h
@@ -37,11 +37,9 @@
   void SetExtensionsClient(
       std::unique_ptr<JavaScriptDialogExtensionsClient> extensions_client);
 
- private:
-  friend struct base::DefaultSingletonTraits<JavaScriptDialogManager>;
-
-  JavaScriptDialogManager();
-  ~JavaScriptDialogManager() override;
+  // Gets the title for a dialog.
+  base::string16 GetTitle(content::WebContents* web_contents,
+                          const GURL& origin_url);
 
   // JavaScriptDialogManager:
   void RunJavaScriptDialog(content::WebContents* web_contents,
@@ -61,9 +59,11 @@
                      bool suppress_callbacks,
                      bool reset_state) override;
 
-  base::string16 GetTitle(content::WebContents* web_contents,
-                          const GURL& origin_url,
-                          bool is_alert);
+ private:
+  friend struct base::DefaultSingletonTraits<JavaScriptDialogManager>;
+
+  JavaScriptDialogManager();
+  ~JavaScriptDialogManager() override;
 
   // Wrapper around OnDialogClosed; logs UMA stats before continuing on.
   void OnBeforeUnloadDialogClosed(content::WebContents* web_contents,