Skip to content

Commit fc1aa57

Browse files
[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
https://bugs.webkit.org/show_bug.cgi?id=147872 rdar://problem/22044000 Reviewed by Dan Bernstein. Source/WebCore: Passed the ResourceLoader request URL to dispatchDidReceiveServerRedirectForProvisionalLoad(). New API test: ContentFiltering.ServerRedirect * WebCore.xcodeproj/project.pbxproj: * loader/EmptyClients.h: * loader/FrameLoaderClient.h: Added a URL argument to dispatchDidReceiveServerRedirectForProvisionalLoad(). * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequestInternal): Passed the request URL to dispatchDidReceiveServerRedirectForProvisionalLoad(). * testing/Internals.cpp: (WebCore::Internals::Internals): Stopped calling MockContentFilter::ensureInstalled(). * testing/MockContentFilterSettings.cpp: (WebCore::MockContentFilterSettings::setEnabled): Called MockContentFilter::ensureInstalled() to ensure the mock is installed whenever the filter is enabled. * testing/MockContentFilterSettings.h: Exported member functions used by TestWebKitAPI. Source/WebKit/mac: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Set provisionalURL using the URL argument. Source/WebKit/win: * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Added the URL argument. * WebCoreSupport/WebFrameLoaderClient.h: Source/WebKit2: The provisional DocumentLoader request URL does not reflect redirects when content filtering is enabled, but the URL argument passed to dispatchDidReceiveServerRedirectForProvisionalLoad() does, so use it intead. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Sent DidReceiveServerRedirectForProvisionalLoadForFrame using the URL argument. * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Tools: Added an API test. * TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Linked libWebCoreTestSupport in order to use MockContentFilter. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Added. (-[ServerRedirectNavigationDelegate webView:didStartProvisionalNavigation:]): Expect the initial request URL. (-[ServerRedirectNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]): Expect the redirect URL. (-[ServerRedirectNavigationDelegate webView:didCommitNavigation:]): (TEST): Tested that -[WKWebView URL] is updated after a redirect when content filtering is enabled. * TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Added. (+[ServerRedirectPlugIn initialize]): Enable MockContentFilter. * TestWebKitAPI/cocoa/TestProtocol.h: Renamed from Tools/TestWebKitAPI/mac/TestProtocol.h. * TestWebKitAPI/cocoa/TestProtocol.mm: Renamed from Tools/TestWebKitAPI/mac/TestProtocol.mm. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@188851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 930d76f commit fc1aa57

24 files changed

+254
-27
lines changed

Source/WebCore/ChangeLog

+24
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
2015-08-23 Andy Estes <[email protected]>
2+
3+
[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
4+
https://bugs.webkit.org/show_bug.cgi?id=147872
5+
rdar://problem/22044000
6+
7+
Reviewed by Dan Bernstein.
8+
9+
Passed the ResourceLoader request URL to dispatchDidReceiveServerRedirectForProvisionalLoad().
10+
11+
New API test: ContentFiltering.ServerRedirect
12+
13+
* WebCore.xcodeproj/project.pbxproj:
14+
* loader/EmptyClients.h:
15+
* loader/FrameLoaderClient.h: Added a URL argument to dispatchDidReceiveServerRedirectForProvisionalLoad().
16+
* loader/ResourceLoader.cpp:
17+
(WebCore::ResourceLoader::willSendRequestInternal): Passed the request URL to dispatchDidReceiveServerRedirectForProvisionalLoad().
18+
* testing/Internals.cpp:
19+
(WebCore::Internals::Internals): Stopped calling MockContentFilter::ensureInstalled().
20+
* testing/MockContentFilterSettings.cpp:
21+
(WebCore::MockContentFilterSettings::setEnabled): Called MockContentFilter::ensureInstalled() to ensure the
22+
mock is installed whenever the filter is enabled.
23+
* testing/MockContentFilterSettings.h: Exported member functions used by TestWebKitAPI.
24+
125
2015-08-23 Geoffrey Garen <[email protected]>
226

327
Unreviewed, rolling back in r188803.

Source/WebCore/WebCore.xcodeproj/project.pbxproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -3924,7 +3924,7 @@
39243924
A19D934A1AA11B1E00B46C24 /* NetworkExtensionContentFilter.mm in Sources */ = {isa = PBXBuildFile; fileRef = A19D93481AA11B1E00B46C24 /* NetworkExtensionContentFilter.mm */; };
39253925
A19D934B1AA11B1E00B46C24 /* NetworkExtensionContentFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A19D93491AA11B1E00B46C24 /* NetworkExtensionContentFilter.h */; };
39263926
A1B5B29E1AAA846E008B6042 /* MockContentFilterSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1B5B29C1AAA846E008B6042 /* MockContentFilterSettings.cpp */; };
3927-
A1B5B29F1AAA846F008B6042 /* MockContentFilterSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = A1B5B29D1AAA846E008B6042 /* MockContentFilterSettings.h */; };
3927+
A1B5B29F1AAA846F008B6042 /* MockContentFilterSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = A1B5B29D1AAA846E008B6042 /* MockContentFilterSettings.h */; settings = {ATTRIBUTES = (Private, ); }; };
39283928
A1BF6B821AA96C7D00AF4A8A /* MockContentFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1BF6B801AA96C7D00AF4A8A /* MockContentFilter.cpp */; };
39293929
A1BF6B831AA96C7D00AF4A8A /* MockContentFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BF6B811AA96C7D00AF4A8A /* MockContentFilter.h */; };
39303930
A1C797181883DD82000F5E1F /* DOMGestureEvent.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 0F54DCDD1880F901003EEDBB /* DOMGestureEvent.h */; };

Source/WebCore/loader/EmptyClients.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ class EmptyFrameLoaderClient : public FrameLoaderClient {
272272
virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int) override { return false; }
273273

274274
virtual void dispatchDidHandleOnloadEvents() override { }
275-
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() override { }
275+
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(const URL&) override { }
276276
virtual void dispatchDidCancelClientRedirect() override { }
277277
virtual void dispatchWillPerformClientRedirect(const URL&, double, double) override { }
278278
virtual void dispatchDidChangeLocationWithinPage() override { }

Source/WebCore/loader/FrameLoaderClient.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ namespace WebCore {
154154
virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) = 0;
155155

156156
virtual void dispatchDidHandleOnloadEvents() = 0;
157-
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() = 0;
157+
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(const URL&) = 0;
158158
virtual void dispatchDidChangeProvisionalURL() { }
159159
virtual void dispatchDidCancelClientRedirect() = 0;
160160
virtual void dispatchWillPerformClientRedirect(const URL&, double interval, double fireDate) = 0;

Source/WebCore/loader/ResourceLoader.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ void ResourceLoader::willSendRequestInternal(ResourceRequest& request, const Res
365365
m_request = request;
366366

367367
if (!redirectResponse.isNull() && !m_documentLoader->isCommitted())
368-
frameLoader()->client().dispatchDidReceiveServerRedirectForProvisionalLoad();
368+
frameLoader()->client().dispatchDidReceiveServerRedirectForProvisionalLoad(m_request.url());
369369
}
370370

371371
void ResourceLoader::willSendRequest(ResourceRequest&& request, const ResourceResponse& redirectResponse, std::function<void(ResourceRequest&&)>&& callback)

Source/WebCore/testing/Internals.cpp

+1-5
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@
183183
#endif
184184

185185
#if ENABLE(CONTENT_FILTERING)
186-
#include "MockContentFilter.h"
186+
#include "MockContentFilterSettings.h"
187187
#endif
188188

189189
#if ENABLE(WEB_AUDIO)
@@ -358,10 +358,6 @@ Internals::Internals(Document* document)
358358
enableMockRTCPeerConnectionHandler();
359359
WebCore::provideUserMediaTo(document->page(), new UserMediaClientMock());
360360
#endif
361-
362-
#if ENABLE(CONTENT_FILTERING)
363-
MockContentFilter::ensureInstalled();
364-
#endif
365361
}
366362

367363
Document* Internals::contextDocument() const

Source/WebCore/testing/MockContentFilterSettings.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
#include "ContentFilter.h"
3232
#include "ContentFilterUnblockHandler.h"
33+
#include "MockContentFilter.h"
3334
#include <wtf/NeverDestroyed.h>
3435

3536
namespace WebCore {
@@ -45,6 +46,12 @@ void MockContentFilterSettings::reset()
4546
singleton() = MockContentFilterSettings();
4647
}
4748

49+
void MockContentFilterSettings::setEnabled(bool enabled)
50+
{
51+
MockContentFilter::ensureInstalled();
52+
m_enabled = enabled;
53+
}
54+
4855
const String& MockContentFilterSettings::unblockRequestURL() const
4956
{
5057
static NeverDestroyed<String> unblockRequestURL = makeString(ContentFilter::urlScheme(), "://", unblockURLHost());

Source/WebCore/testing/MockContentFilterSettings.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class MockContentFilterSettings {
4848
Block
4949
};
5050

51-
static MockContentFilterSettings& singleton();
51+
WTF_EXPORT_PRIVATE static MockContentFilterSettings& singleton();
5252
static void reset();
5353
static const char* unblockURLHost() { return "mock-unblock"; }
5454

@@ -57,7 +57,7 @@ class MockContentFilterSettings {
5757
void deref() { }
5858

5959
bool enabled() const { return m_enabled; }
60-
void setEnabled(bool enabled) { m_enabled = enabled; }
60+
WTF_EXPORT_PRIVATE void setEnabled(bool);
6161

6262
const String& blockedString() const { return m_blockedString; }
6363
void setBlockedString(const String& blockedString) { m_blockedString = blockedString; }

Source/WebKit/mac/ChangeLog

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
2015-08-23 Andy Estes <[email protected]>
2+
3+
[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
4+
https://bugs.webkit.org/show_bug.cgi?id=147872
5+
rdar://problem/22044000
6+
7+
Reviewed by Dan Bernstein.
8+
9+
* WebCoreSupport/WebFrameLoaderClient.h:
10+
* WebCoreSupport/WebFrameLoaderClient.mm:
11+
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Set provisionalURL using the URL argument.
12+
113
2015-08-23 Geoffrey Garen <[email protected]>
214

315
Unreviewed, rolling back in r188803.

Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class WebFrameLoaderClient : public WebCore::FrameLoaderClient {
9696
virtual NSCachedURLResponse* willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const override;
9797

9898
virtual void dispatchDidHandleOnloadEvents() override;
99-
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() override;
99+
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(const WebCore::URL&) override;
100100
virtual void dispatchDidCancelClientRedirect() override;
101101
virtual void dispatchWillPerformClientRedirect(const WebCore::URL&, double interval, double fireDate) override;
102102
virtual void dispatchDidChangeLocationWithinPage() override;

Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

+2-2
Original file line numberDiff line numberDiff line change
@@ -578,9 +578,9 @@ - (void)invalidate;
578578
CallFrameLoadDelegate(implementations->didHandleOnloadEventsForFrameFunc, webView, @selector(webView:didHandleOnloadEventsForFrame:), m_webFrame.get());
579579
}
580580

581-
void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
581+
void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad(const URL& url)
582582
{
583-
m_webFrame->_private->provisionalURL = core(m_webFrame.get())->loader().provisionalDocumentLoader()->url().string();
583+
m_webFrame->_private->provisionalURL = url.string();
584584

585585
WebView *webView = getWebView(m_webFrame.get());
586586
WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);

Source/WebKit/win/ChangeLog

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
2015-08-23 Andy Estes <[email protected]>
2+
3+
[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
4+
https://bugs.webkit.org/show_bug.cgi?id=147872
5+
rdar://problem/22044000
6+
7+
Reviewed by Dan Bernstein.
8+
9+
* WebCoreSupport/WebFrameLoaderClient.cpp:
10+
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Added the URL argument.
11+
* WebCoreSupport/WebFrameLoaderClient.h:
12+
113
2015-08-21 Chris Dumez <[email protected]>
214

315
document.getElementsByTagName should return an HTMLCollection

Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ void WebFrameLoaderClient::dispatchDidHandleOnloadEvents()
330330
frameLoadDelegatePriv->didHandleOnloadEventsForFrame(webView, m_webFrame);
331331
}
332332

333-
void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
333+
void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad(const URL&)
334334
{
335335
WebView* webView = m_webFrame->webView();
336336
COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;

Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class WebFrameLoaderClient : public WebCore::FrameLoaderClient, public WebCore::
7777
virtual bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length);
7878

7979
virtual void dispatchDidHandleOnloadEvents() override;
80-
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() override;
80+
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(const WebCore::URL&) override;
8181
virtual void dispatchDidCancelClientRedirect() override;
8282
virtual void dispatchWillPerformClientRedirect(const WebCore::URL&, double interval, double fireDate) override;
8383
virtual void dispatchDidChangeLocationWithinPage() override;

Source/WebKit2/ChangeLog

+16
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
2015-08-23 Andy Estes <[email protected]>
2+
3+
[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
4+
https://bugs.webkit.org/show_bug.cgi?id=147872
5+
rdar://problem/22044000
6+
7+
Reviewed by Dan Bernstein.
8+
9+
The provisional DocumentLoader request URL does not reflect redirects when content filtering is enabled, but
10+
the URL argument passed to dispatchDidReceiveServerRedirectForProvisionalLoad() does, so use it intead.
11+
12+
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13+
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
14+
Sent DidReceiveServerRedirectForProvisionalLoadForFrame using the URL argument.
15+
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
16+
117
2015-08-23 Csaba Osztrogonác <[email protected]>
218

319
Typo fix after r188842.

Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -278,21 +278,20 @@ void WebFrameLoaderClient::dispatchDidHandleOnloadEvents()
278278
webPage->injectedBundleLoaderClient().didHandleOnloadEventsForFrame(webPage, m_frame);
279279
}
280280

281-
void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
281+
void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad(const URL& url)
282282
{
283283
WebPage* webPage = m_frame->page();
284284
if (!webPage)
285285
return;
286286

287287
WebDocumentLoader& documentLoader = static_cast<WebDocumentLoader&>(*m_frame->coreFrame()->loader().provisionalDocumentLoader());
288-
const String& url = documentLoader.url().string();
289288
RefPtr<API::Object> userData;
290289

291290
// Notify the bundle client.
292291
webPage->injectedBundleLoaderClient().didReceiveServerRedirectForProvisionalLoadForFrame(webPage, m_frame, userData);
293292

294293
// Notify the UIProcess.
295-
webPage->send(Messages::WebPageProxy::DidReceiveServerRedirectForProvisionalLoadForFrame(m_frame->frameID(), documentLoader.navigationID(), url, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
294+
webPage->send(Messages::WebPageProxy::DidReceiveServerRedirectForProvisionalLoadForFrame(m_frame->frameID(), documentLoader.navigationID(), url.string(), UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
296295
}
297296

298297
void WebFrameLoaderClient::dispatchDidChangeProvisionalURL()

Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class WebFrameLoaderClient : public WebCore::FrameLoaderClient {
7979
virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length) override;
8080

8181
virtual void dispatchDidHandleOnloadEvents() override;
82-
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() override;
82+
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(const WebCore::URL&) override;
8383
virtual void dispatchDidChangeProvisionalURL() override;
8484
virtual void dispatchDidCancelClientRedirect() override;
8585
virtual void dispatchWillPerformClientRedirect(const WebCore::URL&, double interval, double fireDate) override;

Tools/ChangeLog

+22
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
2015-08-23 Andy Estes <[email protected]>
2+
3+
[Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
4+
https://bugs.webkit.org/show_bug.cgi?id=147872
5+
rdar://problem/22044000
6+
7+
Reviewed by Dan Bernstein.
8+
9+
Added an API test.
10+
11+
* TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Linked libWebCoreTestSupport in order to use MockContentFilter.
12+
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13+
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Added.
14+
(-[ServerRedirectNavigationDelegate webView:didStartProvisionalNavigation:]): Expect the initial request URL.
15+
(-[ServerRedirectNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]): Expect the redirect URL.
16+
(-[ServerRedirectNavigationDelegate webView:didCommitNavigation:]):
17+
(TEST): Tested that -[WKWebView URL] is updated after a redirect when content filtering is enabled.
18+
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Added.
19+
(+[ServerRedirectPlugIn initialize]): Enable MockContentFilter.
20+
* TestWebKitAPI/cocoa/TestProtocol.h: Renamed from Tools/TestWebKitAPI/mac/TestProtocol.h.
21+
* TestWebKitAPI/cocoa/TestProtocol.mm: Renamed from Tools/TestWebKitAPI/mac/TestProtocol.mm.
22+
123
2015-08-23 Andy Estes <[email protected]>
224

325
Fixed the 32-bit Mac build after r188844.

Tools/TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig

+3-1
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ INFOPLIST_FILE = cocoa/WebProcessPlugIn/Info.plist;
2727
PRODUCT_NAME = TestWebKitAPI;
2828
EXECUTABLE_SUFFIX = .bundle;
2929
WRAPPER_EXTENSION = wkbundle;
30-
OTHER_LDFLAGS = $(inherited) -framework JavaScriptCore -framework WebKit;
30+
HEADER_SEARCH_PATHS = $(inherited) $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport;
31+
OTHER_LDFLAGS = $(inherited) -framework JavaScriptCore -framework WebKit -lWebCoreTestSupport;
32+
LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = "@loader_path/../../..";

0 commit comments

Comments
 (0)