1. 28 May, 2012 5 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Dangling pointer in WebPagePrivate::setCompositor() message · 9ccf1231
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87590
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-28
      Reviewed by Rob Buis.
      
      A crash would be seen in GuardedPointerBase::getWithGuardLocked when
      attempting to unpickle and execute serialized call to setCompositor.
      
      The problem was that the message had been created with a dangling
      pointer as the target. The web page failed to inform its compositor
      that it was being destroyed due to an early return in
      WebPagePrivate::destroyCompositor.
      
      The root cause was that a method called "destroyCompositor" was being
      called in two situations, when navigating to a new page as well as when
      actually deleting the web page. And in one case, we really only wanted
      to free up some memory by clearing textures, while in the other case we
      really did want to destroy the compositor.
      
      Fixed by calling a method to release textures when that's what we want
      to do, and calling a method to destroy the compositor when that's what
      we want to do, and making that latter method unconditional.
      
      Reviewed internally by Jeff Rogers.
      
      PR #156765
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setLoadState):
      (BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ccf1231
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add a default tap highlight · 7c3c1cfd
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87569
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-28
      Reviewed by Rob Buis.
      
      Source/WebKit:
      
      Add DefaultTapHighlight to the build system
      
      Reviewed internally by Mike Lattanzio and Mike Fenton.
      
      PR #154329
      
      * PlatformBlackBerry.cmake:
      
      Source/WebKit/blackberry:
      
      We used to require the embedder to implement tap highlight drawing.
      Now, a default tap highlight, implemented using the recently added
      accelerated compositing overlay layer support, can be used instead.
      
      The tap highlight appears instantly but fades out when hidden.
      
      The default tap highlight can be overridden using the new
      WebPage::setTapHighlight() method.
      
      Reviewed internally by Mike Lattanzio and Mike Fenton.
      
      PR #154329
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      (BlackBerry::WebKit::WebPage::tapHighlight):
      (WebKit):
      (BlackBerry::WebKit::WebPage::setTapHighlight):
      * Api/WebPage.h:
      (WebKit):
      * Api/WebPageClient.h:
      * Api/WebPage_p.h:
      (WebCore):
      (WebPagePrivate):
      * Api/WebTapHighlight.h: Added.
      (WebKit):
      * WebKitSupport/DefaultTapHighlight.cpp: Added.
      (WebKit):
      (BlackBerry::WebKit::fadeAnimationName):
      (BlackBerry::WebKit::DefaultTapHighlight::DefaultTapHighlight):
      (BlackBerry::WebKit::DefaultTapHighlight::~DefaultTapHighlight):
      (BlackBerry::WebKit::DefaultTapHighlight::draw):
      (BlackBerry::WebKit::DefaultTapHighlight::hide):
      (BlackBerry::WebKit::DefaultTapHighlight::notifySyncRequired):
      (BlackBerry::WebKit::DefaultTapHighlight::paintContents):
      * WebKitSupport/DefaultTapHighlight.h: Added.
      (WebKit):
      (DefaultTapHighlight):
      (BlackBerry::WebKit::DefaultTapHighlight::create):
      (BlackBerry::WebKit::DefaultTapHighlight::notifyAnimationStarted):
      (BlackBerry::WebKit::DefaultTapHighlight::showDebugBorders):
      (BlackBerry::WebKit::DefaultTapHighlight::showRepaintCounter):
      (BlackBerry::WebKit::DefaultTapHighlight::contentsVisible):
      * WebKitSupport/TouchEventHandler.cpp:
      (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c3c1cfd
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add an overlay layer · e7381707
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87567
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-28
      Reviewed by Antonio Gomes.
      
      The overlay layer allows us to have compositing layers even though the
      web page is not currently using accelerated compositing.
      
      These layers can be used to implement tap highlight, inspector overlay
      and more.
      
      Source/WebCore:
      
      The WebCore changes support the overlay layer functionality in WebKit
      by making it possible to add animations from the compositing thread
      without them being instantly overwritten during the next commit.
      
      Also a new custom layer type is added, which allow an overlay layer to
      draw itself using raw OpenGL calls. An instance of a custom subclass of
      LayerCompositingThread must be provided when creating the
      LayerWebKitThread. Then, the custom layer can be used as the content
      layer of a GraphicsLayer, or by itself.
      
      Reviewed internally by Filip Spacek.
      
      PR #154335
      
      * platform/graphics/blackberry/LayerCompositingThread.cpp:
      (WebCore::LayerCompositingThread::~LayerCompositingThread):
      (WebCore::LayerCompositingThread::deleteTextures):
      (WebCore::LayerCompositingThread::drawTextures):
      (WebCore::LayerCompositingThread::drawMissingTextures):
      (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
      (WebCore::LayerCompositingThread::setVisible):
      (WebCore::LayerCompositingThread::scheduleCommit):
      * platform/graphics/blackberry/LayerCompositingThread.h:
      (WebCore::LayerCompositingThread::addAnimation):
      (WebCore::LayerCompositingThread::setRunningAnimations):
      (WebCore::LayerCompositingThread::setSuspendedAnimations):
      (LayerCompositingThread):
      (WebCore::LayerCompositingThread::drawCustom):
      * platform/graphics/blackberry/LayerData.h:
      (LayerData):
      * platform/graphics/blackberry/LayerWebKitThread.cpp:
      (WebCore::LayerWebKitThread::LayerWebKitThread):
      (WebCore):
      (WebCore::LayerWebKitThread::~LayerWebKitThread):
      (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
      (WebCore::LayerWebKitThread::startAnimations):
      (WebCore::LayerWebKitThread::commitOnCompositingThread):
      (WebCore::LayerWebKitThread::setNeedsDisplayInRect):
      (WebCore::LayerWebKitThread::setNeedsDisplay):
      (WebCore::LayerWebKitThread::setIsMask):
      (WebCore::LayerWebKitThread::setRunningAnimations):
      (WebCore::LayerWebKitThread::setSuspendedAnimations):
      * platform/graphics/blackberry/LayerWebKitThread.h:
      (LayerWebKitThread):
      
      Source/WebKit/blackberry:
      
      Reviewed internally by Filip Spacek.
      
      PR #154335
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
      (BlackBerry::WebKit::WebPagePrivate::overlayLayer):
      (WebKit):
      (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
      (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::setOverlayLayer):
      (WebKit):
      (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
      (BlackBerry::WebKit::WebPageCompositorPrivate::render):
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
      * Api/WebPageCompositor_p.h:
      (BlackBerry::WebKit::WebPageCompositorPrivate::overlayLayer):
      (WebPageCompositorPrivate):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7381707
    • commit-queue@webkit.org's avatar
      [BlackBerry] Update WebPageCompositor::render() API · 6e668482
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87565
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-28
      Reviewed by Rob Buis.
      
      Source/WebCore:
      
      The new API allows the embedder to specify the root transform and many
      OpenGL related parameters.
      
      Also refactor the code to allow several sets of layers to be rendered,
      and to allow interleaving the rendering of layers with rendering of
      buffers and checkerboard.
      
      Reviewed internally by Filip Spacek.
      
      PR #154334
      
      * platform/graphics/blackberry/LayerCompositingThread.cpp:
      (WebCore::LayerCompositingThread::drawTextures):
      (WebCore::LayerCompositingThread::drawSurface):
      * platform/graphics/blackberry/LayerRenderer.cpp:
      (WebCore::LayerRenderer::orthoMatrix):
      (WebCore::LayerRenderer::LayerRenderer):
      (WebCore::LayerRenderer::prepareFrame):
      (WebCore):
      (WebCore::LayerRenderer::setViewport):
      (WebCore::LayerRenderer::compositeLayers):
      (WebCore::LayerRenderer::compositeBuffer):
      (WebCore::LayerRenderer::drawCheckerboardPattern):
      (WebCore::LayerRenderer::drawLayersOnSurfaces):
      (WebCore::LayerRenderer::prepareFrameRecursive):
      (WebCore::LayerRenderer::updateLayersRecursive):
      (WebCore::LayerRenderer::compositeLayersRecursive):
      (WebCore::LayerRenderer::updateScissorIfNeeded):
      (WebCore::LayerRenderingResults::addHolePunchRect):
      * platform/graphics/blackberry/LayerRenderer.h:
      (LayerRenderer):
      
      Source/WebKit/blackberry:
      
      The new API allows the embedder to specify the root transform and many
      OpenGL related parameters to be used when rendering the web page.
      
      To honor the transform, we have to implement a way to composite the
      BackingStore output using a generic transform. This method,
      BackingStorePrivate::compositeContents(), uses a strategy that differs
      from blitContents(), because that one is optimized for software
      blitting, while this one is optimized for GPU rendering. Specifically,
      instead of drawing the checkerboard first, and the rendered subregions
      of the tile afterward, we draw the whole tile in one call, and then
      draw checkered regions on top, if any.
      
      Removed the blit generation condvar from the new code paths for drawing
      BackingStore output using a transform, since the condvar is ineffective
      in preventing flicker when we're not in charge of swapping the window.
      Instead, another synchronization solution will be implemented in the
      future.
      
      Reviewed internally by Filip Spacek.
      Some parts reviewed internally by Jacky Jiang and others by
      Mike Lattanzio.
      
      PR #151887, #154334
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::render):
      (BlackBerry::WebKit::BackingStorePrivate::blitContents):
      (WebKit):
      (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
      * Api/BackingStore_p.h:
      (WebCore):
      (BackingStorePrivate):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
      (BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):
      (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
      (BlackBerry::WebKit::WebPageCompositorPrivate::render):
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
      (BlackBerry::WebKit::WebPageCompositor::prepareFrame):
      (BlackBerry::WebKit::WebPageCompositor::render):
      * Api/WebPageCompositor.h:
      * Api/WebPageCompositorClient.h:
      * Api/WebPageCompositor_p.h:
      (WebPageCompositorPrivate):
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e668482
    • commit-queue@webkit.org's avatar
      [BlackBerry] Plumb through the return value of makeCurrent to caller · de3f773c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87564
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-28
      Reviewed by Rob Buis.
      
      This way the caller can take appropriate action if makeCurrent fails,
      for example because we're running out of memory.
      
      Reviewed internally by George Staikos.
      
      PR #149721
      
      * WebKitSupport/GLES2Context.cpp:
      (BlackBerry::WebKit::GLES2Context::makeCurrent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de3f773c
  2. 27 May, 2012 3 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Crash when deleting WebPageCompositor · 645e22e6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87589
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-27
      Reviewed by Rob Buis.
      
      The WebPageCompositorPrivate is reference counted, so it may outlive
      either the WebPage or the WebPageCompositor, depending on who releases
      its reference first.
      
      Fixed by disconnecting the objects properly, regardless of who goes
      away first.
      
      Reviewed internally by Mike Lattanzio.
      
      PR #156444
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setCompositor):
      (BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
      (BlackBerry::WebKit::WebPageCompositor::client):
      * Api/WebPageCompositor_p.h:
      (BlackBerry::WebKit::WebPageCompositorPrivate::setPage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      645e22e6
    • commit-queue@webkit.org's avatar
      [BlackBerry] BackingStore accesses tiles even though it's not active · 9095a2fe
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87563
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-18
      Reviewed by Antonio Gomes.
      
      There are many scenarios that can call render and cause tile access,
      and they used to be rerouted to the direct rendering code when the
      backing store was not active. This was thanks to an implicit check for
      isActive() by virtue of calling shouldDirectRenderingToWindow() from
      render().
      
      If we're using OpenGL for compositing the backing store contents
      however, direct rendering is always disabled and we jump right into the
      tile based rendering code.
      
      Fixed by adding an explicit check for isActive() in render(), now that
      the implicit check in shouldDirectRenderingToWindow() is conditional on
      having raster usage.
      
      Since PR136381/bug83131, when OpenGL compositing is used, and the
      backing store is not active, it is not in charge of drawing the root
      layer. Instead, we switch off the paintingGoesToWindow flag on the root
      RenderLayer so no invalidates will reach the ChromeClient or the
      BackingStore any more. Instead, invalidations will cause the root
      accelerated compositing layer to be repainted. Any BackingStore render
      calls while in this state are pointless, and can safely do an early
      return.
      
      Reviewed internally by Jakob Petsovits.
      
      PR #150403
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::render):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9095a2fe
    • commit-queue@webkit.org's avatar
      [BlackBerry] Web page fails to render after clicking link with target=_blank · a5e0050b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87562
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-12
      Reviewed by Antonio Gomes.
      
      Clicking such a link opens a new tab. The compositor was briefly in
      charge of drawing the root layer while the backing store was inactive
      and the user was looking at the other tab. The problem was that the
      compositor believed it was still painting the root layer even after the
      backing store became active again. The flag was not properly cleared
      when turning off compositing.
      
      Fixed by returning false from drawsRootLayer() if we don't have a root
      layer.
      
      Reviewed internally by Filip Spacek.
      
      PR #149342
      
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawsRootLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5e0050b
  3. 25 May, 2012 2 commits
  4. 24 May, 2012 5 commits
  5. 23 May, 2012 1 commit
  6. 22 May, 2012 2 commits
  7. 18 May, 2012 2 commits
    • mifenton@rim.com's avatar
      [BlackBerry] Validation of Last Fat Finger result is needed for selection. · 59d52bf8
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=86888
      
      Reviewed by Antonio Gomes.
      
      PR 128393.
      
      Cached FatFingersResults must be validatible against
      the desired request to ensure the result is both for
      the same point and of the same type.
      
      * WebKitSupport/FatFingers.h:
      (WebKit):
      (FatFingersResult):
      (BlackBerry::WebKit::FatFingersResult::FatFingersResult):
      (BlackBerry::WebKit::FatFingersResult::reset):
      (BlackBerry::WebKit::FatFingersResult::resultMatches):
      (BlackBerry::WebKit::FatFingersResult::originPosition):
      (BlackBerry::WebKit::FatFingersResult::adjustedPosition):
      (BlackBerry::WebKit::FatFingersResult::positionWasAdjusted):
      (BlackBerry::WebKit::FatFingersResult::isTextInput):
      (BlackBerry::WebKit::FatFingersResult::isValid):
      (BlackBerry::WebKit::FatFingersResult::node):
      (BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59d52bf8
    • morrita@google.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=85515 · 9da7b7cc
      morrita@google.com authored
      Stale frame in WebCore::SpellChecker::didCheckSucceeded
      
      Source/WebCore:
      
      Reviewed by Ryosuke Niwa.
      
      Added EditorClient::frameWillDetachPage() notification to give a
      change to invalidate pending spellcheck requests on the client.
      
      Test: editing/spelling/spellcheck-async-remove-frame.html
      
      * editing/Editor.cpp:
      (WebCore::Editor::Editor):
      * editing/Editor.h:
      (Editor):
      * loader/EmptyClients.h:
      (WebCore::EmptyEditorClient::frameWillDetachPage):
      * page/EditorClient.h:
      (EditorClient):
      
      Source/WebKit/blackberry:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientBlackBerry.h:
      (WebCore::EditorClientBlackBerry::frameWillDetachPage):
      
      Source/WebKit/chromium:
      
      Added WebTextCheckingCompletionImpl::invalidate() to mark
      pending spellcheck request as invalid, and added frameWillDetachPage()
      to fire it.
      
      Reviewed by Ryosuke Niwa.
      
      * src/EditorClientImpl.cpp:
      (WebKit::EditorClientImpl::frameWillDetachPage):
      (WebKit):
      (WebKit::EditorClientImpl::requestCheckingOfString):
      (WebKit::EditorClientImpl::didCheckString):
      * src/EditorClientImpl.h:
      (WebKit):
      (EditorClientImpl):
      * src/WebTextCheckingCompletionImpl.cpp:
      (WebKit::WebTextCheckingCompletionImpl::didFinishCheckingText):
      (WebKit::WebTextCheckingCompletionImpl::didCancelCheckingText):
      (WebKit::WebTextCheckingCompletionImpl::invalidate):
      (WebKit):
      * src/WebTextCheckingCompletionImpl.h:
      (WebKit):
      (WebKit::WebTextCheckingCompletionImpl::WebTextCheckingCompletionImpl):
      (WebTextCheckingCompletionImpl):
      (WebKit::WebTextCheckingCompletionImpl::spellChecker):
      
      Source/WebKit/efl:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientEfl.h:
      (WebCore::EditorClientEfl::frameWillDetachPage):
      
      Source/WebKit/gtk:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientGtk.h:
      (WebKit::EditorClient::frameWillDetachPage):
      
      Source/WebKit/mac:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/WebEditorClient.h:
      
      Source/WebKit/qt:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientQt.h:
      (WebCore::EditorClientQt::frameWillDetachPage):
      
      Source/WebKit/win:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/WebEditorClient.h:
      (WebEditorClient::frameWillDetachPage):
      
      Source/WebKit/wince:
      
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientWinCE.h:
      (WebKit::EditorClientWinCE::frameWillDetachPage):
      
      Source/WebKit/wx:
      
      Reviewed by Ryosuke Niwa.
      
      * WebKitSupport/EditorClientWx.h:
      (WebCore::EditorClientWx::frameWillDetachPage):
      
      LayoutTests:
      
      Reviewed by Ryosuke Niwa.
      
      * editing/spelling/spellcheck-async-remove-frame-expected.txt: Added.
      * editing/spelling/spellcheck-async-remove-frame.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117572 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9da7b7cc
  8. 17 May, 2012 5 commits
    • zhajiang@rim.com's avatar
      [BlackBerry] www.thestar.com/iphone Viewport Weirdness · 8c59b30b
      zhajiang@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=86756
      
      Reviewed by George Staikos.
      
      PR 156710
      On high DPI devices, the virtual viewport size of this page was smaller
      than screen size. During the refreshing of the page, we reset the scale
      when the state was Committed, then layouted and rendered contents based
      on the virtual viewport size and default scale 1, which caused a small
      size thumbnail before we restored the previous view state.
      Fixed it by keeping the previous scale, user scalable and
      m_userViewportArguments during the Committed state of refreshing.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setLoadState):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c59b30b
    • mifenton@rim.com's avatar
      [BlackBerry] Cleanup headers in SelectionHandler.cpp · abf38d70
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=86760
      
      Reviewed by Antonio Gomes.
      
      Clean up includes in SelectionHandler.cpp.
      
      * WebKitSupport/SelectionHandler.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      abf38d70
    • mifenton@rim.com's avatar
      [BlackBerry] expandSelectionToGranularity should only use VisibleSelection and not range. · 223c08e5
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=86759
      
      Reviewed by Antonio Gomes.
      
      expandSelectionToGranularity unnecesarily converted the
      selection to range and back. Using the selection
      directly is preferred.
      
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::expandSelectionToGranularity):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      223c08e5
    • hbono@chromium.org's avatar
      [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer · 3b71ba04
      hbono@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=86591
      
      Reviewed by Ryosuke Niwa.
      
      This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
      function to remove platform-specific code from Editor::respondToChangedSelection
      function.
      
      No new tests, no change in behavior.
      
      Source/WebCore:
      
      * editing/Editor.cpp:
      (WebCore::Editor::respondToChangedSelection):
      * loader/EmptyClients.h:
      (WebCore::EmptyTextCheckerClient::shouldEraseMarkersAfterChangeSelection):
      * platform/text/TextCheckerClient.h:
      (TextCheckerClient):
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/EditorClientBlackBerry.cpp:
      (WebCore::EditorClientBlackBerry::shouldEraseMarkersAfterChangeSelection):
      (WebCore):
      * WebCoreSupport/EditorClientBlackBerry.h:
      (EditorClientBlackBerry):
      
      Source/WebKit/chromium:
      
      * src/EditorClientImpl.cpp:
      (WebKit::EditorClientImpl::shouldEraseMarkersAfterChangeSelection):
      (WebKit):
      * src/EditorClientImpl.h:
      (EditorClientImpl):
      
      Source/WebKit/efl:
      
      * WebCoreSupport/EditorClientEfl.cpp:
      (WebCore::EditorClientEfl::shouldEraseMarkersAfterChangeSelection):
      (WebCore):
      * WebCoreSupport/EditorClientEfl.h:
      (EditorClientEfl):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/TextCheckerClientGtk.cpp:
      (WebKit::TextCheckerClientGtk::shouldEraseMarkersAfterChangeSelection):
      (WebKit):
      * WebCoreSupport/TextCheckerClientGtk.h:
      (TextCheckerClientGtk):
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebEditorClient.h:
      * WebCoreSupport/WebEditorClient.mm:
      (WebEditorClient::shouldEraseMarkersAfterChangeSelection):
      
      Source/WebKit/qt:
      
      * WebCoreSupport/TextCheckerClientQt.cpp:
      (WebCore::TextCheckerClientQt::shouldEraseMarkersAfterChangeSelection):
      (WebCore):
      * WebCoreSupport/TextCheckerClientQt.h:
      (TextCheckerClientQt):
      
      Source/WebKit/win:
      
      * WebCoreSupport/WebEditorClient.cpp:
      (WebEditorClient::shouldEraseMarkersAfterChangeSelection):
      * WebCoreSupport/WebEditorClient.h:
      (WebEditorClient):
      
      Source/WebKit/wince:
      
      * WebCoreSupport/EditorClientWinCE.cpp:
      (WebKit::EditorClientWinCE::shouldEraseMarkersAfterChangeSelection):
      (WebKit):
      * WebCoreSupport/EditorClientWinCE.h:
      (EditorClientWinCE):
      
      Source/WebKit/wx:
      
      * WebKitSupport/EditorClientWx.cpp:
      (WebCore::EditorClientWx::shouldEraseMarkersAfterChangeSelection):
      (WebCore):
      * WebKitSupport/EditorClientWx.h:
      (EditorClientWx):
      
      Source/WebKit2:
      
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
      (WebKit):
      * WebProcess/WebCoreSupport/WebEditorClient.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b71ba04
    • mifenton@rim.com's avatar
      [BlackBerry] Build fix, SelectionHandler extra debug logs · acb2fd35
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=86743
      
      Reviewed by Antonio Gomes.
      
      Add include for BlackBerryPlatformLog to SelectionHandler.cpp
      
      * WebKitSupport/SelectionHandler.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      acb2fd35
  9. 16 May, 2012 4 commits
  10. 15 May, 2012 2 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Enable the Fullscreen API · 353beda2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=86129
      
      Patch by Max Feil <mfeil@rim.com> on 2012-05-15
      Reviewed by Antonio Gomes.
      
      This patch enables the new document-based Fullscreen API.
      The ENABLE(FULLSCREEN_API) is already enabled in the
      BlackBerry WebKit build. My patch turns fullscreen on
      in the page settings by default and implements the missing
      ChromeClientBlackBerry::{supports,enter,exit}FullScreenForElement()
      member functions. I am also plumbing through the existing
      "fullScreenVideoCapable" that QNXStageWebView has always been
      sending to allow the presence of a native fullscreen video player
      to be checked.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
      * Api/WebSettings.cpp:
      (WebKit):
      (BlackBerry::WebKit::WebSettings::standardSettings):
      (BlackBerry::WebKit::WebSettings::fullScreenVideoCapable):
      (BlackBerry::WebKit::WebSettings::setFullScreenVideoCapable):
      * Api/WebSettings.h:
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore):
      (WebCore::ChromeClientBlackBerry::supportsFullScreenForElement):
      (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
      (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
      * WebCoreSupport/ChromeClientBlackBerry.h:
      (ChromeClientBlackBerry):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      353beda2
    • commit-queue@webkit.org's avatar
      [BlackBerry] adding a functionality for web inspector to inspect current selected element · b961ea40
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=86394
      
      Patch by Hanna Ma <Hanma@rim.com> on 2012-05-15
      Reviewed by Rob Buis.
      
      Add a way to trigger the remote web inspector on selected element.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::inspectCurrentContextElement):
      (WebKit):
      * Api/WebPage.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b961ea40
  11. 14 May, 2012 1 commit
  12. 10 May, 2012 2 commits
    • mifenton@rim.com's avatar
      Caret node boundary should be adjusted to account for the visible region. · 937f8ad8
      mifenton@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=86116
      
      Reviewed by Antonio Gomes.
      
      PR 138988.
      
      Update the node bounding box to be clipped and adjusted
      for the visible region of the frame.
      
      Reviewed Internally by Gen Mak.
      
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      937f8ad8
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Assertions and assumptions in BackingStoreClient around m_frame... · 043a7bdc
      tonikitoo@webkit.org authored
      [BlackBerry] Assertions and assumptions in BackingStoreClient around m_frame and m_frame->view() are invalid
      https://bugs.webkit.org/show_bug.cgi?id=86096
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      
      A Frame's FrameView has always to be checked since it is
      a volatile object, and gets created and destroyed all the time.
      
      We have been facing a particular issue, where during our automated
      interaction tests, the main frame object was being pinch zoomed in
      the middle of it creation, and WebKit thread was blocked by a mutex.
      In practice, it is a case that would not be possible in a real
      world scenario, but shows that the ASSERTs are bogus regardless.
      
      * WebKitSupport/BackingStoreClient.cpp:
      (BlackBerry::WebKit::BackingStoreClient::scrollPosition):
      (BlackBerry::WebKit::BackingStoreClient::setScrollPosition):
      (BlackBerry::WebKit::BackingStoreClient::maximumScrollPosition):
      (BlackBerry::WebKit::BackingStoreClient::viewportSize):
      (BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
      (BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
      (BlackBerry::WebKit::BackingStoreClient::contentsSize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      043a7bdc
  13. 09 May, 2012 2 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Autofill feature implementation for BlackBerry porting · 3ee218d0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=85577
      
      Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-05-09
      Reviewed by Rob Buis.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::autofillTextField): Added this interface
      function to auto fill the inputting text field when user selects
      a autofill candidate value from autofill context dialog.
      (WebKit):
      (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
      (BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog): Added
      this interface function to notify WebPageClient to pop up the autofill
      context dialog with the suggested input items.
      (BlackBerry::WebKit::WebPage::clearAutofillData):
      * Api/WebPage.h:
      * Api/WebPageClient.h:
      * Api/WebPage_p.h:
      (WebCore):
      (WebPagePrivate):
      * WebCoreSupport/AutofillManager.cpp:
      (WebCore::AutofillManager::didChangeInTextField):
      * WebCoreSupport/EditorClientBlackBerry.cpp:
      (WebCore::EditorClientBlackBerry::textDidChangeInTextField): Implemented
      this function to listen to the notification of text field change, and
      notify AutofillManager to handle the autofill.
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
      Save the name and value pair of every autofillable input text field when
      user submitting a form.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ee218d0
    • commit-queue@webkit.org's avatar
      [BlackBerry] Enable PAGE_POPUP in make file, and implement required methods · a671fc10
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=85907
      
      .:
      
      Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-09
      Reviewed by Rob Buis.
      
      Enable PAGE_POPUP option in make files.
      
      Internal reviewed by Yong Li.
      
      * Source/cmake/OptionsBlackBerry.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/WebKit/blackberry:
      
      Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-09
      Reviewed by Rob Buis.
      
      Internal reviewed by Yong Li.
      
      Enable PAGE_POPUP so we can use WebCore::PagePopup and WebCore::PagePopupClient interface.
      Implement virtual methods in WebCore::ChromeClientBlackBerry that required for the
      implementation and add methods in WebKit::WebPage that needed for PagePopupClient.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
      (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
      (BlackBerry::WebKit::WebPage::initPopupWebView):
      (WebKit):
      (BlackBerry::WebKit::WebPage::popupOpened):
      (BlackBerry::WebKit::WebPage::popupClosed):
      (BlackBerry::WebKit::WebPage::hasOpenedPopup):
      (BlackBerry::WebKit::WebPage::popup):
      (BlackBerry::WebKit::WebPagePrivate::setParentPopup):
      * Api/WebPage.h:
      (WebCore):
      * Api/WebPage_p.h:
      (WebCore):
      (WebPagePrivate):
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::hasOpenedPopup):
      (WebCore::ChromeClientBlackBerry::openPagePopup):
      (WebCore):
      (WebCore::ChromeClientBlackBerry::closePagePopup):
      * WebCoreSupport/ChromeClientBlackBerry.h:
      (WebCore):
      (ChromeClientBlackBerry):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a671fc10
  14. 08 May, 2012 4 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Auth credentials set in private mode are reused in public mode. · 3fd89347
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=84697
      
      Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-05-08
      Reviewed by Rob Buis.
      
      Add setPrivateMode function for CredentialStorage.
      
      Source/WebCore:
      
      Now, we only save credentials in memory and CredentialBackingStore isn't enabled.
      When we set private mode from on to off, we clear all these temporary credentials.
      
      We have to change Private Browsing to test, so have to write a manual test case.
      Test: ManualTests/blackberry/http-auth-private-mode-changed.html
      
      * network/CredentialStorage.cpp:
      (WebCore::CredentialStorage::setPrivateMode):
      (WebCore):
      * platform/network/CredentialStorage.h:
      (CredentialStorage):
      
      Source/WebKit/blackberry:
      
      We have to change Private Browsing to test, so have to write a manual test case.
      Test: ManualTests/blackberry/http-auth-private-mode-changed.html
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fd89347
    • commit-queue@webkit.org's avatar
      Source/WebKit: [BlackBerry] Implement a popup client for HTML controls · 6aaf243c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=85670
      
      Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-08
      Reviewed by Rob Buis.
      
      Add popup client file to build system.
      
      * PlatformBlackBerry.cmake:
      
      Source/WebKit/blackberry:     [BlackBerry] Implement a popup client for HTML controls
          https://bugs.webkit.org/show_bug.cgi?id=85670
      
          Reviewed by Rob Buis.
      
          Implement a popup client for HTML controls, which would be used to load
          different popups according to popup type.
      
          * WebCoreSupport/PagePopupBlackBerry.cpp: Added.
          (WebCore):
          (PagePopupChromeClient):
          (WebCore::PagePopupChromeClient::PagePopupChromeClient):
          (WebCore::PagePopupChromeClient::closeWindowSoon):
          (WebCore::PagePopupChromeClient::webPage):
          (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
          (WebCore::PagePopupBlackBerry::~PagePopupBlackBerry):
          (WebCore::PagePopupBlackBerry::sendCreatePopupWebViewRequest):
          (WebCore::PagePopupBlackBerry::init):
          (WebCore::setValueAndClosePopupCallback):
          (WebCore::popUpExtensionInitialize):
          (WebCore::popUpExtensionFinalize):
          (WebCore::PagePopupBlackBerry::installDomFunction):
          (WebCore::PagePopupBlackBerry::handleMouseEvent):
          (WebCore::PagePopupBlackBerry::closePopup):
          (WebCore::PagePopupBlackBerry::closeWebPage):
          * WebCoreSupport/PagePopupBlackBerry.h: Added.
          (WebKit):
          (WebCore):
          (PagePopupBlackBerry):
      
      Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-08
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6aaf243c
    • commit-queue@webkit.org's avatar
      [BlackBerry] Over-scroll image should be tiled · 9f30835a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=85860
      
      Patch by Andrew Lo <anlo@rim.com> on 2012-05-08
      Reviewed by Rob Buis.
      
      Implement tiling for over-scroll image if image dimension don't match
      the surface dimensions.
      
      * Api/BackingStore.cpp:
      (WebKit):
      (BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
      (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
      * Api/BackingStore_p.h:
      (BackingStorePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f30835a
    • commit-queue@webkit.org's avatar
      [Blackberry] remove m_isRequestedByPlugin in ResourceRequest · af8ece6e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=84559
      
      Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-05-08
      Reviewed by Antonio Gomes.
      
      Source/WebCore:
      
      ResourceRequest is a network level abstraction, and it should
      not know anything about web concepts such as plug-ins, and Blackberry
      does not need m_isRequestedByPlugin any longer, So clean up all related
      code.
      
      Tested on a website of http://edition.cnn.com, a new window should be
      opened only when user has a singe tap gesture on a plugin element.
      
      * platform/network/blackberry/ResourceRequest.h:
      (WebCore::ResourceRequest::ResourceRequest):
      (ResourceRequest):
      (CrossThreadResourceRequestData):
      * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
      (WebCore::ResourceRequest::doPlatformCopyData):
      (WebCore::ResourceRequest::doPlatformAdopt):
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af8ece6e