Bug 30711

Summary: [Qt] Windowless Plugins : Don't use m_clipRect when painting.
Product: WebKit Reporter: Girish Ramakrishnan <girish>
Component: Plug-insAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: zecke
Priority: P2 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
[Qt] Windowless Plugins : Don't use m_clipRect when painting.
none
[Qt] Windowless Plugins : Don't use m_clipRect when painting (2) zecke: review+, eric: commit-queue+

Description Girish Ramakrishnan 2009-10-23 02:01:55 PDT
Though it works, it is not correct to use m_clipRect for painting in Windowless mode. Instead, the rect paramater that is passed as a part of PluginView::paint() must be used. This change will also result in some speedup since previously we used to paint all the visible parts of a windowless plugin (even if those parts are not dirty).
Comment 1 Girish Ramakrishnan 2009-10-23 02:04:35 PDT
Created attachment 41720 [details]
[Qt] Windowless Plugins : Don't use m_clipRect when painting.


Though it works, it is not correct to use m_clipRect for painting
in Windowless mode. Instead, the rect paramater that is passed
as a part of PluginView::paint() must be used. This change will
also result in some speedup since previously we used to paint all
the visible parts of a windowless plugin (even if those parts are
not dirty).

https://bugs.webkit.org/show_bug.cgi?id=30711
---
 WebCore/ChangeLog                   |   19 +++++++++++++++++++
 WebCore/plugins/qt/PluginViewQt.cpp |   23 +++++++++++++----------
 2 files changed, 32 insertions(+), 10 deletions(-)
Comment 2 Girish Ramakrishnan 2009-10-23 02:54:32 PDT
Created attachment 41721 [details]
[Qt] Windowless Plugins : Don't use m_clipRect when painting (2)

ChangeLog updated based on Holger's comments.
Comment 3 Holger Freyther 2009-10-23 02:58:22 PDT
Comment on attachment 41721 [details]
[Qt] Windowless Plugins : Don't use m_clipRect when painting (2)

The exposedRect.move took some time to get around to. Due the clipping we can not simply use IntRect(0, 0, width, height())... Patch seems fine.
Comment 4 WebKit Commit Bot 2009-10-23 03:05:40 PDT
Comment on attachment 41721 [details]
[Qt] Windowless Plugins : Don't use m_clipRect when painting (2)

Rejecting patch 41721 from commit-queue.

Failed to run "['WebKitTools/Scripts/run-webkit-tests', '--no-launch-safari', '--quiet', '--exit-after-n-failures=1']" exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11506 test cases.
fast/media/mq-transform-02.html -> failed

Exiting early after 1 failures. 7441 tests run.
139.46s total testing time

7440 test cases (99%) succeeded
1 test case (<1%) had incorrect layout
3 test cases (<1%) had stderr output
Comment 5 Holger Freyther 2009-10-23 05:04:33 PDT
Landed in r49974.
Comment 6 Eric Seidel (no email) 2009-10-23 12:02:48 PDT
Comment on attachment 41721 [details]
[Qt] Windowless Plugins : Don't use m_clipRect when painting (2)

Sorry about the commit-queue trouble.  Should work fine now.