Changeset 79863 in webkit
- Timestamp:
- Feb 28, 2011 7:31:47 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r79861 r79863 1 2011-02-28 Adam Roben <aroben@apple.com> 2 3 Add a test for the paint rect passed via WM_PAINT to windowless plugins 4 5 Test for <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2: 6 Large portions of pages with plugins paint black 7 8 Reviewed by Anders Carlsson. 9 10 * platform/win-wk2/platform/win/plugins/windowless-paint-rect-coordinates-expected.txt: Added. 11 * platform/win/plugins/windowless-paint-rect-coordinates-expected.txt: Added. WebKit1 12 doesn't pass a paint rect via WM_PAINT, so we have different results there. 13 * platform/win/plugins/windowless-paint-rect-coordinates.html: Added. 14 1 15 2011-02-28 Vsevolod Vlasov <vsevik@chromium.org> 2 16 -
trunk/Source/WebKit2/ChangeLog
r79839 r79863 1 2011-02-28 Adam Roben <aroben@apple.com> 2 3 Pass the right dirty rect to Plugin::paint 4 5 A typo in r79040 broke this. Much of this patch is just support for testing the fix. 6 7 Fixes <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2: 8 Large portions of pages with plugins paint black 9 10 Reviewed by Anders Carlsson. 11 12 * WebProcess/Plugins/PluginView.cpp: 13 (WebKit::PluginView::paint): Pass the dirty rect we calculated earlier to Plugin::paint, 14 rather than just passing along the dirty rect that was passed into this function. This is 15 the bug fix. 16 17 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 18 (WKBundlePageForceRepaint): 19 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 20 Added new SPI. Just calls through to WebPage::forceRepaintWithoutCallback. 21 22 * WebProcess/WebPage/WebPage.cpp: 23 (WebKit::WebPage::forceRepaintWithoutCallback): Moved code to force a repaint here... 24 (WebKit::WebPage::forceRepaint): ...from here. 25 26 * WebProcess/WebPage/WebPage.h: Added forceRepaintWithoutCallback. 27 1 28 2011-02-27 Sam Weinig <sam@webkit.org> 2 29 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
r78418 r79863 213 213 } 214 214 #endif 215 216 void WKBundlePageForceRepaint(WKBundlePageRef page) 217 { 218 toImpl(page)->forceRepaintWithoutCallback(); 219 } -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
r75253 r79863 46 46 WK_EXPORT void WKBundlePageSetPageZoomFactor(WKBundlePageRef page, double zoomFactor); 47 47 48 WK_EXPORT void WKBundlePageForceRepaint(WKBundlePageRef page); 49 48 50 #ifdef __cplusplus 49 51 } -
trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
r79157 r79863 534 534 context->save(); 535 535 context->translate(-documentOriginInWindowCoordinates.x(), -documentOriginInWindowCoordinates.y()); 536 m_plugin->paint(context, dirtyRect);536 m_plugin->paint(context, paintRectInWindowCoordinates); 537 537 context->restore(); 538 538 } -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r79803 r79863 1282 1282 } 1283 1283 1284 void WebPage::forceRepaintWithoutCallback() 1285 { 1286 m_drawingArea->forceRepaint(); 1287 } 1288 1284 1289 void WebPage::forceRepaint(uint64_t callbackID) 1285 1290 { 1286 m_drawingArea->forceRepaint();1291 forceRepaintWithoutCallback(); 1287 1292 send(Messages::WebPageProxy::VoidCallback(callbackID)); 1288 1293 } -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r79803 r79863 340 340 void setMemoryCacheMessagesEnabled(bool); 341 341 342 void forceRepaintWithoutCallback(); 343 342 344 private: 343 345 WebPage(uint64_t pageID, const WebPageCreationParameters&); -
trunk/Tools/ChangeLog
r79862 r79863 1 2011-02-28 Adam Roben <aroben@apple.com> 2 3 Add a test for the paint rect passed via WM_PAINT to windowless plugins 4 5 Test for <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2: 6 Large portions of pages with plugins paint black 7 8 Reviewed by Anders Carlsson. 9 10 * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: 11 (PluginTest::NPP_HandleEvent): 12 * DumpRenderTree/TestNetscapePlugIn/PluginTest.h: 13 Added NPP_HandleEvent. Just returns 0 at this level. 14 15 * DumpRenderTree/TestNetscapePlugIn/Tests/win/WindowlessPaintRectCoordinates.cpp: Added. 16 (WindowlessPaintRectCoordinates::WindowlessPaintRectCoordinates): Call up to the base class. 17 (WindowlessPaintRectCoordinates::NPP_New): Mark ourselves as windowless. 18 (WindowlessPaintRectCoordinates::NPP_HandleEvent): Check that the paint rect passed via 19 WM_PAINT has the expected coordinates. 20 21 * DumpRenderTree/TestNetscapePlugIn/main.cpp: 22 (NPP_HandleEvent): Give the PluginTest a chance to handle the event before doing anything 23 else. 24 25 * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Added new file, let VS 26 resort things. 27 28 * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: 29 (WTR::InjectedBundlePage::didFinishLoadForFrame): Added a call to WKBundlePageForceRepaint. 30 This is roughly equivalent to the call to -[WebView displayIfNeeded] in -[FrameLoadDelegate 31 webView:didFinishLoadForFrame:] in DumpRenderTree. 32 33 * WebKitTestRunner/win/PlatformWebViewWin.cpp: 34 (WTR::PlatformWebView::PlatformWebView): Tell the WKView it's in a window so that plugins 35 can start running. 36 1 37 2011-02-28 Adam Roben <aroben@apple.com> 2 38 -
trunk/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp
r79157 r79863 80 80 } 81 81 82 int16_t PluginTest::NPP_HandleEvent(void*) 83 { 84 return 0; 85 } 86 82 87 void PluginTest::NPN_InvalidateRect(NPRect* invalidRect) 83 88 { -
trunk/Tools/DumpRenderTree/TestNetscapePlugIn/PluginTest.h
r79157 r79863 61 61 virtual NPError NPP_GetValue(NPPVariable, void* value); 62 62 virtual NPError NPP_SetWindow(NPP, NPWindow*); 63 virtual int16_t NPP_HandleEvent(void* event); 63 64 64 65 // NPN functions. -
trunk/Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp
r78359 r79863 698 698 PluginObject* obj = static_cast<PluginObject*>(instance->pdata); 699 699 700 if (obj->pluginTest->NPP_HandleEvent(event) == 1) 701 return 1; 702 700 703 #ifdef XP_MACOSX 701 704 #ifndef NP_NO_CARBON -
trunk/Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj
r79157 r79863 399 399 </File> 400 400 <File 401 RelativePath="..\Tests\GetURLWithJavaScriptURLDestroyingPlugin.cpp" 402 > 403 </File> 404 <File 401 405 RelativePath="..\Tests\GetUserAgentWithNullNPPFromNPPNew.cpp" 402 >403 </File>404 <File405 RelativePath="..\Tests\GetURLWithJavaScriptURLDestroyingPlugin.cpp"406 406 > 407 407 </File> … … 446 446 </File> 447 447 <File 448 RelativePath="..\Tests\win\WindowlessPaintRectCoordinates.cpp" 449 > 450 </File> 451 <File 448 452 RelativePath="..\Tests\win\WindowRegionIsSetToClipRect.cpp" 449 453 > -
trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
r79793 r79863 535 535 InjectedBundle::shared().setTopLoadingFrame(0); 536 536 537 WKBundlePageForceRepaint(m_page); 538 537 539 if (InjectedBundle::shared().layoutTestController()->waitToDump()) 538 540 return; -
trunk/Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp
r73976 r79863 55 55 m_window = CreateWindowExW(0, hostWindowClassName, L"WebKitTestRunner", WS_OVERLAPPEDWINDOW, 0 /*XOFFSET*/, 0 /*YOFFSET*/, viewRect.right, viewRect.bottom, 0, 0, GetModuleHandle(0), 0); 56 56 m_view = WKViewCreate(viewRect, contextRef, pageGroupRef, m_window); 57 WKViewSetIsInWindow(m_view, true); 57 58 } 58 59
Note: See TracChangeset
for help on using the changeset viewer.