Changeset 160803 in webkit


Ignore:
Timestamp:
Dec 18, 2013 3:50:19 PM (10 years ago)
Author:
commit-queue@webkit.org
Message:

https://bugs.webkit.org/show_bug.cgi?id=125941
Add Obj C API for injected bundle PageGroup class.

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

Add Obj C API (WKWebProcessPlugInPageGroup) for injected bundle PageGroup class. And add APIs to
expose the main frame and page group from WKWebProcessPlugInBrowsingContextController.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject): Create wrapper object for InjectedPageGroup object.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm: Added.

(-[WKWebProcessPlugInPageGroup identifier]):
(-[WKWebProcessPlugInPageGroup dealloc]):
(-[WKWebProcessPlugInPageGroup API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Add API to expose the main frame and page group

for WKWebPocessPlugInBrowserContextController.

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

(-[WKWebProcessPlugInBrowserContextController mainFrame]):
(-[WKWebProcessPlugInBrowserContextController pageGroup]):

Location:
trunk/Source/WebKit2
Files:
5 edited
3 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r160801 r160803  
     12013-12-18  Yongjun Zhang  <yongjun_zhang@apple.com>
     2
     3        https://bugs.webkit.org/show_bug.cgi?id=125941
     4        Add Obj C API for injected bundle PageGroup class.
     5
     6        Reviewed by Dan Bernstein.
     7
     8        Add Obj C API (WKWebProcessPlugInPageGroup) for injected bundle PageGroup class. And add APIs to
     9        expose the main frame and page group from WKWebProcessPlugInBrowsingContextController.
     10
     11        * Shared/Cocoa/APIObject.mm:
     12        (API::Object::newObject): Create wrapper object for InjectedPageGroup object.
     13        * WebKit2.xcodeproj/project.pbxproj:
     14        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h: Added.
     15        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm: Added.
     16        (-[WKWebProcessPlugInPageGroup identifier]):
     17        (-[WKWebProcessPlugInPageGroup dealloc]):
     18        (-[WKWebProcessPlugInPageGroup API::]):
     19        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Added.
     20        (WebKit::wrapper):
     21        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Add API to expose the main frame and page group
     22            for WKWebPocessPlugInBrowserContextController.
     23        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
     24        (-[WKWebProcessPlugInBrowserContextController mainFrame]):
     25        (-[WKWebProcessPlugInBrowserContextController pageGroup]):
     26
    1272013-12-18  Tim Horton  <timothy_horton@apple.com>
    228
  • trunk/Source/WebKit2/Shared/Cocoa/APIObject.mm

    r160530 r160803  
    4949#import "WKWebProcessPlugInInternal.h"
    5050#import "WKWebProcessPlugInNodeHandleInternal.h"
     51#import "WKWebProcessPlugInPageGroupInternal.h"
    5152#import "WKWebProcessPlugInScriptWorldInternal.h"
    5253
     
    152153        break;
    153154
     155    case Type::BundlePageGroup:
     156        wrapper = [WKWebProcessPlugInPageGroup alloc];
     157        break;
     158
    154159    case Type::BundleScriptWorld:
    155160        wrapper = [WKWebProcessPlugInScriptWorld alloc];
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r160787 r160803  
    350350                1F7506B71859165A00EC0FF7 /* WKWebProcessPlugInHitTestResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F01816E1858DC1600F92884 /* WKWebProcessPlugInHitTestResultInternal.h */; };
    351351                1F7506B81859165D00EC0FF7 /* WKWebProcessPlugInFrameInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F01816B1858DC1500F92884 /* WKWebProcessPlugInFrameInternal.h */; };
     352                1FB00AC7185F76460019142E /* WKWebProcessPlugInPageGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB00AC4185F76460019142E /* WKWebProcessPlugInPageGroup.h */; settings = {ATTRIBUTES = (Public, ); }; };
     353                1FB00AC8185F76460019142E /* WKWebProcessPlugInPageGroup.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1FB00AC5185F76460019142E /* WKWebProcessPlugInPageGroup.mm */; };
     354                1FB00AC9185F76460019142E /* WKWebProcessPlugInPageGroupInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB00AC6185F76460019142E /* WKWebProcessPlugInPageGroupInternal.h */; };
    352355                1QQ417CB12C00CCA002BE67B /* TextCheckerCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CC417C912C00CCA002BE67B /* TextCheckerCompletion.h */; };
    353356                1ZZ417EF12C00D87002BE67B /* TextCheckerCompletion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1BB417C912C00CCA002BE67B /* TextCheckerCompletion.cpp */; };
     
    19171920                1F0181741858DC1600F92884 /* WKWebProcessPlugInScriptWorldInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInScriptWorldInternal.h; sourceTree = "<group>"; };
    19181921                1F335BBF185B84D8001A201A /* WKWebProcessPlugInLoadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInLoadDelegate.h; sourceTree = "<group>"; };
     1922                1FB00AC4185F76460019142E /* WKWebProcessPlugInPageGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInPageGroup.h; sourceTree = "<group>"; };
     1923                1FB00AC5185F76460019142E /* WKWebProcessPlugInPageGroup.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKWebProcessPlugInPageGroup.mm; sourceTree = "<group>"; };
     1924                1FB00AC6185F76460019142E /* WKWebProcessPlugInPageGroupInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInPageGroupInternal.h; sourceTree = "<group>"; };
    19191925                26659AA0185FAAED004303DD /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = "<group>"; };
    19201926                290F4271172A0C7400939FF0 /* ChildProcessSupplement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChildProcessSupplement.h; sourceTree = "<group>"; };
     
    37713777                                1F0181701858DC1600F92884 /* WKWebProcessPlugInNodeHandle.mm */,
    37723778                                1F0181711858DC1600F92884 /* WKWebProcessPlugInNodeHandleInternal.h */,
     3779                                1FB00AC4185F76460019142E /* WKWebProcessPlugInPageGroup.h */,
     3780                                1FB00AC5185F76460019142E /* WKWebProcessPlugInPageGroup.mm */,
     3781                                1FB00AC6185F76460019142E /* WKWebProcessPlugInPageGroupInternal.h */,
    37733782                                1F0181721858DC1600F92884 /* WKWebProcessPlugInScriptWorld.h */,
    37743783                                1F0181731858DC1600F92884 /* WKWebProcessPlugInScriptWorld.mm */,
     
    59485957                                757AF978184D131400E6316E /* IteratorPair.h in Headers */,
    59495958                                E1790891169BAA82006904C7 /* SecItemShimMessages.h in Headers */,
     5959                                1FB00AC7185F76460019142E /* WKWebProcessPlugInPageGroup.h in Headers */,
    59505960                                E18E690C169B563F009B6670 /* SecItemShimProxy.h in Headers */,
    59515961                                E18E6918169B667B009B6670 /* SecItemShimProxyMessages.h in Headers */,
     
    61506160                                51F060E01654317F00F3281B /* WebResourceLoaderMessages.h in Headers */,
    61516161                                D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */,
     6162                                1FB00AC9185F76460019142E /* WKWebProcessPlugInPageGroupInternal.h in Headers */,
    61526163                                F634445612A885C8000612D8 /* WebSecurityOrigin.h in Headers */,
    61536164                                37D0B5C61845218400F6CE7D /* WKErrorRecoveryAttempting.h in Headers */,
     
    74177428                                755422BD18062BB20046F6A8 /* WKOriginDataManager.cpp in Sources */,
    74187429                                CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */,
     7430                                1FB00AC8185F76460019142E /* WKWebProcessPlugInPageGroup.mm in Sources */,
    74197431                                CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */,
    74207432                                CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h

    r160802 r160803  
    11/*
    2  * Copyright (C) 2012 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3030#import <Foundation/Foundation.h>
    3131
    32 @class WKDOMDocument;
    33 @class WKDOMRange;
    34 @protocol WKWebProcessPlugInLoadDelegate;
     32WK_API_CLASS
     33@interface WKWebProcessPlugInPageGroup : NSObject
    3534
    36 WK_API_CLASS
    37 @interface WKWebProcessPlugInBrowserContextController : NSObject
    38 
    39 @property(readonly) WKDOMDocument *mainFrameDocument;
    40 
    41 @property(readonly) WKDOMRange *selectedRange;
    42 
    43 @property (weak) id <WKWebProcessPlugInLoadDelegate> loadDelegate;
     35@property (readonly) NSString *identifier;
    4436
    4537@end
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm

    r160802 r160803  
    11/*
    2  * Copyright (C) 2012 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #import <WebKit2/WKFoundation.h>
     26#import "config.h"
     27#import "WKWebProcessPlugInPageGroupInternal.h"
    2728
    2829#if WK_API_ENABLED
    2930
    30 #import <Foundation/Foundation.h>
     31#import "WKBundlePageGroup.h"
     32#import "WKAPICast.h"
     33#import "WKNSString.h"
     34#import "WKRetainPtr.h"
     35#import "WebPageGroupProxy.h"
    3136
    32 @class WKDOMDocument;
    33 @class WKDOMRange;
    34 @protocol WKWebProcessPlugInLoadDelegate;
     37using namespace WebKit;
    3538
    36 WK_API_CLASS
    37 @interface WKWebProcessPlugInBrowserContextController : NSObject
     39@implementation WKWebProcessPlugInPageGroup {
     40    API::ObjectStorage<WebPageGroupProxy> _bundlePageGroup;
     41}
    3842
    39 @property(readonly) WKDOMDocument *mainFrameDocument;
     43- (NSString *)identifier
     44{
     45    return _bundlePageGroup->identifier();
     46}
    4047
    41 @property(readonly) WKDOMRange *selectedRange;
     48- (void)dealloc
     49{
     50    _bundlePageGroup->~WebPageGroupProxy();
     51    [super dealloc];
     52}
    4253
    43 @property (weak) id <WKWebProcessPlugInLoadDelegate> loadDelegate;
     54#pragma mark WKObject protocol implementation
     55
     56- (API::Object&)_apiObject
     57{
     58    return *_bundlePageGroup;
     59}
    4460
    4561@end
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h

    r160802 r160803  
    11/*
    2  * Copyright (C) 2012 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #import <WebKit2/WKFoundation.h>
     26#import "WKWebProcessPlugInPageGroup.h"
    2727
    2828#if WK_API_ENABLED
    2929
    30 #import <Foundation/Foundation.h>
     30#import "WKBase.h"
     31#import "WebPageGroupProxy.h"
    3132
    32 @class WKDOMDocument;
    33 @class WKDOMRange;
    34 @protocol WKWebProcessPlugInLoadDelegate;
     33namespace WebKit {
    3534
    36 WK_API_CLASS
    37 @interface WKWebProcessPlugInBrowserContextController : NSObject
     35inline WKWebProcessPlugInPageGroup *wrapper(WebPageGroupProxy& pageGroup)
     36{
     37    ASSERT([pageGroup.wrapper() isKindOfClass:[WKWebProcessPlugInPageGroup class]]);
     38    return (WKWebProcessPlugInPageGroup *)pageGroup.wrapper();
     39}
     40   
     41}
    3842
    39 @property(readonly) WKDOMDocument *mainFrameDocument;
    40 
    41 @property(readonly) WKDOMRange *selectedRange;
    42 
    43 @property (weak) id <WKWebProcessPlugInLoadDelegate> loadDelegate;
    44 
     43@interface WKWebProcessPlugInPageGroup () <WKObject>
    4544@end
    4645
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h

    r160616 r160803  
    3232@class WKDOMDocument;
    3333@class WKDOMRange;
     34@class WKWebProcessPlugInFrame;
     35@class WKWebProcessPlugInPageGroup;
    3436@protocol WKWebProcessPlugInLoadDelegate;
    3537
     
    3739@interface WKWebProcessPlugInBrowserContextController : NSObject
    3840
    39 @property(readonly) WKDOMDocument *mainFrameDocument;
     41@property (readonly) WKDOMDocument *mainFrameDocument;
    4042
    41 @property(readonly) WKDOMRange *selectedRange;
     43@property (readonly) WKDOMRange *selectedRange;
     44
     45@property (readonly) WKWebProcessPlugInFrame *mainFrame;
     46
     47@property (readonly) WKWebProcessPlugInPageGroup *pageGroup;
    4248
    4349@property (weak) id <WKWebProcessPlugInLoadDelegate> loadDelegate;
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm

    r160787 r160803  
    4141#import "WKWebProcessPlugInInternal.h"
    4242#import "WKWebProcessPlugInLoadDelegate.h"
     43#import "WKWebProcessPlugInPageGroupInternal.h"
    4344#import "WKWebProcessPlugInScriptWorldInternal.h"
    4445#import "WeakObjCPtr.h"
     
    139140}
    140141
     142- (WKWebProcessPlugInFrame *)mainFrame
     143{
     144    WebFrame *webKitMainFrame = _page->mainWebFrame();
     145    if (!webKitMainFrame)
     146        return nil;
     147
     148    return wrapper(*webKitMainFrame);
     149}
     150
     151- (WKWebProcessPlugInPageGroup *)pageGroup
     152{
     153    return wrapper(*_page->pageGroup());
     154}
     155
    141156#pragma mark WKObject protocol implementation
    142157
Note: See TracChangeset for help on using the changeset viewer.