Title: [171730] branches/safari-600.1-branch/Source/WebCore
- Revision
- 171730
- Author
- lforsch...@apple.com
- Date
- 2014-07-29 01:32:17 -0700 (Tue, 29 Jul 2014)
Log Message
Merged r171702. <rdar://problem/16828238>
Modified Paths
Diff
Modified: branches/safari-600.1-branch/Source/WebCore/ChangeLog (171729 => 171730)
--- branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-29 08:29:08 UTC (rev 171729)
+++ branches/safari-600.1-branch/Source/WebCore/ChangeLog 2014-07-29 08:32:17 UTC (rev 171730)
@@ -1,5 +1,28 @@
2014-07-29 Lucas Forschler <lforsch...@apple.com>
+ Merge r171702
+
+ 2014-07-28 Antti Koivisto <an...@apple.com>
+
+ <embed> videos flashes constantly while playing inline on iPad, making it unwatchable
+ https://bugs.webkit.org/show_bug.cgi?id=135356
+ <rdar://problem/16828238>
+
+ Reviewed by Simon Fraser.
+
+ The shadow tree for media controls is scheduling style recalc. The general silliness of
+ HTMLPlugInImageElement::willRecalcStyle/willDetachRenderers is turning those into render
+ tree reconstructions causing flicker.
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::willRecalcStyle):
+
+ Don't do the forced renderer reconstruction if there is no style change for the element
+ or its ancestors. This way recalcs scheduled by the shadow tree don't trigger the widget
+ update code path.
+
+2014-07-29 Lucas Forschler <lforsch...@apple.com>
+
Merge r171700
2014-07-27 Brent Fulgham <bfulg...@apple.com>
Modified: branches/safari-600.1-branch/Source/WebCore/html/HTMLPlugInImageElement.cpp (171729 => 171730)
--- branches/safari-600.1-branch/Source/WebCore/html/HTMLPlugInImageElement.cpp 2014-07-29 08:29:08 UTC (rev 171729)
+++ branches/safari-600.1-branch/Source/WebCore/html/HTMLPlugInImageElement.cpp 2014-07-29 08:32:17 UTC (rev 171730)
@@ -223,8 +223,12 @@
return HTMLPlugInElement::createElementRenderer(WTF::move(style));
}
-bool HTMLPlugInImageElement::willRecalcStyle(Style::Change)
+bool HTMLPlugInImageElement::willRecalcStyle(Style::Change change)
{
+ // Make sure style recalcs scheduled by a child shadow tree don't trigger reconstruction and cause flicker.
+ if (change == Style::NoChange && styleChangeType() == NoStyleChange)
+ return true;
+
// FIXME: There shoudn't be need to force render tree reconstruction here.
// It is only done because loading and load event dispatching is tied to render tree construction.
if (!useFallbackContent() && needsWidgetUpdate() && renderer() && !isImageType() && (displayState() != DisplayingSnapshot))
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes