Changeset 207084 in webkit
- Timestamp:
- Oct 11, 2016 3:49:00 AM (7 years ago)
- Location:
- releases/WebKitGTK/webkit-2.14/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog
r207083 r207084 1 2016-09-19 Daniel Bates <dabates@apple.com> 2 3 Cleanup: Remove an extraneous copy of SecurityOrigin 4 https://bugs.webkit.org/show_bug.cgi?id=162118 5 6 Reviewed by Youenn Fablet. 7 8 Share one isolated copy of the SecurityOrigin between the ContentSecurityPolicy and 9 LoaderTaskOptions objects instead of creating two isolated copies of the SecurityOrigin. 10 This is safe because both ContentSecurityPolicy and LoaderTaskOptions are instantiated 11 in WorkerThreadableLoader::MainThreadBridge for use on the main thread only. 12 13 * loader/WorkerThreadableLoader.cpp: 14 (WebCore::LoaderTaskOptions::LoaderTaskOptions): 15 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 16 1 17 2016-09-19 Chris Dumez <cdumez@apple.com> 2 18 -
releases/WebKitGTK/webkit-2.14/Source/WebCore/loader/WorkerThreadableLoader.cpp
r207081 r207084 86 86 87 87 struct LoaderTaskOptions { 88 LoaderTaskOptions(const ThreadableLoaderOptions&, const String&, const SecurityOrigin&);88 LoaderTaskOptions(const ThreadableLoaderOptions&, const String&, Ref<SecurityOrigin>&&); 89 89 ThreadableLoaderOptions options; 90 90 String referrer; 91 Ref Ptr<SecurityOrigin> origin;91 Ref<SecurityOrigin> origin; 92 92 }; 93 93 94 LoaderTaskOptions::LoaderTaskOptions(const ThreadableLoaderOptions& options, const String& referrer, const SecurityOrigin& origin)94 LoaderTaskOptions::LoaderTaskOptions(const ThreadableLoaderOptions& options, const String& referrer, Ref<SecurityOrigin>&& origin) 95 95 : options(options, options.preflightPolicy, options.contentSecurityPolicyEnforcement, options.initiator.isolatedCopy(), options.opaqueResponse, options.sameOriginDataURLFlag) 96 96 , referrer(referrer.isolatedCopy()) 97 , origin( origin.isolatedCopy())97 , origin(WTFMove(origin)) 98 98 { 99 99 } … … 109 109 ASSERT(contentSecurityPolicy); 110 110 111 auto contentSecurityPolicyCopy = std::make_unique<ContentSecurityPolicy>(securityOrigin->isolatedCopy()); 111 auto securityOriginCopy = securityOrigin->isolatedCopy(); 112 auto contentSecurityPolicyCopy = std::make_unique<ContentSecurityPolicy>(securityOriginCopy); 112 113 contentSecurityPolicyCopy->copyStateFrom(contentSecurityPolicy); 113 114 114 auto optionsCopy = std::make_unique<LoaderTaskOptions>(options, request.httpReferrer().isNull() ? outgoingReferrer : request.httpReferrer(), *securityOrigin);115 auto optionsCopy = std::make_unique<LoaderTaskOptions>(options, request.httpReferrer().isNull() ? outgoingReferrer : request.httpReferrer(), WTFMove(securityOriginCopy)); 115 116 116 117 // Can we benefit from request being an r-value to create more efficiently its isolated copy?
Note: See TracChangeset
for help on using the changeset viewer.