Skip to content

Commit

Permalink
browser(webkit): outerWidth/Height on Windows (#3154)
Browse files Browse the repository at this point in the history
  • Loading branch information
yury-s committed Jul 24, 2020
1 parent e7cca86 commit 3162c06
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
4 changes: 2 additions & 2 deletions browser_patches/webkit/BUILD_NUMBER
@@ -1,2 +1,2 @@
1317
Changed: lushnikov@chromium.org Thu Jul 23 17:44:30 PDT 2020
1318
Changed: yurys@chromium.org Fri Jul 24 20:46:33 GMTST 2020
Expand Up @@ -85,6 +85,7 @@ WebKitBrowserWindow::WebKitBrowserWindow(BrowserWindowClient& client, HWND mainW
uiClient.runJavaScriptPrompt = runJavaScriptPrompt;
uiClient.runBeforeUnloadConfirmPanel = runBeforeUnloadConfirmPanel;
uiClient.handleJavaScriptDialog = handleJavaScriptDialog;
uiClient.getWindowFrame = getWindowFrame;
WKPageSetPageUIClient(page, &uiClient.base);

WKPageStateClientV0 stateClient = { };
Expand Down Expand Up @@ -338,6 +339,19 @@ void WebKitBrowserWindow::handleJavaScriptDialog(WKPageRef page, bool accept, WK
}
}

WKRect WebKitBrowserWindow::getWindowFrame(WKPageRef page, const void *clientInfo) {
auto& thisWindow = toWebKitBrowserWindow(clientInfo);
WKRect wkFrame { };
RECT r;
if (::GetWindowRect(thisWindow.m_hMainWnd, &r)) {
wkFrame.origin.x = r.left;
wkFrame.origin.y = r.top;
wkFrame.size.width = r.right - r.left;
wkFrame.size.height = r.bottom - r.top;
}
return wkFrame;
}

WKPageRef WebKitBrowserWindow::createPageCallback(WKPageConfigurationRef configuration)
{
// This comes from the Playwright agent, configuration is a pool+data pair.
Expand Down
Expand Up @@ -70,6 +70,7 @@ class WebKitBrowserWindow {
static void runJavaScriptPrompt(WKPageRef page, WKStringRef message, WKStringRef defaultValue, WKFrameRef frame, WKSecurityOriginRef securityOrigin, WKPageRunJavaScriptPromptResultListenerRef listener, const void *clientInfo);
static void runBeforeUnloadConfirmPanel(WKPageRef page, WKStringRef message, WKFrameRef frame, WKPageRunBeforeUnloadConfirmPanelResultListenerRef listener, const void *clientInfo);
static void handleJavaScriptDialog(WKPageRef page, bool accept, WKStringRef value, const void *clientInfo);
static WKRect getWindowFrame(WKPageRef page, const void *clientInfo);
static void didNotHandleKeyEvent(WKPageRef, WKNativeEventPtr, const void*);
static void decidePolicyForResponse(WKPageRef, WKFrameRef, WKURLResponseRef, WKURLRequestRef, WKFramePolicyListenerRef, WKTypeRef, const void*);

Expand Down

0 comments on commit 3162c06

Please sign in to comment.