Bug 30714

Summary: [Qt] Windowed Plugins : Print preview shows only part of flash when view is scrolled
Product: WebKit Reporter: Girish Ramakrishnan <girish>
Component: Plug-insAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, koivisto
Priority: P2 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
[Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
none
[Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
none
[Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled none

Girish Ramakrishnan
Reported 2009-10-23 08:20:09 PDT
Print preview shows only part of flash when view is scrolled
Attachments
[Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled (2.59 KB, patch)
2009-10-23 08:23 PDT, Girish Ramakrishnan
no flags
[Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled (1.50 KB, patch)
2009-10-23 19:54 PDT, Girish Ramakrishnan
no flags
[Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled (2.98 KB, patch)
2009-10-23 19:55 PDT, Girish Ramakrishnan
no flags
Girish Ramakrishnan
Comment 1 2009-10-23 08:23:04 PDT
Created attachment 41726 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
Girish Ramakrishnan
Comment 2 2009-10-23 19:54:48 PDT
Created attachment 41774 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled When printing, QPrinter's preview mode uses a QPicture to capture the output. The QPicture holds a reference to the X Pixmap. As a result, the print preview would update itself when the X Pixmap changes. To prevent the print preview from updating whenever m_drawable is updated (i.e when the view updates), we create a copy. We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap regardless of the graphicssystem. This is taken care of by commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6) The beauty of this patch is that the newly created X Pixmap is managed by Qt and it will free the Pixmap whenever the user closes the print preview dialog and handles the case of displaying multiple preview dialogs nicely. All credit to Samuel Rødal for suggesting usage of QPixmap::copy(). https://bugs.webkit.org/show_bug.cgi?id=30714 --- WebCore/plugins/qt/PluginViewQt.cpp | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
Girish Ramakrishnan
Comment 3 2009-10-23 19:55:46 PDT
Created attachment 41775 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled When printing, QPrinter's preview mode uses a QPicture to capture the output. The QPicture holds a reference to the X Pixmap. As a result, the print preview would update itself when the X Pixmap changes. To prevent the print preview from updating whenever m_drawable is updated (i.e when the view updates), we create a copy. We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap regardless of the graphicssystem. This is taken care of by commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6) The beauty of this patch is that the newly created X Pixmap is managed by Qt and it will free the Pixmap whenever the user closes the print preview dialog and handles the case of displaying multiple preview dialogs nicely. All credit to Samuel Rødal for suggesting usage of QPixmap::copy(). https://bugs.webkit.org/show_bug.cgi?id=30714 --- WebCore/ChangeLog | 26 ++++++++++++++++++++++++++ WebCore/plugins/qt/PluginViewQt.cpp | 8 +++++++- 2 files changed, 33 insertions(+), 1 deletions(-)
Girish Ramakrishnan
Comment 4 2009-10-23 19:57:23 PDT
Comment on attachment 41775 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled Sorry, I keep forgetting the ChangeLog.
Holger Freyther
Comment 5 2009-10-23 20:50:44 PDT
Comment on attachment 41775 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled > + // When printing, Qt uses a QPicture the capture the output in preview mode. The Replace the 2nd the to "to"? looks great besides that.
Girish Ramakrishnan
Comment 6 2009-10-23 20:55:58 PDT
(In reply to comment #5) > (From update of attachment 41775 [details]) > > > + // When printing, Qt uses a QPicture the capture the output in preview mode. The > > Replace the 2nd the to "to"? looks great besides that. The third patch I uploaded sometime back fixes that.
Antti Koivisto
Comment 7 2009-10-26 15:50:18 PDT
r=me
WebKit Commit Bot
Comment 8 2009-10-26 16:04:32 PDT
Comment on attachment 41775 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled Rejecting patch 41775 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 11520 test cases. svg/css/getComputedStyle-basic.xhtml -> failed Exiting early after 1 failures. 9845 tests run. 322.18s total testing time 9844 test cases (99%) succeeded 1 test case (<1%) had incorrect layout 6 test cases (<1%) had stderr output
Eric Seidel (no email)
Comment 9 2009-10-26 16:24:23 PDT
Comment on attachment 41775 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled The bots are just way behind. bug 30098
WebKit Commit Bot
Comment 10 2009-10-26 19:50:15 PDT
Comment on attachment 41775 [details] [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled Clearing flags on attachment: 41775 Committed r50123: <http://trac.webkit.org/changeset/50123>
WebKit Commit Bot
Comment 11 2009-10-26 19:50:21 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.