diff options
author | Steve Block <steveblock@google.com> | 2011-06-08 08:26:01 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-06-08 08:26:01 -0700 |
commit | 3742ac093d35d923c81693096ab6671e9b147700 (patch) | |
tree | c2add9100f789dad45ef1ec5328bddde02c47a4c /Source/WebCore/rendering/RenderLayer.h | |
parent | 901401d90459bc22580842455d4588b9a697514d (diff) | |
parent | e5926f4a0d6adc9ad4a75824129f117181953560 (diff) | |
download | external_webkit-3742ac093d35d923c81693096ab6671e9b147700.zip external_webkit-3742ac093d35d923c81693096ab6671e9b147700.tar.gz external_webkit-3742ac093d35d923c81693096ab6671e9b147700.tar.bz2 |
Merge changes I55c6d71a,Ifb3277d4,Ia1b847a2,I7ba9cf3f,Ida2b2a8a,I1280ec90,I72f818d5,I2e3b588b,I9a4e6289,Ia724c78b,Icd8612c8,Ie31b15d7,Ie125edae,I77941a88,I89dae78b,I3516e5ca,I1a4c17b5,I2c4ecc1a,I9c8e6537,Ifac13115,Ie1f80e09,Ia541ed77,I60ce9d78
* changes:
Merge WebKit at r82507: Update ThirdPartyProject.prop
Merge WebKit at r82507: Cherry-pick change r88166 to add INSPECTOR guards to ScriptProfiler
Merge WebKit at r82507: Work around a V8 bug
Merge WebKit at r82507: JNIType renamed to JavaType
Merge WebKit at r82507: IconDatabaseClient interface expanded
Merge WebKit at r82507: Don't use new loss-free code path in HTMLCanvasElement::toDataURL()
Merge WebKit at r82507: IcondDatabaseBase::iconForPageURL() renamed
Merge WebKit at r82507: IconDatabaseBase::Open() signature changed
Merge WebKit at r82507: Node::isContentEditable() renamed
Merge WebKit at r82507: Use icon database through IconDatabaseBase
Merge WebKit at r82507: toInputElement() is now a member of Node
Merge WebKit at r82507: FrameLoaderClient::objectContentType() signature changed
Merge WebKit at r82507: StringImpl::computeHash() removed
Merge WebKit at r82507: Stub out FontPlatformData::setOrientation()
Merge WebKit at r82507: Path::strokeBoundingRect() is now const
Merge WebKit at r82507: Add missing UnusedParam.h include in ApplicationCacheGroup.cpp
Merge WebKit at r82507: Continue to use Android's version of FontPlatformData.h
Merge WebKit at r82507: Update signature of FontCustomPlatformData::fontPlatformData()
Merge WebKit at r82507: Fix conflicts due to JNI refactoring
Merge WebKit at r82507: Fix conflicts due to new StorageTracker
Merge WebKit at r82507: Fix conflicts
Merge WebKit at r82507: Fix makefiles
Merge WebKit at r82507: Initial merge by git
Diffstat (limited to 'Source/WebCore/rendering/RenderLayer.h')
-rw-r--r-- | Source/WebCore/rendering/RenderLayer.h | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h index 7dddbc8..17ba99e 100644 --- a/Source/WebCore/rendering/RenderLayer.h +++ b/Source/WebCore/rendering/RenderLayer.h @@ -282,8 +282,8 @@ public: Scrollbar* horizontalScrollbar() const { return m_hBar.get(); } Scrollbar* verticalScrollbar() const { return m_vBar.get(); } - int verticalScrollbarWidth() const; - int horizontalScrollbarHeight() const; + int verticalScrollbarWidth(OverlayScrollbarSizeRelevancy relevancy = IgnoreOverlayScrollbarSize) const; + int horizontalScrollbarHeight(OverlayScrollbarSizeRelevancy relevancy = IgnoreOverlayScrollbarSize) const; bool hasOverflowControls() const; #if ENABLE(ANDROID_OVERFLOW_SCROLL) @@ -295,7 +295,7 @@ public: bool hitTestOverflowControls(HitTestResult&, const IntPoint& localPoint); IntSize offsetFromResizeCorner(const IntPoint& absolutePoint) const; - void paintOverflowControls(GraphicsContext*, int tx, int ty, const IntRect& damageRect); + void paintOverflowControls(GraphicsContext*, int tx, int ty, const IntRect& damageRect, bool paintingOverlayControls = false); void paintScrollCorner(GraphicsContext*, int tx, int ty, const IntRect& damageRect); void paintResizer(GraphicsContext*, int tx, int ty, const IntRect& damageRect); @@ -327,14 +327,13 @@ public: void updateLayerPosition(); enum UpdateLayerPositionsFlag { - DoFullRepaint = 1, - CheckForRepaint = 1 << 1, - IsCompositingUpdateRoot = 1 << 2, - UpdateCompositingLayers = 1 << 3, - UpdatePagination = 1 << 4 + CheckForRepaint = 1, + IsCompositingUpdateRoot = 1 << 1, + UpdateCompositingLayers = 1 << 2, + UpdatePagination = 1 << 3 }; typedef unsigned UpdateLayerPositionsFlags; - void updateLayerPositions(UpdateLayerPositionsFlags = DoFullRepaint | IsCompositingUpdateRoot | UpdateCompositingLayers, IntPoint* cachedOffset = 0); + void updateLayerPositions(UpdateLayerPositionsFlags = CheckForRepaint | IsCompositingUpdateRoot | UpdateCompositingLayers, IntPoint* cachedOffset = 0); void updateTransform(); @@ -409,6 +408,7 @@ public: // layers that intersect the point from front to back. void paint(GraphicsContext*, const IntRect& damageRect, PaintBehavior = PaintBehaviorNormal, RenderObject* paintingRoot = 0); bool hitTest(const HitTestRequest&, HitTestResult&); + void paintOverlayScrollbars(GraphicsContext*, const IntRect& damageRect, PaintBehavior, RenderObject* paintingRoot); // This method figures out our layerBounds in coordinates relative to // |rootLayer}. It also computes our background and foreground clip rects @@ -491,6 +491,9 @@ public: bool paintsWithTransform(PaintBehavior) const; + bool containsDirtyOverlayScrollbars() const { return m_containsDirtyOverlayScrollbars; } + void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDirtyOverlayScrollbars = dirtyScrollbars; } + private: // The normal operator new is disallowed on all render objects. void* operator new(size_t) throw(); @@ -513,7 +516,8 @@ private: PaintLayerHaveTransparency = 1, PaintLayerAppliedTransform = 1 << 1, PaintLayerTemporaryClipRects = 1 << 2, - PaintLayerPaintingReflection = 1 << 3 + PaintLayerPaintingReflection = 1 << 3, + PaintLayerPaintingOverlayScrollbars = 1 << 4 }; typedef unsigned PaintLayerFlags; @@ -573,6 +577,10 @@ private: virtual IntSize contentsSize() const; virtual int visibleHeight() const; virtual int visibleWidth() const; + virtual IntPoint currentMousePosition() const; + virtual bool shouldSuspendScrollAnimations() const; + + virtual void disconnectFromPage() { m_page = 0; } // NOTE: This should only be called by the overriden setScrollOffset from ScrollableArea. void scrollTo(int x, int y); @@ -666,18 +674,6 @@ protected: int m_scrollX; int m_scrollY; - // There are 8 possible combinations of writing mode and direction. Scroll origin (and its corresponding left/top overflow) - // will be non-zero in the x or y axis if there is any reversed direction or writing-mode. The combinations are: - // writing-mode / direction scrollOrigin.x() set scrollOrigin.y() set - // horizontal-tb / ltr NO NO - // horizontal-tb / rtl YES NO - // horizontal-bt / ltr NO YES - // horizontal-bt / rtl YES YES - // vertical-lr / ltr NO NO - // vertical-lr / rtl NO YES - // vertical-rl / ltr YES NO - // vertical-rl / rtl YES YES - IntPoint m_scrollOrigin; int m_scrollLeftOverflow; int m_scrollTopOverflow; @@ -737,10 +733,14 @@ protected: bool m_hasCompositingDescendant : 1; bool m_mustOverlapCompositedLayers : 1; #endif + + bool m_containsDirtyOverlayScrollbars : 1; #if ENABLE(ANDROID_OVERFLOW_SCROLL) bool m_hasOverflowScroll : 1; #endif + IntPoint m_cachedOverlayScrollbarOffset; + RenderMarquee* m_marquee; // Used by layers with overflow:marquee // Cached normal flow values for absolute positioned elements with static left/top values. @@ -762,6 +762,8 @@ private: #if USE(ACCELERATED_COMPOSITING) OwnPtr<RenderLayerBacking> m_backing; #endif + + Page* m_page; }; } // namespace WebCore |