Changeset 93902 in webkit
- Timestamp:
- Aug 26, 2011 12:23:56 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r93897 r93902 1 2011-08-26 Alice Liu <alice.liu@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=66823 4 Add the request info to the WebPageProxy::CreateNewPage message 5 6 Reviewed by Anders Carlsson. 7 8 Update function declarations with additional ResourceRequest parameter: 9 * UIProcess/API/C/WKPage.h: 10 * UIProcess/WebPageProxy.cpp: 11 (WebKit::WebPageProxy::createNewPage): 12 * UIProcess/WebPageProxy.h: 13 * UIProcess/WebPageProxy.messages.in: 14 * UIProcess/WebUIClient.cpp: 15 (WebKit::WebUIClient::createNewPage): 16 * UIProcess/WebUIClient.h: 17 18 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 19 (WebKit::WebChromeClient::createWindow): 20 Pass the ResourceRequest within the FrameLoadRequest. 21 1 22 2011-08-26 Alexis Menard <alexis.menard@openbossa.org> 2 23 -
trunk/Source/WebKit2/Shared/APIClientTraits.cpp
r90162 r93902 36 36 }; 37 37 38 const size_t APIClientTraits<WKPageUIClient>::interfaceSizesByVersion[] = { 39 offsetof(WKPageUIClient, createNewPage), 40 sizeof(WKPageUIClient) 41 }; 42 38 43 } // namespace WebKit -
trunk/Source/WebKit2/Shared/APIClientTraits.h
r90162 r93902 28 28 29 29 #include "WKBundlePage.h" 30 #include "WKPage.h" 30 31 31 32 namespace WebKit { … … 42 43 }; 43 44 45 template<> struct APIClientTraits<WKPageUIClient> 46 { 47 static const size_t interfaceSizesByVersion[2]; 48 }; 49 44 50 } // namespace WebKit 45 51 -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.h
r91012 r93902 161 161 162 162 // UI Client 163 typedef WKPageRef (*WKPageCreateNewPageCallback)(WKPageRef page, WK DictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo);163 typedef WKPageRef (*WKPageCreateNewPageCallback)(WKPageRef page, WKURLRequestRef urlRequest, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo); 164 164 typedef void (*WKPageRunJavaScriptAlertCallback)(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void *clientInfo); 165 165 typedef bool (*WKPageRunJavaScriptConfirmCallback)(WKPageRef page, WKStringRef message, WKFrameRef frame, const void *clientInfo); … … 196 196 typedef bool (*WKPageShouldInterruptJavaScriptCallback)(WKPageRef page, const void *clientInfo); 197 197 198 // Deprecated 199 typedef WKPageRef (*WKPageCreateNewPageCallback_deprecatedForUseWithV0)(WKPageRef page, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo); 200 198 201 struct WKPageUIClient { 199 202 int version; 200 203 const void * clientInfo; 201 WKPageCreateNewPageCallback createNewPage; 204 205 // Version 0 206 WKPageCreateNewPageCallback_deprecatedForUseWithV0 createNewPage_deprecatedForUseWithV0; 202 207 WKPageCallback showPage; 203 208 WKPageCallback close; … … 237 242 WKPageDidCompleteRubberBandForMainFrameCallback didCompleteRubberBandForMainFrame; 238 243 WKPageSaveDataToFileInDownloadsFolderCallback saveDataToFileInDownloadsFolder; 239 WKPageShouldInterruptJavaScriptCallback shouldInterruptJavaScript; 244 WKPageShouldInterruptJavaScriptCallback shouldInterruptJavaScript; 245 246 // Version 1 247 WKPageCreateNewPageCallback createNewPage; 240 248 }; 241 249 typedef struct WKPageUIClient WKPageUIClient; 242 250 243 enum { kWKPageUIClientCurrentVersion = 0};251 enum { kWKPageUIClientCurrentVersion = 1 }; 244 252 245 253 // Find client. -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r93880 r93902 1894 1894 // UIClient 1895 1895 1896 void WebPageProxy::createNewPage(const WindowFeatures& windowFeatures, uint32_t opaqueModifiers, int32_t opaqueMouseButton, uint64_t& newPageID, WebPageCreationParameters& newPageParameters)1897 { 1898 RefPtr<WebPageProxy> newPage = m_uiClient.createNewPage(this, windowFeatures, static_cast<WebEvent::Modifiers>(opaqueModifiers), static_cast<WebMouseEvent::Button>(opaqueMouseButton));1896 void WebPageProxy::createNewPage(const ResourceRequest& request, const WindowFeatures& windowFeatures, uint32_t opaqueModifiers, int32_t opaqueMouseButton, uint64_t& newPageID, WebPageCreationParameters& newPageParameters) 1897 { 1898 RefPtr<WebPageProxy> newPage = m_uiClient.createNewPage(this, request, windowFeatures, static_cast<WebEvent::Modifiers>(opaqueModifiers), static_cast<WebMouseEvent::Button>(opaqueMouseButton)); 1899 1899 if (newPage) { 1900 1900 newPageID = newPage->pageID(); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r93880 r93902 615 615 616 616 // UI client 617 void createNewPage(const WebCore:: WindowFeatures&, uint32_t modifiers, int32_t mouseButton, uint64_t& newPageID, WebPageCreationParameters&);617 void createNewPage(const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, uint32_t modifiers, int32_t mouseButton, uint64_t& newPageID, WebPageCreationParameters&); 618 618 void showPage(); 619 619 void closePage(bool stopResponsivenessTimer); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in
r93543 r93902 23 23 messages -> WebPageProxy { 24 24 # UI messages 25 CreateNewPage(WebCore:: WindowFeatures windowFeatures, uint32_t modifiers, int32_t mouseButton) -> (uint64_t newPageID, WebKit::WebPageCreationParameters newPageParameters)25 CreateNewPage(WebCore::ResourceRequest request, WebCore::WindowFeatures windowFeatures, uint32_t modifiers, int32_t mouseButton) -> (uint64_t newPageID, WebKit::WebPageCreationParameters newPageParameters) 26 26 ShowPage() 27 27 ClosePage(bool stopResponsivenessTimer) -
trunk/Source/WebKit2/UIProcess/WebUIClient.cpp
r86231 r93902 44 44 namespace WebKit { 45 45 46 PassRefPtr<WebPageProxy> WebUIClient::createNewPage(WebPageProxy* page, const WindowFeatures& windowFeatures, WebEvent::Modifiers modifiers, WebMouseEvent::Button button) 47 { 48 if (!m_client.createNewPage) 46 PassRefPtr<WebPageProxy> WebUIClient::createNewPage(WebPageProxy* page, const ResourceRequest& resourceRequest, const WindowFeatures& windowFeatures, WebEvent::Modifiers modifiers, WebMouseEvent::Button button) 47 { 48 if (!m_client.version && !m_client.createNewPage_deprecatedForUseWithV0) 49 return 0; 50 51 if (m_client.version == kWKPageUIClientCurrentVersion && !m_client.createNewPage) 49 52 return 0; 50 53 … … 67 70 RefPtr<ImmutableDictionary> featuresMap = ImmutableDictionary::adopt(map); 68 71 69 return adoptRef(toImpl(m_client.createNewPage(toAPI(page), toAPI(featuresMap.get()), toAPI(modifiers), toAPI(button), m_client.clientInfo))); 72 if (!m_client.version) 73 return adoptRef(toImpl(m_client.createNewPage_deprecatedForUseWithV0(toAPI(page), toAPI(featuresMap.get()), toAPI(modifiers), toAPI(button), m_client.clientInfo))); 74 75 RefPtr<WebURLRequest> request = WebURLRequest::create(resourceRequest); 76 return adoptRef(toImpl(m_client.createNewPage(toAPI(page), toAPI(request.get()), toAPI(featuresMap.get()), toAPI(modifiers), toAPI(button), m_client.clientInfo))); 70 77 } 71 78 -
trunk/Source/WebKit2/UIProcess/WebUIClient.h
r90161 r93902 37 37 class FloatRect; 38 38 class IntSize; 39 class ResourceRequest; 39 40 struct WindowFeatures; 40 41 } … … 54 55 class WebUIClient : public APIClient<WKPageUIClient, kWKPageUIClientCurrentVersion> { 55 56 public: 56 PassRefPtr<WebPageProxy> createNewPage(WebPageProxy*, const WebCore:: WindowFeatures&, WebEvent::Modifiers, WebMouseEvent::Button);57 PassRefPtr<WebPageProxy> createNewPage(WebPageProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, WebEvent::Modifiers, WebMouseEvent::Button); 57 58 void showPage(WebPageProxy*); 58 59 void close(WebPageProxy*); -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
r93303 r93902 50 50 #include <WebCore/FileIconLoader.h> 51 51 #include <WebCore/Frame.h> 52 #include <WebCore/FrameLoadRequest.h> 52 53 #include <WebCore/FrameLoader.h> 53 54 #include <WebCore/FrameView.h> … … 157 158 } 158 159 159 Page* WebChromeClient::createWindow(Frame*, const FrameLoadRequest& , const WindowFeatures& windowFeatures, const NavigationAction& navigationAction)160 Page* WebChromeClient::createWindow(Frame*, const FrameLoadRequest& request, const WindowFeatures& windowFeatures, const NavigationAction& navigationAction) 160 161 { 161 162 uint32_t modifiers = static_cast<uint32_t>(InjectedBundleNavigationAction::modifiersForNavigationAction(navigationAction)); … … 164 165 uint64_t newPageID = 0; 165 166 WebPageCreationParameters parameters; 166 if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::CreateNewPage( windowFeatures, modifiers, mouseButton), Messages::WebPageProxy::CreateNewPage::Reply(newPageID, parameters), m_page->pageID()))167 if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::CreateNewPage(request.resourceRequest(), windowFeatures, modifiers, mouseButton), Messages::WebPageProxy::CreateNewPage::Reply(newPageID, parameters), m_page->pageID())) 167 168 return 0; 168 169 -
trunk/Tools/ChangeLog
r93857 r93902 1 2011-08-26 Alice Liu <alice.liu@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=66823 4 Add the request info to the WebPageProxy::CreateNewPage message 5 6 Reviewed by Anders Carlsson. 7 8 Update function declarations with additional parameter: 9 * MiniBrowser/gtk/BrowserWindow.c: 10 (createNewPage): 11 * MiniBrowser/mac/BrowserWindowController.m: 12 (createNewPage): 13 * MiniBrowser/win/BrowserView.cpp: 14 (createNewPage): 15 * WebKitTestRunner/TestController.cpp: 16 (WTR::TestController::createOtherPage): 17 * WebKitTestRunner/TestController.h: 18 1 19 2011-08-26 Noel Gordon <noel.gordon@gmail.com> 2 20 -
trunk/Tools/MiniBrowser/gtk/BrowserWindow.c
r93338 r93902 523 523 524 524 // UI Client. 525 static WKPageRef createNewPage(WKPageRef page, WK DictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton button, const void *clientInfo)525 static WKPageRef createNewPage(WKPageRef page, WKURLRequestRef request, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton button, const void *clientInfo) 526 526 { 527 527 WKViewRef webView = WKViewCreate(WKPageGetContext(page), 0); … … 614 614 kWKPageUIClientCurrentVersion, 615 615 window, /* clientInfo */ 616 createNewPage,616 0, /* createNewPage_deprecatedForUseWithV0 */ 617 617 showPage, 618 618 closePage, … … 652 652 0, /* didCompleteRubberBandForMainFrame */ 653 653 0, /* saveDataToFileInDownloadsFolder */ 654 0 /* shouldInterruptJavaScript */ 654 0, /* shouldInterruptJavaScript */ 655 createNewPage 655 656 }; 656 657 WKPageSetPageUIClient(WKViewGetPage(window->webView), &uiClient); -
trunk/Tools/MiniBrowser/mac/BrowserWindowController.m
r90163 r93902 378 378 // MARK: UI Client Callbacks 379 379 380 static WKPageRef createNewPage(WKPageRef page, WK DictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton button, const void* clientInfo)380 static WKPageRef createNewPage(WKPageRef page, WKURLRequestRef request, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton button, const void* clientInfo) 381 381 { 382 382 LOG(@"createNewPage"); … … 617 617 kWKPageUIClientCurrentVersion, 618 618 self, /* clientInfo */ 619 createNewPage,619 0, /* createNewPage_deprecatedForUseWithV0 */ 620 620 showPage, 621 621 closePage, … … 656 656 0, // saveDataToFileInDownloadsFolder 657 657 0, // shouldInterruptJavaScript 658 createNewPage, 658 659 }; 659 660 WKPageSetPageUIClient(_webView.pageRef, &uiClient); -
trunk/Tools/MiniBrowser/win/BrowserView.cpp
r90163 r93902 40 40 // UI Client Callbacks 41 41 42 static WKPageRef createNewPage(WKPageRef page, WK DictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void* clientInfo)42 static WKPageRef createNewPage(WKPageRef page, WKURLRequestRef request, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void* clientInfo) 43 43 { 44 44 BrowserWindow* browserWindow = BrowserWindow::create(); … … 96 96 kWKPageUIClientCurrentVersion, 97 97 parentWindow, /* clientInfo */ 98 createNewPage,98 0, /* createNewPage_deprecatedForUseWithV0 */ 99 99 showPage, 100 100 closePage, … … 107 107 setStatusText, 108 108 mouseDidMoveOverElement, 109 0, /* missingPluginButtonClicked */ 109 110 0, /* didNotHandleKeyEvent */ 110 111 0, /* didNotHandleWheelEvent */ … … 125 126 0, /* runOpenPanel */ 126 127 0, /* decidePolicyForGeolocationPermissionRequest */ 128 0, /* headerHeight */ 129 0, /* footerHeight */ 130 0, /* drawHeader */ 131 0, /* drawFooter */ 132 0, /* printFrame */ 133 0, /* runModal */ 134 0, /* didCompleteRubberBandForMainFrame */ 135 0, /* saveDataToFileInDownloadsFolder */ 127 136 0, /* shouldInterruptJavaScript */ 137 createNewPage, 128 138 }; 129 139 -
trunk/Tools/WebKitTestRunner/TestController.cpp
r92982 r93902 131 131 } 132 132 133 WKPageRef TestController::createOtherPage(WKPageRef oldPage, WK DictionaryRef, WKEventModifiers, WKEventMouseButton, const void*)133 WKPageRef TestController::createOtherPage(WKPageRef oldPage, WKURLRequestRef, WKDictionaryRef, WKEventModifiers, WKEventMouseButton, const void*) 134 134 { 135 135 PlatformWebView* view = new PlatformWebView(WKPageGetContext(oldPage), WKPageGetPageGroup(oldPage)); … … 141 141 kWKPageUIClientCurrentVersion, 142 142 view, 143 createOtherPage,143 0, // createNewPage_deprecatedForUseWithV0 144 144 0, // showPage 145 145 closeOtherPage, … … 180 180 0, // saveDataToFileInDownloadsFolder 181 181 0, // shouldInterruptJavaScript 182 createOtherPage, 182 183 }; 183 184 WKPageSetPageUIClient(newPage, &otherPageUIClient); … … 284 285 kWKPageUIClientCurrentVersion, 285 286 this, 286 createOtherPage,287 0, // createNewPage_deprecatedForUseWithV0 287 288 0, // showPage 288 289 0, // close … … 323 324 0, // saveDataToFileInDownloadsFolder 324 325 0, // shouldInterruptJavaScript 326 createOtherPage, 325 327 }; 326 328 WKPageSetPageUIClient(m_mainWebView->page(), &pageUIClient); -
trunk/Tools/WebKitTestRunner/TestController.h
r92982 r93902 89 89 void processDidCrash(); 90 90 91 static WKPageRef createOtherPage(WKPageRef oldPage, WK DictionaryRef, WKEventModifiers, WKEventMouseButton, const void*);91 static WKPageRef createOtherPage(WKPageRef oldPage, WKURLRequestRef, WKDictionaryRef, WKEventModifiers, WKEventMouseButton, const void*); 92 92 93 93 static void runModal(WKPageRef, const void* clientInfo);
Note: See TracChangeset
for help on using the changeset viewer.