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

Side by Side Diff: Source/core/inspector/InspectorTraceEvents.cpp

Issue 1317533002: Sibling invalidation sets (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 3 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "core/inspector/InspectorTraceEvents.h" 6 #include "core/inspector/InspectorTraceEvents.h"
7 7
8 #include "bindings/core/v8/ScriptCallStackFactory.h" 8 #include "bindings/core/v8/ScriptCallStackFactory.h"
9 #include "core/animation/Animation.h" 9 #include "core/animation/Animation.h"
10 #include "core/animation/KeyframeEffect.h" 10 #include "core/animation/KeyframeEffect.h"
11 #include "core/css/invalidation/DescendantInvalidationSet.h" 11 #include "core/css/invalidation/InvalidationSet.h"
12 #include "core/dom/DOMNodeIds.h" 12 #include "core/dom/DOMNodeIds.h"
13 #include "core/dom/StyleChangeReason.h" 13 #include "core/dom/StyleChangeReason.h"
14 #include "core/events/Event.h" 14 #include "core/events/Event.h"
15 #include "core/fetch/CSSStyleSheetResource.h" 15 #include "core/fetch/CSSStyleSheetResource.h"
16 #include "core/frame/FrameView.h" 16 #include "core/frame/FrameView.h"
17 #include "core/frame/LocalFrame.h" 17 #include "core/frame/LocalFrame.h"
18 #include "core/inspector/IdentifiersFactory.h" 18 #include "core/inspector/IdentifiersFactory.h"
19 #include "core/inspector/ScriptCallStack.h" 19 #include "core/inspector/ScriptCallStack.h"
20 #include "core/layout/HitTestResult.h" 20 #include "core/layout/HitTestResult.h"
21 #include "core/layout/LayoutImage.h" 21 #include "core/layout/LayoutImage.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 DEFINE_STRING_MAPPING(PseudoListBox) 152 DEFINE_STRING_MAPPING(PseudoListBox)
153 #undef DEFINE_STRING_MAPPING 153 #undef DEFINE_STRING_MAPPING
154 } 154 }
155 155
156 ASSERT_NOT_REACHED(); 156 ASSERT_NOT_REACHED();
157 return ""; 157 return "";
158 } 158 }
159 159
160 } 160 }
161 161
162 PassRefPtr<TracedValue> InspectorScheduleStyleInvalidationTrackingEvent::fillCom monPart(Element& element, const DescendantInvalidationSet& invalidationSet, cons t char* invalidatedSelector) 162 PassRefPtr<TracedValue> InspectorScheduleStyleInvalidationTrackingEvent::fillCom monPart(Element& element, const InvalidationSet& invalidationSet, const char* in validatedSelector)
163 { 163 {
164 RefPtr<TracedValue> value = TracedValue::create(); 164 RefPtr<TracedValue> value = TracedValue::create();
165 value->setString("frame", toHexString(element.document().frame())); 165 value->setString("frame", toHexString(element.document().frame()));
166 setNodeInfo(value.get(), &element, "nodeId", "nodeName"); 166 setNodeInfo(value.get(), &element, "nodeId", "nodeName");
167 value->setString("invalidationSet", descendantInvalidationSetToIdString(inva lidationSet)); 167 value->setString("invalidationSet", descendantInvalidationSetToIdString(inva lidationSet));
168 value->setString("invalidatedSelectorId", invalidatedSelector); 168 value->setString("invalidatedSelectorId", invalidatedSelector);
169 if (RefPtrWillBeRawPtr<ScriptCallStack> stackTrace = createScriptCallStack(m axInvalidationTrackingCallstackSize, true)) 169 if (RefPtrWillBeRawPtr<ScriptCallStack> stackTrace = createScriptCallStack(m axInvalidationTrackingCallstackSize, true))
170 stackTrace->toTracedValue(value.get(), "stackTrace"); 170 stackTrace->toTracedValue(value.get(), "stackTrace");
171 return value.release(); 171 return value.release();
172 } 172 }
173 173
174 const char InspectorScheduleStyleInvalidationTrackingEvent::Attribute[] = "attri bute"; 174 const char InspectorScheduleStyleInvalidationTrackingEvent::Attribute[] = "attri bute";
175 const char InspectorScheduleStyleInvalidationTrackingEvent::Class[] = "class"; 175 const char InspectorScheduleStyleInvalidationTrackingEvent::Class[] = "class";
176 const char InspectorScheduleStyleInvalidationTrackingEvent::Id[] = "id"; 176 const char InspectorScheduleStyleInvalidationTrackingEvent::Id[] = "id";
177 const char InspectorScheduleStyleInvalidationTrackingEvent::Pseudo[] = "pseudo"; 177 const char InspectorScheduleStyleInvalidationTrackingEvent::Pseudo[] = "pseudo";
178 178
179 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::idChange(Element& element, const DescendantInvalidationSet& in validationSet, const AtomicString& id) 179 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::idChange(Element& element, const InvalidationSet& invalidation Set, const AtomicString& id)
180 { 180 {
181 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Id); 181 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Id);
182 value->setString("changedId", id); 182 value->setString("changedId", id);
183 return value.release(); 183 return value.release();
184 } 184 }
185 185
186 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::classChange(Element& element, const DescendantInvalidationSet& invalidationSet, const AtomicString& className) 186 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::classChange(Element& element, const InvalidationSet& invalidat ionSet, const AtomicString& className)
187 { 187 {
188 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Class); 188 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Class);
189 value->setString("changedClass", className); 189 value->setString("changedClass", className);
190 return value.release(); 190 return value.release();
191 } 191 }
192 192
193 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::attributeChange(Element& element, const DescendantInvalidation Set& invalidationSet, const QualifiedName& attributeName) 193 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::attributeChange(Element& element, const InvalidationSet& inval idationSet, const QualifiedName& attributeName)
194 { 194 {
195 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Attribu te); 195 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Attribu te);
196 value->setString("changedAttribute", attributeName.toString()); 196 value->setString("changedAttribute", attributeName.toString());
197 return value.release(); 197 return value.release();
198 } 198 }
199 199
200 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::pseudoChange(Element& element, const DescendantInvalidationSet & invalidationSet, CSSSelector::PseudoType pseudoType) 200 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorScheduleStyleInvalidat ionTrackingEvent::pseudoChange(Element& element, const InvalidationSet& invalida tionSet, CSSSelector::PseudoType pseudoType)
201 { 201 {
202 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Attribu te); 202 RefPtr<TracedValue> value = fillCommonPart(element, invalidationSet, Attribu te);
203 value->setString("changedPseudo", pseudoTypeToString(pseudoType)); 203 value->setString("changedPseudo", pseudoTypeToString(pseudoType));
204 return value.release(); 204 return value.release();
205 } 205 }
206 206
207 String descendantInvalidationSetToIdString(const DescendantInvalidationSet& set) 207 String descendantInvalidationSetToIdString(const InvalidationSet& set)
208 { 208 {
209 return toHexString(&set); 209 return toHexString(&set);
210 } 210 }
211 211
212 const char InspectorStyleInvalidatorInvalidateEvent::ElementHasPendingInvalidati onList[] = "Element has pending invalidation list"; 212 const char InspectorStyleInvalidatorInvalidateEvent::ElementHasPendingInvalidati onList[] = "Element has pending invalidation list";
213 const char InspectorStyleInvalidatorInvalidateEvent::InvalidateCustomPseudo[] = "Invalidate custom pseudo element"; 213 const char InspectorStyleInvalidatorInvalidateEvent::InvalidateCustomPseudo[] = "Invalidate custom pseudo element";
214 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedAttri bute[] = "Invalidation set matched attribute"; 214 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedAttri bute[] = "Invalidation set matched attribute";
215 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedClass [] = "Invalidation set matched class"; 215 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedClass [] = "Invalidation set matched class";
216 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedId[] = "Invalidation set matched id"; 216 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedId[] = "Invalidation set matched id";
217 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedTagNa me[] = "Invalidation set matched tagName"; 217 const char InspectorStyleInvalidatorInvalidateEvent::InvalidationSetMatchedTagNa me[] = "Invalidation set matched tagName";
218 const char InspectorStyleInvalidatorInvalidateEvent::PreventStyleSharingForParen t[] = "Prevent style sharing for parent"; 218 const char InspectorStyleInvalidatorInvalidateEvent::PreventStyleSharingForParen t[] = "Prevent style sharing for parent";
219 219
220 PassRefPtr<TracedValue> InspectorStyleInvalidatorInvalidateEvent::fillCommonPart (Element& element, const char* reason) 220 PassRefPtr<TracedValue> InspectorStyleInvalidatorInvalidateEvent::fillCommonPart (Element& element, const char* reason)
221 { 221 {
222 RefPtr<TracedValue> value = TracedValue::create(); 222 RefPtr<TracedValue> value = TracedValue::create();
223 value->setString("frame", toHexString(element.document().frame())); 223 value->setString("frame", toHexString(element.document().frame()));
224 setNodeInfo(value.get(), &element, "nodeId", "nodeName"); 224 setNodeInfo(value.get(), &element, "nodeId", "nodeName");
225 value->setString("reason", reason); 225 value->setString("reason", reason);
226 return value.release(); 226 return value.release();
227 } 227 }
228 228
229 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidatorInvali dateEvent::data(Element& element, const char* reason) 229 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidatorInvali dateEvent::data(Element& element, const char* reason)
230 { 230 {
231 return fillCommonPart(element, reason); 231 return fillCommonPart(element, reason);
232 } 232 }
233 233
234 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidatorInvali dateEvent::selectorPart(Element& element, const char* reason, const DescendantIn validationSet& invalidationSet, const String& selectorPart) 234 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidatorInvali dateEvent::selectorPart(Element& element, const char* reason, const Invalidation Set& invalidationSet, const String& selectorPart)
235 { 235 {
236 RefPtr<TracedValue> value = fillCommonPart(element, reason); 236 RefPtr<TracedValue> value = fillCommonPart(element, reason);
237 value->beginArray("invalidationList"); 237 value->beginArray("invalidationList");
238 invalidationSet.toTracedValue(value.get()); 238 invalidationSet.toTracedValue(value.get());
239 value->endArray(); 239 value->endArray();
240 value->setString("selectorPart", selectorPart); 240 value->setString("selectorPart", selectorPart);
241 return value.release(); 241 return value.release();
242 } 242 }
243 243
244 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidatorInvali dateEvent::invalidationList(Element& element, const WillBeHeapVector<RefPtrWillB eMember<DescendantInvalidationSet> >& invalidationList) 244 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleInvalidatorInvali dateEvent::invalidationList(Element& element, const InvalidationSetVector& inval idationList)
245 { 245 {
246 RefPtr<TracedValue> value = fillCommonPart(element, ElementHasPendingInvalid ationList); 246 RefPtr<TracedValue> value = fillCommonPart(element, ElementHasPendingInvalid ationList);
247 value->beginArray("invalidationList"); 247 value->beginArray("invalidationList");
248 for (const auto& invalidationSet : invalidationList) 248 for (const auto& invalidationSet : invalidationList)
249 invalidationSet->toTracedValue(value.get()); 249 invalidationSet->toTracedValue(value.get());
250 value->endArray(); 250 value->endArray();
251 return value.release(); 251 return value.release();
252 } 252 }
253 253
254 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleRecalcInvalidatio nTrackingEvent::data(Node* node, const StyleChangeReasonForTracing& reason) 254 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorStyleRecalcInvalidatio nTrackingEvent::data(Node* node, const StyleChangeReasonForTracing& reason)
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 if (request.move()) 772 if (request.move())
773 value->setBoolean("move", true); 773 value->setBoolean("move", true);
774 if (request.listBased()) 774 if (request.listBased())
775 value->setBoolean("listBased", true); 775 value->setBoolean("listBased", true);
776 else if (Node* node = result.innerNode()) 776 else if (Node* node = result.innerNode())
777 setNodeInfo(value.get(), node, "nodeId", "nodeName"); 777 setNodeInfo(value.get(), node, "nodeId", "nodeName");
778 return value; 778 return value;
779 } 779 }
780 780
781 } 781 }
OLDNEW
« Source/core/input/EventHandler.cpp ('K') | « Source/core/inspector/InspectorTraceEvents.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698