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

Side by Side Diff: Source/core/dom/Document.h

Issue 159853004: Ensure that every Document has a single, distinct template content ownerDocument (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Suppress expected w3c test failures Created 6 years, 10 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
« no previous file with comments | « Source/core/dom/ContainerNode.cpp ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 AnimationClock& animationClock() { return *m_animationClock; } 1007 AnimationClock& animationClock() { return *m_animationClock; }
1008 DocumentTimeline* timeline() const { return m_timeline.get(); } 1008 DocumentTimeline* timeline() const { return m_timeline.get(); }
1009 DocumentTimeline* transitionTimeline() const { return m_transitionTimeline.g et(); } 1009 DocumentTimeline* transitionTimeline() const { return m_transitionTimeline.g et(); }
1010 CSSPendingAnimations& cssPendingAnimations() { return m_cssPendingAnimations ; } 1010 CSSPendingAnimations& cssPendingAnimations() { return m_cssPendingAnimations ; }
1011 1011
1012 void addToTopLayer(Element*, const Element* before = 0); 1012 void addToTopLayer(Element*, const Element* before = 0);
1013 void removeFromTopLayer(Element*); 1013 void removeFromTopLayer(Element*);
1014 const Vector<RefPtr<Element> >& topLayerElements() const { return m_topLayer Elements; } 1014 const Vector<RefPtr<Element> >& topLayerElements() const { return m_topLayer Elements; }
1015 HTMLDialogElement* activeModalDialog() const; 1015 HTMLDialogElement* activeModalDialog() const;
1016 1016
1017 const Document* templateDocument() const; 1017 // A non-null m_templateDocumentHost implies that |this| was created by ensu reTemplateDocument().
1018 bool isTemplateDocument() const { return !!m_templateDocumentHost; }
1018 Document& ensureTemplateDocument(); 1019 Document& ensureTemplateDocument();
1019 void setTemplateDocumentHost(Document* templateDocumentHost) { m_templateDoc umentHost = templateDocumentHost; }
1020 Document* templateDocumentHost() { return m_templateDocumentHost; } 1020 Document* templateDocumentHost() { return m_templateDocumentHost; }
1021 1021
1022 void didAssociateFormControl(Element*); 1022 void didAssociateFormControl(Element*);
1023 1023
1024 void addConsoleMessageWithRequestIdentifier(MessageSource, MessageLevel, con st String& message, unsigned long requestIdentifier); 1024 void addConsoleMessageWithRequestIdentifier(MessageSource, MessageLevel, con st String& message, unsigned long requestIdentifier);
1025 1025
1026 virtual DOMWindow* executingWindow() OVERRIDE FINAL; 1026 virtual DOMWindow* executingWindow() OVERRIDE FINAL;
1027 virtual void userEventWasHandled() OVERRIDE FINAL { resetLastHandledUserGest ureTimestamp(); } 1027 virtual void userEventWasHandled() OVERRIDE FINAL { resetLastHandledUserGest ureTimestamp(); }
1028 Frame* executingFrame(); 1028 Frame* executingFrame();
1029 1029
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
1353 1353
1354 HashSet<DocumentVisibilityObserver*> m_visibilityObservers; 1354 HashSet<DocumentVisibilityObserver*> m_visibilityObservers;
1355 }; 1355 };
1356 1356
1357 inline void Document::notifyRemovePendingSheetIfNeeded() 1357 inline void Document::notifyRemovePendingSheetIfNeeded()
1358 { 1358 {
1359 if (m_needsNotifyRemoveAllPendingStylesheet) 1359 if (m_needsNotifyRemoveAllPendingStylesheet)
1360 didRemoveAllPendingStylesheet(); 1360 didRemoveAllPendingStylesheet();
1361 } 1361 }
1362 1362
1363 inline const Document* Document::templateDocument() const
1364 {
1365 // If DOCUMENT does not have a browsing context, Let TEMPLATE CONTENTS OWNER be DOCUMENT and abort these steps.
1366 if (!m_frame)
1367 return this;
1368
1369 return m_templateDocument.get();
1370 }
1371
1372 inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin) 1363 inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin)
1373 { 1364 {
1374 // The different (legacy) meta tags have different priorities based on the t ype 1365 // The different (legacy) meta tags have different priorities based on the t ype
1375 // regardless of which order they appear in the DOM. The priority is given b y the 1366 // regardless of which order they appear in the DOM. The priority is given b y the
1376 // ViewportDescription::Type enum. 1367 // ViewportDescription::Type enum.
1377 return origin >= m_legacyViewportDescription.type; 1368 return origin >= m_legacyViewportDescription.type;
1378 } 1369 }
1379 1370
1380 DEFINE_TYPE_CASTS(Document, ExecutionContextClient, client, client->isDocument() , client.isDocument()); 1371 DEFINE_TYPE_CASTS(Document, ExecutionContextClient, client, client->isDocument() , client.isDocument());
1381 DEFINE_TYPE_CASTS(Document, ExecutionContext, context, context->isDocument(), co ntext.isDocument()); 1372 DEFINE_TYPE_CASTS(Document, ExecutionContext, context, context->isDocument(), co ntext.isDocument());
(...skipping 15 matching lines...) Expand all
1397 inline bool Node::isDocumentNode() const 1388 inline bool Node::isDocumentNode() const
1398 { 1389 {
1399 return this == document(); 1390 return this == document();
1400 } 1391 }
1401 1392
1402 Node* eventTargetNodeForDocument(Document*); 1393 Node* eventTargetNodeForDocument(Document*);
1403 1394
1404 } // namespace WebCore 1395 } // namespace WebCore
1405 1396
1406 #endif // Document_h 1397 #endif // Document_h
OLDNEW
« no previous file with comments | « Source/core/dom/ContainerNode.cpp ('k') | Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698