summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profile.h
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-31 01:09:42 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-31 01:09:42 +0000
commit57a777f7584961290e87e6e4149c0ed042334425 (patch)
tree94ccff83d4ac08208da52890d4e4ae8e33a0f946 /chrome/browser/profile.h
parent151793fa77c13c94709ab5525a8f3fd9a5301450 (diff)
downloadchromium_src-57a777f7584961290e87e6e4149c0ed042334425.zip
chromium_src-57a777f7584961290e87e6e4149c0ed042334425.tar.gz
chromium_src-57a777f7584961290e87e6e4149c0ed042334425.tar.bz2
Hook up extension apps notification permission, take two
This is the chromium side of a change which will wait to land on the webkit side landing. (https://bugs.webkit.org/show_bug.cgi?id=36625) It changes the NotificationPresenter to pass the sourceURL, rather than the SecurityOrigin in checking permission. The full URL is required to match the app extent. BUG=32361, 31024 TEST=NONE Review URL: http://codereview.chromium.org/1383001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43162 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/profile.h')
-rw-r--r--chrome/browser/profile.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/profile.h b/chrome/browser/profile.h
index 91faad0..15cb97a 100644
--- a/chrome/browser/profile.h
+++ b/chrome/browser/profile.h
@@ -289,6 +289,18 @@ class Profile {
// is only used for a separate cookie store currently.
virtual URLRequestContextGetter* GetRequestContextForExtensions() = 0;
+ // Called by the ExtensionsService that lives in this profile. Gives the
+ // profile a chance to react to the load event before the EXTENSION_LOADED
+ // notification has fired. The purpose for handling this event first is to
+ // avoid race conditions by making sure URLRequestContexts learn about new
+ // extensions before anything else needs them to know.
+ virtual void RegisterExtensionWithRequestContexts(Extension* extension) {}
+
+ // Called by the ExtensionsService that lives in this profile. Lets the
+ // profile clean up its RequestContexts once all the listeners to the
+ // EXTENSION_UNLOADED notification have finished running.
+ virtual void UnregisterExtensionWithRequestContexts(Extension* extension) {}
+
// Returns the SSLConfigService for this profile.
virtual net::SSLConfigService* GetSSLConfigService() = 0;
@@ -471,6 +483,8 @@ class ProfileImpl : public Profile,
virtual URLRequestContextGetter* GetRequestContext();
virtual URLRequestContextGetter* GetRequestContextForMedia();
virtual URLRequestContextGetter* GetRequestContextForExtensions();
+ virtual void RegisterExtensionWithRequestContexts(Extension* extension);
+ virtual void UnregisterExtensionWithRequestContexts(Extension* extension);
virtual net::SSLConfigService* GetSSLConfigService();
virtual HostContentSettingsMap* GetHostContentSettingsMap();
virtual HostZoomMap* GetHostZoomMap();