Changeset 248473 in webkit
- Timestamp:
- Aug 9, 2019 1:55:06 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r248471 r248473 1 2019-08-09 Youenn Fablet <youenn@apple.com> 2 3 Pass a ScriptExecutionContext as input to register/unregister URLRegistry routines 4 https://bugs.webkit.org/show_bug.cgi?id=200571 5 6 Reviewed by Darin Adler. 7 8 Passing a ScriptExecutionContext to register/unregister routines will allow 9 to have session ID based handling for blobs, in particular to use session partitioned blob registries. 10 No change of behavior. 11 12 * Modules/mediasource/MediaSourceRegistry.cpp: 13 (WebCore::MediaSourceRegistry::registerURL): 14 (WebCore::MediaSourceRegistry::unregisterURL): 15 * Modules/mediasource/MediaSourceRegistry.h: 16 * fileapi/Blob.cpp: 17 (WebCore::BlobURLRegistry::registerURL): 18 (WebCore::BlobURLRegistry::unregisterURL): 19 * html/DOMURL.cpp: 20 (WebCore::DOMURL::createPublicURL): 21 * html/PublicURLManager.cpp: 22 (WebCore::PublicURLManager::registerURL): 23 (WebCore::PublicURLManager::revoke): 24 (WebCore::PublicURLManager::stop): 25 * html/PublicURLManager.h: 26 * html/URLRegistry.h: 27 1 28 2019-08-09 Alex Christensen <achristensen@webkit.org> 2 29 -
trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp
r238771 r248473 49 49 } 50 50 51 void MediaSourceRegistry::registerURL(S ecurityOrigin*, const URL& url, URLRegistrable& registrable)51 void MediaSourceRegistry::registerURL(ScriptExecutionContext&, const URL& url, URLRegistrable& registrable) 52 52 { 53 53 ASSERT(®istrable.registry() == this); … … 59 59 } 60 60 61 void MediaSourceRegistry::unregisterURL( const URL& url)61 void MediaSourceRegistry::unregisterURL(ScriptExecutionContext&, const URL& url) 62 62 { 63 63 ASSERT(isMainThread()); -
trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.h
r238771 r248473 48 48 49 49 // Registers a blob URL referring to the specified media source. 50 void registerURL(S ecurityOrigin*, const URL&, URLRegistrable&) override;51 void unregisterURL( const URL&) override;52 URLRegistrable* lookup(const String&) const override;50 void registerURL(ScriptExecutionContext&, const URL&, URLRegistrable&)final; 51 void unregisterURL(ScriptExecutionContext&, const URL&) final; 52 URLRegistrable* lookup(const String&) const final; 53 53 54 54 private: -
trunk/Source/WebCore/fileapi/Blob.cpp
r243887 r248473 49 49 class BlobURLRegistry final : public URLRegistry { 50 50 public: 51 void registerURL(S ecurityOrigin*, const URL&, URLRegistrable&) override;52 void unregisterURL( const URL&) override;51 void registerURL(ScriptExecutionContext&, const URL&, URLRegistrable&) final; 52 void unregisterURL(ScriptExecutionContext&, const URL&) final; 53 53 54 54 static URLRegistry& registry(); … … 56 56 57 57 58 void BlobURLRegistry::registerURL(S ecurityOrigin* origin, const URL& publicURL, URLRegistrable& blob)58 void BlobURLRegistry::registerURL(ScriptExecutionContext& context, const URL& publicURL, URLRegistrable& blob) 59 59 { 60 60 ASSERT(&blob.registry() == this); 61 ThreadableBlobRegistry::registerBlobURL( origin, publicURL, static_cast<Blob&>(blob).url());62 } 63 64 void BlobURLRegistry::unregisterURL( const URL& url)61 ThreadableBlobRegistry::registerBlobURL(context.securityOrigin(), publicURL, static_cast<Blob&>(blob).url()); 62 } 63 64 void BlobURLRegistry::unregisterURL(ScriptExecutionContext&, const URL& url) 65 65 { 66 66 ThreadableBlobRegistry::unregisterBlobURL(url); -
trunk/Source/WebCore/html/DOMURL.cpp
r238771 r248473 104 104 return String(); 105 105 106 scriptExecutionContext.publicURLManager().registerURL( scriptExecutionContext.securityOrigin(),publicURL, registrable);106 scriptExecutionContext.publicURLManager().registerURL(publicURL, registrable); 107 107 108 108 return publicURL.string(); -
trunk/Source/WebCore/html/PublicURLManager.cpp
r238771 r248473 46 46 } 47 47 48 void PublicURLManager::registerURL( SecurityOrigin* origin,const URL& url, URLRegistrable& registrable)48 void PublicURLManager::registerURL(const URL& url, URLRegistrable& registrable) 49 49 { 50 50 if (m_isStopped) … … 52 52 53 53 RegistryURLMap::iterator found = m_registryToURL.add(®istrable.registry(), URLSet()).iterator; 54 found->key->registerURL( origin, url, registrable);54 found->key->registerURL(*scriptExecutionContext(), url, registrable); 55 55 found->value.add(url.string()); 56 56 } … … 60 60 for (auto& registry : m_registryToURL) { 61 61 if (registry.value.contains(url.string())) { 62 registry.key->unregisterURL( url);62 registry.key->unregisterURL(*scriptExecutionContext(), url); 63 63 registry.value.remove(url.string()); 64 64 break; … … 75 75 for (auto& registry : m_registryToURL) { 76 76 for (auto& url : registry.value) 77 registry.key->unregisterURL( URL({ }, url));77 registry.key->unregisterURL(*scriptExecutionContext(), URL({ }, url)); 78 78 } 79 79 -
trunk/Source/WebCore/html/PublicURLManager.h
r238771 r248473 34 34 namespace WebCore { 35 35 36 class ScriptExecutionContext;37 36 class SecurityOrigin; 38 37 class URLRegistry; … … 46 45 static std::unique_ptr<PublicURLManager> create(ScriptExecutionContext*); 47 46 48 void registerURL( SecurityOrigin*,const URL&, URLRegistrable&);47 void registerURL(const URL&, URLRegistrable&); 49 48 void revoke(const URL&); 50 49 -
trunk/Source/WebCore/html/URLRegistry.h
r238771 r248473 35 35 namespace WebCore { 36 36 37 class S ecurityOrigin;37 class ScriptExecutionContext; 38 38 class URLRegistry; 39 39 … … 48 48 public: 49 49 virtual ~URLRegistry() = default; 50 virtual void registerURL(S ecurityOrigin*, const URL&, URLRegistrable&) = 0;51 virtual void unregisterURL( const URL&) = 0;50 virtual void registerURL(ScriptExecutionContext&, const URL&, URLRegistrable&) = 0; 51 virtual void unregisterURL(ScriptExecutionContext&, const URL&) = 0; 52 52 53 53 // This is an optional API
Note: See TracChangeset
for help on using the changeset viewer.