1. 15 Oct, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Clean up BackingStoreClient (part II) · ae434975
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=99327
      
      Reviewed by Yong Li.
      Patch by Antonio Gomes <agomes@rim.com>
      
      Remove more unneeded BackingStoreClient <-> WebPageClient integration
      methods:
      - BackingStoreClient* backingStoreClientForFrame(...)
      - void addBackingStoreClientForFrame(...)
      - void removeBackingStoreClientForFrame(...)
      
      Change places calling WPPriv::backingStoreClientForFrame to directly
      access WPPriv::backingStoreClient instead, since only the main frame will
      have a BackingStoreClient instance associated with it, and it is owned by
      the WKPriv.
      
      Remove non-mainframe only references to BackingStoreClient completely,
      since it is dead code now.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::backingStoreClient):
      (BlackBerry::WebKit::WebPage::destroy):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::invalidateContentsForSlowScroll):
      (WebCore::ChromeClientBlackBerry::scroll):
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
      (WebCore::FrameLoaderClientBlackBerry::createFrame):
      (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
      * WebKitSupport/BackingStoreClient.cpp:
      (BlackBerry::WebKit::BackingStoreClient::create):
      (BlackBerry::WebKit::BackingStoreClient::BackingStoreClient):
      (BlackBerry::WebKit::BackingStoreClient::~BackingStoreClient):
      * WebKitSupport/BackingStoreClient.h:
      (BackingStoreClient):
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::setBatchEditingActive):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae434975
  2. 28 Sep, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Extend composited in-region scrolling to iframes/frames · ab23dbb5
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97922
      PR #197093
      
      Reviewed by Yong Li.
      Patch by Antonio Gomes <agomes@rim.com>
      Internaly reviewed by Arvid Nilsson.
      
      Add support for composited scrolling in a inner frame level:
      
      1) When creating an InRegionScrollableArea, for a inner scrollable frame,
      cache and camouflag the appropriated scroll layer (i.e. RenderLayerCompositor::scrollLayer);
      
      2) Differentiate what type of scroll target we are at: BlockElement or
      InnerFrame;
      
      3) Change the signature of the public methods to support and newly passed
      in ScrollTarget parameter;
      As a side note, this parameter is needed in order to know what class to static_cast
      the GraphicsLayer::client to: in the case of a composited scrollable inner frame, the client
      is a RenderLayerCompositor; in case of a composited scrollable block element, the client
      is a RenderLayerBacking.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
      * Api/InRegionScroller.h:
      * Api/InRegionScroller_p.h:
      (InRegionScrollerPrivate):
      * WebCoreSupport/ChromeClientBlackBerry.h:
      (WebCore::ChromeClientBlackBerry::allowedCompositingTriggers):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab23dbb5
  3. 13 Sep, 2012 3 commits
  4. 11 Sep, 2012 1 commit
  5. 10 Sep, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      [BlackBerry] add a way to overscroll non-overflown content · 21e7cff6
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=96331
      [UxD] Vertical lists should always be scrollable
      PR #195305
      
      Reviewed by Yong Li.
      Patch by Antonio Gomes <agomes@rim.com>
      Internally reviewed by Gen Mak.
      
      Check if the RenderLayer is composited / hardware acceleratable prior to
      check if its contents overflows. If that is the case, check if
      our custom data-blackberry-force-overscroll is present.
      
      That makes it possible for us to align to UX requirements: settings
      and CCM panels should be always scrollable.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::canScrollRenderBox):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21e7cff6
  6. 04 Sep, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Use child/ScrollableContent layer's position instead of... · 94cb8dd8
      tonikitoo@webkit.org authored
      [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin
      https://bugs.webkit.org/show_bug.cgi?id=95778
      PR #202252
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      Internally reviewed by Arvid Nilsson.
      
      Upstream has switch away from using the parent scroll layer's bounds origin
      in order to translate contents of all its child layers. Instead now, it directly
      sets the scroll position of the child scrollable contents layer.
      
      Source/WebCore:
      
      No new tests, since it is a catch-up with upstreaming code.
      
      Source/WebCore:
      * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
      (WebCore):
      * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
      (GraphicsLayerBlackBerry):
      * platform/graphics/blackberry/LayerCompositingThread.cpp:
      (WebCore::LayerCompositingThread::updateAnimations):
      * platform/graphics/blackberry/LayerCompositingThread.h:
      (WebCore::LayerOverride::LayerOverride):
      (LayerOverride):
      * platform/graphics/blackberry/LayerData.h:
      (LayerData):
      * platform/graphics/blackberry/LayerRenderer.cpp:
      (WebCore::LayerRenderer::updateLayersRecursive):
      * platform/graphics/blackberry/LayerWebKitThread.h:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
      
      Source/WebKit/blackberry:
      
      Source/WebKit/blackberry:
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      
      No new tests, since it is a catch-up with upstreaming code.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94cb8dd8
  7. 30 Aug, 2012 1 commit
  8. 27 Aug, 2012 2 commits
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Remove the 'in region scrollable starting node' concept from InRegionScroller · e5b7e6e2
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95020
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      
      'In-region start scrolling node' is an obsolete concept, and we can remove it
      in favor of using the information from the cached layers.
      
      * Api/InRegionScroller.cpp:
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Adjusted as it used to clear
      the cached 'node'.
      (BlackBerry::WebKit::InRegionScrollerPrivate::isActive): Added method to be
      checked directly instead of only null-checking the previously cached 'node'.
      (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData): New method to
      clear the cached resources if its document is done.
      (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): Adjusted
      to not care about the cached 'node' anymore.
      * Api/InRegionScroller_p.h:
      (InRegionScrollerPrivate):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped): Check ::isActive instead
      of ::hasNode, since the later is gone.
      (BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling):
      Changed the method signature, given that we do have a cached 'node' to pass in as parameter anymore.
      (BlackBerry::WebKit::WebPagePrivate::clearDocumentData): Delegate all the related work to InRegionScroller.
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * WebKitSupport/TouchEventHandler.cpp:
      (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5b7e6e2
    • tonikitoo@webkit.org's avatar
      BlackBerry] Shrink the in-region nested scrollable list as soon as we can · c1757004
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95019
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      
      We cache all possible nested scrollable in-region layers given a point.
      It is up to the client to pick a view, based on the scroll position and limits
      of each layer, and on the diretion user swipes its finger.
      From the point we pick a view on, we stick with it, and any other
      possibly cached layer can be uncached, as it won't be needed.
      Patch providesa simple solution to that.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
      (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
      (BlackBerry::WebKit::InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas):
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
      * Api/InRegionScroller_p.h:
      (InRegionScrollerPrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1757004
  9. 23 Aug, 2012 2 commits
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Obsolete the in-region scroll codepath prior to BB10's · f00bed9e
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94839
      PR #197775
      
      Reviewed by George Staikos.
      Patch by Antonio Gomes <agomes@rim.com>
      
      This codepath is not needed anymore, so lets let it RIP.
      
      The only code addition is due to some code I've moved from WebPagePrivate::scrollNodeRecursively
      and WebPagePrivate::scrollBy to InRegionScrollerPrivate::setLayerScrollPosition.
      Rest is code removal ...
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
      * Api/InRegionScroller_p.h:
      (InRegionScrollerPrivate):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::scrollBy):
      (BlackBerry::WebKit::WebPage::scrollBy):
      * Api/WebPage.h:
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f00bed9e
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Unify slow and fast in-region scrolling code paths · bb91a166
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94834
      PR #197662
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      Internally reviewed by Arvid Nilsson.
      
      In order to be able to remove a bunch of obsolete code from
      InRegionScroller.cpp, we need to unify the codepaths for slow
      and fast in-region scrolling.
      
      This patch caches the root scrollable node of each scrollable block
      in InRegionScrollableArea also for the non-composited-scrolling case now too
      (analogly to the way we cache LayerWebKitThread for the composited scrolling case).
      
      Now the client (libwebview) can dispatch an in-region scrolling with one single code path,
      making use of a boolean (argh!) to inform if the scroll of the given
      layer supports compositing or not. Later on, this boolean is used to casting the proper element.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
      * Api/InRegionScroller.h:
      * Api/InRegionScroller_p.h:
      (InRegionScrollerPrivate):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      (BlackBerry::WebKit::enclosingLayerNode):
      * WebKitSupport/InRegionScrollableArea.h:
      (WebCore):
      (InRegionScrollableArea):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb91a166
  10. 17 Aug, 2012 1 commit
  11. 15 Aug, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      Robust-fy the LayerWebKitThread ownership with InRegionScroller · 4461aa0a
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93983
      PR #191737
      
      Reviewed by Yong Li.
      Patch by Antonio Gomes <agomes@rim.com>
      
      Patch changes the way we currently keep track of the active scrollable area
      objects: before, we acquired the scrollable areas and just passed them in a vector up
      to the client, copying it over and over again. Also, it was a client responsability to
      delete stuff (BAD!).
      Now, we keep track of vector within InRegionScroller, as a class member, which allows us to
      avoid copies (in follow up patch), and control until when these objects outlive.
      
      Patch also changes InRegionScrollableArea to "retptr" the composited layer
      associated to it (if any). This ensure we have a non-null scrollable element always.
      
      As mentioned, InRegionScroller is now responsible for deleting and vector of scrollable areas.
      
      Internally reviewed by Arvid Nilsson.
      
      * Api/InRegionScroller.cpp:
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Method is now responsible for
      deleting the tracked scrollable areas.
      (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
      Renamed from 'inRegionScrollableAreasForPoint'. It was changed in order to store the
      scrollable area objects instead of just pass a copy of them up to the client.
      (BlackBerry::WebKit::InRegionScrollerPrivate::activeInRegionScrollableAreas): Getter.
      (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): It was
      promoted to a class method instead of a local helper.
      * Api/InRegionScroller_p.h:
      (WebKit):
      (InRegionScrollerPrivate):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint): Adjustments needed due to the
      above changed.
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea): Clear up the cached layer.
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      * WebKitSupport/InRegionScrollableArea.h:
      (InRegionScrollableArea):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4461aa0a
  12. 13 Aug, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Rounding error somewhere when translating CompositingLayer 's for in-region scrolling · 6f553482
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93848
      PR #190986
      
      Reviewed by Yong Li.
      Patch by Antonio Gomes <agomes@rim.com>
      
      Patch adds a WebKit thread setScrollPosition-like API to InRegionScroller.
      It fixes a mismatch we had of setting a layer's scroll positing directly via
      ::setScrollPosition on the UI thread, but dispatching a coalesceable
      scrollBy(delta) message to WebKit thread.
      
      * Api/InRegionScroller.cpp:
      (BlackBerry::WebKit::InRegionScroller::setScrollPositionCompositingThread):
      Changed the API name to match other thread specific methods naming.
      (WebKit):
      (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
      Added a setScrollPosition-like method to InRegionScroller public API. Used
      together with its UI-thread counterpart, it can fix some rounding
      errors we have due to mixing ::setScrollPosition and ::scrollBy methods.
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
      Method renamed. See reasons above.
      (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
      Calls fowards the call to ::setLayerScrollPosition (below).
      (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
      Sets the scroll position of a given RenderLayer.
      * Api/InRegionScroller.h:
      (InRegionScroller):
      * Api/InRegionScroller_p.h:
      (WebCore):
      (InRegionScrollerPrivate):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      Cache the RenderLayer object associated to a given scrollable area
      instead of its LayerCompositingThread. This way we can use it for
      scrolling from both Compositing/UI and WebKit threads.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f553482
  13. 08 Aug, 2012 1 commit
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Tie up the scrolling machinery to the graphics tree when... · 9e1caad8
      tonikitoo@webkit.org authored
      [BlackBerry] Tie up the scrolling machinery to the graphics tree when applicable for in-region scroll
      https://bugs.webkit.org/show_bug.cgi?id=93482
      PR #187672
      Make InRegionScroller a simple public webkit/ API
      PR #188677
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      
      In order to prepare InRegionScroller to be a public API
      in webkit/, the patch:
      
      1) Renamed the current InRegionScroller class to InRegionScrollerPrivate;
      2) Moved InRegionScroller.cpp|h from WebKitSupport/ to Api/;
      3) Renamed InRegionScroller.h to InRegionScroller_p.h;
      4) Added a new public class implementation to InRegionScroller.h;
      5) Adapted WebPage and TouchEventHandler classes to use InRegionScroller::d directly.
      
      The most important API here is '::compositedSetScrollPosition'
      
      It is a  UI/Compositing thread method only and sets the associated LayerCompositingThread
      (camouflaged as a unsigned) for each created InRegionScrollableArea that supports
      composited scrolling.
      
      The way ::compositedSetScrollPosition "scrolls" a layer is by setting the boundsOrigin
      property to the LayerCompositingThread's 'override' property in the UI/Compositing thread.
      
      * PlatformBlackBerry.cmake: Build system adaptation.
      
      * Api/InRegionScroller.cpp: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.cpp.
      (WebKit):
      (BlackBerry::WebKit::InRegionScroller::InRegionScroller):
      (BlackBerry::WebKit::InRegionScroller::~InRegionScroller):
      (BlackBerry::WebKit::InRegionScroller::compositedSetScrollPosition):
      (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
      (BlackBerry::WebKit::InRegionScrollerPrivate::setNode):
      (BlackBerry::WebKit::InRegionScrollerPrivate::node):
      (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
      (BlackBerry::WebKit::InRegionScrollerPrivate::hasNode):
      (BlackBerry::WebKit::InRegionScrollerPrivate::canScroll):
      (BlackBerry::WebKit::InRegionScrollerPrivate::compositedSetScrollPosition):
      (BlackBerry::WebKit::InRegionScrollerPrivate::scrollBy):
      (BlackBerry::WebKit::InRegionScrollerPrivate::inRegionScrollableAreasForPoint):
      (BlackBerry::WebKit::InRegionScrollerPrivate::scrollNodeRecursively):
      (BlackBerry::WebKit::InRegionScrollerPrivate::scrollRenderer):
      (BlackBerry::WebKit::InRegionScrollerPrivate::adjustScrollDelta):
      (BlackBerry::WebKit::canScrollInnerFrame):
      (BlackBerry::WebKit::canScrollRenderBox):
      (BlackBerry::WebKit::parentLayer):
      (BlackBerry::WebKit::enclosingLayerNode):
      (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
      (BlackBerry::WebKit::pushBackInRegionScrollable):
      * Api/InRegionScroller.h: Copied from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.
      (WebKit):
      (InRegionScroller):
      * Api/InRegionScroller_p.h: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.
      (WebCore):
      (WebKit):
      (InRegionScrollerPrivate):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::scrollBy):
      (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
      (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
      (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
      (BlackBerry::WebKit::WebPage::inRegionScroller):
      (WebKit):
      * Api/WebPage.h:
      (WebKit):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      * WebKitSupport/TouchEventHandler.cpp:
      (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e1caad8
  14. 02 Aug, 2012 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed debug build fix (bug 92889) · 51814d7b
      commit-queue@webkit.org authored
      Patch by Antonio Gomes <agomes@rim.com> on 2012-08-02
      
      * WebKitSupport/InRegionScroller.cpp:
      (BlackBerry::WebKit::pushBackInRegionScrollable):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51814d7b
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Implement InRegionScroller class as a in-region scroll controller · 80fd790d
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92889
      PR #186587
      
      Reviewed by Yong Li.
      Patch by Antonio Gomes <agomes@rim.com>
      
      Internally reviewed by Arvid Nilsson.
      
      Source/WebKit:
      
      * PlatformBlackBerry.cmake: Added InRegionScroller.cpp|h to the build system.
      
      Source/WebKit/blackberry:
      
      Moved all in-region scrolling code out of WebPagePrivate to the just
      created InRegionScroller class. This class aims to:
      
      1) Centralize all in-region scroll code and clean up WebPagePrivate as a consequence.
      2) Be the bases to add UI/Compositing thread driven scrolls to in-region.
      
      The patch does not change any functionallity change.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
      (BlackBerry::WebKit::WebPagePrivate::init):
      (BlackBerry::WebKit::WebPagePrivate::scrollBy):
      (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
      (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
      (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::layer):
      * WebKitSupport/InRegionScroller.cpp: Added.
      (WebKit):
      (BlackBerry::WebKit::canScrollInnerFrame):
      (BlackBerry::WebKit::canScrollRenderBox):
      (BlackBerry::WebKit::parentLayer):
      (BlackBerry::WebKit::enclosingLayerNode):
      (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
      (BlackBerry::WebKit::pushBackInRegionScrollable):
      (BlackBerry::WebKit::InRegionScroller::InRegionScroller):
      (BlackBerry::WebKit::InRegionScroller::setNode):
      (BlackBerry::WebKit::InRegionScroller::node):
      (BlackBerry::WebKit::InRegionScroller::reset):
      (BlackBerry::WebKit::InRegionScroller::isNull):
      (BlackBerry::WebKit::InRegionScroller::scrollBy):
      (BlackBerry::WebKit::InRegionScroller::inRegionScrollableAreasForPoint):
      (BlackBerry::WebKit::InRegionScroller::scrollNodeRecursively):
      (BlackBerry::WebKit::InRegionScroller::scrollRenderer):
      (BlackBerry::WebKit::InRegionScroller::adjustScrollDelta):
      * WebKitSupport/InRegionScroller.h: Added.
      (WebCore):
      (WebKit):
      (InRegionScroller):
      * WebKitSupport/TouchEventHandler.cpp:
      (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80fd790d