summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/core/html/PublicURLManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/html/PublicURLManager.h')
-rw-r--r--chromium/third_party/WebKit/Source/core/html/PublicURLManager.h15
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