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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLSlotElement.h

Issue 2842263004: Fix assignedNodes({flatten:true}) to return fallback content in document tree (Closed)
Patch Set: tentative Created 3 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2015 Google Inc. All rights reserved. 2 * Copyright (C) 2015 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 27 matching lines...) Expand all
38 38
39 class AssignedNodesOptions; 39 class AssignedNodesOptions;
40 40
41 class CORE_EXPORT HTMLSlotElement final : public HTMLElement { 41 class CORE_EXPORT HTMLSlotElement final : public HTMLElement {
42 DEFINE_WRAPPERTYPEINFO(); 42 DEFINE_WRAPPERTYPEINFO();
43 43
44 public: 44 public:
45 DECLARE_NODE_FACTORY(HTMLSlotElement); 45 DECLARE_NODE_FACTORY(HTMLSlotElement);
46 46
47 const HeapVector<Member<Node>>& AssignedNodes(); 47 const HeapVector<Member<Node>>& AssignedNodes();
48 const HeapVector<Member<Node>>& GetDistributedNodes();
49 const HeapVector<Member<Node>> GetDistributedNodesForBinding();
50 const HeapVector<Member<Node>> assignedNodesForBinding( 48 const HeapVector<Member<Node>> assignedNodesForBinding(
51 const AssignedNodesOptions&); 49 const AssignedNodesOptions&);
50 const HeapVector<Member<Node>> GetDistributedNodes() const;
52 51
53 Node* FirstDistributedNode() const { 52 Node* FirstDistributedNode() const {
54 DCHECK(SupportsDistribution()); 53 DCHECK(SupportsDistribution());
55 return distributed_nodes_.IsEmpty() ? nullptr 54 return distributed_nodes_.IsEmpty() ? nullptr
56 : distributed_nodes_.front().Get(); 55 : distributed_nodes_.front().Get();
57 } 56 }
58 Node* LastDistributedNode() const { 57 Node* LastDistributedNode() const {
59 DCHECK(SupportsDistribution()); 58 DCHECK(SupportsDistribution());
60 return distributed_nodes_.IsEmpty() ? nullptr 59 return distributed_nodes_.IsEmpty() ? nullptr
61 : distributed_nodes_.back().Get(); 60 : distributed_nodes_.back().Get();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 100
102 DECLARE_VIRTUAL_TRACE(); 101 DECLARE_VIRTUAL_TRACE();
103 102
104 private: 103 private:
105 HTMLSlotElement(Document&); 104 HTMLSlotElement(Document&);
106 105
107 InsertionNotificationRequest InsertedInto(ContainerNode*) final; 106 InsertionNotificationRequest InsertedInto(ContainerNode*) final;
108 void RemovedFrom(ContainerNode*) final; 107 void RemovedFrom(ContainerNode*) final;
109 void WillRecalcStyle(StyleRecalcChange) final; 108 void WillRecalcStyle(StyleRecalcChange) final;
110 109
110 const HeapVector<Member<Node>> GetFallbackContent() const;
111
111 void EnqueueSlotChangeEvent(); 112 void EnqueueSlotChangeEvent();
112 113
113 HeapVector<Member<Node>> assigned_nodes_; 114 HeapVector<Member<Node>> assigned_nodes_;
114 HeapVector<Member<Node>> distributed_nodes_; 115 HeapVector<Member<Node>> distributed_nodes_;
115 HeapVector<Member<Node>> old_distributed_nodes_; 116 HeapVector<Member<Node>> old_distributed_nodes_;
116 HeapHashMap<Member<const Node>, size_t> distributed_indices_; 117 HeapHashMap<Member<const Node>, size_t> distributed_indices_;
117 bool slotchange_event_enqueued_ = false; 118 bool slotchange_event_enqueued_ = false;
118 }; 119 };
119 120
120 } // namespace blink 121 } // namespace blink
121 122
122 #endif // HTMLSlotElement_h 123 #endif // HTMLSlotElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698