summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.checksum1
-rw-r--r--webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.pngbin0 -> 3753 bytes
-rw-r--r--webkit/port/platform/chromium/RenderThemeGtk.cpp3
3 files changed, 4 insertions, 0 deletions
diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.checksum b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.checksum
new file mode 100644
index 0000000..28c70c8
--- /dev/null
+++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.checksum
@@ -0,0 +1 @@
+2fda483344f12f99f44e600a82ed3b36 \ No newline at end of file
diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.png b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.png
new file mode 100644
index 0000000..f2a1ac5
--- /dev/null
+++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/forms/menulist-narrow-width-expected.png
Binary files differ
diff --git a/webkit/port/platform/chromium/RenderThemeGtk.cpp b/webkit/port/platform/chromium/RenderThemeGtk.cpp
index 4e74de9..c9f00ed 100644
--- a/webkit/port/platform/chromium/RenderThemeGtk.cpp
+++ b/webkit/port/platform/chromium/RenderThemeGtk.cpp
@@ -194,6 +194,9 @@ static bool paintMozWidget(RenderTheme* theme, GtkThemeWidgetType type, RenderOb
gdkClipRect.width = SkScalarRound(clip_region.width());
gdkClipRect.height = SkScalarRound(clip_region.height());
+ // moz_gtk_widget_paint will paint outside the bounds of gdkRect unless we further restrict |gdkClipRect|.
+ gdk_rectangle_intersect(&gdkRect, &gdkClipRect, &gdkClipRect);
+
GtkTextDirection direction = gtkTextDirection(o->style()->direction());
return moz_gtk_widget_paint(type, pcs->gdk_skia(), &gdkRect, &gdkClipRect, &mozState, flags, direction) != MOZ_GTK_SUCCESS;