summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/blackberry/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/blackberry/ChangeLog')
-rw-r--r--Source/WebKit/blackberry/ChangeLog764
1 files changed, 764 insertions, 0 deletions
diff --git a/Source/WebKit/blackberry/ChangeLog b/Source/WebKit/blackberry/ChangeLog
index 93583a78a..4af41fcb1 100644
--- a/Source/WebKit/blackberry/ChangeLog
+++ b/Source/WebKit/blackberry/ChangeLog
@@ -1,3 +1,767 @@
+2012-05-31 Hajime Morrita <morrita@chromium.org>
+
+ REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=86859
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebCoreSupport/EditorClientBlackBerry.cpp:
+ (WebCore::EditorClientBlackBerry::requestCheckingOfString):
+ * WebCoreSupport/EditorClientBlackBerry.h:
+ (EditorClientBlackBerry):
+
+2012-05-31 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] WebGL and 2D canvas output not available to WebPageCompositor
+ https://bugs.webkit.org/show_bug.cgi?id=88012
+
+ 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):
+
+2012-05-31 George Staikos <staikos@webkit.org>
+
+ [Blackberry] Initialize the select client and delete the pointer
+ 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):
+
+2012-05-31 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Crash when destroying WebOverlay with active WebOverlayOverride
+ https://bugs.webkit.org/show_bug.cgi?id=87968
+
+ 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):
+
+2012-05-31 Chris Guan <chris.guan@torchmobile.com.cn>
+
+ [Blackberry] WebKit's fullscreen mode needs to notify page client.
+ https://bugs.webkit.org/show_bug.cgi?id=87337
+
+ 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):
+
+2012-05-31 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Crash when closing web page if selection is active
+ https://bugs.webkit.org/show_bug.cgi?id=87962
+
+ 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):
+
+2012-05-30 Konrad Piascik <kpiascik@rim.com>
+
+ [BlackBerry] Add an Accelerated Compositing layer for Web Inspector DOM highlight.
+ https://bugs.webkit.org/show_bug.cgi?id=81001
+
+ 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):
+
+2012-05-30 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
+
+ [BlackBerry] Browser crashed when selecting in textarea
+ 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.
+
+ Reviewed by Antonio Gomes.
+
+ * WebKitSupport/FatFingers.cpp:
+ (BlackBerry::WebKit::FatFingers::getNodesFromRect): Avoid returning
+ shadow nodes when the context is Text node.
+
+2012-05-30 Zoltan Horvath <zoltan@webkit.org>
+
+ [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
+ https://bugs.webkit.org/show_bug.cgi?id=80400
+
+ Get rid of QT_IMAGE_DECODER flag.
+
+ Reviewed by Simon Hausmann.
+
+ * WebCoreSupport/AboutDataEnableFeatures.in:
+
+2012-05-29 Max Feil <mfeil@rim.com>
+
+ [BlackBerry] The Page's deviceScaleFactor() is not being properly maintained
+ https://bugs.webkit.org/show_bug.cgi?id=87817
+
+ 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):
+
+2012-05-29 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] WebOverlay build fixes and bug fixes
+ https://bugs.webkit.org/show_bug.cgi?id=87780
+
+ 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):
+
+2012-05-29 Yong Li <yoli@rim.com>
+
+ [BlackBerry] Add malloc info to about:memory page
+ https://bugs.webkit.org/show_bug.cgi?id=87676
+
+ 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):
+
+2012-05-29 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Make DefaultTapHighlight use the new WebOverlay API
+ https://bugs.webkit.org/show_bug.cgi?id=87604
+
+ 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):
+
+2012-05-29 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] WebKit-side implementation of SelectionOverlay
+ https://bugs.webkit.org/show_bug.cgi?id=87605
+
+ Reviewed by Rob Buis.
+
+ 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):
+
+2012-05-29 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] WebOverlay API
+ https://bugs.webkit.org/show_bug.cgi?id=87603
+
+ Reviewed by Rob Buis.
+
+ 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):
+
+2012-05-28 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
+
+ [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
+ https://bugs.webkit.org/show_bug.cgi?id=80135
+
+ Reviewed by Rob Buis.
+
+ 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):
+
+2012-05-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Always create a compositor
+ https://bugs.webkit.org/show_bug.cgi?id=87598
+
+ 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):
+
+2012-05-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Dangling pointer in WebPagePrivate::setCompositor() message
+ https://bugs.webkit.org/show_bug.cgi?id=87590
+
+ 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):
+
+2012-05-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Add a default tap highlight
+ https://bugs.webkit.org/show_bug.cgi?id=87569
+
+ Reviewed by Rob Buis.
+
+ 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):
+
+2012-05-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Add an overlay layer
+ https://bugs.webkit.org/show_bug.cgi?id=87567
+
+ 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.
+
+ 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):
+
+2012-05-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Update WebPageCompositor::render() API
+ https://bugs.webkit.org/show_bug.cgi?id=87565
+
+ Reviewed by Rob Buis.
+
+ 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:
+
+2012-05-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Plumb through the return value of makeCurrent to caller
+ https://bugs.webkit.org/show_bug.cgi?id=87564
+
+ 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):
+
2012-05-27 Arvid Nilsson <anilsson@rim.com>
[BlackBerry] Crash when deleting WebPageCompositor