summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authormeacer@chromium.org <meacer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-02 00:55:19 +0000
committermeacer@chromium.org <meacer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-02 00:55:19 +0000
commitc4b6c85962e5c1dca60c2fc08c75abd52dbd6f01 (patch)
treee6912608ee6e6beb8d53138d33131915c179c9f5 /chrome/browser/extensions
parent94ec440e77ad0b84608869d98b4ec92e7834ced1 (diff)
downloadchromium_src-c4b6c85962e5c1dca60c2fc08c75abd52dbd6f01.zip
chromium_src-c4b6c85962e5c1dca60c2fc08c75abd52dbd6f01.tar.gz
chromium_src-c4b6c85962e5c1dca60c2fc08c75abd52dbd6f01.tar.bz2
Fix the handling of user gestures for external protocol handler dialogs.
- Remove browser state from external protocol handler. - Use gesture with a timeout. BUG=173557 Review URL: https://codereview.chromium.org/131783012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261014 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/active_tab_permission_granter.cc3
-rw-r--r--chrome/browser/extensions/chrome_extensions_browser_client.cc4
-rw-r--r--chrome/browser/extensions/chrome_extensions_browser_client.h1
3 files changed, 3 insertions, 5 deletions
diff --git a/chrome/browser/extensions/active_tab_permission_granter.cc b/chrome/browser/extensions/active_tab_permission_granter.cc
index ecedd34..756007e 100644
--- a/chrome/browser/extensions/active_tab_permission_granter.cc
+++ b/chrome/browser/extensions/active_tab_permission_granter.cc
@@ -37,6 +37,9 @@ ActiveTabPermissionGranter::ActiveTabPermissionGranter(
ActiveTabPermissionGranter::~ActiveTabPermissionGranter() {}
void ActiveTabPermissionGranter::GrantIfRequested(const Extension* extension) {
+ // Active tab grant request implies there was a user gesture.
+ web_contents()->UserGestureDone();
+
if (granted_extensions_.Contains(extension->id()))
return;
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc
index 67d76bd..a8582a2 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.cc
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc
@@ -183,10 +183,6 @@ bool ChromeExtensionsBrowserClient::DidVersionUpdate(
return last_version.IsOlderThan(current_version);
}
-void ChromeExtensionsBrowserClient::PermitExternalProtocolHandler() {
- ExternalProtocolHandler::PermitLaunchUrl();
-}
-
scoped_ptr<AppSorting> ChromeExtensionsBrowserClient::CreateAppSorting() {
return scoped_ptr<AppSorting>(new ChromeAppSorting());
}
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.h b/chrome/browser/extensions/chrome_extensions_browser_client.h
index dd2d469..f7c7752 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.h
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.h
@@ -64,7 +64,6 @@ class ChromeExtensionsBrowserClient : public ExtensionsBrowserClient {
virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate()
OVERRIDE;
virtual bool DidVersionUpdate(content::BrowserContext* context) OVERRIDE;
- virtual void PermitExternalProtocolHandler() OVERRIDE;
virtual scoped_ptr<AppSorting> CreateAppSorting() OVERRIDE;
virtual bool IsRunningInForcedAppMode() OVERRIDE;
virtual ApiActivityMonitor* GetApiActivityMonitor(