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

Side by Side Diff: sky/engine/core/dom/Document.h

Issue 774953002: Always Reconstruct when stylesheets change. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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
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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 class Text; 122 class Text;
123 class Touch; 123 class Touch;
124 class TouchList; 124 class TouchList;
125 class WebGLRenderingContext; 125 class WebGLRenderingContext;
126 126
127 struct AnnotatedRegionValue; 127 struct AnnotatedRegionValue;
128 128
129 typedef EventWithHitTestResults<PlatformMouseEvent> MouseEventWithHitTestResults ; 129 typedef EventWithHitTestResults<PlatformMouseEvent> MouseEventWithHitTestResults ;
130 typedef int ExceptionCode; 130 typedef int ExceptionCode;
131 131
132 enum StyleResolverUpdateMode {
133 // Discards the StyleResolver and rebuilds it.
134 FullStyleUpdate,
135 // Attempts to use StyleInvalidationAnalysis to avoid discarding the entire StyleResolver.
136 AnalyzedStyleUpdate
137 };
138
139 enum DocumentClass { 132 enum DocumentClass {
140 DefaultDocumentClass = 0, 133 DefaultDocumentClass = 0,
141 HTMLDocumentClass = 1, 134 HTMLDocumentClass = 1,
142 MediaDocumentClass = 1 << 4, 135 MediaDocumentClass = 1 << 4,
143 }; 136 };
144 137
145 typedef unsigned char DocumentClassFlags; 138 typedef unsigned char DocumentClassFlags;
146 139
147 class Document; 140 class Document;
148 141
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 233
241 bool isRenderingReady() const { return haveImportsLoaded(); } 234 bool isRenderingReady() const { return haveImportsLoaded(); }
242 bool isScriptExecutionReady() const { return isRenderingReady(); } 235 bool isScriptExecutionReady() const { return isRenderingReady(); }
243 236
244 // This is a DOM function. 237 // This is a DOM function.
245 StyleSheetList* styleSheets(); 238 StyleSheetList* styleSheets();
246 239
247 StyleEngine* styleEngine() { return m_styleEngine.get(); } 240 StyleEngine* styleEngine() { return m_styleEngine.get(); }
248 241
249 // Called when one or more stylesheets in the document may have been added, removed, or changed. 242 // Called when one or more stylesheets in the document may have been added, removed, or changed.
250 void styleResolverChanged(StyleResolverUpdateMode = FullStyleUpdate); 243 void styleResolverChanged();
251 void styleResolverMayHaveChanged();
252 244
253 // FIXME: Switch all callers of styleResolverChanged to these or better ones and then make them 245 // FIXME: Switch all callers of styleResolverChanged to these or better ones and then make them
254 // do something smarter. 246 // do something smarter.
255 void removedStyleSheet(StyleSheet*, StyleResolverUpdateMode = FullStyleUpdat e); 247 void removedStyleSheet(StyleSheet*);
256 void addedStyleSheet(StyleSheet*) { styleResolverChanged(); } 248 void addedStyleSheet(StyleSheet*) { styleResolverChanged(); }
257 void modifiedStyleSheet(StyleSheet*, StyleResolverUpdateMode = FullStyleUpda te); 249 void modifiedStyleSheet(StyleSheet*);
258 void changedSelectorWatch() { styleResolverChanged(); }
259 250
260 void evaluateMediaQueryList(); 251 void evaluateMediaQueryList();
261 252
262 void setStateForNewFormElements(const Vector<String>&); 253 void setStateForNewFormElements(const Vector<String>&);
263 254
264 FrameView* view() const; // can be null 255 FrameView* view() const; // can be null
265 LocalFrame* frame() const { return m_frame; } // can be null 256 LocalFrame* frame() const { return m_frame; } // can be null
266 FrameHost* frameHost() const; // can be null 257 FrameHost* frameHost() const; // can be null
267 Page* page() const; // can be null 258 Page* page() const; // can be null
268 Settings* settings() const; // can be null 259 Settings* settings() const; // can be null
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 Node* eventTargetNodeForDocument(Document*); 823 Node* eventTargetNodeForDocument(Document*);
833 824
834 } // namespace blink 825 } // namespace blink
835 826
836 #ifndef NDEBUG 827 #ifndef NDEBUG
837 // Outside the WebCore namespace for ease of invocation from gdb. 828 // Outside the WebCore namespace for ease of invocation from gdb.
838 void showLiveDocumentInstances(); 829 void showLiveDocumentInstances();
839 #endif 830 #endif
840 831
841 #endif // SKY_ENGINE_CORE_DOM_DOCUMENT_H_ 832 #endif // SKY_ENGINE_CORE_DOM_DOCUMENT_H_
OLDNEW
« no previous file with comments | « sky/engine/core/css/invalidation/StyleSheetInvalidationAnalysis.cpp ('k') | sky/engine/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698