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

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

Issue 2821193003: Store nonAttachedStyle on NodeLayoutData instead of on HashMap in Document. (Closed)
Patch Set: Add DCHECK and assign nullptr in constructor Created 3 years, 8 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) 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 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 Element* createElement(const QualifiedName&, CreateElementFlags); 338 Element* createElement(const QualifiedName&, CreateElementFlags);
339 339
340 Element* ElementFromPoint(int x, int y) const; 340 Element* ElementFromPoint(int x, int y) const;
341 HeapVector<Member<Element>> ElementsFromPoint(int x, int y) const; 341 HeapVector<Member<Element>> ElementsFromPoint(int x, int y) const;
342 Range* caretRangeFromPoint(int x, int y); 342 Range* caretRangeFromPoint(int x, int y);
343 Element* scrollingElement(); 343 Element* scrollingElement();
344 // When calling from C++ code, use this method. scrollingElement() is 344 // When calling from C++ code, use this method. scrollingElement() is
345 // just for the web IDL implementation. 345 // just for the web IDL implementation.
346 Element* ScrollingElementNoLayout(); 346 Element* ScrollingElementNoLayout();
347 347
348 void AddNonAttachedStyle(const Node&, RefPtr<ComputedStyle>);
349 ComputedStyle* GetNonAttachedStyle(const Node&) const;
350
351 String readyState() const; 348 String readyState() const;
352 349
353 AtomicString characterSet() const { return Document::EncodingName(); } 350 AtomicString characterSet() const { return Document::EncodingName(); }
354 351
355 AtomicString EncodingName() const; 352 AtomicString EncodingName() const;
356 353
357 void SetContent(const String&); 354 void SetContent(const String&);
358 355
359 String SuggestedMIMEType() const; 356 String SuggestedMIMEType() const;
360 void SetMimeType(const AtomicString&); 357 void SetMimeType(const AtomicString&);
(...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after
1442 PendingSheetLayout pending_sheet_layout_; 1439 PendingSheetLayout pending_sheet_layout_;
1443 1440
1444 Member<LocalFrame> frame_; 1441 Member<LocalFrame> frame_;
1445 Member<LocalDOMWindow> dom_window_; 1442 Member<LocalDOMWindow> dom_window_;
1446 TraceWrapperMember<HTMLImportsController> imports_controller_; 1443 TraceWrapperMember<HTMLImportsController> imports_controller_;
1447 1444
1448 Member<ResourceFetcher> fetcher_; 1445 Member<ResourceFetcher> fetcher_;
1449 Member<DocumentParser> parser_; 1446 Member<DocumentParser> parser_;
1450 Member<ContextFeatures> context_features_; 1447 Member<ContextFeatures> context_features_;
1451 1448
1452 // This HashMap is used to temporaily store the ComputedStyle generated in the
1453 // Style Resolution phase which is used in the Layout Tree construction phase.
1454 HeapHashMap<Member<const Node>, RefPtr<ComputedStyle>> non_attached_style_;
1455
1456 bool well_formed_; 1449 bool well_formed_;
1457 1450
1458 // Document URLs. 1451 // Document URLs.
1459 KURL url_; // Document.URL: The URL from which this document was retrieved. 1452 KURL url_; // Document.URL: The URL from which this document was retrieved.
1460 KURL base_url_; // Node.baseURI: The URL to use when resolving relative URLs. 1453 KURL base_url_; // Node.baseURI: The URL to use when resolving relative URLs.
1461 KURL 1454 KURL
1462 base_url_override_; // An alternative base URL that takes precedence over 1455 base_url_override_; // An alternative base URL that takes precedence over
1463 // m_baseURL (but not m_baseElementURL). 1456 // m_baseURL (but not m_baseElementURL).
1464 KURL base_element_url_; // The URL set by the <base> element. 1457 KURL base_element_url_; // The URL set by the <base> element.
1465 KURL cookie_url_; // The URL to use for cookie access. 1458 KURL cookie_url_; // The URL to use for cookie access.
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
1725 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true); 1718 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true);
1726 1719
1727 } // namespace blink 1720 } // namespace blink
1728 1721
1729 #ifndef NDEBUG 1722 #ifndef NDEBUG
1730 // Outside the WebCore namespace for ease of invocation from gdb. 1723 // Outside the WebCore namespace for ease of invocation from gdb.
1731 CORE_EXPORT void showLiveDocumentInstances(); 1724 CORE_EXPORT void showLiveDocumentInstances();
1732 #endif 1725 #endif
1733 1726
1734 #endif // Document_h 1727 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698