1. 07 Jun, 2012 3 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] User viewport arguments are not respected · 2d891683
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88530
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-06-07
      Reviewed by Antonio Gomes.
      
      RIM PR #163767
      
      Fixed by applying the user supplied viewport arguments if the page
      specifies default viewport arguments (i.e. the page has no viewport
      meta tag).
      
      If the user didn't supply any viewport arguments either, the behaviour
      is the same as before the patch, the caller will successfully reset to
      default viewport arguments.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2d891683
    • commit-queue@webkit.org's avatar
      [BlackBerry] Allow WebPageCompositor to blend a transparent web page · f915c290
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88233
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-06-07
      Reviewed by Rob Buis.
      
      RIM PR #159998
      
      Source/WebCore:
      
      Add a parameter to LayerRenderer::compositeBuffer() indicating whether
      the buffer contents are opaque, and set the GL blend mode accordingly.
      
      This is not currently testable using BlackBerry testing infrastructure.
      
      Reviewed internally by Jakob Petsovits.
      
      * platform/graphics/blackberry/LayerRenderer.cpp:
      (WebCore::LayerRenderer::compositeBuffer):
      * platform/graphics/blackberry/LayerRenderer.h:
      (LayerRenderer):
      
      Source/WebKit/blackberry:
      
      Keep track of the web page background color in the compositor so we can
      determine whether the contents of the root layer are transparent.
      
      Reviewed internally by Jakob Petsovits.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
      * Api/BackingStore_p.h:
      (BackingStorePrivate):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setCompositor):
      (BlackBerry::WebKit::WebPagePrivate::setCompositorBackgroundColor):
      (WebKit):
      (BlackBerry::WebKit::WebPagePrivate::createCompositor):
      (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::render):
      (BlackBerry::WebKit::WebPageCompositorPrivate::setBackgroundColor):
      (WebKit):
      * Api/WebPageCompositor_p.h:
      (BlackBerry::WebKit::WebPageCompositorPrivate::backgroundColor):
      (WebPageCompositorPrivate):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f915c290
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add enable credential autofill and enable form autofill feature control in WebSetting · 58be518a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88513
      
      Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-06-07
      Reviewed by Rob Buis.
      
      RIM PR: #163391
      Implemented credential autofill setting and form autofill setting.
      
      Internally reviewed by Leo Yang <leo.yang@torchmobile.com.cn>.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::autofillTextField):
      (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
      (BlackBerry::WebKit::WebPage::clearCredentials):
      (BlackBerry::WebKit::WebPage::clearAutofillData):
      (BlackBerry::WebKit::WebPage::clearNeverRememberSites):
      * Api/WebSettings.cpp:
      (WebKit):
      (BlackBerry::WebKit::WebSettings::standardSettings):
      (BlackBerry::WebKit::WebSettings::isCredentialAutofillEnabled):
      (BlackBerry::WebKit::WebSettings::setCredentialAutofillEnabled):
      (BlackBerry::WebKit::WebSettings::isFormAutofillEnabled):
      (BlackBerry::WebKit::WebSettings::setFormAutofillEnabled):
      * Api/WebSettings.h:
      * WebCoreSupport/EditorClientBlackBerry.cpp:
      (WebCore::EditorClientBlackBerry::textFieldDidEndEditing):
      (WebCore::EditorClientBlackBerry::textDidChangeInTextField):
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58be518a
  2. 06 Jun, 2012 3 commits
    • tonikitoo@webkit.org's avatar
      [BlackBerry] browser video player fullscreen mode (portrait) - Controls are... · 46031f72
      tonikitoo@webkit.org authored
      [BlackBerry] browser video player fullscreen mode (portrait) - Controls are off screen so cannot exit fullscreen
      https://bugs.webkit.org/show_bug.cgi?id=88488
      PR #162991
      
      Reviewed by George Staikos.
      Patch by Antonio Gomes <agomes@rim.com>
      
      When we use width:100%/pageScale as the math to calculate the width of the
      FullScreen element, it goes too wide for horizontally scrollable webpages.
      The reason is that 100% is relative to the content size here, and we want 100%
      relative to the viewport size. However, since there is no such a thing in CSS,
      we set an absolute file.
      
      A known problem with this will be rotating the device when in fullscreen mode
      that we can address when rotating is supported.
      
      Internally reviewed by Jacky Jiang.
      
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      46031f72
    • tonikitoo@webkit.org's avatar
      [BlackBerry] Implement a top-down in-region boundary detection in InRegionScrollableArea · bf095e15
      tonikitoo@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88254
      PR #125237
      
      Reviewed by Rob Buis.
      Patch by Antonio Gomes <agomes@rim.com>
      
      Patch implements a top-down visibleWindowRect calculation for all scrollable
      elements hit-tested by a given point.
      
      The reason on why this approach is better is that it calculates the visible
      window rect from the outtermost scrollable element towards the inner ones, and
      that allows it to use the visible window rect of the previous scrollable element
      as the clipping rect for the current one.
      
      Patch also changes the return vector to store ScrollViewBase pointers, so
      we can make use of static_cast properly.
      
      Internally reviewed by Jakob Petsovits.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::pushBackInRegionScrollable):
      (BlackBerry::WebKit::WebPagePrivate::inRegionScrollableAreasForPoint):
      * Api/WebPageClient.h:
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * WebKitSupport/InRegionScrollableArea.cpp:
      (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
      (BlackBerry::WebKit::InRegionScrollableArea::setVisibleWindowRect):
      (WebKit):
      (BlackBerry::WebKit::InRegionScrollableArea::visibleWindowRect):
      * WebKitSupport/InRegionScrollableArea.h:
      (InRegionScrollableArea):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf095e15
    • charles.wei@torchmobile.com.cn's avatar
      [BlackBerry] IndexedDB file should be sand-boxed to the application data directory. · ba46ba3e
      charles.wei@torchmobile.com.cn authored
      https://bugs.webkit.org/show_bug.cgi?id=88065
      
      Reviewed by George Staikos.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
      * Api/WebSettings.cpp:
      (WebKit):
      (BlackBerry::WebKit::WebSettings::indexedDataBasePath):
      (BlackBerry::WebKit::WebSettings::setIndexedDataBasePath):
      * Api/WebSettings.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba46ba3e
  3. 05 Jun, 2012 3 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry]Differentiate options and group options by TypeOption and TypeOptionInGroup · 5076257a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88342
      
      Patch by Crystal Zhang <haizhang@rim.com> on 2012-06-05
      Reviewed by Rob Buis.
      
      RIM PR: 163141
      
      Reviewed internally by Mike Fenton.
      
      We set all options' type to TypeOption, which can't tell if an option belongs to a group,
      introduce TypeOptionInGroup to fix it.
      
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::openSelectPopup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5076257a
    • abarth@webkit.org's avatar
      Remove support for target-densitydpi in the viewport meta tag · c27d725c
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88047
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebCore:
      
      The target-densitydpi parameter was originally implemented on Android,
      but it does not appear to be widely used and introduces significant
      implementation complexity because it forces us to track three scale
      factors (defaultDeviceScaleFactor, deviceScaleFactor, and
      pageScaleFactor) rather than just two (deviceScaleFactor and
      pageScaleFactor).
      
      There don't appear to be many web sites that use target-densitydpi
      because it is not supported on iOS.  There are also concerns from the
      standards community about the design of the feature.  It seems our best
      course of action is to remove target-densitydpi and address these use
      cases via other mechanisms, such as responsive images and device units
      in CSS because those approaches are likely to be implemented broadly.
      
      * dom/ViewportArguments.cpp:
      (WebCore::computeViewportAttributes):
      (WebCore):
      (WebCore::setViewportFeature):
      (WebCore::viewportErrorMessageTemplate):
      (WebCore::viewportErrorMessageLevel):
      * dom/ViewportArguments.h:
      (WebCore::ViewportArguments::ViewportArguments):
      (ViewportArguments):
      (WebCore::ViewportArguments::operator==):
      
      Source/WebKit/blackberry:
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
      * Api/WebViewportArguments.cpp:
      (BlackBerry::WebKit::WebViewportArguments::targetDensityDpi):
      (BlackBerry::WebKit::WebViewportArguments::setTargetDensityDpi):
      * Api/WebViewportArguments.h:
      
      Source/WebKit/efl:
      
      * ewk/ewk_view.cpp:
      (_ewk_view_priv_new):
      
      LayoutTests:
      
      These tests are no longer needed because they're testing a feature we
      no longer support.
      
      * fast/viewport/viewport-133-expected.txt: Removed.
      * fast/viewport/viewport-133.html: Removed.
      * fast/viewport/viewport-92-expected.txt: Removed.
      * fast/viewport/viewport-92.html: Removed.
      * fast/viewport/viewport-93-expected.txt: Removed.
      * fast/viewport/viewport-93.html: Removed.
      * fast/viewport/viewport-94-expected.txt: Removed.
      * fast/viewport/viewport-94.html: Removed.
      * fast/viewport/viewport-95-expected.txt: Removed.
      * fast/viewport/viewport-95.html: Removed.
      * fast/viewport/viewport-96-expected.txt: Removed.
      * fast/viewport/viewport-96.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c27d725c
    • commit-queue@webkit.org's avatar
      [BlackBerry]Web Inspector highlight is slow · 0b9d4c0b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88331
      
      Patch by Konrad Piascik <kpiascik@rim.com> on 2012-06-05
      Reviewed by Rob Buis.
      
      Highlight is slow on large pages because of constant repaint calls.
      Change to use the accelerated layer highlight all the time.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::renderContents):
      * WebCoreSupport/InspectorClientBlackBerry.cpp:
      (WebCore::InspectorClientBlackBerry::highlight):
      (WebCore::InspectorClientBlackBerry::hideHighlight):
      * WebCoreSupport/InspectorOverlay.cpp:
      (WebCore::InspectorOverlay::clear):
      (WebCore::InspectorOverlay::update):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b9d4c0b
  4. 04 Jun, 2012 1 commit
  5. 02 Jun, 2012 3 commits
    • tonikitoo@webkit.org's avatar
      [BlackBerry] browser video player fullscreen mode (portrait) - out of... · af63823e
      tonikitoo@webkit.org authored
      [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART III)
      https://bugs.webkit.org/show_bug.cgi?id=88019
      
      Reviewed by George Staikos.
      Patch by Antonio Gomes <agomes@rim.com>
      
      Enter 'pure-with-mouse-conversion' mode when going fullscreen, so
      that it prevents user from scrolling the WebPage, pinch zooming,
      touch-and-hold, enter selection mode, etc ...
      
      Internally reviewed by Gen Mak.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
      (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
      (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af63823e
    • tonikitoo@webkit.org's avatar
      [BlackBerry] browser video player fullscreen mode (portrait) - out of... · 78e88f52
      tonikitoo@webkit.org authored
      [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART II)
      https://bugs.webkit.org/show_bug.cgi?id=88019
      
      Reviewed by George Staikos.
      Patch by Antonio Gomes <agomes@rim.com>
      
      When an element goes fullscreen, its wrapper/container obeys all
      BlackBerry specific fixed position customizations: we fixed
      against Y, but not X. Then, in order to have the wrapper element
      properly positioned when entering fullscreen mode, we
      temporarily scroll x to 0.
      
      The original x scroll position is restored when we leave
      fullscreen.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
      (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
      (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78e88f52
    • tonikitoo@webkit.org's avatar
      [BlackBerry] browser video player fullscreen mode (portrait) - out of... · 7a4748f9
      tonikitoo@webkit.org authored
      [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART I)
      https://bugs.webkit.org/show_bug.cgi?id=88019
      PR #158266
      
      Reviewed by George Staikos.
      Patch by Antonio Gomes <agomes@rim.com>
      
      The way elements go fullscreen with the new FULLSCREEN_API
      is that they get cloned and added to an out-of-DOM wrapper
      element. The wrapper is a normal fixed position element and
      then zoom in/out accordingly to how other layers do: following
      WebPage's scale.
      
      When going fullscreen, we have to take the current WebPage scale
      into account in order to properly fit the element to the screen,
      regardless the web page scale.
      
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore):
      (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
      * WebCoreSupport/ChromeClientBlackBerry.h:
      (ChromeClientBlackBerry):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a4748f9
  6. 01 Jun, 2012 3 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Fix the return value checking in SelectPopupClient · 2ebecc50
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88130
      
      Patch by Crystal Zhang <haizhang@rim.com> on 2012-06-01
      Reviewed by Rob Buis.
      
      In SelectPopupClient, return '1' means selected, '0' means not selected,
      the ASCII value of '0' is 48, not 32, use '0' to be more readable.
      
      * WebCoreSupport/SelectPopupClient.cpp:
      (WebCore::SelectPopupClient::setValueAndClosePopup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ebecc50
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add end editing handling into AutofillManager · aac7f509
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88071
      
      Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-06-01
      Reviewed by Rob Buis.
      
      RIM PR: 160857
      Implemented EditorClientBlackBerry::textFieldDidEndEditing
      to notify AutofillManager to send the dismissing autofill
      dialog notification to webpage client.
      
      No new tests since there is no behavior changes.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::notifyDismissAutofillDialog):
      (WebKit):
      * Api/WebPageClient.h:
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * WebCoreSupport/AutofillManager.cpp:
      (WebCore::AutofillManager::textFieldDidEndEditing):
      (WebCore):
      * WebCoreSupport/AutofillManager.h:
      (AutofillManager):
      * WebCoreSupport/EditorClientBlackBerry.cpp:
      (WebCore::EditorClientBlackBerry::textFieldDidEndEditing):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aac7f509
    • zhajiang@rim.com's avatar
      [BlackBerry] Bridge Apps - Apps do not redraw correctly after orientation change · 3cf4773f
      zhajiang@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=88033
      
      Reviewed by Rob Buis.
      Patch by Jacky Jiang <zhajiang@rim.com>
      
      PR: 142961
      When bridge apps were in carousel mode, the backing store was inactive
      as its memory had been released. When we rotated the device, we would
      call WebPagPrivate:setViewportSize and resume screen and backing store
      to render and blit visible contents. As backing store was inactive and
      the window usage was GLES2Usage, we were neither doing backing store
      rendering nor direct rendering. Therefore, we drew layers directly
      based on the invalid texture contents when blitting contents if
      accelerated compositing was enabled.
      This patch forces compositing mode to let the accelerated compositing
      layer take care of the rendering which can update texture contents
      before drawing when backing store is inactive and is openGL compositing.
      
      Reviewed internally by George Staikos and Arvid Nilsson.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cf4773f
  7. 31 May, 2012 6 commits
    • commit-queue@webkit.org's avatar
      REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac · 3dc47a1a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=86859
      
      Source/WebCore:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      The test tries to reach an invalid SpellChecker object. Such an access should be guarded
      beforehand.
      
      Asynchronous spellchecking can return results after originated
      frame is gone, which triggered an invalid access to the dead spellchecker
      object. This chagne prevents it by marking request objects from
      the spellchecker as invalid:
      
      - Originally TextCheckerClient API was passed a SpellCheker object.
        This change abstracted it behind TextCheckingRequest interface,
        didSucceed() and didCancel() method specifically.
      - TextCheckingRequest was turned from a plain old object into
        a refcounted abstract class, which is now subclassed by SpellCheckRequest.
      - SpellChecker now marks pending SpellCheckRequest objects as invalid
        on its destructor.
      
      Test: editing/spelling/spellcheck-async-remove-frame.html
      
      * WebCore.exp.in:
      * editing/SpellChecker.cpp:
      (WebCore::SpellCheckRequest::SpellCheckRequest):
      (WebCore::SpellCheckRequest::create):
      (WebCore::SpellCheckRequest::didSucceed):
      (WebCore):
      (WebCore::SpellCheckRequest::didCancel):
      (WebCore::SpellCheckRequest::wasRequestedBy):
      (WebCore::SpellCheckRequest::requesterDestroyed):
      (WebCore::SpellChecker::~SpellChecker):
      (WebCore::SpellChecker::requestCheckingFor):
      (WebCore::SpellChecker::invokeRequest):
      (WebCore::SpellChecker::didCheckSucceed):
      (WebCore::SpellChecker::didCheckCancel):
      * editing/SpellChecker.h:
      (WebCore):
      (SpellCheckRequest):
      (WebCore::SpellCheckRequest::isStarted):
      (SpellChecker):
      * loader/EmptyClients.h:
      (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
      * platform/text/TextCheckerClient.h:
      (TextCheckerClient):
      * platform/text/TextChecking.h:
      (GrammarDetail):
      (TextCheckingResult):
      (TextCheckingRequest):
      (WebCore::TextCheckingRequest::~TextCheckingRequest):
      
      Source/WebKit/blackberry:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientBlackBerry.cpp:
      (WebCore::EditorClientBlackBerry::requestCheckingOfString):
      * WebCoreSupport/EditorClientBlackBerry.h:
      (EditorClientBlackBerry):
      
      Source/WebKit/chromium:
      
      Removed a port specific fix which was introduced at r117572.
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * src/EditorClientImpl.cpp:
      (WebKit::EditorClientImpl::frameWillDetachPage):
      (WebKit::EditorClientImpl::requestCheckingOfString):
      * src/EditorClientImpl.h:
      (WebCore):
      (EditorClientImpl):
      * src/WebTextCheckingCompletionImpl.cpp:
      (WebKit::WebTextCheckingCompletionImpl::didFinishCheckingText):
      (WebKit::WebTextCheckingCompletionImpl::didCancelCheckingText):
      * src/WebTextCheckingCompletionImpl.h:
      (WebKit::WebTextCheckingCompletionImpl::WebTextCheckingCompletionImpl):
      (WebTextCheckingCompletionImpl):
      
      Source/WebKit/efl:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientEfl.h:
      (WebCore::EditorClientEfl::requestCheckingOfString):
      
      Source/WebKit/gtk:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/TextCheckerClientGtk.h:
      (WebKit::TextCheckerClientGtk::requestCheckingOfString):
      
      Source/WebKit/mac:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/WebEditorClient.h:
      * WebCoreSupport/WebEditorClient.mm:
      (-[WebEditorSpellCheckResponder initWithClient:sequence:results:]):
      (-[WebEditorSpellCheckResponder perform]):
      (WebEditorClient::didCheckSucceeded):
      (WebEditorClient::requestCheckingOfString):
      
      Source/WebKit/qt:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/TextCheckerClientQt.h:
      (WebCore::TextCheckerClientQt::requestCheckingOfString):
      
      Source/WebKit/win:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/WebEditorClient.h:
      (WebEditorClient::requestCheckingOfString):
      
      Source/WebKit/wince:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebCoreSupport/EditorClientWinCE.h:
      (WebKit::EditorClientWinCE::requestCheckingOfString):
      
      Source/WebKit/wx:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebKitSupport/EditorClientWx.h:
      (WebCore::EditorClientWx::requestCheckingOfString):
      
      Source/WebKit2:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      (WebKit::WebEditorClient::requestCheckingOfString):
      * WebProcess/WebCoreSupport/WebEditorClient.h:
      
      LayoutTests:
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-05-31
      Reviewed by Ryosuke Niwa.
      
      * platform/mac/Skipped: Unskipped the test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dc47a1a
    • commit-queue@webkit.org's avatar
      [BlackBerry] WebGL and 2D canvas output not available to WebPageCompositor · 7da03741
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88012
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-31
      Reviewed by George Staikos.
      
      Properly set up resource sharing between WebKit thread EGL contexts and
      the compositing thread EGL context, so the texture ID produced by WebGL
      and 2D canvas makes sense to the compositing context.
      
      There's no public API to supply an EGLContext yet, so we're lucky that
      the embedder never makes its context un-current. Just grab the current
      context on the compositing thread and use that as the compositing
      context.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::setCompositor):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
      (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7da03741
    • staikos@webkit.org's avatar
      [Blackberry] Initialize the select client and delete the pointer · 912d4a61
      staikos@webkit.org authored
      in the destructor so it doesn't leak.  Fixes test crashes.
      https://bugs.webkit.org/show_bug.cgi?id=87992
      
      Reviewed by Rob Buis.
      
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::InputHandler):
      (BlackBerry::WebKit::InputHandler::~InputHandler):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      912d4a61
    • commit-queue@webkit.org's avatar
      [BlackBerry] Crash when destroying WebOverlay with active WebOverlayOverride · ab5ebfe0
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87968
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-31
      Reviewed by Rob Buis.
      
      The override object is using a compositing thread WebOverlayPrivate
      object with no client because the layer doesn't delegate drawing to the
      WebOverlayPrivate, it's only used to modify the override properties on
      the underlying compositing thread layer.
      
      Since the m_layerCompositingThreadClient is optional, we have to add
      null checks.
      
      * Api/WebOverlay.cpp:
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setClient):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToColor):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setDrawsContent):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::invalidate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab5ebfe0
    • commit-queue@webkit.org's avatar
      [Blackberry] WebKit's fullscreen mode needs to notify page client. · ccd39940
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87337
      
      Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-05-31
      Reviewed by Antonio Gomes.
      
      Move "fullScreenVideoCapable" into webpagePrivate to make code
      clean for "fullScreenForElement/Node" of cromeClientBlackberry,
      All Video checks and code path selections are in webpagePrivate now.
      For some UX and secure reasons, we could not apply fullscreen capacity
      for all elements, So we use client's fullscreenStart/Stop only for
      those video elements and those elements containing video tags.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::webContext):
      (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
      (WebKit):
      (BlackBerry::WebKit::containsVideoTags):
      (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
      (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
      * Api/WebPageClient.h:
      * Api/WebPage_p.h:
      (WebCore):
      (WebPagePrivate):
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
      (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccd39940
    • commit-queue@webkit.org's avatar
      [BlackBerry] Crash when closing web page if selection is active · 2775206e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87962
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-31
      Reviewed by Antonio Gomes.
      
      The embedder may try to remove a layer from the compositor at a stage
      where the compositor has been set to 0.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::addCompositingThreadOverlay):
      (BlackBerry::WebKit::WebPage::removeCompositingThreadOverlay):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2775206e
  8. 30 May, 2012 4 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add an Accelerated Compositing layer for Web Inspector DOM highlight. · f94b94cd
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=81001
      
      Source/WebKit:
      
      Patch by Konrad Piascik <kpiascik@rim.com> on 2012-05-30
      Reviewed by Antonio Gomes
      
      Added new InspectorOverlay class
      
      * PlatformBlackBerry.cmake:
      
      Source/WebKit/blackberry:
      
      Patch by Konrad Piascik <kpiascik@rim.com> on 2012-05-30
      Reviewed by Antonio Gomes.
      
      Implemented InspectorOverlay using WebOverlayAPI.
      
      * Api/BackingStore.cpp:
      (BlackBerry::WebKit::BackingStorePrivate::renderContents):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::updateDelegatedOverlays):
      (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
      (BlackBerry::WebKit::WebPagePrivate::setInspectorOverlayClient):
      (WebKit):
      * Api/WebPage_p.h:
      (WebCore):
      (WebPagePrivate):
      * WebCoreSupport/InspectorClientBlackBerry.cpp:
      (WebCore::InspectorClientBlackBerry::highlight):
      (WebCore::InspectorClientBlackBerry::hideHighlight):
      (WebCore::InspectorClientBlackBerry::paintInspectorOverlay):
      (WebCore):
      * WebCoreSupport/InspectorClientBlackBerry.h:
      (InspectorClientBlackBerry):
      * WebCoreSupport/InspectorOverlay.cpp: Added.
      (WebCore):
      (WebCore::InspectorOverlay::create):
      (WebCore::InspectorOverlay::InspectorOverlay):
      (WebCore::InspectorOverlay::notifySyncRequired):
      (WebCore::InspectorOverlay::paintContents):
      (WebCore::InspectorOverlay::showDebugBorders):
      (WebCore::InspectorOverlay::showRepaintCounter):
      (WebCore::InspectorOverlay::contentsVisible):
      (WebCore::InspectorOverlay::~InspectorOverlay):
      (WebCore::InspectorOverlay::clear):
      (WebCore::InspectorOverlay::update):
      (WebCore::InspectorOverlay::paintWebFrame):
      (WebCore::InspectorOverlay::invalidateWebFrame):
      * WebCoreSupport/InspectorOverlay.h: Added.
      (WebKit):
      (WebCore):
      (InspectorOverlay):
      (InspectorOverlayClient):
      (WebCore::InspectorOverlay::setClient):
      (WebCore::InspectorOverlay::notifyAnimationStarted):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f94b94cd
    • commit-queue@webkit.org's avatar
      [BlackBerry] Browser crashed when selecting in textarea · f3ccf122
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87484
      
      The function FatFingers::checkForText() uses host node's whole text
      to checkFingerIntersection(). We should not give the text of shadow
      nodes to it.
      
      Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-05-30
      Reviewed by Antonio Gomes.
      
      * WebKitSupport/FatFingers.cpp:
      (BlackBerry::WebKit::FatFingers::getNodesFromRect): Avoid returning
      shadow nodes when the context is Text node.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3ccf122
    • zoltan@webkit.org's avatar
      [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder · 891b02a4
      zoltan@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80400
      
      Source/WebCore:
      
      This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
      The new behavior is to use QImageDecoder only if WebCoreImageDecoder - and the platform - doesn't support
      the requested image type.
      The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
      
      This change adds build depedency (except Qt-MAC and Qt-WIN platform) for libpng-dev and libjpeg-dev packages,
      because PNG and JPEG imagedecoders need not only these libraries, but their headers also. Qmake-config
      tests for these libraries were introduced in r110045.
      
      Notice: with using libjpeg-turbo as a system library I measured 10% performance improvement on Methanol benchmark
      (collection of popular sites, page-loading benchmark) with this patch.
      
      Reviewed by Simon Hausmann.
      
      No new tests needed.
      
      * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
      * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
      * platform/MIMETypeRegistry.cpp:
      (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
      (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
      * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
      * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
      (WebCore):
      * platform/graphics/qt/ImageDecoderQt.cpp: Remove ImageDecoder::create, since it is no longer needed.
      (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
      (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
      (WebCore):
      (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
      * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
      (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder. Add guards
      for JPEG, PNG, ICO decoder for Qt-MAC and Qt-WIN platform.
      * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
      (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
      (ImageFrame):
      * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
      ImageDecoderQt.cpp.
      
      Source/WebKit/blackberry:
      
      Get rid of QT_IMAGE_DECODER flag.
      
      Reviewed by Simon Hausmann.
      
      * WebCoreSupport/AboutDataEnableFeatures.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      891b02a4
    • commit-queue@webkit.org's avatar
      [BlackBerry] The Page's deviceScaleFactor() is not being properly maintained · c7043e7c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87817
      
      Patch by Max Feil <mfeil@rim.com> on 2012-05-29
      Reviewed by Antonio Gomes.
      
      This bug fix in WebKit/blackberry is needed by the changes for
      fullscreen media control sizing in WebCore (bug 87551). The sizing
      of controls depends on the page's deviceScaleFactor(), which was
      not being maintained properly due to errors in logic. Viewport
      changes from non-default to default were being erroneously
      thrown out. Also, when the viewport did change back to default
      the deviceScaleFactor was not being updated.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
      (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7043e7c
  9. 29 May, 2012 5 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] WebOverlay build fixes and bug fixes · e4ecf697
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87780
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-29
      Reviewed by Rob Buis.
      
      Fix build when accelerated compositing disabled, or debug build.
      
      Also fix a bug where the selection overlay would not disappear properly
      because of a typo in WebPage::removeOverlay(). Also convert said method
      to early return style.
      
      Debug build fixes contributed by Ming Xie.
      
      * Api/WebOverlay.cpp:
      (BlackBerry::WebKit::WebOverlay::addAnimation):
      (BlackBerry::WebKit::WebOverlay::setContentsToImage):
      (WebKit):
      (BlackBerry::WebKit::WebOverlay::setContentsToColor):
      (BlackBerry::WebKit::WebOverlay::setDrawsContent):
      (BlackBerry::WebKit::WebOverlay::invalidate):
      (BlackBerry::WebKit::WebOverlay::setClient):
      (BlackBerry::WebKit::WebOverlay::override):
      (BlackBerry::WebKit::WebOverlay::resetOverrides):
      * Api/WebOverlayOverride.cpp:
      (BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
      * Api/WebOverlay_p.h:
      (BlackBerry::WebKit::WebOverlayPrivate::~WebOverlayPrivate):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::removeOverlay):
      (BlackBerry::WebKit::WebPage::addCompositingThreadOverlay):
      (BlackBerry::WebKit::WebPage::removeCompositingThreadOverlay):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4ecf697
    • commit-queue@webkit.org's avatar
      [BlackBerry] Add malloc info to about:memory page · 7733b379
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87676
      
      Patch by Yong Li <yoli@rim.com> on 2012-05-29
      Reviewed by Rob Buis.
      
      Detailed malloc info can tell us how much memory
      in the heaps is being in use.
      
      * WebCoreSupport/AboutData.cpp:
      (WebCore::memoryPage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7733b379
    • commit-queue@webkit.org's avatar
      [BlackBerry] Make DefaultTapHighlight use the new WebOverlay API · fc8e979f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87604
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-29
      Reviewed by Antonio Gomes.
      
      Also add a new method to allow the embedder to use the default tap
      highlight instead of replacing it with a custom one just to keep track
      of the "shouldHideAfterScroll" flag.
      
      PR #160262.
      
      * Api/WebTapHighlight.h:
      * WebKitSupport/DefaultTapHighlight.cpp:
      (BlackBerry::WebKit::DefaultTapHighlight::DefaultTapHighlight):
      (BlackBerry::WebKit::DefaultTapHighlight::draw):
      (BlackBerry::WebKit::DefaultTapHighlight::hide):
      (BlackBerry::WebKit::DefaultTapHighlight::paintContents):
      * WebKitSupport/DefaultTapHighlight.h:
      (BlackBerry::WebKit::DefaultTapHighlight::shouldHideAfterScroll):
      (DefaultTapHighlight):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc8e979f
    • commit-queue@webkit.org's avatar
      [BlackBerry] WebKit-side implementation of SelectionOverlay · b198650a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87605
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-29
      Reviewed by Rob Buis.
      
      Source/WebKit:
      
      Add SelectionOverlay to the build system.
      
      PR #160263
      
      * PlatformBlackBerry.cmake:
      
      Source/WebKit/blackberry:
      
      Leverage the new WebOverlay API to move SelectionOverlay to the WebKit
      library, so we always draw selection regardless of which embedder is
      integrating WebKit.
      
      PR #160263
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      (BlackBerry::WebKit::WebPage::selectionOverlay):
      (WebKit):
      * Api/WebPage.h:
      (WebKit):
      * Api/WebPage_p.h:
      (WebPagePrivate):
      * Api/WebSelectionOverlay.h: Added.
      (WebKit):
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
      * WebKitSupport/SelectionOverlay.cpp: Added.
      (WebKit):
      (BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
      (BlackBerry::WebKit::SelectionOverlay::~SelectionOverlay):
      (BlackBerry::WebKit::SelectionOverlay::draw):
      (BlackBerry::WebKit::SelectionOverlay::hide):
      (BlackBerry::WebKit::SelectionOverlay::notifySyncRequired):
      (BlackBerry::WebKit::SelectionOverlay::paintContents):
      * WebKitSupport/SelectionOverlay.h: Added.
      (WebKit):
      (SelectionOverlay):
      (BlackBerry::WebKit::SelectionOverlay::create):
      (BlackBerry::WebKit::SelectionOverlay::notifyAnimationStarted):
      (BlackBerry::WebKit::SelectionOverlay::showDebugBorders):
      (BlackBerry::WebKit::SelectionOverlay::showRepaintCounter):
      (BlackBerry::WebKit::SelectionOverlay::contentsVisible):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b198650a
    • commit-queue@webkit.org's avatar
      [BlackBerry] WebOverlay API · 3331a7f1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87603
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-29
      Reviewed by Rob Buis.
      
      Source/WebKit:
      
      Add WebOverlay related files to the build system.
      
      PR #156812
      
      * PlatformBlackBerry.cmake:
      
      Source/WebKit/blackberry:
      
      This new API makes it possible to leverage the BlackBerry accelerated
      compositing implementation to draw, transform and fluidly animate
      overlays in the embedding library or application.
      
      A WebOverlay has an affinity for the thread where it was created. If
      the current thread is the WebKit thread, use WebPage::addOverlay() to
      add it to the page, and manipulate it only from the WebKit thread, with
      exception of the "override" functionality which can be used from the
      compositing thread. If the current thread is the compositing thread,
      use WebPage::addCompositingThreadOverlay() to add it to the page, and
      only manipulate it on the compositing thread.
      
      A WebOverlay can be painted using Skia, or its contents can be set to
      an image or a solid color.
      
      PR #156812
      
      * Api/WebAnimation.cpp: Added.
      (WebKit):
      (BlackBerry::WebKit::WebAnimation::fadeAnimation):
      (BlackBerry::WebKit::WebAnimation::name):
      (BlackBerry::WebKit::WebAnimation::WebAnimation):
      (BlackBerry::WebKit::WebAnimation::~WebAnimation):
      (BlackBerry::WebKit::WebAnimation::operator=):
      * Api/WebAnimation.h: Added.
      (WebKit):
      * Api/WebAnimation_p.h: Added.
      (WebKit):
      (WebAnimationPrivate):
      (BlackBerry::WebKit::WebAnimationPrivate::WebAnimationPrivate):
      * Api/WebOverlay.cpp: Added.
      (WebKit):
      (BlackBerry::WebKit::WebOverlay::WebOverlay):
      (BlackBerry::WebKit::WebOverlay::~WebOverlay):
      (BlackBerry::WebKit::WebOverlay::position):
      (BlackBerry::WebKit::WebOverlay::setPosition):
      (BlackBerry::WebKit::WebOverlay::anchorPoint):
      (BlackBerry::WebKit::WebOverlay::setAnchorPoint):
      (BlackBerry::WebKit::WebOverlay::size):
      (BlackBerry::WebKit::WebOverlay::setSize):
      (BlackBerry::WebKit::WebOverlay::sizeIsScaleInvariant):
      (BlackBerry::WebKit::WebOverlay::setSizeIsScaleInvariant):
      (BlackBerry::WebKit::WebOverlay::transform):
      (BlackBerry::WebKit::WebOverlay::setTransform):
      (BlackBerry::WebKit::WebOverlay::opacity):
      (BlackBerry::WebKit::WebOverlay::setOpacity):
      (BlackBerry::WebKit::WebOverlay::addAnimation):
      (BlackBerry::WebKit::WebOverlay::removeAnimation):
      (BlackBerry::WebKit::WebOverlay::parent):
      (BlackBerry::WebKit::WebOverlay::addChild):
      (BlackBerry::WebKit::WebOverlay::removeFromParent):
      (BlackBerry::WebKit::WebOverlay::setContentsToImage):
      (BlackBerry::WebKit::WebOverlay::setContentsToColor):
      (BlackBerry::WebKit::WebOverlay::setDrawsContent):
      (BlackBerry::WebKit::WebOverlay::invalidate):
      (BlackBerry::WebKit::WebOverlay::setClient):
      (BlackBerry::WebKit::WebOverlay::override):
      (BlackBerry::WebKit::WebOverlay::resetOverrides):
      (BlackBerry::WebKit::WebOverlayPrivate::page):
      (BlackBerry::WebKit::WebOverlayPrivate::override):
      (BlackBerry::WebKit::WebOverlayPrivate::drawContents):
      (BlackBerry::WebKit::WebOverlayPrivate::scheduleCompositingRun):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::override):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::position):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setPosition):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::anchorPoint):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setAnchorPoint):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::size):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setSize):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::sizeIsScaleInvariant):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setSizeIsScaleInvariant):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::transform):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setTransform):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::opacity):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setOpacity):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::addAnimation):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::removeAnimation):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::addChild):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::removeFromParent):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToImage):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToColor):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setDrawsContent):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::clear):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::invalidate):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::resetOverrides):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifySyncRequired):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::paintContents):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::~WebOverlayLayerCompositingThreadClient):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setDrawsContent):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::invalidate):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContents):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContentsToColor):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::layerCompositingThreadDestroyed):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::layerVisibilityChanged):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::deleteTextures):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::WebOverlayPrivateCompositingThread):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setClient):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::override):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::position):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setPosition):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::anchorPoint):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setAnchorPoint):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::size):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setSize):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::sizeIsScaleInvariant):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setSizeIsScaleInvariant):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::transform):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setTransform):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::opacity):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setOpacity):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::addAnimation):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::removeAnimation):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::addChild):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::removeFromParent):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToColor):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setDrawsContent):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::clear):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::invalidate):
      (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::resetOverrides):
      * Api/WebOverlay.h: Added.
      (WebCore):
      (WebKit):
      * Api/WebOverlayClient.h: Added.
      (WebKit):
      * Api/WebOverlayOverride.cpp: Added.
      (WebKit):
      (BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
      (BlackBerry::WebKit::WebOverlayOverride::~WebOverlayOverride):
      (BlackBerry::WebKit::WebOverlayOverride::setPosition):
      (BlackBerry::WebKit::WebOverlayOverride::setAnchorPoint):
      (BlackBerry::WebKit::WebOverlayOverride::setSize):
      (BlackBerry::WebKit::WebOverlayOverride::setTransform):
      (BlackBerry::WebKit::WebOverlayOverride::setOpacity):
      (BlackBerry::WebKit::WebOverlayOverride::addAnimation):
      (BlackBerry::WebKit::WebOverlayOverride::removeAnimation):
      * Api/WebOverlayOverride.h: Added.
      (WebKit):
      * Api/WebOverlay_p.h: Added.
      (WTF):
      (WebCore):
      (WebKit):
      (WebOverlayPrivate):
      (BlackBerry::WebKit::WebOverlayPrivate::WebOverlayPrivate):
      (BlackBerry::WebKit::WebOverlayPrivate::~WebOverlayPrivate):
      (BlackBerry::WebKit::WebOverlayPrivate::setPage):
      (BlackBerry::WebKit::WebOverlayPrivate::setClient):
      (BlackBerry::WebKit::WebOverlayPrivate::layerCompositingThread):
      (BlackBerry::WebKit::WebOverlayPrivate::graphicsLayer):
      (WebOverlayPrivateWebKitThread):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::graphicsLayer):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifyAnimationStarted):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::showDebugBorders):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::showRepaintCounter):
      (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::contentsVisible):
      (WebOverlayLayerCompositingThreadClient):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setLayer):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setClient):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawsContent):
      (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::contents):
      (WebOverlayPrivateCompositingThread):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPage::addOverlay):
      (WebKit):
      (BlackBerry::WebKit::WebPage::removeOverlay):
      (BlackBerry::WebKit::WebPage::addCompositingThreadOverlay):
      (BlackBerry::WebKit::WebPage::removeCompositingThreadOverlay):
      * Api/WebPage.h:
      (WebKit):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
      (BlackBerry::WebKit::WebPageCompositorPrivate::render):
      (WebKit):
      (BlackBerry::WebKit::WebPageCompositorPrivate::compositeLayers):
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
      (BlackBerry::WebKit::WebPageCompositorPrivate::addOverlay):
      (BlackBerry::WebKit::WebPageCompositorPrivate::removeOverlay):
      * Api/WebPageCompositor_p.h:
      (BlackBerry::WebKit::WebPageCompositorPrivate::compositingThreadOverlayLayer):
      (WebPageCompositorPrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3331a7f1
  10. 28 May, 2012 7 commits
    • commit-queue@webkit.org's avatar
      [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail · 1a7c3e81
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80135
      
      Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-05-28
      Reviewed by Rob Buis.
      
      Source/WebCore:
      
      RIM PR: 145660
      Fixed a regression introduced by r111810, we should cancel the new
      request when user press cancel button in http authentication challenge
      dialog, and we should also allow sending empty username and password
      with the request.
      Also removed redundant codes which checked the existence of the
      FrameLoaderClient pointer, as we've already moved authenticationChallenge()
      out of class FrameLoaderClient, it is not needed.
      
      Manual test added. Testing http authentication dialog relies on user interaction.
      
      Resubmit the patch reverted by r115104 after the digest infinite loop
      issue for BlackBerry porting get identified and fixed.
      
      Internally reviewed by Joe Mason <jmason@rim.com>
      
      * platform/blackberry/PageClientBlackBerry.h:
      * platform/network/blackberry/NetworkJob.cpp:
      (WebCore::NetworkJob::sendRequestWithCredentials):
      
      Source/WebKit/blackberry:
      
      RIM PR: 145660
      Fixed a regression introduced by r111810, which used the wrong
      credential object.
      
      Added the interface function didReceivedAuthenticaitonChallenge()
      in interface class DumpRenderTreeClient;
      Called m_dumpRenderTree->didReceiveAuthenticationChallenge() in
      WebPagePrivate::authenticationChallenge() when DRT is enabled.
      
      Test: reuse existing test cases:
      http/tests/loading/basic-credentials-sent-automatically.html
      http/tests/loading/basic-auth-resend-wrong-credentials.html
      
      Resubmit the patch reverted by r115104 after the digest infinite loop
      issue for BlackBerry porting get identified and fixed.
      
      Internally reviewed by Joe Mason <jmason@rim.com>
      
      * Api/DumpRenderTreeClient.h:
      (WebCore):
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
      * Api/WebPageClient.h:
      * Api/WebPage_p.h:
      (WebPagePrivate):
      
      Tools:
      
      Implemented interface function didReceiveAuthenticationChallenge in class
      DumpRenderTree.
      
      Resubmit the patch reverted by r115104 after the digest infinite loop
      issue for BlackBerry porting get identified and fixed.
      
      Internally reviewed by Joe Mason <jmason@rim.com>
      
      * DumpRenderTree/blackberry/DumpRenderTree.cpp:
      (drtCredentialDescription):
      (BlackBerry::WebKit::DumpRenderTree::didReceiveAuthenticationChallenge):
      (WebKit):
      * DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:
      (WebCore):
      (DumpRenderTree):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a7c3e81
    • commit-queue@webkit.org's avatar
      [BlackBerry] Always create a compositor · 52fa1543
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=87598
      
      Patch by Arvid Nilsson <anilsson@rim.com> on 2012-05-28
      Reviewed by Rob Buis.
      
      There will likely be compositing layers either due to web content or
      due to overlays.
      
      Defer initialization of OpenGL objects (i.e., delay creation of the
      LayerRenderer object) until we actually need to draw and there are such
      layers, to avoid initializing OpenGL in the unlikely case that there
      are no compositing layers or overlay layers.
      
      PR #156811
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      (BlackBerry::WebKit::WebPagePrivate::createCompositor):
      * Api/WebPageCompositor.cpp:
      (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
      (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
      (BlackBerry::WebKit::WebPageCompositorPrivate::render):
      (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
      * Api/WebPageCompositor_p.h:
      (WebPageCompositorPrivate):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52fa1543
    • 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
  11. 27 May, 2012 2 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