diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/html/PublicURLManager.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/html/PublicURLManager.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/chromium/third_party/WebKit/Source/core/html/PublicURLManager.h b/chromium/third_party/WebKit/Source/core/html/PublicURLManager.h index 08848772701..094d42b4204 100644 --- a/chromium/third_party/WebKit/Source/core/html/PublicURLManager.h +++ b/chromium/third_party/WebKit/Source/core/html/PublicURLManager.h @@ -40,13 +40,14 @@ class SecurityOrigin; class URLRegistry; class URLRegistrable; -class PublicURLManager : public ActiveDOMObject { +class PublicURLManager FINAL : public ActiveDOMObject { WTF_MAKE_FAST_ALLOCATED; public: static PassOwnPtr<PublicURLManager> create(ExecutionContext*); - void registerURL(SecurityOrigin*, const KURL&, URLRegistrable*); + void registerURL(SecurityOrigin*, const KURL&, URLRegistrable*, const String& uuid = String()); void revoke(const KURL&); + void revoke(const String& uuid); // ActiveDOMObject interface. virtual void stop() OVERRIDE; @@ -54,12 +55,16 @@ public: private: PublicURLManager(ExecutionContext*); - typedef HashSet<String> URLSet; - typedef HashMap<URLRegistry*, URLSet > RegistryURLMap; + // One or more URLs can be associated with the same unique ID. + // Objects need be revoked by unique ID in some cases. + typedef String URLString; + typedef HashMap<URLString, String> URLMap; + typedef HashMap<URLRegistry*, URLMap> RegistryURLMap; + RegistryURLMap m_registryToURL; bool m_isStopped; }; } // namespace WebCore -#endif // PUBLICURLMANAGER_h +#endif // PublicURLManager_h |