Changeset 238969 in webkit


Ignore:
Timestamp:
Dec 7, 2018 2:35:05 PM (5 years ago)
Author:
sbarati@apple.com
Message:

WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
https://bugs.webkit.org/show_bug.cgi?id=192473

Reviewed by Andy Estes.

Source/WebKit:

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(PageLoaderClient::layoutMilestones const):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added.

(-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added.

(-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]):
(-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]):

  • TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added.
Location:
trunk
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r238967 r238969  
     12018-12-07  Saam Barati  <sbarati@apple.com>
     2
     3        WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
     4        https://bugs.webkit.org/show_bug.cgi?id=192473
     5
     6        Reviewed by Andy Estes.
     7
     8        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
     9        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
     10        (PageLoaderClient::layoutMilestones const):
     11
    1122018-12-07  Youenn Fablet  <youenn@apple.com>
    213
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h

    r238819 r238969  
    5454- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller renderingProgressDidChange:(_WKRenderingProgressEvents)events;
    5555- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didFirstVisuallyNonEmptyLayoutForFrame:(WKWebProcessPlugInFrame *)frame;
     56- (_WKRenderingProgressEvents)webProcessPlugInBrowserContextControllerRenderingProgressEvents:(WKWebProcessPlugInBrowserContextController *)controller;
    5657
    5758// Resource loading
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm

    r238819 r238969  
    111111    void didLayoutForFrame(WebKit::WebPage&, WebKit::WebFrame&) override;
    112112    void didReachLayoutMilestone(WebKit::WebPage&, OptionSet<WebCore::LayoutMilestone>, RefPtr<API::Object>&) override;
     113    OptionSet<WebCore::LayoutMilestone> layoutMilestones() const override;
    113114   
    114115    void didHandleOnloadEventsForFrame(WebKit::WebPage&, WebKit::WebFrame&) override;
     
    231232    if ([loadDelegate() respondsToSelector:@selector(webProcessPlugInBrowserContextController:didFirstVisuallyNonEmptyLayoutForFrame:)])
    232233        [loadDelegate() webProcessPlugInBrowserContextController:pluginContextController() didFirstVisuallyNonEmptyLayoutForFrame:wrapper(frame)];
     234}
     235
     236OptionSet<WebCore::LayoutMilestone> PageLoaderClient::layoutMilestones() const
     237{
     238    if ([loadDelegate() respondsToSelector:@selector(webProcessPlugInBrowserContextControllerRenderingProgressEvents:)]) {
     239        _WKRenderingProgressEvents milestones = [loadDelegate() webProcessPlugInBrowserContextControllerRenderingProgressEvents:pluginContextController()];
     240        return WebKit::toLayoutMilestones(static_cast<WKLayoutMilestones>(milestones));
     241    }
     242
     243    return { };
    233244}
    234245
  • trunk/Tools/ChangeLog

    r238966 r238969  
     12018-12-07  Saam Barati  <sbarati@apple.com>
     2
     3        WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
     4        https://bugs.webkit.org/show_bug.cgi?id=192473
     5
     6        Reviewed by Andy Estes.
     7
     8        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
     9        * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added.
     10        (-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]):
     11        (TEST):
     12        * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added.
     13        (-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
     14        (-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]):
     15        (-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]):
     16        * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added.
     17
    1182018-12-07  Jonathan Bedard  <jbedard@apple.com>
    219
  • trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

    r238921 r238969  
    236236                51EB12941FDF052500A5A1BD /* ServiceWorkerBasic.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51EB12931FDF050500A5A1BD /* ServiceWorkerBasic.mm */; };
    237237                520BCF4C141EB09E00937EA8 /* WebArchive_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 520BCF4A141EB09E00937EA8 /* WebArchive_Bundle.cpp */; };
     238                5245178721B9F57B0082CB34 /* RenderingProgressPlugIn.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52D5D6BE21B9F1B20046ABA6 /* RenderingProgressPlugIn.mm */; };
    238239                524BBC9E19DF72C0002F1AF1 /* file-with-video.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 524BBC9B19DF3714002F1AF1 /* file-with-video.html */; };
    239240                524BBCA119E30C77002F1AF1 /* test.mp4 in Copy Resources */ = {isa = PBXBuildFile; fileRef = 524BBCA019E30C63002F1AF1 /* test.mp4 */; };
    240241                52B8CF9815868D9100281053 /* SetDocumentURI.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 52B8CF9415868CF000281053 /* SetDocumentURI.html */; };
     242                52D5D6C021B9F1B30046ABA6 /* RenderingProgress.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52D5D6BD21B9F1B20046ABA6 /* RenderingProgress.mm */; };
    241243                52D673EE1AFB127300FA19FE /* WKPageCopySessionStateWithFiltering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52D673EC1AFB126800FA19FE /* WKPageCopySessionStateWithFiltering.cpp */; };
    242244                52E5CE4914D21EAB003B2BD8 /* ParentFrame_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52E5CE4814D21EAB003B2BD8 /* ParentFrame_Bundle.cpp */; };
     
    15791581                52B8CF9515868CF000281053 /* SetDocumentURI.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SetDocumentURI.mm; sourceTree = "<group>"; };
    15801582                52CB47401448FB9300873995 /* LoadAlternateHTMLStringWithNonDirectoryURL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadAlternateHTMLStringWithNonDirectoryURL.cpp; sourceTree = "<group>"; };
     1583                52D5D6BD21B9F1B20046ABA6 /* RenderingProgress.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderingProgress.mm; sourceTree = "<group>"; };
     1584                52D5D6BE21B9F1B20046ABA6 /* RenderingProgressPlugIn.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderingProgressPlugIn.mm; sourceTree = "<group>"; };
     1585                52D5D6BF21B9F1B20046ABA6 /* RenderingProgressProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderingProgressProtocol.h; sourceTree = "<group>"; };
    15811586                52D673EC1AFB126800FA19FE /* WKPageCopySessionStateWithFiltering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPageCopySessionStateWithFiltering.cpp; sourceTree = "<group>"; };
    15821587                52E5CE4514D21E9D003B2BD8 /* ParentFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParentFrame.cpp; sourceTree = "<group>"; };
     
    24962501                                A12DDBFC1E836FF100CF6CAE /* RenderedImageWithOptionsPlugIn.mm */,
    24972502                                A12DDC011E8374F500CF6CAE /* RenderedImageWithOptionsProtocol.h */,
     2503                                52D5D6BD21B9F1B20046ABA6 /* RenderingProgress.mm */,
     2504                                52D5D6BE21B9F1B20046ABA6 /* RenderingProgressPlugIn.mm */,
     2505                                52D5D6BF21B9F1B20046ABA6 /* RenderingProgressProtocol.h */,
    24982506                                CD9E292B1C90A71F000BB800 /* RequiresUserActionForPlayback.mm */,
    24992507                                51C8E1A41F26AC5400BF731B /* ResourceLoadStatistics.mm */,
     
    39143922                                7CCE7EBE1A411A7E00447C4C /* DynamicDeviceScaleFactor.mm in Sources */,
    39153923                                5C0BF8921DD599B600B00328 /* EarlyKVOCrash.mm in Sources */,
     3924                                52D5D6C021B9F1B30046ABA6 /* RenderingProgress.mm in Sources */,
    39163925                                F44D064A1F3962F2001A0E29 /* EditingTestHarness.mm in Sources */,
    39173926                                7CCE7EE01A411A9A00447C4C /* EditorCommands.mm in Sources */,
     
    42834292                                79C5D431209D768300F1E7CA /* InjectedBundleNodeHandleIsTextField.mm in Sources */,
    42844293                                F44C7A0020F9EEBF0014478C /* ParserYieldTokenPlugIn.mm in Sources */,
     4294                                5245178721B9F57B0082CB34 /* RenderingProgressPlugIn.mm in Sources */,
    42854295                                A13EBBAB1B87434600097110 /* PlatformUtilitiesCocoa.mm in Sources */,
    42864296                                1A4F81CF1BDFFD53004E672E /* RemoteObjectRegistryPlugIn.mm in Sources */,
Note: See TracChangeset for help on using the changeset viewer.