Index: Source/core/dom/Document.cpp |
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp |
index 56f72966d6f0716198e97a6b11097247277b5615..ff03ea5951396e3482729a727cd8ab5c37cdbb9a 100644 |
--- a/Source/core/dom/Document.cpp |
+++ b/Source/core/dom/Document.cpp |
@@ -447,7 +447,6 @@ Document::Document(const DocumentInit& initializer, DocumentClassFlags documentC |
, m_sawElementsInKnownNamespaces(false) |
, m_isSrcdocDocument(false) |
, m_isMobileDocument(false) |
- , m_mayDisplaySeamlesslyWithParent(false) |
, m_renderView(0) |
, m_weakFactory(this) |
, m_contextDocument(initializer.contextDocument()) |
@@ -1532,13 +1531,6 @@ void Document::scheduleStyleRecalc() |
if (!isActive()) |
return; |
- if (shouldDisplaySeamlesslyWithParent()) { |
- // When we're seamless, our parent document manages our style recalcs. |
- ownerElement()->setNeedsStyleRecalc(); |
- ownerElement()->document().scheduleStyleRecalc(); |
- return; |
- } |
- |
if (m_styleRecalcTimer.isActive() || !shouldScheduleLayout()) |
return; |
@@ -1598,10 +1590,6 @@ void Document::setStyleDependentState(RenderStyle* documentStyle) |
renderView()->updateColumnInfoFromStyle(documentStyle); |
} |
- // Seamless iframes want to inherit their font from their parent iframe, so early return before setting the font. |
- if (shouldDisplaySeamlesslyWithParent()) |
- return; |
- |
FontBuilder fontBuilder; |
fontBuilder.initForStyleResolve(*this, documentStyle, isSVGDocument()); |
RefPtr<CSSFontSelector> selector = m_styleEngine->fontSelector(); |
@@ -1678,7 +1666,7 @@ void Document::recalcStyle(StyleRecalcChange change) |
evaluateMediaQueryList(); |
} |
- // FIXME: We should update style on our ancestor chain before proceeding (especially for seamless), |
+ // FIXME: We should update style on our ancestor chain before proceeding |
// however doing so currently causes several tests to crash, as Frame::setDocument calls Document::attach |
// before setting the DOMWindow on the Frame, or the SecurityOrigin on the document. The attach, in turn |
// resolves style (here) and then when we resolve style on the parent chain, we may end up |
@@ -1701,7 +1689,7 @@ void Document::recalcStyle(StyleRecalcChange change) |
// See printing/setPrinting.html, printing/width-overflow.html though they only fail on |
// mac when accessing the resolver by what appears to be a viewport size difference. |
- if (change == Force || (change >= Inherit && shouldDisplaySeamlesslyWithParent())) { |
+ if (change == Force) { |
m_hasNodesWithPlaceholderStyle = false; |
RefPtr<RenderStyle> documentStyle = StyleResolver::styleForDocument(*this, m_styleEngine->fontSelector()); |
StyleRecalcChange localChange = RenderStyle::compare(documentStyle.get(), renderView()->style()); |
@@ -2237,12 +2225,6 @@ PassRefPtr<DocumentParser> Document::implicitOpen() |
setCompatibilityMode(NoQuirksMode); |
- // Documents rendered seamlessly should start out requiring a stylesheet |
- // collection update in order to ensure they inherit all the relevant data |
- // from their parent. |
- if (shouldDisplaySeamlesslyWithParent()) |
- styleResolverChanged(RecalcStyleDeferred); |
- |
m_parser = createParser(); |
setParsing(true); |
setReadyState(Loading); |
@@ -2813,13 +2795,6 @@ Frame* Document::findUnsafeParentScrollPropagationBoundary() |
return 0; |
} |
- |
-void Document::seamlessParentUpdatedStylesheets() |
-{ |
- m_styleEngine->didModifySeamlessParentStyleSheet(); |
- styleResolverChanged(RecalcStyleImmediately); |
-} |
- |
void Document::didRemoveAllPendingStylesheet() |
{ |
m_needsNotifyRemoveAllPendingStylesheet = false; |
@@ -3260,22 +3235,6 @@ void Document::styleResolverChanged(RecalcStyleTime updateTime, StyleResolverUpd |
updateStyleIfNeeded(); |
} |
-void Document::notifySeamlessChildDocumentsOfStylesheetUpdate() const |
-{ |
- // If we're not in a frame yet any potential child documents won't have a StyleResolver to update. |
- if (!frame()) |
- return; |
- |
- // Seamless child frames are expected to notify their seamless children recursively, so we only do direct children. |
- for (Frame* child = frame()->tree().firstChild(); child; child = child->tree().nextSibling()) { |
- Document* childDocument = child->document(); |
- if (childDocument->shouldDisplaySeamlesslyWithParent()) { |
- ASSERT(childDocument->seamlessParentIFrame()->document() == this); |
- childDocument->seamlessParentUpdatedStylesheets(); |
- } |
- } |
-} |
- |
void Document::setHoverNode(PassRefPtr<Node> newHoverNode) |
{ |
m_hoverNode = newHoverNode; |
@@ -4533,10 +4492,6 @@ void Document::initSecurityContext(const DocumentInit& initializer) |
setBaseURLOverride(initializer.parentBaseURL()); |
} |
- // FIXME: What happens if we inherit the security origin? This check may need to be later. |
- // <iframe seamless src="about:blank"> likely won't work as-is. |
- m_mayDisplaySeamlesslyWithParent = initializer.isSeamlessAllowedFor(this); |
- |
if (!shouldInheritSecurityOriginFromOwner(m_url)) |
return; |
@@ -4972,24 +4927,6 @@ void Document::resetLastHandledUserGestureTimestamp() |
m_lastHandledUserGestureTimestamp = currentTime(); |
} |
-HTMLIFrameElement* Document::seamlessParentIFrame() const |
-{ |
- if (!shouldDisplaySeamlesslyWithParent()) |
- return 0; |
- |
- return toHTMLIFrameElement(this->ownerElement()); |
-} |
- |
-bool Document::shouldDisplaySeamlesslyWithParent() const |
-{ |
- if (!RuntimeEnabledFeatures::seamlessIFramesEnabled()) |
- return false; |
- HTMLFrameOwnerElement* ownerElement = this->ownerElement(); |
- if (!ownerElement) |
- return false; |
- return m_mayDisplaySeamlesslyWithParent && ownerElement->hasTagName(iframeTag) && ownerElement->fastHasAttribute(seamlessAttr); |
-} |
- |
DocumentLoader* Document::loader() const |
{ |
if (!m_frame) |