[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

weinig at apple.com weinig at apple.com
Wed Dec 22 13:31:16 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit c9fecd1f9e16083f19cff5b7a1fae0c9c65377a8
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Sep 18 00:23:19 2010 +0000

    Resize corner jiggles when resizing slowly in WebKit2
    <rdar://problem/7897425>
    https://bugs.webkit.org/show_bug.cgi?id=45601
    
    Reviewed by Anders Carlsson.
    
    * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::windowResizerRect):
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::windowResizerRect):
    * WebProcess/WebPage/WebPage.h:
    Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages
    stored size, which doesn't get updated at the right time. This is in line with all other
    scrollbar metrics which are in terms of the FrameView's size.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index c244081..151be23 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -2,6 +2,23 @@
 
         Reviewed by Anders Carlsson.
 
+        Resize corner jiggles when resizing slowly in WebKit2
+        <rdar://problem/7897425>
+        https://bugs.webkit.org/show_bug.cgi?id=45601
+
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::windowResizerRect):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::windowResizerRect):
+        * WebProcess/WebPage/WebPage.h:
+        Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages
+        stored size, which doesn't get updated at the right time. This is in line with all other
+        scrollbar metrics which are in terms of the FrameView's size.
+
+2010-09-17  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
         Make certificate data available to the WKFrameRef after it is committed
         Part of <rdar://problem/8350189>
         https://bugs.webkit.org/show_bug.cgi?id=45998
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
index 1abe1b0..1d275fc 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
@@ -299,12 +299,7 @@ bool WebChromeClient::tabsToLinks() const
 
 IntRect WebChromeClient::windowResizerRect() const
 {
-    IntSize pageSize = m_page->size();
-    
-    static const int windowResizerSize = 15;
-    
-    return IntRect(pageSize.width() - windowResizerSize, pageSize.height() - windowResizerSize, 
-                   windowResizerSize, windowResizerSize);
+    return m_page->windowResizerRect();
 }
 
 void WebChromeClient::invalidateWindow(const IntRect& rect, bool immediate)
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 2eb8209..30f869f 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -518,6 +518,25 @@ String WebPage::userAgent() const
     return "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6; en-us) AppleWebKit/531.4 (KHTML, like Gecko) Version/4.0.3 Safari/531.4";
 }
 
+IntRect WebPage::windowResizerRect() const
+{
+    // FIXME: This function should conditionally return a null IntRect for circumstances when
+    // you don't always want to show a resizer rect (i.e. you never want to show one on windows
+    // and you don't want to show one in Safari when the status bar is visible).
+
+    // FIXME: This should be either platform specific or based off the width of the scrollbar. 
+    static const int windowResizerSize = 15;
+
+    IntSize frameViewSize;
+    if (Frame* coreFrame = m_mainFrame->coreFrame()) {
+        if (FrameView* view = coreFrame->view())
+            frameViewSize = view->size();
+    }
+
+    return IntRect(frameViewSize.width() - windowResizerSize, frameViewSize.height() - windowResizerSize, 
+                   windowResizerSize, windowResizerSize);
+}
+
 void WebPage::runJavaScriptInMainFrame(const WTF::String& script, uint64_t callbackID)
 {
     // NOTE: We need to be careful when running scripts that the objects we depend on don't
diff --git a/WebKit2/WebProcess/WebPage/WebPage.h b/WebKit2/WebProcess/WebPage/WebPage.h
index b0b71c2..380755a 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/WebKit2/WebProcess/WebPage/WebPage.h
@@ -97,6 +97,7 @@ public:
     bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*);
     void show();
     String userAgent() const;
+    WebCore::IntRect windowResizerRect() const;
 
     WebEditCommand* webEditCommand(uint64_t);
     void addWebEditCommand(uint64_t, WebEditCommand*);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list