Diff
Modified: trunk/Source/WebCore/ChangeLog (258016 => 258017)
--- trunk/Source/WebCore/ChangeLog 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebCore/ChangeLog 2020-03-06 20:25:25 UTC (rev 258017)
@@ -1,3 +1,18 @@
+2020-03-06 David Quesada <david_ques...@apple.com>
+
+ Add _WKResourceLoadInfo.resourceType SPI
+ https://bugs.webkit.org/show_bug.cgi?id=208723
+
+ Reviewed by Alex Christensen.
+
+ Covered by API tests.
+
+ * Modules/beacon/NavigatorBeacon.cpp:
+ (WebCore::NavigatorBeacon::sendBeacon):
+ * loader/PingLoader.cpp:
+ (WebCore::PingLoader::sendPing):
+ * platform/network/ResourceRequestBase.h:
+
2020-03-06 Youenn Fablet <you...@apple.com>
Add support for NowPlaying commands in GPUProcess
Modified: trunk/Source/WebCore/Modules/beacon/NavigatorBeacon.cpp (258016 => 258017)
--- trunk/Source/WebCore/Modules/beacon/NavigatorBeacon.cpp 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebCore/Modules/beacon/NavigatorBeacon.cpp 2020-03-06 20:25:25 UTC (rev 258017)
@@ -121,6 +121,7 @@
ResourceRequest request(parsedUrl);
request.setHTTPMethod("POST"_s);
+ request.setRequester(ResourceRequest::Requester::Beacon);
ResourceLoaderOptions options;
options.credentials = FetchOptions::Credentials::Include;
Modified: trunk/Source/WebCore/loader/PingLoader.cpp (258016 => 258017)
--- trunk/Source/WebCore/loader/PingLoader.cpp 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebCore/loader/PingLoader.cpp 2020-03-06 20:25:25 UTC (rev 258017)
@@ -119,6 +119,8 @@
return;
ResourceRequest request(pingURL);
+ request.setRequester(ResourceRequest::Requester::Ping);
+
#if ENABLE(CONTENT_EXTENSIONS)
if (processContentRuleListsForLoad(frame, request, { ContentExtensions::ResourceType::Raw, ContentExtensions::ResourceType::Ping }))
return;
Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.h (258016 => 258017)
--- trunk/Source/WebCore/platform/network/ResourceRequestBase.h 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.h 2020-03-06 20:25:25 UTC (rev 258017)
@@ -164,7 +164,7 @@
bool hiddenFromInspector() const { return m_hiddenFromInspector; }
void setHiddenFromInspector(bool hiddenFromInspector) { m_hiddenFromInspector = hiddenFromInspector; }
- enum class Requester : uint8_t { Unspecified, Main, XHR, Fetch, Media, ImportScripts };
+ enum class Requester : uint8_t { Unspecified, Main, XHR, Fetch, Media, ImportScripts, Ping, Beacon };
Requester requester() const { return m_requester; }
void setRequester(Requester requester) { m_requester = requester; }
Modified: trunk/Source/WebKit/ChangeLog (258016 => 258017)
--- trunk/Source/WebKit/ChangeLog 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebKit/ChangeLog 2020-03-06 20:25:25 UTC (rev 258017)
@@ -1,3 +1,23 @@
+2020-03-06 David Quesada <david_ques...@apple.com>
+
+ Add _WKResourceLoadInfo.resourceType SPI
+ https://bugs.webkit.org/show_bug.cgi?id=208723
+
+ Reviewed by Alex Christensen.
+
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ (WebKit::NetworkResourceLoader::resourceLoadInfo):
+ * Shared/ResourceLoadInfo.h:
+ (WebKit::ResourceLoadInfo::encode const):
+ (WebKit::ResourceLoadInfo::decode):
+ * UIProcess/API/APIResourceLoadInfo.h:
+ * UIProcess/API/Cocoa/_WKResourceLoadInfo.h:
+ * UIProcess/API/Cocoa/_WKResourceLoadInfo.mm:
+ (toWKResourceLoadInfoResourceType):
+ (-[_WKResourceLoadInfo resourceType]):
+ (-[_WKResourceLoadInfo initWithCoder:]):
+ (-[_WKResourceLoadInfo encodeWithCoder:]):
+
2020-03-06 Youenn Fablet <you...@apple.com>
Add support for NowPlaying commands in GPUProcess
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (258016 => 258017)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp 2020-03-06 20:25:25 UTC (rev 258017)
@@ -359,7 +359,62 @@
}
return false;
};
-
+
+ auto resourceType = [] (WebCore::ResourceRequestBase::Requester requester, WebCore::FetchOptions::Destination destination) {
+ switch (requester) {
+ case WebCore::ResourceRequestBase::Requester::XHR:
+ return ResourceLoadInfo::Type::XMLHTTPRequest;
+ case WebCore::ResourceRequestBase::Requester::Fetch:
+ return ResourceLoadInfo::Type::Fetch;
+ case WebCore::ResourceRequestBase::Requester::Ping:
+ return ResourceLoadInfo::Type::Ping;
+ case WebCore::ResourceRequestBase::Requester::Beacon:
+ return ResourceLoadInfo::Type::Beacon;
+ default:
+ break;
+ }
+
+ switch (destination) {
+ case WebCore::FetchOptions::Destination::EmptyString:
+ return ResourceLoadInfo::Type::Other;
+ case WebCore::FetchOptions::Destination::Audio:
+ return ResourceLoadInfo::Type::Media;
+ case WebCore::FetchOptions::Destination::Document:
+ return ResourceLoadInfo::Type::Document;
+ case WebCore::FetchOptions::Destination::Embed:
+ return ResourceLoadInfo::Type::Object;
+ case WebCore::FetchOptions::Destination::Font:
+ return ResourceLoadInfo::Type::Font;
+ case WebCore::FetchOptions::Destination::Image:
+ return ResourceLoadInfo::Type::Image;
+ case WebCore::FetchOptions::Destination::Manifest:
+ return ResourceLoadInfo::Type::ApplicationManifest;
+ case WebCore::FetchOptions::Destination::Object:
+ return ResourceLoadInfo::Type::Object;
+ case WebCore::FetchOptions::Destination::Report:
+ return ResourceLoadInfo::Type::CSPReport;
+ case WebCore::FetchOptions::Destination::Script:
+ return ResourceLoadInfo::Type::Script;
+ case WebCore::FetchOptions::Destination::Serviceworker:
+ return ResourceLoadInfo::Type::Other;
+ case WebCore::FetchOptions::Destination::Sharedworker:
+ return ResourceLoadInfo::Type::Other;
+ case WebCore::FetchOptions::Destination::Style:
+ return ResourceLoadInfo::Type::Stylesheet;
+ case WebCore::FetchOptions::Destination::Track:
+ return ResourceLoadInfo::Type::Media;
+ case WebCore::FetchOptions::Destination::Video:
+ return ResourceLoadInfo::Type::Media;
+ case WebCore::FetchOptions::Destination::Worker:
+ return ResourceLoadInfo::Type::Other;
+ case WebCore::FetchOptions::Destination::Xslt:
+ return ResourceLoadInfo::Type::XSLT;
+ }
+
+ ASSERT_NOT_REACHED();
+ return ResourceLoadInfo::Type::Other;
+ };
+
return ResourceLoadInfo {
m_resourceLoadID,
m_parameters.webFrameID,
@@ -367,7 +422,8 @@
originalRequest().url(),
originalRequest().httpMethod(),
WallTime::now(),
- loadedFromCache(m_response)
+ loadedFromCache(m_response),
+ resourceType(originalRequest().requester(), m_parameters.options.destination)
};
}
Modified: trunk/Source/WebKit/Shared/ResourceLoadInfo.h (258016 => 258017)
--- trunk/Source/WebKit/Shared/ResourceLoadInfo.h 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebKit/Shared/ResourceLoadInfo.h 2020-03-06 20:25:25 UTC (rev 258017)
@@ -35,6 +35,24 @@
struct ResourceLoadInfo {
+ enum class Type : uint8_t {
+ ApplicationManifest,
+ Beacon,
+ CSPReport,
+ Document,
+ Fetch,
+ Font,
+ Image,
+ Media,
+ Object,
+ Other,
+ Ping,
+ Script,
+ Stylesheet,
+ XMLHTTPRequest,
+ XSLT
+ };
+
NetworkResourceLoadIdentifier resourceLoadID;
Optional<WebCore::FrameIdentifier> frameID;
Optional<WebCore::FrameIdentifier> parentFrameID;
@@ -42,7 +60,8 @@
String originalHTTPMethod;
WallTime eventTimestamp;
bool loadedFromCache { false };
-
+ Type type { Type::Other };
+
void encode(IPC::Encoder& encoder) const
{
encoder << resourceLoadID;
@@ -52,6 +71,7 @@
encoder << originalHTTPMethod;
encoder << eventTimestamp;
encoder << loadedFromCache;
+ encoder << type;
}
static Optional<ResourceLoadInfo> decode(IPC::Decoder& decoder)
@@ -91,6 +111,11 @@
if (!loadedFromCache)
return WTF::nullopt;
+ Optional<Type> type;
+ decoder >> type;
+ if (!type)
+ return WTF::nullopt;
+
return {{
WTFMove(*resourceLoadID),
WTFMove(*frameID),
@@ -99,8 +124,34 @@
WTFMove(*originalHTTPMethod),
WTFMove(*eventTimestamp),
WTFMove(*loadedFromCache),
+ WTFMove(*type),
}};
}
};
} // namespace WebKit
+
+namespace WTF {
+
+template<> struct EnumTraits<WebKit::ResourceLoadInfo::Type> {
+ using values = EnumValues<
+ WebKit::ResourceLoadInfo::Type,
+ WebKit::ResourceLoadInfo::Type::ApplicationManifest,
+ WebKit::ResourceLoadInfo::Type::Beacon,
+ WebKit::ResourceLoadInfo::Type::CSPReport,
+ WebKit::ResourceLoadInfo::Type::Document,
+ WebKit::ResourceLoadInfo::Type::Fetch,
+ WebKit::ResourceLoadInfo::Type::Font,
+ WebKit::ResourceLoadInfo::Type::Image,
+ WebKit::ResourceLoadInfo::Type::Media,
+ WebKit::ResourceLoadInfo::Type::Object,
+ WebKit::ResourceLoadInfo::Type::Other,
+ WebKit::ResourceLoadInfo::Type::Ping,
+ WebKit::ResourceLoadInfo::Type::Script,
+ WebKit::ResourceLoadInfo::Type::Stylesheet,
+ WebKit::ResourceLoadInfo::Type::XMLHTTPRequest,
+ WebKit::ResourceLoadInfo::Type::XSLT
+ >;
+};
+
+} // namespace WTF
Modified: trunk/Source/WebKit/UIProcess/API/APIResourceLoadInfo.h (258016 => 258017)
--- trunk/Source/WebKit/UIProcess/API/APIResourceLoadInfo.h 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebKit/UIProcess/API/APIResourceLoadInfo.h 2020-03-06 20:25:25 UTC (rev 258017)
@@ -47,6 +47,7 @@
const WTF::String& originalHTTPMethod() const { return m_info.originalHTTPMethod; }
WallTime eventTimestamp() const { return m_info.eventTimestamp; }
bool loadedFromCache() const { return m_info.loadedFromCache; }
+ WebKit::ResourceLoadInfo::Type resourceLoadType() const { return m_info.type; }
private:
const WebKit::ResourceLoadInfo m_info;
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.h (258016 => 258017)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.h 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.h 2020-03-06 20:25:25 UTC (rev 258017)
@@ -29,6 +29,24 @@
NS_ASSUME_NONNULL_BEGIN
+typedef NS_ENUM(NSInteger, _WKResourceLoadInfoResourceType) {
+ _WKResourceLoadInfoResourceTypeApplicationManifest,
+ _WKResourceLoadInfoResourceTypeBeacon,
+ _WKResourceLoadInfoResourceTypeCSPReport,
+ _WKResourceLoadInfoResourceTypeDocument,
+ _WKResourceLoadInfoResourceTypeImage,
+ _WKResourceLoadInfoResourceTypeFetch,
+ _WKResourceLoadInfoResourceTypeFont,
+ _WKResourceLoadInfoResourceTypeMedia,
+ _WKResourceLoadInfoResourceTypeObject,
+ _WKResourceLoadInfoResourceTypePing,
+ _WKResourceLoadInfoResourceTypeScript,
+ _WKResourceLoadInfoResourceTypeStylesheet,
+ _WKResourceLoadInfoResourceTypeXMLHTTPRequest,
+ _WKResourceLoadInfoResourceTypeXSLT,
+ _WKResourceLoadInfoResourceTypeOther = -1,
+};
+
WK_CLASS_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA))
@interface _WKResourceLoadInfo : NSObject <NSSecureCoding>
@@ -42,6 +60,7 @@
@property (nonatomic, readonly) NSString *originalHTTPMethod;
@property (nonatomic, readonly) NSDate *eventTimestamp;
@property (nonatomic, readonly) BOOL loadedFromCache;
+@property (nonatomic, readonly) _WKResourceLoadInfoResourceType resourceType;
@end
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.mm (258016 => 258017)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.mm 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKResourceLoadInfo.mm 2020-03-06 20:25:25 UTC (rev 258017)
@@ -32,6 +32,47 @@
#import "_WKFrameHandleInternal.h"
#import "_WKResourceLoadInfoInternal.h"
+static _WKResourceLoadInfoResourceType toWKResourceLoadInfoResourceType(WebKit::ResourceLoadInfo::Type type)
+{
+ using namespace WebKit;
+ switch (type) {
+ case ResourceLoadInfo::Type::ApplicationManifest:
+ return _WKResourceLoadInfoResourceTypeApplicationManifest;
+ case ResourceLoadInfo::Type::Beacon:
+ return _WKResourceLoadInfoResourceTypeBeacon;
+ case ResourceLoadInfo::Type::CSPReport:
+ return _WKResourceLoadInfoResourceTypeCSPReport;
+ case ResourceLoadInfo::Type::Document:
+ return _WKResourceLoadInfoResourceTypeDocument;
+ case ResourceLoadInfo::Type::Fetch:
+ return _WKResourceLoadInfoResourceTypeFetch;
+ case ResourceLoadInfo::Type::Font:
+ return _WKResourceLoadInfoResourceTypeFont;
+ case ResourceLoadInfo::Type::Image:
+ return _WKResourceLoadInfoResourceTypeImage;
+ case ResourceLoadInfo::Type::Media:
+ return _WKResourceLoadInfoResourceTypeMedia;
+ case ResourceLoadInfo::Type::Object:
+ return _WKResourceLoadInfoResourceTypeObject;
+ case ResourceLoadInfo::Type::Other:
+ return _WKResourceLoadInfoResourceTypeOther;
+ case ResourceLoadInfo::Type::Ping:
+ return _WKResourceLoadInfoResourceTypePing;
+ case ResourceLoadInfo::Type::Script:
+ return _WKResourceLoadInfoResourceTypeScript;
+ case ResourceLoadInfo::Type::Stylesheet:
+ return _WKResourceLoadInfoResourceTypeStylesheet;
+ case ResourceLoadInfo::Type::XMLHTTPRequest:
+ return _WKResourceLoadInfoResourceTypeXMLHTTPRequest;
+ case ResourceLoadInfo::Type::XSLT:
+ return _WKResourceLoadInfoResourceTypeXSLT;
+ }
+
+ ASSERT_NOT_REACHED();
+ return _WKResourceLoadInfoResourceTypeOther;
+}
+
+
@implementation _WKResourceLoadInfo
- (void)dealloc
@@ -79,6 +120,11 @@
return _info->loadedFromCache();
}
+- (_WKResourceLoadInfoResourceType)resourceType
+{
+ return toWKResourceLoadInfoResourceType(_info->resourceLoadType());
+}
+
- (API::Object&)_apiObject
{
return *_info;
@@ -136,6 +182,12 @@
return nil;
}
+ NSNumber *type = [coder decodeObjectOfClass:[NSNumber class] forKey:@"type"];
+ if (!type) {
+ [self release];
+ return nil;
+ }
+
WebKit::ResourceLoadInfo info {
makeObjectIdentifier<WebKit::NetworkResourceLoadIdentifierType>(resourceLoadID.unsignedLongLongValue),
makeObjectIdentifier<WebCore::FrameIdentifierType>(frame.unsignedLongLongValue),
@@ -143,7 +195,8 @@
originalURL,
originalHTTPMethod,
WallTime::fromRawSeconds(eventTimestamp.timeIntervalSince1970),
- static_cast<bool>(loadedFromCache.boolValue)
+ static_cast<bool>(loadedFromCache.boolValue),
+ static_cast<WebKit::ResourceLoadInfo::Type>(type.unsignedCharValue),
};
API::Object::constructInWrapper<API::ResourceLoadInfo>(self, WTFMove(info));
@@ -160,6 +213,7 @@
[coder encodeObject:self.originalHTTPMethod forKey:@"originalHTTPMethod"];
[coder encodeObject:self.eventTimestamp forKey:@"eventTimestamp"];
[coder encodeObject:@(self.loadedFromCache) forKey:@"loadedFromCache"];
+ [coder encodeObject:@(static_cast<unsigned char>(_info->resourceLoadType())) forKey:@"type"];
}
@end
Modified: trunk/Tools/ChangeLog (258016 => 258017)
--- trunk/Tools/ChangeLog 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Tools/ChangeLog 2020-03-06 20:25:25 UTC (rev 258017)
@@ -1,3 +1,13 @@
+2020-03-06 David Quesada <david_ques...@apple.com>
+
+ Add _WKResourceLoadInfo.resourceType SPI
+ https://bugs.webkit.org/show_bug.cgi?id=208723
+
+ Reviewed by Alex Christensen.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
+ (TEST):
+
2020-03-06 Jonathan Bedard <jbed...@apple.com>
Stop reporting to webkit-test-results.webkit.org
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm (258016 => 258017)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm 2020-03-06 20:24:05 UTC (rev 258016)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm 2020-03-06 20:25:25 UTC (rev 258017)
@@ -199,6 +199,73 @@
TestWebKitAPI::Util::run(&done);
}
+TEST(ResourceLoadDelegate, ResourceType)
+{
+ const char* testJS = R"TESTJS(
+ function loadMoreThingsAfterFetchAndXHR() {
+ navigator.sendBeacon('beaconTarget');
+
+ var img = document.createElement('img');
+ img.src = '';
+ document.body.appendChild(img);
+
+ var style = document.createElement('link');
+ style.rel = 'stylesheet';
+ style.type = 'text/css';
+ style.href = '';
+ document.head.appendChild(style);
+ }
+ fetch('fetchTarget', { body: 'a=b&c=d', method: 'post'}).then(()=>{
+ var xhr = new XMLHttpRequest();
+ xhr._onreadystatechange_ = function () {
+ if (this.readyState == 4)
+ loadMoreThingsAfterFetchAndXHR();
+ };
+ xhr.open('GET', 'xhrTarget');
+ xhr.send();
+ })
+ )TESTJS";
+ TestWebKitAPI::HTTPServer server({
+ { "/", { "<script src=''></script><div>text needing a font</div>" } },
+ { "/scriptSrc", { {{ "Content-Type", "application/_javascript_" }}, testJS } },
+ { "/fetchTarget", { "hi" } },
+ { "/xhrTarget", { {{ "Content-Type", "application/octet-stream" }}, "hi" } },
+ { "/beaconTarget", { "hi" } },
+ { "/imageSource", { "not really an image" } },
+ { "/styleSource", { "@font-face { font-family: TestFontFamily; src: url(fontSource) } div { font-family: TestFontFamily }" } },
+ { "/fontSource", { "not really a font" } },
+ });
+
+ __block Vector<RetainPtr<_WKResourceLoadInfo>> loadInfos;
+
+ __block size_t requestCount = 0;
+ auto delegate = adoptNS([TestResourceLoadDelegate new]);
+ [delegate setDidSendRequest:^(WKWebView *webView, _WKResourceLoadInfo *loadInfo, NSURLRequest *request) {
+ loadInfos.append(loadInfo);
+ requestCount++;
+ }];
+
+ auto webView = adoptNS([WKWebView new]);
+ [webView _setResourceLoadDelegate:delegate.get()];
+ [webView loadRequest:server.request()];
+
+ Vector<_WKResourceLoadInfoResourceType> expectedTypes {
+ _WKResourceLoadInfoResourceTypeDocument,
+ _WKResourceLoadInfoResourceTypeScript,
+ _WKResourceLoadInfoResourceTypeFetch,
+ _WKResourceLoadInfoResourceTypeXMLHTTPRequest,
+ _WKResourceLoadInfoResourceTypeBeacon,
+ _WKResourceLoadInfoResourceTypeImage,
+ _WKResourceLoadInfoResourceTypeStylesheet,
+ _WKResourceLoadInfoResourceTypeFont,
+ };
+
+ while (requestCount < expectedTypes.size())
+ TestWebKitAPI::Util::spinRunLoop();
+ for (size_t i = 0; i < expectedTypes.size(); ++i)
+ EXPECT_EQ(loadInfos[i].get().resourceType, expectedTypes[i]);
+}
+
TEST(ResourceLoadDelegate, LoadInfo)
{
TestWebKitAPI::HTTPServer server({
@@ -274,12 +341,13 @@
EXPECT_EQ(loadInfos[6].get().resourceLoadID, loadInfos[7].get().resourceLoadID);
EXPECT_EQ(loadInfos[6].get().resourceLoadID, loadInfos[8].get().resourceLoadID);
EXPECT_NE(loadInfos[6].get().resourceLoadID, loadInfos[0].get().resourceLoadID);
- auto checkFrames = ^(size_t index, _WKFrameHandle *expectedFrame, _WKFrameHandle *expectedParent) {
+ auto checkFrames = ^(size_t index, _WKFrameHandle *expectedFrame, _WKFrameHandle *expectedParent, _WKResourceLoadInfoResourceType expectedType) {
_WKResourceLoadInfo *info = loadInfos[index].get();
EXPECT_EQ(!!info.frame, !!expectedFrame);
EXPECT_EQ(!!info.parentFrame, !!expectedParent);
EXPECT_EQ(info.frame.frameID, expectedFrame.frameID);
EXPECT_EQ(info.parentFrame.frameID, expectedParent.frameID);
+ EXPECT_EQ(info.resourceType, expectedType);
};
_WKFrameHandle *main = loadInfos[0].get().frame;
_WKFrameHandle *sub = loadInfos[8].get().frame;
@@ -286,15 +354,15 @@
EXPECT_TRUE(!!main);
EXPECT_TRUE(!!sub);
EXPECT_TRUE(main.frameID != sub.frameID);
- checkFrames(0, main, nil);
- checkFrames(1, main, nil);
- checkFrames(2, main, nil);
- checkFrames(3, sub, main);
- checkFrames(4, sub, main);
- checkFrames(5, sub, main);
- checkFrames(6, sub, main);
- checkFrames(7, sub, main);
- checkFrames(8, sub, main);
+ checkFrames(0, main, nil, _WKResourceLoadInfoResourceTypeDocument);
+ checkFrames(1, main, nil, _WKResourceLoadInfoResourceTypeDocument);
+ checkFrames(2, main, nil, _WKResourceLoadInfoResourceTypeDocument);
+ checkFrames(3, sub, main, _WKResourceLoadInfoResourceTypeDocument);
+ checkFrames(4, sub, main, _WKResourceLoadInfoResourceTypeDocument);
+ checkFrames(5, sub, main, _WKResourceLoadInfoResourceTypeDocument);
+ checkFrames(6, sub, main, _WKResourceLoadInfoResourceTypeFetch);
+ checkFrames(7, sub, main, _WKResourceLoadInfoResourceTypeFetch);
+ checkFrames(8, sub, main, _WKResourceLoadInfoResourceTypeFetch);
EXPECT_EQ(otherParameters.size(), 12ull);
EXPECT_WK_STREQ(NSStringFromClass([otherParameters[0] class]), "NSMutableURLRequest");
@@ -325,7 +393,7 @@
_WKResourceLoadInfo *original = loadInfos[0].get();
NSError *error = nil;
NSData *archiveData = [NSKeyedArchiver archivedDataWithRootObject:original requiringSecureCoding:YES error:&error];
- EXPECT_EQ(archiveData.length, 589ull);
+ EXPECT_EQ(archiveData.length, 607ull);
EXPECT_FALSE(error);
_WKResourceLoadInfo *deserialized = [NSKeyedUnarchiver unarchivedObjectOfClass:[_WKResourceLoadInfo class] fromData:archiveData error:&error];
EXPECT_FALSE(error);