Title: [117140] branches/safari-536-branch/Source/WebCore
Diff
Modified: branches/safari-536-branch/Source/WebCore/ChangeLog (117139 => 117140)
--- branches/safari-536-branch/Source/WebCore/ChangeLog 2012-05-15 20:20:23 UTC (rev 117139)
+++ branches/safari-536-branch/Source/WebCore/ChangeLog 2012-05-15 20:22:36 UTC (rev 117140)
@@ -1,5 +1,27 @@
2012-05-15 Lucas Forschler <[email protected]>
+ Merge 116794
+
+ 2012-05-11 Anders Carlsson <[email protected]>
+
+ REGRESSION(r116687): [Chromium] plugins/embed-attributes-style.html shows a garbled string
+ https://bugs.webkit.org/show_bug.cgi?id=86170
+
+ Reviewed by Andreas Kling.
+
+ The string we are passing to the TextRun constructor needs to stay alive for longer so revert back to the old
+ behavior where we store it as a member variable.
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::unavailablePluginReplacementText):
+ (WebCore):
+ (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
+ (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
+ * rendering/RenderEmbeddedObject.h:
+ (RenderEmbeddedObject):
+
+2012-05-15 Lucas Forschler <[email protected]>
+
Merge 116695
2012-05-10 Anders Carlsson <[email protected]>
Modified: branches/safari-536-branch/Source/WebCore/rendering/RenderEmbeddedObject.cpp (117139 => 117140)
--- branches/safari-536-branch/Source/WebCore/rendering/RenderEmbeddedObject.cpp 2012-05-15 20:20:23 UTC (rev 117139)
+++ branches/safari-536-branch/Source/WebCore/rendering/RenderEmbeddedObject.cpp 2012-05-15 20:22:36 UTC (rev 117140)
@@ -102,11 +102,28 @@
}
#endif
+static String unavailablePluginReplacementText(RenderEmbeddedObject::PluginUnavailabilityReason pluginUnavailabilityReason)
+{
+ switch (pluginUnavailabilityReason) {
+ case RenderEmbeddedObject::PluginMissing:
+ return missingPluginText();
+ case RenderEmbeddedObject::PluginCrashed:
+ return crashedPluginText();
+ case RenderEmbeddedObject::InsecurePluginVersion:
+ return insecurePluginVersionText();
+ }
+
+ ASSERT_NOT_REACHED();
+ return String();
+}
+
void RenderEmbeddedObject::setPluginUnavailabilityReason(PluginUnavailabilityReason pluginUnavailabilityReason)
{
ASSERT(!m_showsUnavailablePluginIndicator);
m_showsUnavailablePluginIndicator = true;
m_pluginUnavailabilityReason = pluginUnavailabilityReason;
+
+ m_unavailablePluginReplacementText = unavailablePluginReplacementText(pluginUnavailabilityReason);
}
bool RenderEmbeddedObject::showsUnavailablePluginIndicator() const
@@ -193,8 +210,8 @@
fontDescription.setComputedSize(fontDescription.specifiedSize());
font = Font(fontDescription, 0, 0);
font.update(0);
-
- run = TextRun(unavailablePluginReplacementText());
+
+ run = TextRun(m_unavailablePluginReplacementText);
textWidth = font.width(run);
replacementTextRect.setSize(FloatSize(textWidth + replacementTextRoundedRectLeftRightTextMargin * 2, replacementTextRoundedRectHeight));
@@ -207,21 +224,6 @@
return true;
}
-String RenderEmbeddedObject::unavailablePluginReplacementText() const
-{
- switch (m_pluginUnavailabilityReason) {
- case PluginMissing:
- return missingPluginText();
- case PluginCrashed:
- return crashedPluginText();
- case InsecurePluginVersion:
- return insecurePluginVersionText();
- }
-
- ASSERT_NOT_REACHED();
- return String();
-}
-
void RenderEmbeddedObject::layout()
{
ASSERT(needsLayout());
Modified: branches/safari-536-branch/Source/WebCore/rendering/RenderEmbeddedObject.h (117139 => 117140)
--- branches/safari-536-branch/Source/WebCore/rendering/RenderEmbeddedObject.h 2012-05-15 20:20:23 UTC (rev 117139)
+++ branches/safari-536-branch/Source/WebCore/rendering/RenderEmbeddedObject.h 2012-05-15 20:22:36 UTC (rev 117140)
@@ -78,12 +78,12 @@
bool isInUnavailablePluginIndicator(MouseEvent*) const;
bool isInUnavailablePluginIndicator(const LayoutPoint&) const;
bool getReplacementTextGeometry(const LayoutPoint& accumulatedOffset, FloatRect& contentRect, Path&, FloatRect& replacementTextRect, Font&, TextRun&, float& textWidth) const;
- String unavailablePluginReplacementText() const;
bool m_hasFallbackContent; // FIXME: This belongs on HTMLObjectElement.
bool m_showsUnavailablePluginIndicator;
PluginUnavailabilityReason m_pluginUnavailabilityReason;
+ String m_unavailablePluginReplacementText;
bool m_unavailablePluginIndicatorIsPressed;
bool m_mouseDownWasInUnavailablePluginIndicator;
};
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes