Changeset 162580 in webkit
- Timestamp:
- Jan 22, 2014 6:24:06 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r162579 r162580 1 2014-01-22 Anders Carlsson <andersca@apple.com> 2 3 WKBrowsingContextController should not be an API wrapper around WebPageProxy 4 https://bugs.webkit.org/show_bug.cgi?id=127454 5 6 Reviewed by Dan Bernstein. 7 8 * Shared/Cocoa/APIObject.mm: 9 (API::Object::newObject): 10 * Shared/mac/ObjCObjectGraphCoders.mm: 11 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): 12 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 13 (-[WKBrowsingContextController _initWithPageRef:]): 14 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]): 15 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: 16 * UIProcess/API/Cocoa/WKProcessGroup.mm: 17 (didNavigateWithNavigationData): 18 (didPerformClientRedirect): 19 (didPerformServerRedirect): 20 (didUpdateHistoryTitle): 21 * UIProcess/API/ios/WKContentView.mm: 22 (-[WKContentView browsingContextController]): 23 * UIProcess/API/mac/WKView.mm: 24 (-[WKView browsingContextController]): 25 * UIProcess/ios/WebPageProxyIOS.mm: 26 (WebKit::WebPageProxy::platformInitialize): 27 * UIProcess/mac/WebPageProxyMac.mm: 28 (WebKit::WebPageProxy::platformInitialize): 29 1 30 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com> 2 31 -
trunk/Source/WebKit2/Shared/Cocoa/APIObject.mm
r162562 r162580 121 121 break; 122 122 123 case Type::Page:124 wrapper = [WKBrowsingContextController alloc];125 break;126 127 123 case Type::PageGroup: 128 124 wrapper = [WKBrowsingContextGroup alloc]; -
trunk/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.mm
r162505 r162580 352 352 coder.m_root = [NSNull null]; 353 353 else 354 coder.m_root = wrapper(*webPage);354 coder.m_root = [WKBrowsingContextController _browsingContextControllerForPageRef:toAPI(webPage)]; 355 355 break; 356 356 } -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm
r162562 r162580 140 140 141 141 @implementation WKBrowsingContextController { 142 API::ObjectStorage<WebPageProxy> _page;142 RefPtr<WebPageProxy> _page; 143 143 std::unique_ptr<PageLoadStateObserver> _pageLoadStateObserver; 144 144 … … 157 157 158 158 [super dealloc]; 159 }160 161 - (void)_finishInitialization162 {163 _pageLoadStateObserver = std::make_unique<PageLoadStateObserver>(self);164 _page->pageLoadState().addObserver(*_pageLoadStateObserver);165 159 } 166 160 … … 796 790 { 797 791 return *reinterpret_cast<API::Object*>(&_page); 792 } 793 794 - (instancetype)_initWithPageRef:(WKPageRef)pageRef 795 { 796 if (!(self = [super init])) 797 return nil; 798 799 _page = toImpl(pageRef); 800 801 _pageLoadStateObserver = std::make_unique<PageLoadStateObserver>(self); 802 _page->pageLoadState().addObserver(*_pageLoadStateObserver); 803 804 return self; 805 } 806 807 + (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef 808 { 809 return (WKBrowsingContextController *)WebKit::toImpl(pageRef)->loaderClient().client().base.clientInfo; 798 810 } 799 811 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h
r160191 r162580 32 32 #import "WebPageProxy.h" 33 33 34 namespace WebKit {35 36 inline WKBrowsingContextController *wrapper(WebPageProxy& page)37 {38 ASSERT([page.wrapper() isKindOfClass:[WKBrowsingContextController class]]);39 return (WKBrowsingContextController *)page.wrapper();40 }41 42 }43 44 34 @interface WKBrowsingContextController () <WKObject> { 45 35 @package … … 47 37 } 48 38 49 - (void)_finishInitialization;50 39 + (NSMutableSet *)customSchemes; 40 + (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef; 41 42 - (instancetype)_initWithPageRef:(WKPageRef)pageRef; 51 43 52 44 @end -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm
r162562 r162580 116 116 return; 117 117 118 WKBrowsingContextController *controller = wrapper(*toImpl(pageRef));118 WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef]; 119 119 auto historyDelegate = controller->_historyDelegate.get(); 120 120 … … 128 128 return; 129 129 130 WKBrowsingContextController *controller = wrapper(*toImpl(pageRef));130 WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef]; 131 131 auto historyDelegate = controller->_historyDelegate.get(); 132 132 … … 140 140 return; 141 141 142 WKBrowsingContextController *controller = wrapper(*toImpl(pageRef));142 WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef]; 143 143 auto historyDelegate = controller->_historyDelegate.get(); 144 144 … … 152 152 return; 153 153 154 WKBrowsingContextController *controller = wrapper(*toImpl(pageRef));154 WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef]; 155 155 auto historyDelegate = controller->_historyDelegate.get(); 156 156 -
trunk/Source/WebKit2/UIProcess/API/ios/WKContentView.mm
r162562 r162580 50 50 std::unique_ptr<PageClientImpl> _pageClient; 51 51 RefPtr<WebPageProxy> _page; 52 RetainPtr<WKBrowsingContextController> _browsingContextController; 52 53 53 54 RetainPtr<UIView> _rootContentView; … … 117 118 - (WKBrowsingContextController *)browsingContextController 118 119 { 119 return wrapper(*_page); 120 if (!_browsingContextController) 121 _browsingContextController = [[WKBrowsingContextController alloc] _initWithPageRef:toAPI(_page.get())]; 122 123 return _browsingContextController.get(); 120 124 } 121 125 -
trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm
r162556 r162580 146 146 RefPtr<WebPageProxy> _page; 147 147 148 #if WK_API_ENABLED 149 RetainPtr<WKBrowsingContextController> _browsingContextController; 150 #endif 151 148 152 // For ToolTips. 149 153 NSToolTipTag _lastToolTipTag; … … 285 289 - (WKBrowsingContextController *)browsingContextController 286 290 { 287 return wrapper(*_data->_page); 291 if (!_data->_browsingContextController) 292 _data->_browsingContextController = [[WKBrowsingContextController alloc] _initWithPageRef:toAPI(_data->_page.get())]; 293 294 return _data->_browsingContextController.get(); 288 295 } 289 296 -
trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm
r162189 r162580 43 43 void WebPageProxy::platformInitialize() 44 44 { 45 #if WK_API_ENABLED46 [WebKit::wrapper(*this) _finishInitialization];47 #endif48 45 } 49 46 -
trunk/Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
r162114 r162580 70 70 { 71 71 m_useLegacyImplicitRubberBandControl = shouldUseLegacyImplicitRubberBandControl(); 72 73 #if WK_API_ENABLED74 [WebKit::wrapper(*this) _finishInitialization];75 #endif76 72 } 77 73
Note: See TracChangeset
for help on using the changeset viewer.