Changeset 188851 in webkit


Ignore:
Timestamp:
Aug 23, 2015 11:48:28 PM (9 years ago)
Author:
aestes@apple.com
Message:

[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.
Location:
trunk
Files:
1 added
20 edited
1 copied
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r188841 r188851  
     12015-08-23  Andy Estes  <aestes@apple.com>
     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
    1252015-08-23  Geoffrey Garen  <ggaren@apple.com>
    226
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r188820 r188851  
    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 */; };
  • trunk/Source/WebCore/loader/EmptyClients.h

    r187002 r188851  
    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 { }
  • trunk/Source/WebCore/loader/FrameLoaderClient.h

    r188839 r188851  
    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;
  • trunk/Source/WebCore/loader/ResourceLoader.cpp

    r188839 r188851  
    366366
    367367    if (!redirectResponse.isNull() && !m_documentLoader->isCommitted())
    368         frameLoader()->client().dispatchDidReceiveServerRedirectForProvisionalLoad();
     368        frameLoader()->client().dispatchDidReceiveServerRedirectForProvisionalLoad(m_request.url());
    369369}
    370370
  • trunk/Source/WebCore/testing/Internals.cpp

    r188468 r188851  
    184184
    185185#if ENABLE(CONTENT_FILTERING)
    186 #include "MockContentFilter.h"
     186#include "MockContentFilterSettings.h"
    187187#endif
    188188
     
    358358    enableMockRTCPeerConnectionHandler();
    359359    WebCore::provideUserMediaTo(document->page(), new UserMediaClientMock());
    360 #endif
    361 
    362 #if ENABLE(CONTENT_FILTERING)
    363     MockContentFilter::ensureInstalled();
    364360#endif
    365361}
  • trunk/Source/WebCore/testing/MockContentFilterSettings.cpp

    r183031 r188851  
    3131#include "ContentFilter.h"
    3232#include "ContentFilterUnblockHandler.h"
     33#include "MockContentFilter.h"
    3334#include <wtf/NeverDestroyed.h>
    3435
     
    4647}
    4748
     49void MockContentFilterSettings::setEnabled(bool enabled)
     50{
     51    MockContentFilter::ensureInstalled();
     52    m_enabled = enabled;
     53}
     54
    4855const String& MockContentFilterSettings::unblockRequestURL() const
    4956{
  • trunk/Source/WebCore/testing/MockContentFilterSettings.h

    r182637 r188851  
    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"; }
     
    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; }
  • trunk/Source/WebKit/mac/ChangeLog

    r188841 r188851  
     12015-08-23  Andy Estes  <aestes@apple.com>
     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
    1132015-08-23  Geoffrey Garen  <ggaren@apple.com>
    214
  • trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h

    r187002 r188851  
    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;
  • trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

    r188486 r188851  
    579579}
    580580
    581 void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
    582 {
    583     m_webFrame->_private->provisionalURL = core(m_webFrame.get())->loader().provisionalDocumentLoader()->url().string();
     581void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad(const URL& url)
     582{
     583    m_webFrame->_private->provisionalURL = url.string();
    584584
    585585    WebView *webView = getWebView(m_webFrame.get());
  • trunk/Source/WebKit/win/ChangeLog

    r188809 r188851  
     12015-08-23  Andy Estes  <aestes@apple.com>
     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
    1132015-08-21  Chris Dumez  <cdumez@apple.com>
    214
  • trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

    r188486 r188851  
    331331}
    332332
    333 void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
     333void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad(const URL&)
    334334{
    335335    WebView* webView = m_webFrame->webView();
  • trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h

    r187010 r188851  
    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;
  • trunk/Source/WebKit2/ChangeLog

    r188843 r188851  
     12015-08-23  Andy Estes  <aestes@apple.com>
     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
    1172015-08-23  Csaba Osztrogonác  <ossy@webkit.org>
    218
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

    r188331 r188851  
    279279}
    280280
    281 void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
     281void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad(const URL& url)
    282282{
    283283    WebPage* webPage = m_frame->page();
     
    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
     
    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
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h

    r188331 r188851  
    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;
  • trunk/Tools/ChangeLog

    r188845 r188851  
     12015-08-23  Andy Estes  <aestes@apple.com>
     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
    1232015-08-23  Andy Estes  <aestes@apple.com>
    224
  • trunk/Tools/TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig

    r188844 r188851  
    2828EXECUTABLE_SUFFIX = .bundle;
    2929WRAPPER_EXTENSION = wkbundle;
    30 OTHER_LDFLAGS = $(inherited) -framework JavaScriptCore -framework WebKit;
     30HEADER_SEARCH_PATHS = $(inherited) $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport;
     31OTHER_LDFLAGS = $(inherited) -framework JavaScriptCore -framework WebKit -lWebCoreTestSupport;
     32LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = "@loader_path/../../..";
  • trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

    r188844 r188851  
    9191                7CCE7EA81A411A1900447C4C /* SyntheticBackingScaleFactorWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = C081224413FC19EC00DC39AE /* SyntheticBackingScaleFactorWindow.m */; };
    9292                7CCE7EA91A411A1D00447C4C /* TestBrowsingContextLoadDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29AB8AA2164C7A9300D49BEC /* TestBrowsingContextLoadDelegate.mm */; };
    93                 7CCE7EAA1A411A2400447C4C /* TestProtocol.mm in Sources */ = {isa = PBXBuildFile; fileRef = 290F4279172A23A500939FF0 /* TestProtocol.mm */; };
    9493                7CCE7EAB1A411A2400447C4C /* WebKitAgnosticTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = C08587BD13FE956C001EF4E5 /* WebKitAgnosticTest.mm */; };
    9594                7CCE7EAC1A411A3400447C4C /* Counters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C6BBD8B19CEA63000C1F5E0 /* Counters.cpp */; };
     
    270269                A13EBBB11B87438000097110 /* BundleParameters.mm in Sources */ = {isa = PBXBuildFile; fileRef = A13EBBAC1B87436F00097110 /* BundleParameters.mm */; };
    271270                A14FC5851B89739100D107EB /* WKWebViewConfigurationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = A14FC5831B89739100D107EB /* WKWebViewConfigurationExtras.mm */; };
     271                A14FC5881B8991BF00D107EB /* ContentFiltering.mm in Sources */ = {isa = PBXBuildFile; fileRef = A14FC5861B8991B600D107EB /* ContentFiltering.mm */; };
     272                A14FC58B1B89927100D107EB /* ContentFilteringPlugIn.mm in Sources */ = {isa = PBXBuildFile; fileRef = A14FC5891B89927100D107EB /* ContentFilteringPlugIn.mm */; };
     273                A14FC5901B8AE36F00D107EB /* TestProtocol.mm in Sources */ = {isa = PBXBuildFile; fileRef = A14FC58E1B8AE36500D107EB /* TestProtocol.mm */; };
    272274                A57A34F216AF6B2B00C2501F /* PageVisibilityStateWithWindowChanges.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = A57A34F116AF69E200C2501F /* PageVisibilityStateWithWindowChanges.html */; };
    273275                A5E2027515B21F6E00C13E14 /* WindowlessWebViewWithMedia.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = A5E2027015B2180600C13E14 /* WindowlessWebViewWithMedia.html */; };
     
    488490                290F4274172A1FDE00939FF0 /* custom-protocol-sync-xhr.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "custom-protocol-sync-xhr.html"; sourceTree = "<group>"; };
    489491                290F4276172A232C00939FF0 /* CustomProtocolsSyncXHRTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CustomProtocolsSyncXHRTest.mm; sourceTree = "<group>"; };
    490                 290F4279172A23A500939FF0 /* TestProtocol.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestProtocol.mm; sourceTree = "<group>"; };
    491                 290F427A172A23A500939FF0 /* TestProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestProtocol.h; sourceTree = "<group>"; };
    492492                291861FD17BD4DC700D4E41E /* StopLoadingFromDidFinishLoading.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = StopLoadingFromDidFinishLoading.mm; sourceTree = "<group>"; };
    493493                2943BE84161DFEB800999E3D /* UserContentTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = UserContentTest.mm; path = WebKit2ObjC/UserContentTest.mm; sourceTree = "<group>"; };
     
    640640                A14FC5831B89739100D107EB /* WKWebViewConfigurationExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebViewConfigurationExtras.mm; sourceTree = "<group>"; };
    641641                A14FC5841B89739100D107EB /* WKWebViewConfigurationExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebViewConfigurationExtras.h; sourceTree = "<group>"; };
     642                A14FC5861B8991B600D107EB /* ContentFiltering.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ContentFiltering.mm; sourceTree = "<group>"; };
     643                A14FC5891B89927100D107EB /* ContentFilteringPlugIn.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ContentFilteringPlugIn.mm; sourceTree = "<group>"; };
     644                A14FC58D1B8AE36500D107EB /* TestProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestProtocol.h; path = cocoa/TestProtocol.h; sourceTree = "<group>"; };
     645                A14FC58E1B8AE36500D107EB /* TestProtocol.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestProtocol.mm; path = cocoa/TestProtocol.mm; sourceTree = "<group>"; };
    642646                A1A4FE5D18DD3DB700B5EA8A /* Download.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Download.mm; sourceTree = "<group>"; };
    643647                A1FDFD2E19C288BB005148A4 /* WKImageCreateCGImageCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKImageCreateCGImageCrash.cpp; sourceTree = "<group>"; };
     
    859863                                A13EBB441B87332B00097110 /* WebProcessPlugIn */,
    860864                                0F139E721A423A2B00F590F5 /* PlatformUtilitiesCocoa.mm */,
     865                                A14FC58D1B8AE36500D107EB /* TestProtocol.h */,
     866                                A14FC58E1B8AE36500D107EB /* TestProtocol.mm */,
    861867                                A14FC5841B89739100D107EB /* WKWebViewConfigurationExtras.h */,
    862868                                A14FC5831B89739100D107EB /* WKWebViewConfigurationExtras.mm */,
     
    890896                                A13EBBAC1B87436F00097110 /* BundleParameters.mm */,
    891897                                A13EBBAE1B87436F00097110 /* BundleParametersPlugIn.mm */,
     898                                A14FC5861B8991B600D107EB /* ContentFiltering.mm */,
     899                                A14FC5891B89927100D107EB /* ContentFilteringPlugIn.mm */,
    892900                                A1A4FE5D18DD3DB700B5EA8A /* Download.mm */,
    893901                                2D1FE0AF1AD465C1006CD9E6 /* FixedLayoutSize.mm */,
     
    12351243                                29AB8AA3164C7A9300D49BEC /* TestBrowsingContextLoadDelegate.h */,
    12361244                                29AB8AA2164C7A9300D49BEC /* TestBrowsingContextLoadDelegate.mm */,
    1237                                 290F427A172A23A500939FF0 /* TestProtocol.h */,
    1238                                 290F4279172A23A500939FF0 /* TestProtocol.mm */,
    12391245                                C08587BE13FE956C001EF4E5 /* WebKitAgnosticTest.h */,
    12401246                                C08587BD13FE956C001EF4E5 /* WebKitAgnosticTest.mm */,
     
    15971603                                7C89D2AC1A69B80D003A5FDE /* WKPageConfiguration.cpp in Sources */,
    15981604                                7CCE7F391A411B8E00447C4C /* MD5.cpp in Sources */,
     1605                                A14FC5901B8AE36F00D107EB /* TestProtocol.mm in Sources */,
    15991606                                7CCE7F3B1A411B8E00447C4C /* MediaTime.cpp in Sources */,
    16001607                                7CCE7EB21A411A5100447C4C /* MemoryCacheAddImageToCacheIOS.mm in Sources */,
     
    16041611                                7CCE7F011A411AE600447C4C /* MouseMoveAfterCrash.cpp in Sources */,
    16051612                                7CCE7F241A411AF600447C4C /* Navigation.mm in Sources */,
     1613                                A14FC5881B8991BF00D107EB /* ContentFiltering.mm in Sources */,
    16061614                                7CCE7F021A411AE600447C4C /* NewFirstVisuallyNonEmptyLayout.cpp in Sources */,
    16071615                                7CCE7F031A411AE600447C4C /* NewFirstVisuallyNonEmptyLayoutFails.cpp in Sources */,
     
    16701678                                7CCE7F161A411AE600447C4C /* TerminateTwice.cpp in Sources */,
    16711679                                7CCE7EA91A411A1D00447C4C /* TestBrowsingContextLoadDelegate.mm in Sources */,
    1672                                 7CCE7EAA1A411A2400447C4C /* TestProtocol.mm in Sources */,
    16731680                                7CCE7EAE1A411A3400447C4C /* TestsController.cpp in Sources */,
    16741681                                CE3524F91B1441C40028A7C5 /* TextFieldDidBeginAndEndEditing.cpp in Sources */,
     
    17371744                                A13EBBB01B87436F00097110 /* BundleParametersPlugIn.mm in Sources */,
    17381745                                A13EBBAB1B87434600097110 /* PlatformUtilitiesCocoa.mm in Sources */,
     1746                                A14FC58B1B89927100D107EB /* ContentFilteringPlugIn.mm in Sources */,
    17391747                        );
    17401748                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm

    r188845 r188851  
    2424 */
    2525
    26 #include "config.h"
    27 #include "MockContentFilterSettings.h"
     26#import "config.h"
    2827
    29 #if ENABLE(CONTENT_FILTERING)
     28#if WK_API_ENABLED
    3029
    31 #include "ContentFilter.h"
    32 #include "ContentFilterUnblockHandler.h"
    33 #include <wtf/NeverDestroyed.h>
     30#import "MockContentFilterSettings.h"
     31#import <WebKit/WKWebProcessPlugIn.h>
    3432
    35 namespace WebCore {
     33@interface ServerRedirectPlugIn : NSObject <WKWebProcessPlugIn>
     34@end
    3635
    37 MockContentFilterSettings& MockContentFilterSettings::singleton()
     36@implementation ServerRedirectPlugIn
     37
     38+ (void)initialize
    3839{
    39     static NeverDestroyed<MockContentFilterSettings> settings;
    40     return settings;
     40    using MockContentFilterSettings = WebCore::MockContentFilterSettings;
     41    using Decision = MockContentFilterSettings::Decision;
     42    using DecisionPoint = MockContentFilterSettings::DecisionPoint;
     43    MockContentFilterSettings& settings = MockContentFilterSettings::singleton();
     44    settings.setEnabled(true);
     45    settings.setDecision(Decision::Allow);
     46    settings.setDecisionPoint(DecisionPoint::AfterAddData);
    4147}
    4248
    43 void MockContentFilterSettings::reset()
    44 {
    45     singleton() = MockContentFilterSettings();
    46 }
     49@end
    4750
    48 const String& MockContentFilterSettings::unblockRequestURL() const
    49 {
    50     static NeverDestroyed<String> unblockRequestURL = makeString(ContentFilter::urlScheme(), "://", unblockURLHost());
    51     return unblockRequestURL;
    52 }
    53 
    54 }; // namespace WebCore
    55 
    56 #endif // ENABLE(CONTENT_FILTERING)
     51#endif // WK_API_ENABLED
Note: See TracChangeset for help on using the changeset viewer.