Changeset 106109 in webkit
- Timestamp:
- Jan 27, 2012 4:46:18 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r106108 r106109 1 2012-01-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 2 3 [Qt] WKTR: Use a software rendering pipiline when running tests. 4 https://bugs.webkit.org/show_bug.cgi?id=76708 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 * platform/qt-wk2/Skipped: 9 1 10 2012-01-27 Branimir Lambov <blambov@google.com> 2 11 -
trunk/LayoutTests/platform/qt-wk2/Skipped
r106040 r106109 440 440 tables/mozilla_expected_failures/marvin/backgr_position-table-column.html 441 441 442 # [Qt][WK2] REGRESSION(r105517): It made 49 tests timeout443 # https://bugs.webkit.org/show_bug.cgi?id=76708444 animations/3d/change-transform-in-end-event.html445 animations/3d/replace-filling-transform.html446 animations/3d/state-at-end-event-transform.html447 animations/3d/transform-perspective.html448 animations/additive-transform-animations.html449 animations/animation-direction-normal.html450 animations/animation-end-event-destroy-renderer.html451 animations/animation-hit-test-transform.html452 animations/animation-iteration-event-destroy-renderer.html453 animations/animation-matrix-negative-scale-unmatrix.html454 animations/animation-start-event-destroy-renderer.html455 animations/big-rotation.html456 animations/combo-transform-rotate+scale.html457 animations/combo-transform-translate+scale.html458 animations/dynamic-stylesheet-loading.html459 animations/fill-mode-transform.html460 animations/keyframe-timing-functions-transform.html461 animations/matrix-anim.html462 animations/missing-from-to-transforms.html463 animations/missing-keyframe-properties-repeating.html464 animations/missing-keyframe-properties-timing-function.html465 animations/missing-keyframe-properties.html466 animations/missing-values-first-keyframe.html467 animations/missing-values-last-keyframe.html468 animations/negative-delay.html469 animations/opacity-transform-animation.html470 animations/pause-crash.html471 animations/play-state-paused.html472 animations/play-state-suspend.html473 animations/simultaneous-start-transform.html474 animations/stop-animation-on-suspend.html475 animations/suspend-resume-animation.html476 animations/suspend-transform-animation.html477 animations/transition-and-animation-1.html478 animations/transition-and-animation-2.html479 fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html480 tables/mozilla/marvin/backgr_simple-table-cell.html481 transitions/3d/interrupted-transition.html482 transitions/cancel-transition.html483 transitions/extra-transition.html484 transitions/interrupt-transform-transition.html485 transitions/interrupted-accelerated-transition.html486 transitions/move-after-transition.html487 transitions/start-transform-transition.html488 transitions/transition-end-event-destroy-iframe.html489 transitions/transition-end-event-destroy-renderer.html490 transitions/transition-end-event-multiple-04.html491 transitions/transition-end-event-rendering.html492 transitions/transition-end-event-transform.html493 494 442 # [Qt][WK2] http/tests/history/replacestate-post-to-get-2.html fails with timeout 495 443 # https://bugs.webkit.org/show_bug.cgi?id=76784 -
trunk/Source/WebCore/ChangeLog
r106108 r106109 1 2012-01-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 2 3 [Qt] WKTR: Use a software rendering pipiline when running tests. 4 https://bugs.webkit.org/show_bug.cgi?id=76708 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null. 9 (WebCore::TextureMapperQt::setGraphicsContext): 10 * platform/graphics/qt/TextureMapperQt.h: 11 (WebCore::TextureMapperQt::initialize): 12 1 13 2012-01-27 Branimir Lambov <blambov@google.com> 2 14 -
trunk/Source/WebCore/platform/graphics/qt/TextureMapperQt.cpp
r105737 r106109 142 142 { 143 143 m_context = context; 144 m_painter = context ->platformContext();144 m_painter = context ? context->platformContext() : 0; 145 145 initialize(m_painter); 146 146 } -
trunk/Source/WebCore/platform/graphics/qt/TextureMapperQt.h
r96118 r106109 71 71 static void initialize(QPainter* painter) 72 72 { 73 painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform, false); 73 if (painter) 74 painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform, false); 74 75 } 75 76 -
trunk/Source/WebKit2/ChangeLog
r106104 r106109 1 2012-01-26 No'am Rosenthal <noam.rosenthal@nokia.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 2 3 [Qt] WKTR: Use a software rendering pipiline when running tests. 4 https://bugs.webkit.org/show_bug.cgi?id=76708 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Animation layout tests require the graphics layers tree to be updated 9 to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which 10 prevents the rendering pipeline to run and then in turn blocks the web 11 process from processing further graphics layer updates. 12 13 This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's 14 message queue and render the layers in software on an offscreen buffer. 15 16 * UIProcess/API/qt/qquickwebpage.cpp: 17 (QQuickWebPagePrivate::paint): 18 * UIProcess/API/qt/qquickwebview.cpp: 19 (QQuickWebViewPrivate::QQuickWebViewPrivate): 20 (QQuickWebViewPrivate::setNeedsDisplay): 21 (QQuickWebViewExperimental::setRenderToOffscreenBuffer): 22 (QQuickWebViewExperimental::renderToOffscreenBuffer): 23 * UIProcess/API/qt/qquickwebview_p.h: 24 * UIProcess/API/qt/qquickwebview_p_p.h: 25 (QQuickWebViewPrivate::setRenderToOffscreenBuffer): 26 (QQuickWebViewPrivate::renderToOffscreenBuffer): 27 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 28 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 29 1 30 2012-01-27 Simon Hausmann <simon.hausmann@nokia.com> 2 31 -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp
r104823 r106109 101 101 } 102 102 103 void QQuickWebPagePrivate::paint(QPainter* painter) 104 { 105 if (webPageProxy->drawingArea()) 106 webPageProxy->drawingArea()->paintLayerTree(painter); 107 } 108 103 109 void QQuickWebPagePrivate::paintToCurrentGLContext() 104 110 { -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
r104823 r106109 44 44 45 45 void paintToCurrentGLContext(); 46 void paint(QPainter*); 46 47 void resetPaintNode(); 47 48 -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
r106022 r106109 68 68 , pageIsSuspended(false) 69 69 , m_navigatorQtObjectEnabled(false) 70 , m_renderToOffscreenBuffer(false) 70 71 { 71 72 viewport->setFlags(QQuickItem::ItemClipsChildrenToShape); … … 155 156 } 156 157 158 void QQuickWebViewPrivate::setNeedsDisplay() 159 { 160 Q_Q(QQuickWebView); 161 if (renderToOffscreenBuffer()) { 162 // TODO: we can maintain a real image here and use it for pixel tests. Right now this is used only for running the rendering code-path while running tests. 163 QImage dummyImage(1, 1, QImage::Format_ARGB32); 164 QPainter painter(&dummyImage); 165 q->page()->d->paint(&painter); 166 return; 167 } 168 169 q->page()->update(); 170 } 171 157 172 void QQuickWebViewPrivate::loadDidCommit() 158 173 { … … 658 673 659 674 d->setUseTraditionalDesktopBehaviour(enable); 675 } 676 677 void QQuickWebViewExperimental::setRenderToOffscreenBuffer(bool enable) 678 { 679 Q_D(QQuickWebView); 680 d->setRenderToOffscreenBuffer(enable); 681 } 682 683 bool QQuickWebViewExperimental::renderToOffscreenBuffer() const 684 { 685 Q_D(const QQuickWebView); 686 return d->renderToOffscreenBuffer(); 660 687 } 661 688 -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
r106022 r106109 238 238 QDeclarativeComponent* itemSelector() const; 239 239 void setItemSelector(QDeclarativeComponent*); 240 240 bool useTraditionalDesktopBehaviour() const; 241 void setUseTraditionalDesktopBehaviour(bool enable); 242 241 243 QWebViewportInfo* viewportInfo(); 242 244 243 245 QWebPreferences* preferences() const; 244 bool useTraditionalDesktopBehaviour() const;245 246 QWebNavigationHistory* navigationHistory() const; 246 247 QQuickWebPage* page(); … … 254 255 void sendApplicationSchemeReply(QQuickNetworkReply*); 255 256 257 // C++ only 258 bool renderToOffscreenBuffer() const; 259 void setRenderToOffscreenBuffer(bool enable); 260 256 261 public Q_SLOTS: 257 void setUseTraditionalDesktopBehaviour(bool enable);258 262 void goBackTo(int index); 259 263 void goForwardTo(int index); -
trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
r105670 r106109 78 78 void didChangeBackForwardList(); 79 79 80 void setNeedsDisplay(); 81 80 82 void updateDesktopViewportSize(); 81 83 void updateTouchViewportSize(); … … 102 104 103 105 void setUseTraditionalDesktopBehaviour(bool enable); 106 void setRenderToOffscreenBuffer(bool enable) { m_renderToOffscreenBuffer = enable; } 104 107 void setViewInAttachedProperties(QObject*); 105 108 void setIcon(const QUrl&); 106 109 107 110 bool navigatorQtObjectEnabled() const; 111 bool renderToOffscreenBuffer() const { return m_renderToOffscreenBuffer; } 108 112 void setNavigatorQtObjectEnabled(bool); 109 113 … … 167 171 bool pageIsSuspended; 168 172 bool m_navigatorQtObjectEnabled; 173 bool m_renderToOffscreenBuffer; 169 174 QUrl m_iconURL; 170 175 }; -
trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h
r102435 r106109 28 28 #define DrawingAreaProxy_h 29 29 30 #include "BackingStore.h" 30 31 #include "DrawingAreaInfo.h" 31 32 #include <WebCore/IntRect.h> … … 89 90 virtual bool isBackingStoreReady() const { return true; } 90 91 virtual void paintToCurrentGLContext(const WebCore::TransformationMatrix&, float opacity) { } 92 virtual void paintLayerTree(BackingStore::PlatformGraphicsContext) { } 91 93 LayerTreeHostProxy* layerTreeHostProxy() const { return m_layerTreeHostProxy.get(); } 92 94 -
trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
r105517 r106109 361 361 } 362 362 363 void DrawingAreaProxyImpl::paintLayerTree(BackingStore::PlatformGraphicsContext context) 364 { 365 if (m_layerTreeHostProxy) 366 m_layerTreeHostProxy->paintToGraphicsContext(context); 367 } 368 363 369 void DrawingAreaProxyImpl::paintToCurrentGLContext(const TransformationMatrix& matrix, float opacity) 364 370 { -
trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
r105475 r106109 82 82 virtual void setVisibleContentRectTrajectoryVector(const WebCore::FloatPoint&); 83 83 virtual void paintToCurrentGLContext(const WebCore::TransformationMatrix&, float opacity); 84 virtual void paintLayerTree(BackingStore::PlatformGraphicsContext); 84 85 void didReceiveLayerTreeHostProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); 85 86 #endif -
trunk/Source/WebKit2/UIProcess/LayerTreeHostProxy.h
r105757 r106109 54 54 void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); 55 55 void paintToCurrentGLContext(const WebCore::TransformationMatrix&, float); 56 void paintToGraphicsContext(BackingStore::PlatformGraphicsContext); 56 57 void purgeGLResources(); 57 58 void setVisibleContentsRectAndScale(const WebCore::IntRect&, float); -
trunk/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp
r105737 r106109 28 28 #include "ShareableBitmap.h" 29 29 #include "TextureMapperGL.h" 30 #include "TextureMapperQt.h" 30 31 #include "UpdateInfo.h" 31 32 #include "WebCoreArgumentCoders.h" … … 172 173 if (!m_textureMapper) 173 174 m_textureMapper = TextureMapperGL::create(); 175 ASSERT(dynamic_cast<TextureMapperGL*>(m_textureMapper.get())); 174 176 175 177 syncRemoteContent(); … … 204 206 } 205 207 } 208 209 void LayerTreeHostProxy::paintToGraphicsContext(QPainter* painter) 210 { 211 if (!m_textureMapper) 212 m_textureMapper = TextureMapperQt::create(); 213 ASSERT(dynamic_cast<TextureMapperQt*>(m_textureMapper.get())); 214 215 syncRemoteContent(); 216 TextureMapperNode* node = toTextureMapperNode(rootLayer()); 217 218 if (!node) 219 return; 220 221 GraphicsContext graphicsContext(painter); 222 m_textureMapper->setGraphicsContext(&graphicsContext); 223 m_textureMapper->beginPainting(); 224 m_textureMapper->bindSurface(0); 225 node->paint(); 226 m_textureMapper->endPainting(); 227 m_textureMapper->setGraphicsContext(0); 228 } 229 206 230 207 231 void LayerTreeHostProxy::didFireViewportUpdateTimer(Timer<LayerTreeHostProxy>*) -
trunk/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
r105711 r106109 63 63 void QtPageClient::setViewNeedsDisplay(const WebCore::IntRect& rect) 64 64 { 65 m_webView->page()->update();65 QQuickWebViewPrivate::get(m_webView)->setNeedsDisplay(); 66 66 } 67 67 -
trunk/Tools/ChangeLog
r106093 r106109 1 2012-01-26 No'am Rosenthal <noam.rosenthal@nokia.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 2 3 [Qt] WKTR: Use a software rendering pipiline when running tests. 4 https://bugs.webkit.org/show_bug.cgi?id=76708 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 * WebKitTestRunner/qt/PlatformWebViewQt.cpp: 9 (WTR::WrapperWindow::WrapperWindow): 10 (WTR::PlatformWebView::PlatformWebView): Use software rendering of layers since the wrapping QQuickView isn't shown. 11 1 12 2012-01-26 Kevin Ollivier <kevino@theolliviers.com> 2 13 -
trunk/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
r104450 r106109 46 46 , m_view(view) 47 47 { 48 QQuickWebViewExperimental(view).setUseTraditionalDesktopBehaviour(true);49 48 connect(this, SIGNAL(statusChanged(QQuickView::Status)), SLOT(handleStatusChanged(QQuickView::Status))); 50 49 } … … 76 75 , m_modalEventLoop(0) 77 76 { 77 QQuickWebViewExperimental experimental(m_view); 78 experimental.setUseTraditionalDesktopBehaviour(true); 79 experimental.setRenderToOffscreenBuffer(true); 78 80 } 79 81
Note: See TracChangeset
for help on using the changeset viewer.