Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/dom/base/nsIContentInlines.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef nsIContentInlines_h
8
#define nsIContentInlines_h
9
10
#include "nsIContent.h"
11
#include "nsIDocument.h"
12
#include "nsBindingManager.h"
13
#include "nsContentUtils.h"
14
#include "nsAtom.h"
15
#include "nsIFrame.h"
16
#include "mozilla/dom/Element.h"
17
#include "mozilla/dom/HTMLSlotElement.h"
18
#include "mozilla/dom/ShadowRoot.h"
19
20
inline bool
21
nsIContent::IsInHTMLDocument() const
22
0
{
23
0
  return OwnerDoc()->IsHTMLDocument();
24
0
}
25
26
inline bool
27
nsIContent::IsInChromeDocument() const
28
0
{
29
0
  return nsContentUtils::IsChromeDoc(OwnerDoc());
30
0
}
31
32
inline void
33
nsIContent::SetPrimaryFrame(nsIFrame* aFrame)
34
0
{
35
0
  MOZ_ASSERT(IsInUncomposedDoc() || IsInShadowTree(), "This will end badly!");
36
0
37
0
  // FIXME bug 749326
38
0
  NS_ASSERTION(!aFrame || !mPrimaryFrame || aFrame == mPrimaryFrame,
39
0
               "Losing track of existing primary frame");
40
0
41
0
  if (aFrame) {
42
0
    if (MOZ_LIKELY(!IsHTMLElement(nsGkAtoms::area)) ||
43
0
        aFrame->GetContent() == this) {
44
0
      aFrame->SetIsPrimaryFrame(true);
45
0
    }
46
0
  } else if (nsIFrame* currentPrimaryFrame = GetPrimaryFrame()) {
47
0
    if (MOZ_LIKELY(!IsHTMLElement(nsGkAtoms::area)) ||
48
0
        currentPrimaryFrame->GetContent() == this) {
49
0
      currentPrimaryFrame->SetIsPrimaryFrame(false);
50
0
    }
51
0
  }
52
0
53
0
  mPrimaryFrame = aFrame;
54
0
}
55
56
inline mozilla::dom::ShadowRoot* nsIContent::GetShadowRoot() const
57
{
58
  if (!IsElement()) {
59
    return nullptr;
60
  }
61
62
  return AsElement()->GetShadowRoot();
63
}
64
65
template<nsINode::FlattenedParentType aType>
66
static inline nsINode*
67
GetFlattenedTreeParentNode(const nsINode* aNode)
68
0
{
69
0
  if (!aNode->IsContent()) {
70
0
    return nullptr;
71
0
  }
72
0
73
0
  nsINode* parent = aNode->GetParentNode();
74
0
  if (!parent || !parent->IsContent()) {
75
0
    return parent;
76
0
  }
77
0
78
0
  const nsIContent* content = aNode->AsContent();
79
0
  nsIContent* parentAsContent = parent->AsContent();
80
0
81
0
  if (aType == nsINode::eForStyle &&
82
0
      content->IsRootOfNativeAnonymousSubtree() &&
83
0
      parentAsContent == content->OwnerDoc()->GetRootElement()) {
84
0
    const bool docLevel =
85
0
      content->GetProperty(nsGkAtoms::docLevelNativeAnonymousContent);
86
0
    return docLevel ? content->OwnerDocAsNode() : parent;
87
0
  }
88
0
89
0
  if (content->IsRootOfAnonymousSubtree()) {
90
0
    return parent;
91
0
  }
92
0
93
0
  if (parentAsContent->GetShadowRoot()) {
94
0
    // If it's not assigned to any slot it's not part of the flat tree, and thus
95
0
    // we return null.
96
0
    return content->GetAssignedSlot();
97
0
  }
98
0
99
0
  if (parentAsContent->IsInShadowTree()) {
100
0
    if (auto* slot = mozilla::dom::HTMLSlotElement::FromNode(parentAsContent)) {
101
0
      // If the assigned nodes list is empty, we're fallback content which is
102
0
      // active, otherwise we are not part of the flat tree.
103
0
      return slot->AssignedNodes().IsEmpty()
104
0
        ? parent
105
0
        : nullptr;
106
0
    }
107
0
108
0
    if (auto* shadowRoot = mozilla::dom::ShadowRoot::FromNode(parentAsContent)) {
109
0
      return shadowRoot->GetHost();
110
0
    }
111
0
  }
112
0
113
0
  if (content->HasFlag(NODE_MAY_BE_IN_BINDING_MNGR) ||
114
0
      parent->HasFlag(NODE_MAY_BE_IN_BINDING_MNGR)) {
115
0
    if (nsIContent* xblInsertionPoint = content->GetXBLInsertionPoint()) {
116
0
      return xblInsertionPoint->GetParent();
117
0
    }
118
0
119
0
    if (parent->OwnerDoc()->BindingManager()->GetBindingWithContent(parentAsContent)) {
120
0
      // This is an unassigned node child of the bound element, so it isn't part
121
0
      // of the flat tree.
122
0
      return nullptr;
123
0
    }
124
0
  }
125
0
126
0
  MOZ_ASSERT(!parentAsContent->IsActiveChildrenElement(),
127
0
             "<xbl:children> isn't in the flattened tree");
128
0
129
0
  // Common case.
130
0
  return parent;
131
0
}
Unexecuted instantiation: Unified_cpp_image1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_image1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: nsContentUtils.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: nsContentUtils.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: nsObjectLoadingContent.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: nsObjectLoadingContent.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base6.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base6.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base8.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base8.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base9.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_base9.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: UnifiedBindings16.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: UnifiedBindings16.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: UnifiedBindings18.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: UnifiedBindings18.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: UnifiedBindings4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: UnifiedBindings4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: UnifiedBindings7.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: UnifiedBindings7.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: UnifiedBindings8.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: UnifiedBindings8.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: EventStateManager.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: EventStateManager.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_events1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_events1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_events2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_events2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html3.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html3.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html5.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html5.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html_input0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_html_input0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg4.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg6.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg6.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg7.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg7.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg8.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_svg8.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_ipc1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_ipc1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xbl0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xbl0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xbl1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xbl1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xml0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xml0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xml0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xml0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_webbrowserpersist0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_webbrowserpersist0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_widget1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_widget1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_composer0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_editor_composer0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_style1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_style1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_style2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_style2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_style3.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_style3.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_base1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_base1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic3.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_generic3.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_forms0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_forms0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_forms1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_forms1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_tables0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_tables0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_svg0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_svg0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_svg1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_svg1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_svg2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_svg2.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_xul_tree0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_xul_tree0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_inspector0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_inspector0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_painting0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_painting0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_build0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_layout_build0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_docshell_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_docshell_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_docshell_shistory0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_docshell_shistory0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_base0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_base1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_base1.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_generic0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_generic0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_xul0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_accessible_xul0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
Unexecuted instantiation: Unified_cpp_spellcheck_src0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)0>(nsINode const*)
Unexecuted instantiation: Unified_cpp_spellcheck_src0.cpp:nsINode* GetFlattenedTreeParentNode<(nsINode::FlattenedParentType)1>(nsINode const*)
132
133
inline nsINode*
134
nsINode::GetFlattenedTreeParentNode() const
135
0
{
136
0
  return ::GetFlattenedTreeParentNode<nsINode::eNotForStyle>(this);
137
0
}
138
139
inline nsIContent*
140
nsIContent::GetFlattenedTreeParent() const
141
0
{
142
0
  nsINode* parent = GetFlattenedTreeParentNode();
143
0
  return (parent && parent->IsContent()) ? parent->AsContent() : nullptr;
144
0
}
145
146
inline bool
147
nsIContent::IsEventAttributeName(nsAtom* aName)
148
0
{
149
0
  const char16_t* name = aName->GetUTF16String();
150
0
  if (name[0] != 'o' || name[1] != 'n') {
151
0
    return false;
152
0
  }
153
0
154
0
  return IsEventAttributeNameInternal(aName);
155
0
}
156
157
inline nsINode*
158
nsINode::GetFlattenedTreeParentNodeForStyle() const
159
0
{
160
0
  return ::GetFlattenedTreeParentNode<nsINode::eForStyle>(this);
161
0
}
162
163
inline bool
164
nsINode::NodeOrAncestorHasDirAuto() const
165
0
{
166
0
  return AncestorHasDirAuto() || (IsElement() && AsElement()->HasDirAuto());
167
0
}
168
169
inline bool
170
nsINode::IsEditable() const
171
{
172
  if (HasFlag(NODE_IS_EDITABLE)) {
173
    // The node is in an editable contentEditable subtree.
174
    return true;
175
  }
176
177
  nsIDocument* doc = GetUncomposedDoc();
178
179
  // Check if the node is in a document and the document is in designMode.
180
  return doc && doc->HasFlag(NODE_IS_EDITABLE);
181
}
182
183
inline bool
184
nsIContent::IsActiveChildrenElement() const
185
0
{
186
0
  if (!mNodeInfo->Equals(nsGkAtoms::children, kNameSpaceID_XBL)) {
187
0
    return false;
188
0
  }
189
0
190
0
  nsIContent* bindingParent = GetBindingParent();
191
0
  if (!bindingParent) {
192
0
    return false;
193
0
  }
194
0
195
0
  // We reuse the binding parent machinery for Shadow DOM too, so prevent that
196
0
  // from getting us confused in this case.
197
0
  return !bindingParent->GetShadowRoot();
198
0
}
199
200
inline bool
201
nsIContent::IsInAnonymousSubtree() const
202
{
203
  NS_ASSERTION(!IsInNativeAnonymousSubtree() || GetBindingParent() ||
204
               (!IsInUncomposedDoc() &&
205
                static_cast<nsIContent*>(SubtreeRoot())->IsInNativeAnonymousSubtree()),
206
               "Must have binding parent when in native anonymous subtree which is in document.\n"
207
               "Native anonymous subtree which is not in document must have native anonymous root.");
208
209
  if (IsInNativeAnonymousSubtree()) {
210
    return true;
211
  }
212
213
  nsIContent* bindingParent = GetBindingParent();
214
  if (!bindingParent) {
215
    return false;
216
  }
217
218
  // We reuse the binding parent machinery for Shadow DOM too, so prevent that
219
  // from getting us confused in this case.
220
  return !bindingParent->GetShadowRoot();
221
}
222
223
#endif // nsIContentInlines_h