[chromium] Expose windowResizerRectChanged() on WebWidget.
authorthakis@chromium.org <thakis@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Jan 2012 23:02:14 +0000 (23:02 +0000)
committerthakis@chromium.org <thakis@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Jan 2012 23:02:14 +0000 (23:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=77453

Needed for http://crbug.com/111266

Reviewed by Darin Fisher.

* public/WebWidget.h:
(WebWidget):
(WebKit::WebWidget::didChangeWindowResizerRect):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::didChangeWindowResizerRect):
(WebKit):
* src/WebViewImpl.h:
(WebViewImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebWidget.h
Source/WebKit/chromium/src/WebViewImpl.cpp
Source/WebKit/chromium/src/WebViewImpl.h

index 45820aa..d35df64 100644 (file)
@@ -1,3 +1,21 @@
+2012-01-31  Nico Weber  <thakis@chromium.org>
+
+        [chromium] Expose windowResizerRectChanged() on WebWidget.
+        https://bugs.webkit.org/show_bug.cgi?id=77453
+
+        Needed for http://crbug.com/111266
+
+        Reviewed by Darin Fisher.
+
+        * public/WebWidget.h:
+        (WebWidget):
+        (WebKit::WebWidget::didChangeWindowResizerRect):
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::didChangeWindowResizerRect):
+        (WebKit):
+        * src/WebViewImpl.h:
+        (WebViewImpl):
+
 2012-01-31  Nat Duca  <nduca@chromium.org>
 
         [chromium] Import PaintAggregator
index 555dadc..ca160a2 100644 (file)
@@ -181,6 +181,12 @@ public:
     // reasons such as the user exiting lock, window focus changing, etc.
     virtual void didLosePointerLock() { }
 
+    // Informs the WebWidget that the resizer rect changed. Happens for example
+    // on mac, when a widget appears below the WebWidget without changing the
+    // WebWidget's size (WebWidget::resize() automatically checks the resizer
+    // rect.)
+    virtual void didChangeWindowResizerRect() { }
+
 protected:
     ~WebWidget() { }
 };
index e9fed27..84de772 100644 (file)
@@ -1776,6 +1776,12 @@ void WebViewImpl::didLosePointerLock()
 #endif
 }
 
+void WebViewImpl::didChangeWindowResizerRect()
+{
+    if (mainFrameImpl()->frameView())
+        mainFrameImpl()->frameView()->windowResizerRectChanged();
+}
+
 // WebView --------------------------------------------------------------------
 
 WebSettings* WebViewImpl::settings()
index 02bc5c9..a039a09 100644 (file)
@@ -132,6 +132,7 @@ public:
     virtual void didAcquirePointerLock();
     virtual void didNotAcquirePointerLock();
     virtual void didLosePointerLock();
+    virtual void didChangeWindowResizerRect();
 
     // WebView methods:
     virtual void initializeMainFrame(WebFrameClient*);