From bbcce278be9be6a85f47928c38a74c8d36a13a85 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Thu, 9 Jun 2011 13:37:59 +0100 Subject: Merge WebKit at r84325: Fix conflicts. Platform.h ENABLE_FULLSCREEN_API (http://trac.webkit.org/changeset/83997) WTF_USE_SKIA (http://trac.webkit.org/changeset/84106) JSNavigatorCustom.cpp V8NavigatorCustom.cpp ENABLE(APPLICATION_INSTALLED) (http://trac.webkit.org/changeset/83287) CSSStyleSelector.cpp ANDROID_CSS_RING (http://trac.webkit.org/changeset/83986) Document.cpp ANDROID_META_SUPPORT (http://trac.webkit.org/changeset/83349) ANDROID_INSTRUMENT (http://trac.webkit.org/changeset/82992) HTMLInputElement.cpp ANDROID_ACCEPT_CHANGES_TO_FOCUSED_TEXTFIELDS (http://trac.webkit.org/changeset/82534) RangeInputType.cpp ENABLE(TOUCH_EVENTS) (http://trac.webkit.org/changeset/83256/) ChromeClient.h ANDROID_INSTALLABLE_WEB_APPS (http://trac.webkit.org/changeset/83375) EventHandler.cpp PLATFORM(ANDROID) (http://trac.webkit.org/changeset/83522) Settings ANDROID_PLUGINS (http://trac.webkit.org/changeset/83201) ANDROID_BLOCK_NETWORK_IMAGE (http://trac.webkit.org/changeset/83628) Gradient.cpp Graphicscontext.cpp HTMLCanvasElement.cpp USE(SKIA) && !PLATFORM(ANDROID) (http://trac.webkit.org/changeset/84088) USE(SKIA) && !PLATFORM(ANDROID) (http://trac.webkit.org/changeset/84101) PluginView.h ANDROID_PLUGINS (http://trac.webkit.org/changeset/84071) RenderBox.h ANDROID_LAYOUT (http://trac.webkit.org/changeset/82611) RenderIframe.cpp (moved code to RenderPart.cpp) PLATFORM(ANDROID) (http://trac.webkit.org/changeset/83518) RenderLayer.cpp ANDROID_OVERFLOW_SCROLL (http://trac.webkit.org/changeset/83899) RenderLayer.h RenderLayerBacking.cpp ANDROID_OVERFLOW_SCROLL (http://trac.webkit.org/changeset/83820) Change-Id: Ieabe98f4e01610b6a73e961b673e2fa99b0010e7 --- Source/WebCore/rendering/RenderBox.h | 6 ++--- Source/WebCore/rendering/RenderIFrame.cpp | 35 ------------------------- Source/WebCore/rendering/RenderLayer.cpp | 6 +---- Source/WebCore/rendering/RenderLayer.h | 13 ++++----- Source/WebCore/rendering/RenderLayerBacking.cpp | 27 +++++-------------- Source/WebCore/rendering/RenderPart.cpp | 7 +++++ 6 files changed, 22 insertions(+), 72 deletions(-) (limited to 'Source/WebCore/rendering') diff --git a/Source/WebCore/rendering/RenderBox.h b/Source/WebCore/rendering/RenderBox.h index f8aee06..1bee989 100644 --- a/Source/WebCore/rendering/RenderBox.h +++ b/Source/WebCore/rendering/RenderBox.h @@ -398,13 +398,11 @@ public: IntRect logicalLayoutOverflowRectForPropagation(RenderStyle*) const; IntRect layoutOverflowRectForPropagation(RenderStyle*) const; -<<<<<<< HEAD + RenderOverflow* hasRenderOverflow() const { return m_overflow.get(); } + #ifdef ANDROID_LAYOUT int getVisibleWidth() const { return m_visibleWidth; } #endif -======= - RenderOverflow* hasRenderOverflow() const { return m_overflow.get(); } ->>>>>>> WebKit.org at r84325 protected: virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); diff --git a/Source/WebCore/rendering/RenderIFrame.cpp b/Source/WebCore/rendering/RenderIFrame.cpp index 1468acd..a471b0e 100644 --- a/Source/WebCore/rendering/RenderIFrame.cpp +++ b/Source/WebCore/rendering/RenderIFrame.cpp @@ -124,39 +124,4 @@ void RenderIFrame::layout() setNeedsLayout(false); } -<<<<<<< HEAD -#if USE(ACCELERATED_COMPOSITING) -bool RenderIFrame::requiresLayer() const -{ - if (RenderPart::requiresLayer()) - return true; - - return requiresAcceleratedCompositing(); -} - -bool RenderIFrame::requiresAcceleratedCompositing() const -{ - if (!node() || !node()->hasTagName(iframeTag)) - return false; - -#if PLATFORM(ANDROID) - // XXX: Bug submitted to webkit.org - // https://bugs.webkit.org/show_bug.cgi?id=52655 - if (style()->visibility() != VISIBLE) - return false; -#endif - - // If the contents of the iframe are composited, then we have to be as well. - HTMLIFrameElement* element = static_cast(node()); - if (Document* contentDocument = element->contentDocument()) { - if (RenderView* view = contentDocument->renderView()) - return view->usesCompositing(); - } - - return false; -} -#endif - -======= ->>>>>>> WebKit.org at r84325 } diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp index da82996..4676c91 100644 --- a/Source/WebCore/rendering/RenderLayer.cpp +++ b/Source/WebCore/rendering/RenderLayer.cpp @@ -3416,8 +3416,7 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, ClipRects& cl } if (renderer()->hasOverflowClip()) { -<<<<<<< HEAD - IntRect newOverflowClip = toRenderBox(renderer())->overflowClipRect(x, y); + IntRect newOverflowClip = toRenderBox(renderer())->overflowClipRect(x, y, relevancy); #if ENABLE(ANDROID_OVERFLOW_SCROLL) clipRects.setHitTestClip(intersection(clipRects.fixed() ? clipRects.fixedClipRect() : newOverflowClip, clipRects.hitTestClip())); @@ -3428,9 +3427,6 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, ClipRects& cl m_scrollWidth, m_scrollHeight); } #endif -======= - IntRect newOverflowClip = toRenderBox(renderer())->overflowClipRect(x, y, relevancy); ->>>>>>> WebKit.org at r84325 clipRects.setOverflowClipRect(intersection(newOverflowClip, clipRects.overflowClipRect())); if (renderer()->isPositioned() || renderer()->isRelPositioned()) clipRects.setPosClipRect(intersection(newOverflowClip, clipRects.posClipRect())); diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h index 4cf96ce..2174920 100644 --- a/Source/WebCore/rendering/RenderLayer.h +++ b/Source/WebCore/rendering/RenderLayer.h @@ -287,14 +287,6 @@ public: int horizontalScrollbarHeight(OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const; bool hasOverflowControls() const; -<<<<<<< HEAD -#if ENABLE(ANDROID_OVERFLOW_SCROLL) - bool hasOverflowScroll() const { return m_hasOverflowScroll; } - bool hasOverflowParent() const; -#endif - void positionOverflowControls(int tx, int ty); -======= ->>>>>>> WebKit.org at r84325 bool isPointInResizeControl(const IntPoint& absolutePoint) const; bool hitTestOverflowControls(HitTestResult&, const IntPoint& localPoint); IntSize offsetFromResizeCorner(const IntPoint& absolutePoint) const; @@ -502,6 +494,11 @@ public: bool containsDirtyOverlayScrollbars() const { return m_containsDirtyOverlayScrollbars; } void setContainsDirtyOverlayScrollbars(bool dirtyScrollbars) { m_containsDirtyOverlayScrollbars = dirtyScrollbars; } +#if ENABLE(ANDROID_OVERFLOW_SCROLL) + bool hasOverflowScroll() const { return m_hasOverflowScroll; } + bool hasOverflowParent() const; +#endif + private: // The normal operator new is disallowed on all render objects. void* operator new(size_t) throw(); diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp index 63b1d20..6f56eca 100644 --- a/Source/WebCore/rendering/RenderLayerBacking.cpp +++ b/Source/WebCore/rendering/RenderLayerBacking.cpp @@ -1207,28 +1207,8 @@ void RenderLayerBacking::paintIntoLayer(RenderLayer* rootLayer, GraphicsContext* static void paintScrollbar(Scrollbar* scrollbar, GraphicsContext& context, const IntRect& clip) { -<<<<<<< HEAD - InspectorInstrumentationCookie cookie = InspectorInstrumentation::willPaint(m_owningLayer->renderer()->frame(), clip); - - IntSize offset = graphicsLayer->offsetFromRenderer(); - context.translate(-offset); - - IntRect clipRect(clip); - clipRect.move(offset); - - // The dirtyRect is in the coords of the painting root. - IntRect dirtyRect = compositedBounds(); -#if ENABLE(ANDROID_OVERFLOW_SCROLL) - // If we encounter a scrollable layer, layers inside the scrollable layer - // will need their entire content recorded. - if (m_owningLayer->hasOverflowParent()) - dirtyRect.setSize(clip.size()); -#endif - dirtyRect.intersect(clipRect); -======= if (!scrollbar) return; ->>>>>>> WebKit.org at r84325 context.save(); const IntRect& scrollbarRect = scrollbar->frameRect(); @@ -1255,6 +1235,13 @@ void RenderLayerBacking::paintContents(const GraphicsLayer* graphicsLayer, Graph IntRect dirtyRect = compositedBounds(); dirtyRect.intersect(clipRect); +#if ENABLE(ANDROID_OVERFLOW_SCROLL) + // If we encounter a scrollable layer, layers inside the scrollable layer + // will need their entire content recorded. + if (m_owningLayer->hasOverflowParent()) + dirtyRect.setSize(clip.size()); +#endif + // We have to use the same root as for hit testing, because both methods can compute and cache clipRects. paintIntoLayer(m_owningLayer, &context, dirtyRect, PaintBehaviorNormal, paintingPhase, renderer()); diff --git a/Source/WebCore/rendering/RenderPart.cpp b/Source/WebCore/rendering/RenderPart.cpp index 59b9795..4b74176 100644 --- a/Source/WebCore/rendering/RenderPart.cpp +++ b/Source/WebCore/rendering/RenderPart.cpp @@ -80,6 +80,13 @@ bool RenderPart::requiresAcceleratedCompositing() const if (!node() || !node()->isFrameOwnerElement()) return false; +#if PLATFORM(ANDROID) + // FIXME: Upstream this to webkit.org + // https://bugs.webkit.org/show_bug.cgi?id=52655 + if (style()->visibility() != VISIBLE) + return false; +#endif + HTMLFrameOwnerElement* element = static_cast(node()); if (Document* contentDocument = element->contentDocument()) { if (RenderView* view = contentDocument->renderView()) -- cgit v1.1