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+

Girish Ramakrishnan
Reported 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).
Attachments
[Qt] Windowless Plugins : Don't use m_clipRect when painting. (4.38 KB, patch)
2009-10-23 02:04 PDT, Girish Ramakrishnan
no flags
[Qt] Windowless Plugins : Don't use m_clipRect when painting (2) (5.11 KB, patch)
2009-10-23 02:54 PDT, Girish Ramakrishnan
zecke: review+
eric: commit-queue+
Girish Ramakrishnan
Comment 1 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(-)
Girish Ramakrishnan
Comment 2 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.
Holger Freyther
Comment 3 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.
WebKit Commit Bot
Comment 4 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
Holger Freyther
Comment 5 2009-10-23 05:04:33 PDT
Landed in r49974.
Eric Seidel (no email)
Comment 6 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.
Note You need to log in before you can comment on or make changes to this bug.