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

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

Issue 2476163002: Fixed perf regression by removing tree traversal for text sibling. (Closed)
Patch Set: Rebased Created 4 years, 1 month 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) 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 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All
7 * rights reserved. 7 * rights reserved.
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
9 * (http://www.torchmobile.com/) 9 * (http://www.torchmobile.com/)
10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 23 matching lines...) Expand all
34 #include "bindings/core/v8/ScriptValue.h" 34 #include "bindings/core/v8/ScriptValue.h"
35 #include "bindings/core/v8/TraceWrapperMember.h" 35 #include "bindings/core/v8/TraceWrapperMember.h"
36 #include "core/CoreExport.h" 36 #include "core/CoreExport.h"
37 #include "core/dom/ContainerNode.h" 37 #include "core/dom/ContainerNode.h"
38 #include "core/dom/DocumentEncodingData.h" 38 #include "core/dom/DocumentEncodingData.h"
39 #include "core/dom/DocumentInit.h" 39 #include "core/dom/DocumentInit.h"
40 #include "core/dom/DocumentLifecycle.h" 40 #include "core/dom/DocumentLifecycle.h"
41 #include "core/dom/DocumentTiming.h" 41 #include "core/dom/DocumentTiming.h"
42 #include "core/dom/ExecutionContext.h" 42 #include "core/dom/ExecutionContext.h"
43 #include "core/dom/MutationObserver.h" 43 #include "core/dom/MutationObserver.h"
44 #include "core/dom/StyleReattachData.h"
44 #include "core/dom/SynchronousMutationNotifier.h" 45 #include "core/dom/SynchronousMutationNotifier.h"
45 #include "core/dom/SynchronousMutationObserver.h" 46 #include "core/dom/SynchronousMutationObserver.h"
47 #include "core/dom/Text.h"
46 #include "core/dom/TextLinkColors.h" 48 #include "core/dom/TextLinkColors.h"
47 #include "core/dom/TreeScope.h" 49 #include "core/dom/TreeScope.h"
48 #include "core/dom/UserActionElementSet.h" 50 #include "core/dom/UserActionElementSet.h"
49 #include "core/dom/ViewportDescription.h" 51 #include "core/dom/ViewportDescription.h"
50 #include "core/dom/custom/V0CustomElement.h" 52 #include "core/dom/custom/V0CustomElement.h"
51 #include "core/fetch/ClientHintsPreferences.h" 53 #include "core/fetch/ClientHintsPreferences.h"
52 #include "core/frame/DOMTimerCoordinator.h" 54 #include "core/frame/DOMTimerCoordinator.h"
53 #include "core/frame/HostsUsingFeatures.h" 55 #include "core/frame/HostsUsingFeatures.h"
54 #include "core/html/parser/ParserSynchronizationPolicy.h" 56 #include "core/html/parser/ParserSynchronizationPolicy.h"
55 #include "core/page/PageVisibilityState.h" 57 #include "core/page/PageVisibilityState.h"
58 #include "core/style/ComputedStyle.h"
56 #include "platform/Length.h" 59 #include "platform/Length.h"
57 #include "platform/Timer.h" 60 #include "platform/Timer.h"
58 #include "platform/weborigin/KURL.h" 61 #include "platform/weborigin/KURL.h"
59 #include "platform/weborigin/ReferrerPolicy.h" 62 #include "platform/weborigin/ReferrerPolicy.h"
60 #include "public/platform/WebFocusType.h" 63 #include "public/platform/WebFocusType.h"
61 #include "public/platform/WebInsecureRequestPolicy.h" 64 #include "public/platform/WebInsecureRequestPolicy.h"
62 #include "wtf/HashSet.h" 65 #include "wtf/HashSet.h"
63 #include "wtf/PassRefPtr.h" 66 #include "wtf/PassRefPtr.h"
64 #include <memory> 67 #include <memory>
65 68
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 class SecurityOrigin; 157 class SecurityOrigin;
155 class SegmentedString; 158 class SegmentedString;
156 class SelectorQueryCache; 159 class SelectorQueryCache;
157 class SerializedScriptValue; 160 class SerializedScriptValue;
158 class Settings; 161 class Settings;
159 class SnapCoordinator; 162 class SnapCoordinator;
160 class StringOrDictionary; 163 class StringOrDictionary;
161 class StyleEngine; 164 class StyleEngine;
162 class StyleResolver; 165 class StyleResolver;
163 class StyleSheetList; 166 class StyleSheetList;
164 class Text;
165 class TextAutosizer; 167 class TextAutosizer;
166 class Touch; 168 class Touch;
167 class TouchList; 169 class TouchList;
168 class TransformSource; 170 class TransformSource;
169 class TreeWalker; 171 class TreeWalker;
170 class VisitedLinkState; 172 class VisitedLinkState;
171 enum class SelectionBehaviorOnFocus; 173 enum class SelectionBehaviorOnFocus;
172 struct AnnotatedRegionValue; 174 struct AnnotatedRegionValue;
173 struct FocusParams; 175 struct FocusParams;
174 struct IconURL; 176 struct IconURL;
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 Element* createElementNS(const AtomicString& namespaceURI, 343 Element* createElementNS(const AtomicString& namespaceURI,
342 const AtomicString& qualifiedName, 344 const AtomicString& qualifiedName,
343 ExceptionState&); 345 ExceptionState&);
344 Element* createElement(const QualifiedName&, CreateElementFlags); 346 Element* createElement(const QualifiedName&, CreateElementFlags);
345 347
346 Element* elementFromPoint(int x, int y) const; 348 Element* elementFromPoint(int x, int y) const;
347 HeapVector<Member<Element>> elementsFromPoint(int x, int y) const; 349 HeapVector<Member<Element>> elementsFromPoint(int x, int y) const;
348 Range* caretRangeFromPoint(int x, int y); 350 Range* caretRangeFromPoint(int x, int y);
349 Element* scrollingElement(); 351 Element* scrollingElement();
350 352
351 void addNonAttachedStyle(Element&, RefPtr<ComputedStyle>); 353 void addStyleReattachData(Element&, StyleReattachData&);
352 ComputedStyle* getNonAttachedStyle(Element&); 354 StyleReattachData getStyleReattachData(Element&);
353 355
354 String readyState() const; 356 String readyState() const;
355 357
356 AtomicString characterSet() const { return Document::encodingName(); } 358 AtomicString characterSet() const { return Document::encodingName(); }
357 359
358 AtomicString encodingName() const; 360 AtomicString encodingName() const;
359 361
360 void setContent(const String&); 362 void setContent(const String&);
361 363
362 String suggestedMIMEType() const; 364 String suggestedMIMEType() const;
(...skipping 1073 matching lines...) Expand 10 before | Expand all | Expand 10 after
1436 PendingSheetLayout m_pendingSheetLayout; 1438 PendingSheetLayout m_pendingSheetLayout;
1437 1439
1438 Member<LocalFrame> m_frame; 1440 Member<LocalFrame> m_frame;
1439 Member<LocalDOMWindow> m_domWindow; 1441 Member<LocalDOMWindow> m_domWindow;
1440 TraceWrapperMember<HTMLImportsController> m_importsController; 1442 TraceWrapperMember<HTMLImportsController> m_importsController;
1441 1443
1442 Member<ResourceFetcher> m_fetcher; 1444 Member<ResourceFetcher> m_fetcher;
1443 Member<DocumentParser> m_parser; 1445 Member<DocumentParser> m_parser;
1444 Member<ContextFeatures> m_contextFeatures; 1446 Member<ContextFeatures> m_contextFeatures;
1445 1447
1446 HeapHashMap<Member<Element>, RefPtr<ComputedStyle>> m_nonAttachedStyle; 1448 HeapHashMap<Member<Element>, StyleReattachData> m_styleReattachDataMap;
1447 1449
1448 bool m_wellFormed; 1450 bool m_wellFormed;
1449 1451
1450 // Document URLs. 1452 // Document URLs.
1451 KURL m_url; // Document.URL: The URL from which this document was retrieved. 1453 KURL m_url; // Document.URL: The URL from which this document was retrieved.
1452 KURL m_baseURL; // Node.baseURI: The URL to use when resolving relative URLs. 1454 KURL m_baseURL; // Node.baseURI: The URL to use when resolving relative URLs.
1453 KURL m_baseURLOverride; // An alternative base URL that takes precedence over 1455 KURL m_baseURLOverride; // An alternative base URL that takes precedence over
1454 // m_baseURL (but not m_baseElementURL). 1456 // m_baseURL (but not m_baseElementURL).
1455 KURL m_baseElementURL; // The URL set by the <base> element. 1457 KURL m_baseElementURL; // The URL set by the <base> element.
1456 KURL m_cookieURL; // The URL to use for cookie access. 1458 KURL m_cookieURL; // The URL to use for cookie access.
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
1715 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true); 1717 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true);
1716 1718
1717 } // namespace blink 1719 } // namespace blink
1718 1720
1719 #ifndef NDEBUG 1721 #ifndef NDEBUG
1720 // Outside the WebCore namespace for ease of invocation from gdb. 1722 // Outside the WebCore namespace for ease of invocation from gdb.
1721 CORE_EXPORT void showLiveDocumentInstances(); 1723 CORE_EXPORT void showLiveDocumentInstances();
1722 #endif 1724 #endif
1723 1725
1724 #endif // Document_h 1726 #endif // Document_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/ContainerNode.cpp ('k') | third_party/WebKit/Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698