Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Side by Side Diff: Source/core/html/HTMLIFrameElement.cpp

Issue 138443013: Remove iframe@seamless (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Include remove tests Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Simon Hausmann (hausmann@kde.org) 4 * (C) 2000 Simon Hausmann (hausmann@kde.org)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved.
7 * Copyright (C) 2009 Ericsson AB. All rights reserved. 7 * Copyright (C) 2009 Ericsson AB. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 setHasCustomStyleCallbacks(); 42 setHasCustomStyleCallbacks();
43 } 43 }
44 44
45 PassRefPtr<HTMLIFrameElement> HTMLIFrameElement::create(Document& document) 45 PassRefPtr<HTMLIFrameElement> HTMLIFrameElement::create(Document& document)
46 { 46 {
47 return adoptRef(new HTMLIFrameElement(document)); 47 return adoptRef(new HTMLIFrameElement(document));
48 } 48 }
49 49
50 bool HTMLIFrameElement::isPresentationAttribute(const QualifiedName& name) const 50 bool HTMLIFrameElement::isPresentationAttribute(const QualifiedName& name) const
51 { 51 {
52 if (name == widthAttr || name == heightAttr || name == alignAttr || name == frameborderAttr || name == seamlessAttr) 52 if (name == widthAttr || name == heightAttr || name == alignAttr || name == frameborderAttr)
53 return true; 53 return true;
54 return HTMLFrameElementBase::isPresentationAttribute(name); 54 return HTMLFrameElementBase::isPresentationAttribute(name);
55 } 55 }
56 56
57 void HTMLIFrameElement::collectStyleForPresentationAttribute(const QualifiedName & name, const AtomicString& value, MutableStylePropertySet* style) 57 void HTMLIFrameElement::collectStyleForPresentationAttribute(const QualifiedName & name, const AtomicString& value, MutableStylePropertySet* style)
58 { 58 {
59 if (name == widthAttr) 59 if (name == widthAttr)
60 addHTMLLengthToStyle(style, CSSPropertyWidth, value); 60 addHTMLLengthToStyle(style, CSSPropertyWidth, value);
61 else if (name == heightAttr) 61 else if (name == heightAttr)
62 addHTMLLengthToStyle(style, CSSPropertyHeight, value); 62 addHTMLLengthToStyle(style, CSSPropertyHeight, value);
(...skipping 17 matching lines...) Expand all
80 HTMLDocument& document = toHTMLDocument(this->document()); 80 HTMLDocument& document = toHTMLDocument(this->document());
81 document.removeExtraNamedItem(m_name); 81 document.removeExtraNamedItem(m_name);
82 document.addExtraNamedItem(value); 82 document.addExtraNamedItem(value);
83 } 83 }
84 m_name = value; 84 m_name = value;
85 } else if (name == sandboxAttr) { 85 } else if (name == sandboxAttr) {
86 String invalidTokens; 86 String invalidTokens;
87 setSandboxFlags(value.isNull() ? SandboxNone : parseSandboxPolicy(value, invalidTokens)); 87 setSandboxFlags(value.isNull() ? SandboxNone : parseSandboxPolicy(value, invalidTokens));
88 if (!invalidTokens.isNull()) 88 if (!invalidTokens.isNull())
89 document().addConsoleMessage(OtherMessageSource, ErrorMessageLevel, "Error while parsing the 'sandbox' attribute: " + invalidTokens); 89 document().addConsoleMessage(OtherMessageSource, ErrorMessageLevel, "Error while parsing the 'sandbox' attribute: " + invalidTokens);
90 } else if (name == seamlessAttr) { 90 } else {
91 // If we're adding or removing the seamless attribute, we need to force the content document to recalculate its StyleResolver.
92 if (contentDocument())
93 contentDocument()->styleResolverChanged(RecalcStyleDeferred);
94 } else
95 HTMLFrameElementBase::parseAttribute(name, value); 91 HTMLFrameElementBase::parseAttribute(name, value);
92 }
96 } 93 }
97 94
98 bool HTMLIFrameElement::rendererIsNeeded(const RenderStyle& style) 95 bool HTMLIFrameElement::rendererIsNeeded(const RenderStyle& style)
99 { 96 {
100 return isURLAllowed() && HTMLElement::rendererIsNeeded(style); 97 return isURLAllowed() && HTMLElement::rendererIsNeeded(style);
101 } 98 }
102 99
103 RenderObject* HTMLIFrameElement::createRenderer(RenderStyle*) 100 RenderObject* HTMLIFrameElement::createRenderer(RenderStyle*)
104 { 101 {
105 return new RenderIFrame(this); 102 return new RenderIFrame(this);
106 } 103 }
107 104
108 Node::InsertionNotificationRequest HTMLIFrameElement::insertedInto(ContainerNode * insertionPoint) 105 Node::InsertionNotificationRequest HTMLIFrameElement::insertedInto(ContainerNode * insertionPoint)
109 { 106 {
110 InsertionNotificationRequest result = HTMLFrameElementBase::insertedInto(ins ertionPoint); 107 InsertionNotificationRequest result = HTMLFrameElementBase::insertedInto(ins ertionPoint);
111 if (insertionPoint->inDocument() && document().isHTMLDocument() && !insertio nPoint->isInShadowTree()) 108 if (insertionPoint->inDocument() && document().isHTMLDocument() && !insertio nPoint->isInShadowTree())
112 toHTMLDocument(document()).addExtraNamedItem(m_name); 109 toHTMLDocument(document()).addExtraNamedItem(m_name);
113 return result; 110 return result;
114 } 111 }
115 112
116 void HTMLIFrameElement::removedFrom(ContainerNode* insertionPoint) 113 void HTMLIFrameElement::removedFrom(ContainerNode* insertionPoint)
117 { 114 {
118 HTMLFrameElementBase::removedFrom(insertionPoint); 115 HTMLFrameElementBase::removedFrom(insertionPoint);
119 if (insertionPoint->inDocument() && document().isHTMLDocument() && !insertio nPoint->isInShadowTree()) 116 if (insertionPoint->inDocument() && document().isHTMLDocument() && !insertio nPoint->isInShadowTree())
120 toHTMLDocument(document()).removeExtraNamedItem(m_name); 117 toHTMLDocument(document()).removeExtraNamedItem(m_name);
121 } 118 }
122 119
123 bool HTMLIFrameElement::shouldDisplaySeamlessly() const
124 {
125 return contentDocument() && contentDocument()->shouldDisplaySeamlesslyWithPa rent();
126 }
127
128 void HTMLIFrameElement::didRecalcStyle(StyleRecalcChange styleChange) 120 void HTMLIFrameElement::didRecalcStyle(StyleRecalcChange styleChange)
129 { 121 {
130 if (!shouldDisplaySeamlessly()) 122 // FIXME: Can we remove this function?
131 return;
132 Document* childDocument = contentDocument();
133 if (shouldRecalcStyle(styleChange, childDocument))
134 contentDocument()->recalcStyle(styleChange);
135 } 123 }
136 124
137 bool HTMLIFrameElement::isInteractiveContent() const 125 bool HTMLIFrameElement::isInteractiveContent() const
138 { 126 {
139 return true; 127 return true;
140 } 128 }
141 129
142 } 130 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698