Bug 30711 - [Qt] Windowless Plugins : Don't use m_clipRect when painting.
Summary: [Qt] Windowless Plugins : Don't use m_clipRect when painting.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Plug-ins (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords: Qt
Depends on:
Blocks:
 
Reported: 2009-10-23 02:01 PDT by Girish Ramakrishnan
Modified: 2009-10-23 12:02 PDT (History)
1 user (show)

See Also:


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 Details | Formatted Diff | Diff
[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+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.