Title: [131264] trunk/Source/WebKit2
Revision
131264
Author
[email protected]
Date
2012-10-13 19:21:36 -0700 (Sat, 13 Oct 2012)

Log Message

Use class extension rather than a void* member for new Objective-C WebProcessPlugIn SPI
https://bugs.webkit.org/show_bug.cgi?id=99256

Reviewed by Dan Bernstein.

A bit of good old fashion cleanup.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
Remove the void* member.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
Move members from the WKWebProcessPlugInControllerData struct to a class extension.

(didCreatePage):
(willDestroyPage):
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
Directly access the members instead of using properties, now that it is not inconvenient.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
Remove the void* member.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
Move members from the WKWebProcessPlugInBrowserContextControllerData struct to a class extension.

(-[WKWebProcessPlugInBrowserContextController _initWithBundlePageRef:]):
(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
Remove unnecessary casts..

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
Add space before the parenthesis of a category to be consistent.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
Remove unnecessary forward declare.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (131263 => 131264)


--- trunk/Source/WebKit2/ChangeLog	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/ChangeLog	2012-10-14 02:21:36 UTC (rev 131264)
@@ -1,3 +1,40 @@
+2012-10-13  Sam Weinig  <[email protected]>
+
+        Use class extension rather than a void* member for new Objective-C WebProcessPlugIn SPI
+        https://bugs.webkit.org/show_bug.cgi?id=99256
+
+        Reviewed by Dan Bernstein.
+
+        A bit of good old fashion cleanup.
+
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
+        Remove the void* member.
+
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
+        Move members from the WKWebProcessPlugInControllerData struct to a class extension.
+
+        (didCreatePage):
+        (willDestroyPage):
+        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
+        Directly access the members instead of using properties, now that it is not inconvenient.
+
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
+        Remove the void* member.
+
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+        Move members from the WKWebProcessPlugInBrowserContextControllerData struct to a class extension.
+        
+        (-[WKWebProcessPlugInBrowserContextController _initWithBundlePageRef:]):
+        (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
+        Remove unnecessary casts..
+
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
+        Add space before the parenthesis of a category to be consistent.
+ 
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
+        Remove unnecessary forward declare.
+
 2012-10-13  Andy Estes  <[email protected]>
 
         Add a private header for WKWebProcessPlugInBrowserContextController that defines a property for getting the WKBundlePageRef

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h	2012-10-14 02:21:36 UTC (rev 131264)
@@ -39,11 +39,7 @@
 @end
 
 WK_EXPORT
-@interface WKWebProcessPlugInController : NSObject {
-@private
-    void *_private;
-}
-
+@interface WKWebProcessPlugInController : NSObject
 @end
 
 #endif // defined(__LP64__) && defined(__clang__)

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm	2012-10-14 02:21:36 UTC (rev 131264)
@@ -39,33 +39,25 @@
 
 typedef HashMap<WKBundlePageRef, RetainPtr<WKWebProcessPlugInBrowserContextController *> > BundlePageWrapperCache;
 
-struct WKWebProcessPlugInControllerData {
+@interface WKWebProcessPlugInController () {
     RetainPtr<id<WKWebProcessPlugIn> > _principalClassInstance;
     WKRetainPtr<WKBundleRef> _bundleRef;
     BundlePageWrapperCache _bundlePageWrapperCache;
-};
-
-@interface WKWebProcessPlugInController ()
-
-@property(readonly) id<WKWebProcessPlugIn> _principalClassInstance;
-@property(readonly) WKBundleRef _bundleRef;
-@property(readonly) BundlePageWrapperCache& _bundlePageWrapperCache;
-
+}
 @end
 
-
 @implementation WKWebProcessPlugInController (Internal)
 
 static void didCreatePage(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo)
 {
     WKWebProcessPlugInController *plugInController = (WKWebProcessPlugInController *)clientInfo;
-    id<WKWebProcessPlugIn> principalClassInstance = plugInController._principalClassInstance;
+    id<WKWebProcessPlugIn> principalClassInstance = plugInController->_principalClassInstance.get();
 
     if ([principalClassInstance respondsToSelector:@selector(webProcessPlugIn:didCreateBrowserContextController:)]) {
-        ASSERT(!plugInController._bundlePageWrapperCache.contains(page));
+        ASSERT(!plugInController->_bundlePageWrapperCache.contains(page));
 
         WKWebProcessPlugInBrowserContextController* browserContextController = [[WKWebProcessPlugInBrowserContextController alloc] _initWithBundlePageRef:page];
-        plugInController._bundlePageWrapperCache.set(page, browserContextController);
+        plugInController->_bundlePageWrapperCache.set(page, browserContextController);
 
         [principalClassInstance webProcessPlugIn:plugInController didCreateBrowserContextController:browserContextController];
     }
@@ -74,12 +66,12 @@
 static void willDestroyPage(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo)
 {
     WKWebProcessPlugInController *plugInController = (WKWebProcessPlugInController *)clientInfo;
-    id<WKWebProcessPlugIn> principalClassInstance = plugInController._principalClassInstance;
+    id<WKWebProcessPlugIn> principalClassInstance = plugInController->_principalClassInstance.get();
 
     // If we never added the bundle page to the cache, which can happen if webProcessPlugIn:didCreateBrowserContextController: is not implemented,
     // there is no reason to call webProcessPlugIn:willDestroyBrowserContextController:, so don't.
-    BundlePageWrapperCache::iterator it = plugInController._bundlePageWrapperCache.find(page);
-    if (it == plugInController._bundlePageWrapperCache.end()) {
+    BundlePageWrapperCache::iterator it = plugInController->_bundlePageWrapperCache.find(page);
+    if (it == plugInController->_bundlePageWrapperCache.end()) {
         ASSERT(![principalClassInstance respondsToSelector:@selector(webProcessPlugIn:didCreateBrowserContextController:)]);
         return;
     }
@@ -87,7 +79,7 @@
     if ([principalClassInstance respondsToSelector:@selector(webProcessPlugIn:willDestroyBrowserContextController:)])
         [principalClassInstance webProcessPlugIn:plugInController willDestroyBrowserContextController:it->value.get()];
 
-    plugInController._bundlePageWrapperCache.remove(it);
+    plugInController->_bundlePageWrapperCache.remove(it);
 }
 
 static void setUpBundleClient(WKWebProcessPlugInController *plugInController, WKBundleRef bundleRef)
@@ -117,9 +109,8 @@
     if (!self)
         return nil;
 
-    _private = new WKWebProcessPlugInControllerData;
-    static_cast<WKWebProcessPlugInControllerData*>(_private)->_principalClassInstance = principalClassInstance;
-    static_cast<WKWebProcessPlugInControllerData*>(_private)->_bundleRef = bundleRef;
+    _principalClassInstance = principalClassInstance;
+    _bundleRef = bundleRef;
 
     ASSERT_WITH_MESSAGE(!sharedInstance, "WKWebProcessPlugInController initialized multiple times.");
     sharedInstance = self;
@@ -129,31 +120,10 @@
     return self;
 }
 
-- (void)dealloc
-{
-    delete static_cast<WKWebProcessPlugInControllerData*>(_private);
-    [super dealloc];
-}
-
 @end
 
 @implementation WKWebProcessPlugInController
 
-- (id<WKWebProcessPlugIn>)_principalClassInstance
-{
-    return static_cast<WKWebProcessPlugInControllerData*>(_private)->_principalClassInstance.get();
-}
-
-- (WKBundleRef)_bundleRef
-{
-    return static_cast<WKWebProcessPlugInControllerData*>(_private)->_bundleRef.get();
-}
-
-- (BundlePageWrapperCache&)_bundlePageWrapperCache
-{
-    return static_cast<WKWebProcessPlugInControllerData*>(_private)->_bundlePageWrapperCache;
-}
-
 @end
 
 #endif // defined(__LP64__) && defined(__clang__)

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h	2012-10-14 02:21:36 UTC (rev 131264)
@@ -31,10 +31,7 @@
 @class WKDOMDocument;
 
 WK_EXPORT
-@interface WKWebProcessPlugInBrowserContextController : NSObject {
-@private
-    void *_data;
-}
+@interface WKWebProcessPlugInBrowserContextController : NSObject
 
 @property(readonly) WKDOMDocument *mainFrameDocument;
 

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2012-10-14 02:21:36 UTC (rev 131264)
@@ -40,10 +40,11 @@
 #import <WebCore/Document.h>
 #import <WebCore/Frame.h>
 
-struct WKWebProcessPlugInBrowserContextControllerData {
+@interface WKWebProcessPlugInBrowserContextController () {
     // Underlying WKBundlePageRef.
     WKRetainPtr<WKBundlePageRef> _bundlePageRef;
-};
+}
+@end
 
 @implementation WKWebProcessPlugInBrowserContextController (Internal)
 
@@ -53,18 +54,11 @@
     if (!self)
         return nil;
 
-    _data = new WKWebProcessPlugInBrowserContextControllerData;
-    static_cast<WKWebProcessPlugInBrowserContextControllerData*>(_data)->_bundlePageRef = bundlePageRef;
+    _bundlePageRef = bundlePageRef;
 
     return self;
 }
 
-- (void)dealloc
-{
-    delete static_cast<WKWebProcessPlugInBrowserContextControllerData*>(_data);
-    [super dealloc];
-}
-
 @end
 
 @implementation WKWebProcessPlugInBrowserContextController
@@ -80,11 +74,11 @@
 
 @end
 
-@implementation WKWebProcessPlugInBrowserContextController(Private)
+@implementation WKWebProcessPlugInBrowserContextController (Private)
 
 - (WKBundlePageRef)_bundlePageRef
 {
-    return static_cast<WKWebProcessPlugInBrowserContextControllerData*>(_data)->_bundlePageRef.get();
+    return _bundlePageRef.get();
 }
 
 @end

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h	2012-10-14 02:21:36 UTC (rev 131264)
@@ -27,7 +27,7 @@
 
 #import "WKWebProcessPlugInBrowserContextController.h"
 
-@interface WKWebProcessPlugInBrowserContextController(Internal)
+@interface WKWebProcessPlugInBrowserContextController (Internal)
 
 - (id)_initWithBundlePageRef:(WKBundlePageRef)bundlePageRef;
 

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h	2012-10-14 02:21:36 UTC (rev 131264)
@@ -27,7 +27,7 @@
 
 #import <WebKit2/WKWebProcessPlugInBrowserContextController.h>
 
-@interface WKWebProcessPlugInBrowserContextController(Private)
+@interface WKWebProcessPlugInBrowserContextController (Private)
 
 @property(readonly) WKBundlePageRef _bundlePageRef;
 

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h (131263 => 131264)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h	2012-10-14 00:58:15 UTC (rev 131263)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h	2012-10-14 02:21:36 UTC (rev 131264)
@@ -27,10 +27,6 @@
 
 #import "WKWebProcessPlugIn.h"
 
-namespace WebKit {
-class InjectedBundle;
-}
-
 @interface WKWebProcessPlugInController (Internal)
 
 + (WKWebProcessPlugInController *)_shared;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to