Diff
Modified: trunk/Source/WebCore/ChangeLog (173557 => 173558)
--- trunk/Source/WebCore/ChangeLog 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/ChangeLog 2014-09-12 15:42:11 UTC (rev 173558)
@@ -1,3 +1,44 @@
+2014-09-12 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r173423): CertificateInfo is never sent to the UI process when using shared secondary process model
+ https://bugs.webkit.org/show_bug.cgi?id=136669
+
+ Reviewed by Antti Koivisto.
+
+ Add CertificateInfoPolicy option to ResourceLoaderOptions. It's
+ set to DoNotIncludeCertificateInfo for all loads except the main
+ resource load.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::startLoadingMainResource): Pass
+ IncludeCertificateInfo to ResourceLoaderOptions.
+ * loader/NetscapePlugInStreamLoader.cpp:
+ (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
+ Pass DoNotIncludeCertificateInfo to ResourceLoaderOptions().
+ * loader/ResourceLoader.h:
+ (WebCore::ResourceLoader::shouldIncludeCertificateInfo): Return
+ true if IncludeCertificateInfo option was given.
+ * loader/ResourceLoaderOptions.h:
+ (WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
+ (WebCore::ResourceLoaderOptions::certificateInfoPolicy):
+ (WebCore::ResourceLoaderOptions::setCertificateInfoPolicy):
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::didReceiveResponse): If
+ IncludeCertificateInfo option is present, call
+ includeCertificateInfo() on the response.
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass
+ DoNotIncludeCertificateInfo to ResourceLoaderOptions().
+ (WebCore::CachedResourceLoader::defaultCachedResourceOptions): Ditto.
+ * loader/icon/IconLoader.cpp:
+ (WebCore::IconLoader::startLoading): Ditto.
+ * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
+ (WebCore::WebCoreAVCFResourceLoader::startLoading): Ditto.
+ * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+ (WebCore::WebCoreAVFResourceLoader::startLoading): Ditto.
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (CachedResourceStreamingClient::CachedResourceStreamingClient): Ditto.
+
2014-09-11 Ryuan Choi <[email protected]>
Unreviewed build fix attempt on windows port since r173553.
Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (173557 => 173558)
--- trunk/Source/WebCore/loader/DocumentLoader.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -1432,7 +1432,7 @@
#endif
ResourceRequest request(m_request);
- static NeverDestroyed<ResourceLoaderOptions> mainResourceLoadOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType);
+ static NeverDestroyed<ResourceLoaderOptions> mainResourceLoadOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, IncludeCertificateInfo);
CachedResourceRequest cachedResourceRequest(request, mainResourceLoadOptions);
m_mainResource = m_cachedResourceLoader->requestMainResource(cachedResourceRequest);
if (!m_mainResource) {
Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp (173557 => 173558)
--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -37,7 +37,7 @@
namespace WebCore {
NetscapePlugInStreamLoader::NetscapePlugInStreamLoader(Frame* frame, NetscapePlugInStreamLoaderClient* client)
- : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, DoNotBufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType))
+ : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, DoNotBufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo))
, m_client(client)
{
}
Modified: trunk/Source/WebCore/loader/ResourceLoader.h (173557 => 173558)
--- trunk/Source/WebCore/loader/ResourceLoader.h 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/ResourceLoader.h 2014-09-12 15:42:11 UTC (rev 173558)
@@ -123,6 +123,7 @@
void setSendCallbackPolicy(SendCallbackPolicy sendLoadCallbacks) { m_options.setSendLoadCallbacks(sendLoadCallbacks); }
bool shouldSniffContent() const { return m_options.sniffContent() == SniffContent; }
WEBCORE_EXPORT bool isAllowedToAskUserForCredentials() const;
+ bool shouldIncludeCertificateInfo() const { return m_options.certificateInfoPolicy() == IncludeCertificateInfo; }
bool reachedTerminalState() const { return m_reachedTerminalState; }
Modified: trunk/Source/WebCore/loader/ResourceLoaderOptions.h (173557 => 173558)
--- trunk/Source/WebCore/loader/ResourceLoaderOptions.h 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/ResourceLoaderOptions.h 2014-09-12 15:42:11 UTC (rev 173558)
@@ -61,6 +61,11 @@
PotentiallyCrossOriginEnabled // Indicates "potentially CORS-enabled fetch" in HTML standard.
};
+enum CertificateInfoPolicy {
+ IncludeCertificateInfo,
+ DoNotIncludeCertificateInfo
+};
+
struct ResourceLoaderOptions {
ResourceLoaderOptions()
: m_sendLoadCallbacks(DoNotSendCallbacks)
@@ -70,10 +75,11 @@
, m_clientCredentialPolicy(DoNotAskClientForAnyCredentials)
, m_securityCheck(DoSecurityCheck)
, m_requestOriginPolicy(UseDefaultOriginRestrictionsForType)
+ , m_certificateInfoPolicy(DoNotIncludeCertificateInfo)
{
}
- ResourceLoaderOptions(SendCallbackPolicy sendLoadCallbacks, ContentSniffingPolicy sniffContent, DataBufferingPolicy dataBufferingPolicy, StoredCredentials allowCredentials, ClientCredentialPolicy credentialPolicy, SecurityCheckPolicy securityCheck, RequestOriginPolicy requestOriginPolicy)
+ ResourceLoaderOptions(SendCallbackPolicy sendLoadCallbacks, ContentSniffingPolicy sniffContent, DataBufferingPolicy dataBufferingPolicy, StoredCredentials allowCredentials, ClientCredentialPolicy credentialPolicy, SecurityCheckPolicy securityCheck, RequestOriginPolicy requestOriginPolicy, CertificateInfoPolicy certificateInfoPolicy)
: m_sendLoadCallbacks(sendLoadCallbacks)
, m_sniffContent(sniffContent)
, m_dataBufferingPolicy(dataBufferingPolicy)
@@ -81,6 +87,7 @@
, m_clientCredentialPolicy(credentialPolicy)
, m_securityCheck(securityCheck)
, m_requestOriginPolicy(requestOriginPolicy)
+ , m_certificateInfoPolicy(certificateInfoPolicy)
{
}
@@ -98,6 +105,8 @@
void setSecurityCheck(SecurityCheckPolicy check) { m_securityCheck = check; }
RequestOriginPolicy requestOriginPolicy() const { return static_cast<RequestOriginPolicy>(m_requestOriginPolicy); }
void setRequestOriginPolicy(RequestOriginPolicy policy) { m_requestOriginPolicy = policy; }
+ CertificateInfoPolicy certificateInfoPolicy() const { return static_cast<CertificateInfoPolicy>(m_certificateInfoPolicy); }
+ void setCertificateInfoPolicy(CertificateInfoPolicy policy) { m_certificateInfoPolicy = policy; }
unsigned m_sendLoadCallbacks : 1;
unsigned m_sniffContent : 1;
@@ -106,6 +115,7 @@
unsigned m_clientCredentialPolicy : 2; // When we should ask the client for credentials (if we allow credentials at all).
unsigned m_securityCheck : 1;
unsigned m_requestOriginPolicy : 2;
+ unsigned m_certificateInfoPolicy : 1; // Whether the response should include certificate info.
};
} // namespace WebCore
Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (173557 => 173558)
--- trunk/Source/WebCore/loader/SubresourceLoader.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -195,6 +195,9 @@
// anything including removing the last reference to this object; one example of this is 3266216.
Ref<SubresourceLoader> protect(*this);
+ if (shouldIncludeCertificateInfo())
+ response.includeCertificateInfo();
+
if (m_resource->resourceToRevalidate()) {
if (response.httpStatusCode() == 304) {
// 304 Not modified / Use local copy
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (173557 => 173558)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -211,7 +211,7 @@
memoryCache()->add(userSheet.get());
// FIXME: loadResource calls setOwningCachedResourceLoader() if the resource couldn't be added to cache. Does this function need to call it, too?
- userSheet->load(this, ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType));
+ userSheet->load(this, ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
return userSheet;
}
@@ -974,7 +974,7 @@
const ResourceLoaderOptions& CachedResourceLoader::defaultCachedResourceOptions()
{
- static ResourceLoaderOptions options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType);
+ static ResourceLoaderOptions options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo);
return options;
}
Modified: trunk/Source/WebCore/loader/icon/IconLoader.cpp (173557 => 173558)
--- trunk/Source/WebCore/loader/icon/IconLoader.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/loader/icon/IconLoader.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -59,7 +59,7 @@
if (m_resource || !m_frame.document())
return;
- CachedResourceRequest request(ResourceRequest(m_frame.loader().icon().url()), ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForAnyCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType));
+ CachedResourceRequest request(ResourceRequest(m_frame.loader().icon().url()), ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForAnyCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow);
request.setInitiator(cachedResourceRequestInitiators().icon);
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp (173557 => 173558)
--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -72,7 +72,7 @@
RetainPtr<CFURLRequestRef> urlRequest = AVCFAssetResourceLoadingRequestGetURLRequest(m_avRequest.get());
URL requestURL = CFURLRequestGetURL(urlRequest.get());
- CachedResourceRequest request(ResourceRequest(requestURL), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType));
+ CachedResourceRequest request(ResourceRequest(requestURL), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow);
CachedResourceLoader* loader = m_parent->player()->cachedResourceLoader();
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm (173557 => 173558)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm 2014-09-12 15:42:11 UTC (rev 173558)
@@ -68,7 +68,7 @@
URL requestURL = [[m_avRequest.get() request] URL];
- CachedResourceRequest request(ResourceRequest(requestURL), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType));
+ CachedResourceRequest request(ResourceRequest(requestURL), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow);
CachedResourceLoader* loader = m_parent->player()->cachedResourceLoader();
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (173557 => 173558)
--- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -1000,7 +1000,7 @@
DataBufferingPolicy bufferingPolicy = request.url().protocolIs("blob") ? BufferData : DoNotBufferData;
RequestOriginPolicy corsPolicy = corsMode != MediaPlayerClient::Unspecified ? PotentiallyCrossOriginEnabled : UseDefaultOriginRestrictionsForType;
StoredCredentials allowCredentials = corsMode == MediaPlayerClient::UseCredentials ? AllowStoredCredentials : DoNotAllowStoredCredentials;
- ResourceLoaderOptions options(SendCallbacks, DoNotSniffContent, bufferingPolicy, allowCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, corsPolicy);
+ ResourceLoaderOptions options(SendCallbacks, DoNotSniffContent, bufferingPolicy, allowCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, corsPolicy, DoNotIncludeCertificateInfo);
CachedResourceRequest cacheRequest(request, options);
Modified: trunk/Source/WebKit2/ChangeLog (173557 => 173558)
--- trunk/Source/WebKit2/ChangeLog 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebKit2/ChangeLog 2014-09-12 15:42:11 UTC (rev 173558)
@@ -1,3 +1,15 @@
+2014-09-12 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r173423): CertificateInfo is never sent to the UI process when using shared secondary process model
+ https://bugs.webkit.org/show_bug.cgi?id=136669
+
+ Reviewed by Antti Koivisto.
+
+ * WebProcess/Network/WebResourceLoadScheduler.cpp:
+ (WebKit::WebResourceLoadScheduler::scheduleLoad): Use
+ ResourceLoader::shouldIncludeCertificateInfo() to initialize
+ needsCertificateInfo parameter.
+
2014-09-11 Ryuan Choi <[email protected]>
[EFL][CoordinatedGraphics] Move CoordinatedGraphicsScene and CoordinatedBackingStore to WebKit2
Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp (173557 => 173558)
--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp 2014-09-12 15:42:11 UTC (rev 173558)
@@ -173,7 +173,7 @@
loadParameters.shouldClearReferrerOnHTTPSToHTTPRedirect = shouldClearReferrerOnHTTPSToHTTPRedirect;
loadParameters.isMainResource = resource && resource->type() == CachedResource::MainResource;
loadParameters.defersLoading = resourceLoader->defersLoading();
- loadParameters.needsCertificateInfo = loadParameters.isMainResource;
+ loadParameters.needsCertificateInfo = resourceLoader->shouldIncludeCertificateInfo();
loadParameters.maximumBufferingTime = maximumBufferingTime(resource);
ASSERT((loadParameters.webPageID && loadParameters.webFrameID) || loadParameters.clientCredentialPolicy == DoNotAskClientForAnyCredentials);
Modified: trunk/Tools/ChangeLog (173557 => 173558)
--- trunk/Tools/ChangeLog 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Tools/ChangeLog 2014-09-12 15:42:11 UTC (rev 173558)
@@ -1,3 +1,13 @@
+2014-09-12 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r173423): CertificateInfo is never sent to the UI process when using shared secondary process model
+ https://bugs.webkit.org/show_bug.cgi?id=136669
+
+ Reviewed by Antti Koivisto.
+
+ * Scripts/run-gtk-tests:
+ (TestRunner): Unskip SSL test.
+
2014-09-12 Eric Carlson <[email protected]>
Strip extraneous AVFoundation and CoreMedia logging
Modified: trunk/Tools/Scripts/run-gtk-tests (173557 => 173558)
--- trunk/Tools/Scripts/run-gtk-tests 2014-09-12 13:06:13 UTC (rev 173557)
+++ trunk/Tools/Scripts/run-gtk-tests 2014-09-12 15:42:11 UTC (rev 173558)
@@ -67,7 +67,6 @@
SkippedTest("WebKit2Gtk/TestWebKitWebView", "/webkit2/WebKitWebView/snapshot", "Test fails", 120404),
SkippedTest("WebKit2Gtk/TestWebKitWebView", "/webkit2/WebKitWebView/page-visibility", "Test fails or times out", 131731),
SkippedTest("WebKit2Gtk/TestCookieManager", "/webkit2/WebKitCookieManager/persistent-storage", "Test is flaky", 134580),
- SkippedTest("WebKit2Gtk/TestSSL", "/webkit2/WebKitWebView/ssl", "Assert fails after r173423", 136669),
SkippedTest("WebKit2/TestWebKit2", "WebKit2.MouseMoveAfterCrash", "Test is flaky", 85066),
SkippedTest("WebKit2/TestWebKit2", "WebKit2.NewFirstVisuallyNonEmptyLayoutForImages", "Test is flaky", 85066),
SkippedTest("WebKit2/TestWebKit2", "WebKit2.NewFirstVisuallyNonEmptyLayoutFrames", "Test fails", 85037),