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

Unified Diff: Source/core/dom/Document.h

Issue 235113002: Oilpan: Remove guardRef and guardDeref from TreeScope. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address comments. Created 6 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/dom/Document.h
diff --git a/Source/core/dom/Document.h b/Source/core/dom/Document.h
index 40c837de1e9afd6e835a0cd728bb3edecba8ba87..44f459e1064fe481451bc8f7d279fa3fedc216b4 100644
--- a/Source/core/dom/Document.h
+++ b/Source/core/dom/Document.h
@@ -215,7 +215,7 @@ typedef unsigned char DocumentClassFlags;
class Document;
-class DocumentVisibilityObserver {
+class DocumentVisibilityObserver : public WillBeGarbageCollectedMixin {
public:
DocumentVisibilityObserver(Document&);
virtual ~DocumentVisibilityObserver();
@@ -859,7 +859,7 @@ public:
void cancelFocusAppearanceUpdate();
// Extension for manipulating canvas drawing contexts for use in CSS
- void getCSSCanvasContext(const String& type, const String& name, int width, int height, bool&, RefPtr<CanvasRenderingContext2D>&, bool&, RefPtr<WebGLRenderingContext>&);
+ void getCSSCanvasContext(const String& type, const String& name, int width, int height, bool&, RefPtrWillBeRawPtr<CanvasRenderingContext2D>&, bool&, RefPtrWillBeRawPtr<WebGLRenderingContext>&);
HTMLCanvasElement& getCSSCanvasElement(const String& name);
bool isDNSPrefetchEnabled() const { return m_isDNSPrefetchEnabled; }
@@ -941,7 +941,8 @@ public:
// Used to allow element that loads data without going through a FrameLoader to delay the 'load' event.
void incrementLoadEventDelayCount() { ++m_loadEventDelayCount; }
void decrementLoadEventDelayCount();
- bool isDelayingLoadEvent() const { return m_loadEventDelayCount; }
+ void checkLoadEventSoon();
+ bool isDelayingLoadEvent();
void loadPluginsSoon();
PassRefPtrWillBeRawPtr<Touch> createTouch(DOMWindow*, EventTarget*, int identifier, int pageX, int pageY, int screenX, int screenY, int radiusX, int radiusY, float rotationAngle, float force) const;
@@ -1110,6 +1111,8 @@ private:
void detachParser();
+ void clearWeakMembers(Visitor*);
+
virtual bool isDocument() const OVERRIDE FINAL { return true; }
virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0) OVERRIDE;
@@ -1235,7 +1238,7 @@ private:
MutationObserverOptions m_mutationObserverTypes;
OwnPtrWillBePersistent<StyleEngine> m_styleEngine;
- RefPtrWillBePersistent<StyleSheetList> m_styleSheetList;
+ RefPtrWillBeMember<StyleSheetList> m_styleSheetList;
OwnPtr<FormController> m_formController;
@@ -1376,7 +1379,8 @@ private:
bool m_hasViewportUnits;
- HashSet<DocumentVisibilityObserver*> m_visibilityObservers;
+ typedef WillBeHeapHashSet<RawPtrWillBeWeakMember<DocumentVisibilityObserver> > DocumentVisibilityObserverSet;
+ DocumentVisibilityObserverSet m_visibilityObservers;
};
inline void Document::notifyRemovePendingSheetIfNeeded()

Powered by Google App Engine
This is Rietveld 408576698