Changeset 162259 in webkit


Ignore:
Timestamp:
Jan 18, 2014 10:30:29 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

Make WKRenderingProgressEvents a shareable API.
https://bugs.webkit.org/show_bug.cgi?id=127213

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-18
Reviewed by Dan Bernstein.

Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
could also use this enum when listening to layout milestones.

  • Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.

(NS_OPTIONS):

  • Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.

(renderingProgressEvents):

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add

webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didLayout):
(setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.

Location:
trunk/Source/WebKit2
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r162245 r162259  
     12014-01-18  Yongjun Zhang  <yongjun_zhang@apple.com>
     2
     3        Make WKRenderingProgressEvents a shareable API.
     4        https://bugs.webkit.org/show_bug.cgi?id=127213
     5
     6        Reviewed by Dan Bernstein.
     7
     8        Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
     9        could also use this enum when listening to layout milestones.
     10
     11        * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.
     12        (NS_OPTIONS):
     13        * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.
     14        (renderingProgressEvents):
     15        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
     16        * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
     17        * WebKit2.xcodeproj/project.pbxproj:
     18        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add
     19            webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.
     20        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
     21        (didLayout):
     22        (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.
     23
    1242014-01-17  Commit Queue  <commit-queue@webkit.org>
    225
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h

    r161292 r162259  
    2828#import <WebKit2/WKFoundation.h>
    2929#import <WebKit2/WKProcessGroup.h>
     30#import <WebKit2/WKRenderingProgressEvents.h>
    3031
    3132#if WK_API_ENABLED
     
    3637@protocol WKBrowsingContextLoadDelegate;
    3738@protocol WKBrowsingContextPolicyDelegate;
    38 
    39 typedef NS_OPTIONS(NSUInteger, WKRenderingProgressEvents) {
    40     WKRenderingProgressEventFirstLayout = 1 << 0,
    41     WKRenderingProgressEventFirstPaintWithSignificantArea = 1 << 2,
    42 };
    4339
    4440WK_API_CLASS
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm

    r162141 r162259  
    5050#import "WKProcessGroupInternal.h"
    5151#import "WKRemoteObjectRegistryInternal.h"
     52#import "WKRenderingProgressEventsInternal.h"
    5253#import "WKRetainPtr.h"
    5354#import "WKURLRequestNS.h"
     
    594595    if ([loadDelegate respondsToSelector:@selector(browsingContextControllerWebProcessDidCrash:)])
    595596        [(id <WKBrowsingContextLoadDelegatePrivate>)loadDelegate browsingContextControllerWebProcessDidCrash:browsingContext];
    596 }
    597 
    598 static inline WKRenderingProgressEvents renderingProgressEvents(WKLayoutMilestones milestones)
    599 {
    600     WKRenderingProgressEvents events = 0;
    601 
    602     if (milestones & kWKDidFirstLayout)
    603         events |= WKRenderingProgressEventFirstLayout;
    604 
    605     if (milestones & kWKDidHitRelevantRepaintedObjectsAreaThreshold)
    606         events |= WKRenderingProgressEventFirstPaintWithSignificantArea;
    607 
    608     return events;
    609597}
    610598
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r162245 r162259  
    352352                1CBC945E16515ED200D68AAE /* DockBottom.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBC945D16515ED200D68AAE /* DockBottom.pdf */; };
    353353                1F335BC0185B84F0001A201A /* WKWebProcessPlugInLoadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F335BBF185B84D8001A201A /* WKWebProcessPlugInLoadDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
     354                1F604BA81889FA7400EE0395 /* WKRenderingProgressEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F604BA61889FA7400EE0395 /* WKRenderingProgressEvents.h */; settings = {ATTRIBUTES = (Public, ); }; };
     355                1F604BAA1889FBB800EE0395 /* WKRenderingProgressEventsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F604BA71889FA7400EE0395 /* WKRenderingProgressEventsInternal.h */; };
    354356                1F7506AD1859161C00EC0FF7 /* WKWebProcessPlugInFrame.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F01816A1858DC1500F92884 /* WKWebProcessPlugInFrame.mm */; };
    355357                1F7506AE1859162200EC0FF7 /* WKWebProcessPlugInHitTestResult.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F01816D1858DC1600F92884 /* WKWebProcessPlugInHitTestResult.mm */; };
     
    19961998                1F0181741858DC1600F92884 /* WKWebProcessPlugInScriptWorldInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInScriptWorldInternal.h; sourceTree = "<group>"; };
    19971999                1F335BBF185B84D8001A201A /* WKWebProcessPlugInLoadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInLoadDelegate.h; sourceTree = "<group>"; };
     2000                1F604BA61889FA7400EE0395 /* WKRenderingProgressEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRenderingProgressEvents.h; sourceTree = "<group>"; };
     2001                1F604BA71889FA7400EE0395 /* WKRenderingProgressEventsInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRenderingProgressEventsInternal.h; sourceTree = "<group>"; };
    19982002                1FB00AC4185F76460019142E /* WKWebProcessPlugInPageGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInPageGroup.h; sourceTree = "<group>"; };
    19992003                1FB00AC5185F76460019142E /* WKWebProcessPlugInPageGroup.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebProcessPlugInPageGroup.mm; sourceTree = "<group>"; };
     
    42354239                                1A9E32881821636900F5D04C /* WKRemoteObjectRegistry.mm */,
    42364240                                1A9E32A01823018900F5D04C /* WKRemoteObjectRegistryInternal.h */,
     4241                                1F604BA61889FA7400EE0395 /* WKRenderingProgressEvents.h */,
     4242                                1F604BA71889FA7400EE0395 /* WKRenderingProgressEventsInternal.h */,
    42374243                        );
    42384244                        path = Cocoa;
     
    65856591                                1C8E293912761E5B00BC7BD0 /* WKInspector.h in Headers */,
    65866592                                6EE849C81368D9390038D481 /* WKInspectorPrivateMac.h in Headers */,
     6593                                1F604BA81889FA7400EE0395 /* WKRenderingProgressEvents.h in Headers */,
    65876594                                51A9E10B1315CD18009E7031 /* WKKeyValueStorageManager.h in Headers */,
    65886595                                33D3A3B61339600B00709BE4 /* WKMediaCacheManager.h in Headers */,
     
    66296636                                F634445D12A885E9000612D8 /* WKSecurityOrigin.h in Headers */,
    66306637                                BC407604124FF0270068F20A /* WKSerializedScriptValue.h in Headers */,
     6638                                1F604BAA1889FBB800EE0395 /* WKRenderingProgressEventsInternal.h in Headers */,
    66316639                                1F7506B81859165D00EC0FF7 /* WKWebProcessPlugInFrameInternal.h in Headers */,
    66326640                                F67DD7BA125E40D9007BDCB8 /* WKSerializedScriptValuePrivate.h in Headers */,
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h

    r162203 r162259  
    2424 */
    2525#import <Foundation/Foundation.h>
     26#import <WebKit2/WKRenderingProgressEvents.h>
    2627
    2728@class WKWebProcessPlugInBrowsingContextController;
     
    4445// Layout
    4546- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didLayoutForFrame:(WKWebProcessPlugInFrame *)frame;
     47- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller renderingProgressDidChange:(WKRenderingProgressEvents)events;
    4648
    4749// Resource loading
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm

    r162203 r162259  
    3838#import "WKNSError.h"
    3939#import "WKRemoteObjectRegistryInternal.h"
     40#import "WKRenderingProgressEventsInternal.h"
    4041#import "WKRetainPtr.h"
    4142#import "WKURLRequestNS.h"
     
    133134}
    134135
     136static void didLayout(WKBundlePageRef page, WKLayoutMilestones milestones, WKTypeRef* userData, const void *clientInfo)
     137{
     138    WKWebProcessPlugInBrowserContextController *pluginContextController = (WKWebProcessPlugInBrowserContextController *)clientInfo;
     139    auto loadDelegate = pluginContextController->_loadDelegate.get();
     140
     141    if ([loadDelegate respondsToSelector:@selector(webProcessPlugInBrowserContextController:renderingProgressDidChange:)])
     142        [loadDelegate webProcessPlugInBrowserContextController:pluginContextController renderingProgressDidChange:renderingProgressEvents(milestones)];
     143}
     144
    135145static void setUpPageLoaderClient(WKWebProcessPlugInBrowserContextController *contextController, WebPage& page)
    136146{
     
    149159
    150160    client.didLayoutForFrame = didLayoutForFrame;
     161    client.didLayout = didLayout;
    151162
    152163    page.initializeInjectedBundleLoaderClient(&client.base);
Note: See TracChangeset for help on using the changeset viewer.