Skip to content

Commit 22c2a4b

Browse files
Unreviewed, rolling out r218263, r218265, and r218266.
https://bugs.webkit.org/show_bug.cgi?id=173383 "These revisions caused multiple API test to Time out on macOS" (Requested by mlewis13 on #webkit). Reverted changesets: "Add API::InjectedBundle::Client" https://bugs.webkit.org/show_bug.cgi?id=173357 http://trac.webkit.org/changeset/218263 "[GTK] Use API::InjectedBundle::Client in WebKitWebExtension" https://bugs.webkit.org/show_bug.cgi?id=173358 http://trac.webkit.org/changeset/218265 "Add API::InjectedBundle::ResourceLoadClient" https://bugs.webkit.org/show_bug.cgi?id=173362 http://trac.webkit.org/changeset/218266 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@218294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 28e0cc7 commit 22c2a4b

18 files changed

+158
-260
lines changed

Source/WebKit2/ChangeLog

+22
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
2017-06-14 Commit Queue <[email protected]>
2+
3+
Unreviewed, rolling out r218263, r218265, and r218266.
4+
https://bugs.webkit.org/show_bug.cgi?id=173383
5+
6+
"These revisions caused multiple API test to Time out on
7+
macOS" (Requested by mlewis13 on #webkit).
8+
9+
Reverted changesets:
10+
11+
"Add API::InjectedBundle::Client"
12+
https://bugs.webkit.org/show_bug.cgi?id=173357
13+
http://trac.webkit.org/changeset/218263
14+
15+
"[GTK] Use API::InjectedBundle::Client in WebKitWebExtension"
16+
https://bugs.webkit.org/show_bug.cgi?id=173358
17+
http://trac.webkit.org/changeset/218265
18+
19+
"Add API::InjectedBundle::ResourceLoadClient"
20+
https://bugs.webkit.org/show_bug.cgi?id=173362
21+
http://trac.webkit.org/changeset/218266
22+
123
2017-06-14 Brent Fulgham <[email protected]>
224

325
[WK2][iOS] Remove dead-code "import "removed-dev-nodes.sb” from sandboxes (173378)

Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

-8
Original file line numberDiff line numberDiff line change
@@ -1218,8 +1218,6 @@
12181218
7A821F4E1E2F67A800604577 /* LegacyCustomProtocolManagerClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A821F4D1E2F679E00604577 /* LegacyCustomProtocolManagerClient.mm */; };
12191219
7A821F501E2F7A7500604577 /* APICustomProtocolManagerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A821F4F1E2F7A5C00604577 /* APICustomProtocolManagerClient.h */; };
12201220
7A8A9D581EF119B0009801AE /* APIInjectedBundleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8A9D571EF119AA009801AE /* APIInjectedBundleClient.h */; };
1221-
7A8A9D5A1EF13029009801AE /* APIInjectedBundleBundleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8A9D591EF13020009801AE /* APIInjectedBundleBundleClient.h */; };
1222-
7A8A9D5C1EF14598009801AE /* APIInjectedBundlePageResourceLoadClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8A9D5B1EF1458E009801AE /* APIInjectedBundlePageResourceLoadClient.h */; };
12231221
7AAD175F1EA6AF99003B0894 /* WebResourceLoadStatisticsStoreCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7AAD175E1EA6AF37003B0894 /* WebResourceLoadStatisticsStoreCocoa.mm */; };
12241222
7AB6EA451EEAAE3800037B2B /* APIIconDatabaseClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB6EA441EEAAE2300037B2B /* APIIconDatabaseClient.h */; };
12251223
7AB6EA471EEAB6B800037B2B /* APIGeolocationProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB6EA461EEAB6B000037B2B /* APIGeolocationProvider.h */; };
@@ -3509,8 +3507,6 @@
35093507
7A821F4D1E2F679E00604577 /* LegacyCustomProtocolManagerClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LegacyCustomProtocolManagerClient.mm; sourceTree = "<group>"; };
35103508
7A821F4F1E2F7A5C00604577 /* APICustomProtocolManagerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APICustomProtocolManagerClient.h; sourceTree = "<group>"; };
35113509
7A8A9D571EF119AA009801AE /* APIInjectedBundleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIInjectedBundleClient.h; sourceTree = "<group>"; };
3512-
7A8A9D591EF13020009801AE /* APIInjectedBundleBundleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIInjectedBundleBundleClient.h; sourceTree = "<group>"; };
3513-
7A8A9D5B1EF1458E009801AE /* APIInjectedBundlePageResourceLoadClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIInjectedBundlePageResourceLoadClient.h; sourceTree = "<group>"; };
35143510
7A9CD8C01C77984900D9F6C7 /* WebResourceLoadStatisticsStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceLoadStatisticsStore.cpp; sourceTree = "<group>"; };
35153511
7A9CD8C11C77984900D9F6C7 /* WebResourceLoadStatisticsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceLoadStatisticsStore.h; sourceTree = "<group>"; };
35163512
7A9CD8C21C779AD600D9F6C7 /* WebResourceLoadStatisticsStore.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebResourceLoadStatisticsStore.messages.in; sourceTree = "<group>"; };
@@ -7259,10 +7255,8 @@
72597255
1F0181681858DC1500F92884 /* Cocoa */,
72607256
BC989D4516181691000D46D3 /* mac */,
72617257
377512301DF0DEE2008A351C /* APIInjectedBundleEditorClient.h */,
7262-
7A8A9D591EF13020009801AE /* APIInjectedBundleBundleClient.h */,
72637258
076E884F1A13CBC6005E90FC /* APIInjectedBundlePageContextMenuClient.h */,
72647259
7A3ACE1A1EEEF78C00A864A4 /* APIInjectedBundlePageLoaderClient.h */,
7265-
7A8A9D5B1EF1458E009801AE /* APIInjectedBundlePageResourceLoadClient.h */,
72667260
);
72677261
path = API;
72687262
sourceTree = "<group>";
@@ -8722,7 +8716,6 @@
87228716
1CA8B946127C882A00576C2B /* WebInspectorProxyMessages.h in Headers */,
87238717
1C891D6619B124FF00BA79DD /* WebInspectorUI.h in Headers */,
87248718
1CBBE4A119B66C53006B7D81 /* WebInspectorUIMessages.h in Headers */,
8725-
7A8A9D5C1EF14598009801AE /* APIInjectedBundlePageResourceLoadClient.h in Headers */,
87268719
A55BA82B1BA38E61007CD33D /* WebInspectorUtilities.h in Headers */,
87278720
2DA944A01884E4F000ED86DB /* WebIOSEventFactory.h in Headers */,
87288721
1A85E4721E303F3700914599 /* WebKit.apinotes in Headers */,
@@ -8864,7 +8857,6 @@
88648857
51EFC1CF1524E62500C9A938 /* WKBundleDOMWindowExtension.h in Headers */,
88658858
7CBB81211AA0F970006B1942 /* WKBundleFileHandleRef.h in Headers */,
88668859
BCD25F1711D6BDE100169B0E /* WKBundleFrame.h in Headers */,
8867-
7A8A9D5A1EF13029009801AE /* APIInjectedBundleBundleClient.h in Headers */,
88688860
BCF049E611FE20F600F86A58 /* WKBundleFramePrivate.h in Headers */,
88698861
BC49862F124D18C100D834E1 /* WKBundleHitTestResult.h in Headers */,
88708862
BC204EF211C83EC8008F3375 /* WKBundleInitialize.h in Headers */,

Source/WebKit2/WebProcess/InjectedBundle/API/APIInjectedBundleBundleClient.h

-54
This file was deleted.

Source/WebKit2/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h

-59
This file was deleted.

Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include "APIArray.h"
3030
#include "APIData.h"
3131
#include "InjectedBundle.h"
32-
#include "InjectedBundleClient.h"
3332
#include "InjectedBundleScriptWorld.h"
3433
#include "WKAPICast.h"
3534
#include "WKBundleAPICast.h"
@@ -50,7 +49,7 @@ WKTypeID WKBundleGetTypeID()
5049

5150
void WKBundleSetClient(WKBundleRef bundleRef, WKBundleClientBase *wkClient)
5251
{
53-
toImpl(bundleRef)->setClient(std::make_unique<InjectedBundleClient>(wkClient));
52+
toImpl(bundleRef)->initializeClient(wkClient);
5453
}
5554

5655
void WKBundlePostMessage(WKBundleRef bundleRef, WKStringRef messageNameRef, WKTypeRef messageBodyRef)

Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
#include "InjectedBundlePageEditorClient.h"
3737
#include "InjectedBundlePageFormClient.h"
3838
#include "InjectedBundlePageLoaderClient.h"
39-
#include "InjectedBundlePageResourceLoadClient.h"
4039
#include "InjectedBundlePageUIClient.h"
4140
#include "PageBanner.h"
4241
#include "WKAPICast.h"
@@ -101,7 +100,7 @@ void WKBundlePageSetPageLoaderClient(WKBundlePageRef pageRef, WKBundlePageLoader
101100

102101
void WKBundlePageSetResourceLoadClient(WKBundlePageRef pageRef, WKBundlePageResourceLoadClientBase* wkClient)
103102
{
104-
toImpl(pageRef)->setInjectedBundleResourceLoadClient(std::make_unique<InjectedBundlePageResourceLoadClient>(wkClient));
103+
toImpl(pageRef)->initializeInjectedBundleResourceLoadClient(wkClient);
105104
}
106105

107106
void WKBundlePageSetPolicyClient(WKBundlePageRef pageRef, WKBundlePagePolicyClientBase* wkClient)

Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp

+59-42
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
#include "WebKitWebExtension.h"
2222

2323
#include "APIDictionary.h"
24-
#include "APIInjectedBundleBundleClient.h"
2524
#include "APIString.h"
25+
#include "WKBundleAPICast.h"
26+
#include "WKBundlePage.h"
2627
#include "WebKitPrivate.h"
2728
#include "WebKitWebExtensionPrivate.h"
2829
#include "WebKitWebPagePrivate.h"
@@ -144,51 +145,67 @@ static void webkit_web_extension_class_init(WebKitWebExtensionClass* klass)
144145
WEBKIT_TYPE_WEB_PAGE);
145146
}
146147

147-
class WebExtensionInjectedBundleClient final : public API::InjectedBundle::Client {
148-
public:
149-
explicit WebExtensionInjectedBundleClient(WebKitWebExtension* extension)
150-
: m_extension(extension)
151-
{
152-
}
153-
154-
private:
155-
void didCreatePage(InjectedBundle&, WebPage& page) override
156-
{
157-
GRefPtr<WebKitWebPage> webPage = adoptGRef(webkitWebPageCreate(&page));
158-
m_extension->priv->pages.add(&page, webPage);
159-
g_signal_emit(m_extension, signals[PAGE_CREATED], 0, webPage.get());
160-
}
161-
162-
void willDestroyPage(InjectedBundle&, WebPage& page) override
163-
{
164-
m_extension->priv->pages.remove(&page);
165-
}
166-
167-
void didReceiveMessage(InjectedBundle&, const String& messageName, API::Object* messageBody) override
168-
{
169-
ASSERT(messageBody->type() == API::Object::Type::Dictionary);
170-
API::Dictionary& message = *static_cast<API::Dictionary*>(messageBody);
171-
if (messageName == String::fromUTF8("PrefetchDNS")) {
172-
API::String* hostname = static_cast<API::String*>(message.get(String::fromUTF8("Hostname")));
173-
WebProcess::singleton().prefetchDNS(hostname->string());
174-
} else
175-
ASSERT_NOT_REACHED();
176-
}
177-
178-
void didReceiveMessageToPage(InjectedBundle&, WebPage& page, const String& messageName, API::Object* messageBody) override
179-
{
180-
ASSERT(messageBody->type() == API::Object::Type::Dictionary);
181-
if (auto* webPage = m_extension->priv->pages.get(&page))
182-
webkitWebPageDidReceiveMessage(webPage, messageName, *static_cast<API::Dictionary*>(messageBody));
183-
}
184-
185-
WebKitWebExtension* m_extension;
186-
};
148+
static void webkitWebExtensionPageCreated(WebKitWebExtension* extension, WebPage* page)
149+
{
150+
GRefPtr<WebKitWebPage> webPage = adoptGRef(webkitWebPageCreate(page));
151+
extension->priv->pages.add(page, webPage);
152+
g_signal_emit(extension, signals[PAGE_CREATED], 0, webPage.get());
153+
}
154+
155+
static void webkitWebExtensionPageDestroy(WebKitWebExtension* extension, WebPage* page)
156+
{
157+
extension->priv->pages.remove(page);
158+
}
159+
160+
static void webkitWebExtensionDidReceiveMessage(WebKitWebExtension*, const String& messageName, API::Dictionary& message)
161+
{
162+
if (messageName == String::fromUTF8("PrefetchDNS")) {
163+
API::String* hostname = static_cast<API::String*>(message.get(String::fromUTF8("Hostname")));
164+
WebProcess::singleton().prefetchDNS(hostname->string());
165+
} else
166+
ASSERT_NOT_REACHED();
167+
}
168+
169+
static void didCreatePage(WKBundleRef, WKBundlePageRef page, const void* clientInfo)
170+
{
171+
webkitWebExtensionPageCreated(WEBKIT_WEB_EXTENSION(clientInfo), toImpl(page));
172+
}
173+
174+
static void willDestroyPage(WKBundleRef, WKBundlePageRef page, const void* clientInfo)
175+
{
176+
webkitWebExtensionPageDestroy(WEBKIT_WEB_EXTENSION(clientInfo), toImpl(page));
177+
}
178+
179+
static void didReceiveMessage(WKBundleRef, WKStringRef name, WKTypeRef messageBody, const void* clientInfo)
180+
{
181+
ASSERT(WKGetTypeID(messageBody) == WKDictionaryGetTypeID());
182+
webkitWebExtensionDidReceiveMessage(WEBKIT_WEB_EXTENSION(clientInfo), toImpl(name)->string(), *toImpl(static_cast<WKDictionaryRef>(messageBody)));
183+
}
184+
185+
static void didReceiveMessageToPage(WKBundleRef, WKBundlePageRef page, WKStringRef name, WKTypeRef messageBody, const void* clientInfo)
186+
{
187+
ASSERT(WKGetTypeID(messageBody) == WKDictionaryGetTypeID());
188+
if (WebKitWebPage* webPage = WEBKIT_WEB_EXTENSION(clientInfo)->priv->pages.get(toImpl(page)))
189+
webkitWebPageDidReceiveMessage(webPage, toImpl(name)->string(), *toImpl(static_cast<WKDictionaryRef>(messageBody)));
190+
}
187191

188192
WebKitWebExtension* webkitWebExtensionCreate(InjectedBundle* bundle)
189193
{
190194
WebKitWebExtension* extension = WEBKIT_WEB_EXTENSION(g_object_new(WEBKIT_TYPE_WEB_EXTENSION, NULL));
191-
bundle->setClient(std::make_unique<WebExtensionInjectedBundleClient>(extension));
195+
196+
WKBundleClientV1 wkBundleClient = {
197+
{
198+
1, // version
199+
extension, // clientInfo
200+
},
201+
didCreatePage,
202+
willDestroyPage,
203+
0, // didInitializePageGroup
204+
didReceiveMessage,
205+
didReceiveMessageToPage
206+
};
207+
WKBundleSetClient(toAPI(bundle), &wkBundleClient.base);
208+
192209
return extension;
193210
}
194211

Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ static void setUpBundleClient(WKWebProcessPlugInController *plugInController, In
8080
bundleClient.didCreatePage = didCreatePage;
8181
bundleClient.willDestroyPage = willDestroyPage;
8282

83-
WKBundleSetClient(toAPI(&bundle), &bundleClient.base);
83+
bundle.initializeClient(&bundleClient.base);
8484
}
8585

8686
- (void)_setPrincipalClassInstance:(id <WKWebProcessPlugIn>)principalClassInstance

Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm

+2-2
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ static void setUpResourceLoadClient(WKWebProcessPlugInBrowserContextController *
333333
client.didFinishLoadForResource = didFinishLoadForResource;
334334
client.didFailLoadForResource = didFailLoadForResource;
335335

336-
WKBundlePageSetResourceLoadClient(toAPI(&page), &client.base);
336+
page.initializeInjectedBundleResourceLoadClient(&client.base);
337337
}
338338

339339
- (id <WKWebProcessPlugInLoadDelegate>)loadDelegate
@@ -350,7 +350,7 @@ - (void)setLoadDelegate:(id <WKWebProcessPlugInLoadDelegate>)loadDelegate
350350
setUpResourceLoadClient(self, *_page);
351351
} else {
352352
WKBundlePageSetPageLoaderClient(toAPI(_page.get()), nullptr);
353-
WKBundlePageSetResourceLoadClient(toAPI(_page.get()), nullptr);
353+
_page->initializeInjectedBundleResourceLoadClient(nullptr);
354354
}
355355
}
356356

0 commit comments

Comments
 (0)