[webkit-changes] [WebKit/WebKit] 6f0e50: Give URLKeepingBlobAlive a top-origin SecurityOrig...

Matthew Finkel noreply at github.com
Tue Feb 14 11:18:01 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6f0e501e8e36d638026626ed2051d73db57c8f88
      https://github.com/WebKit/WebKit/commit/6f0e501e8e36d638026626ed2051d73db57c8f88
  Author: Matthew Finkel <sysrqb at apple.com>
  Date:   2023-02-14 (Tue, 14 Feb 2023)

  Changed paths:
    M Source/WebCore/Modules/fetch/FetchRequest.cpp
    M Source/WebCore/Modules/fetch/FetchRequest.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/fileapi/Blob.cpp
    M Source/WebCore/fileapi/Blob.h
    M Source/WebCore/fileapi/URLKeepingBlobAlive.cpp
    M Source/WebCore/fileapi/URLKeepingBlobAlive.h
    M Source/WebCore/loader/NavigationScheduler.cpp
    M Source/WebCore/loader/PolicyChecker.cpp
    M Source/WebCore/loader/PolicyChecker.h
    M Source/WebCore/workers/WorkerGlobalScope.cpp
    M Source/WebCore/workers/shared/SharedWorker.cpp
    M Source/WebCore/xml/XMLHttpRequest.cpp

  Log Message:
  -----------
  Give URLKeepingBlobAlive a top-origin SecurityOriginData
https://bugs.webkit.org/show_bug.cgi?id=251218
rdar://104704879

Reviewed by Chris Dumez.

In this patch we construct the URLKeepingBlobAlive with its associated
top-level SecurityOrigin(Data). This will be helpful in a future patch where we
partition the Blob registry using that top-level origin. URLKeepingBlobAlive
needs this information, in particular, because it is responsible for
automatically registering and unregistering its Blob URL handle - thus keeping
the blob alive as long as it exists, as the class name implies.

* Source/WebCore/Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::FetchRequest):
(WebCore::m_signal):
(WebCore::FetchRequest::initializeWith):
(WebCore::FetchRequest::create):
(WebCore::FetchRequest::clone):
(WebCore::FetchRequest::stop):
* Source/WebCore/Modules/fetch/FetchRequest.h:
(WebCore::FetchRequest::FetchRequest): Deleted.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setURL):
* Source/WebCore/fileapi/Blob.cpp:
(WebCore::Blob::Blob):
(WebCore::Blob::handle const):
* Source/WebCore/fileapi/Blob.h:
* Source/WebCore/fileapi/URLKeepingBlobAlive.cpp:
(WebCore::URLKeepingBlobAlive::URLKeepingBlobAlive):
(WebCore::URLKeepingBlobAlive::clear):
(WebCore::URLKeepingBlobAlive::operator=):
(WebCore::URLKeepingBlobAlive::isolatedCopy const):
(WebCore::URLKeepingBlobAlive::isolatedCopy):
* Source/WebCore/fileapi/URLKeepingBlobAlive.h:
(WebCore::URLKeepingBlobAlive::URLKeepingBlobAlive): Deleted.
(WebCore::URLKeepingBlobAlive::operator=): Deleted.
* Source/WebCore/loader/NavigationScheduler.cpp:
* Source/WebCore/loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::extendBlobURLLifetimeIfNecessary const):
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
(WebCore::FrameLoader::PolicyChecker::checkNewWindowPolicy):
* Source/WebCore/loader/PolicyChecker.h:
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
* Source/WebCore/workers/shared/SharedWorker.cpp:
(WebCore::SharedWorker::SharedWorker):
(WebCore::SharedWorker::didFinishLoading):
* Source/WebCore/xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::clearRequest):
(WebCore::XMLHttpRequest::didFinishLoading):

Canonical link: https://commits.webkit.org/260266@main




More information about the webkit-changes mailing list