[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.20-204-g221d8e8
mitz at apple.com
mitz at apple.com
Wed Feb 10 22:11:37 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 4ffff30e6904ccf1e49e4e58f23fd4332760a06b
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Feb 4 00:26:00 2010 +0000
<rdar://problem/7577604> Drag and Drop: background elements are bleeding through
https://bugs.webkit.org/show_bug.cgi?id=34546
Reviewed by Simon Fraser.
* manual-tests/drag-image-table-part-decorations.html: Added.
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
paint within the current painting root.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations): Ditto.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
(WebCore::RenderTableCell::paintBoxDecorations): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7a388df..a0a3044 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-02-03 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
+ https://bugs.webkit.org/show_bug.cgi?id=34546
+
+ * manual-tests/drag-image-table-part-decorations.html: Added.
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
+ paint within the current painting root.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintBoxDecorations): Ditto.
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
+ (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
+
2010-02-03 Nate Chapin <japhet at chromium.org>
Unreviewed, Chromium mac build fix.
diff --git a/WebCore/manual-tests/drag-image-table-part-decorations.html b/WebCore/manual-tests/drag-image-table-part-decorations.html
new file mode 100644
index 0000000..467cc54
--- /dev/null
+++ b/WebCore/manual-tests/drag-image-table-part-decorations.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML>
+<p>
+ When dragging each of the black squares below, the drag image should include
+ only the hollow black square, and no blue background.
+</p>
+<div style="background-color: blue; display: table; height: 100px; width: 100px;"></div>
+<div style="width: 94px; height: 94px; border: solid; -webkit-user-drag: element; margin-top: -50px; margin-bottom: 10px;"></div>
+
+<div style="background-color: blue; display: table-row; height: 100px;"><div style="width: 100px"></div></div>
+<div style="width: 94px; height: 94px; border: solid; -webkit-user-drag: element; margin-top: -50px; margin-bottom: 10px;"></div>
+
+<div style="background-color: blue; display: table-cell; height: 100px; width: 100px;"></div>
+<div style="width: 94px; height: 94px; border: solid; -webkit-user-drag: element; margin-top: -50px; margin-bottom: 10px;"></div>
+
+<fieldset style="background-color: blue; border: none; height: 100px; width: 100px;"><legend></legend></fieldset>
+<div style="width: 94px; height: 94px; border: solid; -webkit-user-drag: element; margin-top: -50px; "></div>
diff --git a/WebCore/rendering/RenderFieldset.cpp b/WebCore/rendering/RenderFieldset.cpp
index 1f2b371..889b0bc 100644
--- a/WebCore/rendering/RenderFieldset.cpp
+++ b/WebCore/rendering/RenderFieldset.cpp
@@ -119,6 +119,9 @@ RenderBox* RenderFieldset::findLegend() const
void RenderFieldset::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
{
+ if (!shouldPaintWithinRoot(paintInfo))
+ return;
+
int w = width();
int h = height();
RenderBox* legend = findLegend();
diff --git a/WebCore/rendering/RenderTable.cpp b/WebCore/rendering/RenderTable.cpp
index 73f3654..0e2fff8 100644
--- a/WebCore/rendering/RenderTable.cpp
+++ b/WebCore/rendering/RenderTable.cpp
@@ -485,6 +485,9 @@ void RenderTable::paintObject(PaintInfo& paintInfo, int tx, int ty)
void RenderTable::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
{
+ if (!shouldPaintWithinRoot(paintInfo))
+ return;
+
int w = width();
int h = height();
diff --git a/WebCore/rendering/RenderTableCell.cpp b/WebCore/rendering/RenderTableCell.cpp
index 538dc3f..8e55f84 100644
--- a/WebCore/rendering/RenderTableCell.cpp
+++ b/WebCore/rendering/RenderTableCell.cpp
@@ -787,6 +787,9 @@ void RenderTableCell::paintCollapsedBorder(GraphicsContext* graphicsContext, int
void RenderTableCell::paintBackgroundsBehindCell(PaintInfo& paintInfo, int tx, int ty, RenderObject* backgroundObject)
{
+ if (!shouldPaintWithinRoot(paintInfo))
+ return;
+
if (!backgroundObject)
return;
@@ -826,6 +829,9 @@ void RenderTableCell::paintBackgroundsBehindCell(PaintInfo& paintInfo, int tx, i
void RenderTableCell::paintBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
{
+ if (!shouldPaintWithinRoot(paintInfo))
+ return;
+
RenderTable* tableElt = table();
if (!tableElt->collapseBorders() && style()->emptyCells() == HIDE && !firstChild())
return;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list