diff options
author | meacer@chromium.org <meacer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-02 00:55:19 +0000 |
---|---|---|
committer | meacer@chromium.org <meacer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-02 00:55:19 +0000 |
commit | c4b6c85962e5c1dca60c2fc08c75abd52dbd6f01 (patch) | |
tree | e6912608ee6e6beb8d53138d33131915c179c9f5 /chrome/browser/extensions | |
parent | 94ec440e77ad0b84608869d98b4ec92e7834ced1 (diff) | |
download | chromium_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')
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( |