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

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 15:49:37 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 07151e5b87a34dc63720184140d6fe8217a62455
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Nov 13 09:47:35 2010 +0000

    2010-11-13  Ilya Sherman  <isherman at chromium.org>
    
            Reviewed by Shinichiro Hamaji.
    
            Fixes regression from previous patch -- computes y offsets for elements
            that are scrolled out of the window.
            https://bugs.webkit.org/show_bug.cgi?id=49306
    
            * manual-tests/select-scroll.html: Added.
            * platform/chromium/PopupMenuChromium.cpp:
            (WebCore::PopupListBox::layout):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 623c50b..2f1cd18 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-11-13  Ilya Sherman  <isherman at chromium.org>
+
+        Reviewed by Shinichiro Hamaji.
+
+        Fixes regression from previous patch -- computes y offsets for elements
+        that are scrolled out of the window.
+        https://bugs.webkit.org/show_bug.cgi?id=49306
+
+        * manual-tests/select-scroll.html: Added.
+        * platform/chromium/PopupMenuChromium.cpp:
+        (WebCore::PopupListBox::layout):
+
 2010-11-12  Daniel Bates  <dbates at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/manual-tests/select-scroll.html b/WebCore/manual-tests/select-scroll.html
new file mode 100644
index 0000000..95b8a5a
--- /dev/null
+++ b/WebCore/manual-tests/select-scroll.html
@@ -0,0 +1,34 @@
+<p>
+When you click the following &lt;select&gt;, you should see a scrollbar,
+and should be able to scroll down to see "Z" as the last option.
+See <a href="https://bugs.webkit.org/show_bug.cgi?id=49306">Bug 49306</a> for detail.
+
+<p>
+<select>
+ <option>A</option>
+ <option>B</option>
+ <option>C</option>
+ <option>D</option>
+ <option>E</option>
+ <option>F</option>
+ <option>G</option>
+ <option>H</option>
+ <option>I</option>
+ <option>J</option>
+ <option>K</option>
+ <option>L</option>
+ <option>M</option>
+ <option>N</option>
+ <option>O</option>
+ <option>P</option>
+ <option>Q</option>
+ <option>R</option>
+ <option>S</option>
+ <option>T</option>
+ <option>U</option>
+ <option>V</option>
+ <option>W</option>
+ <option>X</option>
+ <option>Y</option>
+ <option>Z</option>
+</select>
diff --git a/WebCore/platform/chromium/PopupMenuChromium.cpp b/WebCore/platform/chromium/PopupMenuChromium.cpp
index 56a5aa9..80c5bc8 100644
--- a/WebCore/platform/chromium/PopupMenuChromium.cpp
+++ b/WebCore/platform/chromium/PopupMenuChromium.cpp
@@ -1255,12 +1255,16 @@ void PopupListBox::layout()
     // Size our child items.
     int baseWidth = 0;
     int paddingWidth = 0;
+    int y = 0;
     for (int i = 0; i < numItems(); ++i) {
+        // Place the item vertically.
+        m_items[i]->yOffset = y;
         if (m_popupClient->itemStyle(i).isDisplayNone())
             continue;
-        Font itemFont = getRowFont(i);
+        y += getRowHeight(i);
 
         // Ensure the popup is wide enough to fit this item.
+        Font itemFont = getRowFont(i);
         String text = m_popupClient->itemText(i);
         String label = m_popupClient->itemLabel(i);
         String icon = m_popupClient->itemIcon(i);
@@ -1299,9 +1303,7 @@ void PopupListBox::layout()
 #endif
 
     for (int i = 0; i < m_visibleRows; ++i) {
-        // Place the item vertically.
         int rowHeight = getRowHeight(i);
-        m_items[i]->yOffset = windowHeight;
 
 #if !OS(DARWIN)
         // Only clip the window height for non-Mac platforms.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list