summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsigbjornf <sigbjornf@opera.com>2015-11-09 18:00:08 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-10 02:01:03 +0000
commit9addd2929427560195198689d1ef63193b4ad006 (patch)
tree9f43a08e0f734b608fc9871ee417d80b5004e22e
parent6d752c35ee308bc817d80a7de94a77e6cdefaa48 (diff)
downloadchromium_src-9addd2929427560195198689d1ef63193b4ad006.zip
chromium_src-9addd2929427560195198689d1ef63193b4ad006.tar.gz
chromium_src-9addd2929427560195198689d1ef63193b4ad006.tar.bz2
Oilpan: annotate weak ScrollableArea* refs with GC_PLUGIN_IGNORE()s.
ScrollAnimators keep a back reference to their owning ScrollableArea; annotate these weak references with GC_PLUGIN_IGNORE() to inform the GC plugin checks that these references have been checked & accounted for. R=haraken BUG=509911,553613 Review URL: https://codereview.chromium.org/1427973008 Cr-Commit-Position: refs/heads/master@{#358747}
-rw-r--r--third_party/WebKit/Source/platform/graphics/GraphicsLayer.h4
-rw-r--r--third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.h2
-rw-r--r--third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.h2
3 files changed, 7 insertions, 1 deletions
diff --git a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h
index 48725ea..48105ff 100644
--- a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h
+++ b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h
@@ -42,6 +42,7 @@
#include "platform/graphics/paint/CachedDisplayItem.h"
#include "platform/graphics/paint/DisplayItemClient.h"
#include "platform/graphics/paint/PaintController.h"
+#include "platform/heap/Handle.h"
#include "platform/transforms/TransformationMatrix.h"
#include "public/platform/WebCompositorAnimationDelegate.h"
#include "public/platform/WebContentLayer.h"
@@ -346,7 +347,7 @@ private:
// A layer that replicates this layer. We only allow one, for now.
// The replica is not parented; this is the primary reference to it.
- GraphicsLayer* m_replicaLayer;
+ GraphicsLayer* m_replicaLayer;
GraphicsLayer* m_replicatedLayer; // For a replica layer, a reference to the original layer.
FloatPoint m_replicatedLayerPosition; // For a replica layer, the position of the replica.
@@ -367,6 +368,7 @@ private:
OwnPtr<ContentLayerDelegate> m_contentLayerDelegate;
+ GC_PLUGIN_IGNORE("509911")
ScrollableArea* m_scrollableArea;
GraphicsLayerDebugInfo m_debugInfo;
int m_3dRenderingContext;
diff --git a/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.h b/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.h
index cb161da..ef6286a 100644
--- a/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.h
+++ b/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.h
@@ -6,6 +6,7 @@
#define ProgrammaticScrollAnimator_h
#include "platform/geometry/FloatPoint.h"
+#include "platform/heap/Handle.h"
#include "public/platform/WebCompositorAnimationDelegate.h"
#include "public/platform/WebCompositorAnimationPlayerClient.h"
#include "wtf/Allocator.h"
@@ -75,6 +76,7 @@ private:
OwnPtr<WebCompositorAnimationPlayer> m_compositorPlayer;
int m_compositorAnimationAttachedToLayerId;
+ GC_PLUGIN_IGNORE("509911")
ScrollableArea* m_scrollableArea;
OwnPtr<WebScrollOffsetAnimationCurve> m_animationCurve;
FloatPoint m_targetOffset;
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.h b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.h
index e1ab612..0917eea 100644
--- a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.h
+++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.h
@@ -34,6 +34,7 @@
#include "platform/PlatformExport.h"
#include "platform/PlatformWheelEvent.h"
#include "platform/geometry/FloatSize.h"
+#include "platform/heap/Handle.h"
#include "platform/scroll/ScrollTypes.h"
#include "wtf/Forward.h"
@@ -103,6 +104,7 @@ protected:
virtual void notifyPositionChanged();
+ GC_PLUGIN_IGNORE("509911")
ScrollableArea* m_scrollableArea;
float m_currentPosX; // We avoid using a FloatPoint in order to reduce
float m_currentPosY; // subclass code complexity.