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

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

Issue 107073003: Introduce DEFINE_DOCUMENT_TYPE_CASTS, and use it (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years 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
« no previous file with comments | « no previous file | Source/core/html/HTMLDocument.h » ('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 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 } 1339 }
1340 1340
1341 inline const Document* toDocument(const ExecutionContext* executionContext) 1341 inline const Document* toDocument(const ExecutionContext* executionContext)
1342 { 1342 {
1343 ASSERT_WITH_SECURITY_IMPLICATION(!executionContext || executionContext->isDo cument()); 1343 ASSERT_WITH_SECURITY_IMPLICATION(!executionContext || executionContext->isDo cument());
1344 return static_cast<const Document*>(executionContext); 1344 return static_cast<const Document*>(executionContext);
1345 } 1345 }
1346 1346
1347 DEFINE_NODE_TYPE_CASTS(Document, isDocumentNode()); 1347 DEFINE_NODE_TYPE_CASTS(Document, isDocumentNode());
1348 1348
1349 #define DEFINE_DOCUMENT_CASTS_WITH_FUNCTION(thisType) \
tkent 2013/12/09 00:17:27 This is inconsistent with others. * We usually na
gyuyoung-inactive 2013/12/09 03:58:09 Fixed.
1350 DEFINE_TYPE_CASTS(thisType, Document, document, document->is##thisType(), do cument.is##thisType())
1351
1349 // All these varations are needed to avoid ambiguous overloads with the Node and TreeScope versions. 1352 // All these varations are needed to avoid ambiguous overloads with the Node and TreeScope versions.
1350 inline bool operator==(const Document& a, const Document& b) { return &a == &b; } 1353 inline bool operator==(const Document& a, const Document& b) { return &a == &b; }
1351 inline bool operator==(const Document& a, const Document* b) { return &a == b; } 1354 inline bool operator==(const Document& a, const Document* b) { return &a == b; }
1352 inline bool operator==(const Document* a, const Document& b) { return a == &b; } 1355 inline bool operator==(const Document* a, const Document& b) { return a == &b; }
1353 inline bool operator!=(const Document& a, const Document& b) { return !(a == b); } 1356 inline bool operator!=(const Document& a, const Document& b) { return !(a == b); }
1354 inline bool operator!=(const Document& a, const Document* b) { return !(a == b); } 1357 inline bool operator!=(const Document& a, const Document* b) { return !(a == b); }
1355 inline bool operator!=(const Document* a, const Document& b) { return !(a == b); } 1358 inline bool operator!=(const Document* a, const Document& b) { return !(a == b); }
1356 1359
1357 // Put these methods here, because they require the Document definition, but we really want to inline them. 1360 // Put these methods here, because they require the Document definition, but we really want to inline them.
1358 1361
1359 inline bool Node::isDocumentNode() const 1362 inline bool Node::isDocumentNode() const
1360 { 1363 {
1361 return this == documentInternal(); 1364 return this == documentInternal();
1362 } 1365 }
1363 1366
1364 Node* eventTargetNodeForDocument(Document*); 1367 Node* eventTargetNodeForDocument(Document*);
1365 1368
1366 } // namespace WebCore 1369 } // namespace WebCore
1367 1370
1368 #endif // Document_h 1371 #endif // Document_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/html/HTMLDocument.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698