Bug 30706

Summary: [Qt] Plugins: Use the window's winId() for NPNVnetscapeWindow
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: Linux   
Attachments:
Description Flags
[Qt] Plugins : Use window's winId() instead of the widget's.
none
[Qt] Plugins : Use window's winId() instead of the widget's. zecke: review+, eric: commit-queue+

Description Girish Ramakrishnan 2009-10-22 22:00:25 PDT
Patch follows.
Comment 1 Girish Ramakrishnan 2009-10-22 22:07:08 PDT
Created attachment 41713 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.


As per, https://developer.mozilla.org/en/NPN_GetValue
NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
plug-in is displayed; returns Window".

The issue was found because NPNVNetscapeWindow winId() ends up creating
a native window resulting in flicker.
---
 WebCore/plugins/qt/PluginViewQt.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Comment 2 Girish Ramakrishnan 2009-10-22 22:12:46 PDT
Created attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.


As per, https://developer.mozilla.org/en/NPN_GetValue
NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
plug-in is displayed; returns Window".

The issue was found because NPNVNetscapeWindow winId() ends up creating
a native window resulting in flicker.
---
 WebCore/ChangeLog                   |   18 ++++++++++++++++++
 WebCore/plugins/qt/PluginViewQt.cpp |    2 +-
 2 files changed, 19 insertions(+), 1 deletions(-)
Comment 3 Girish Ramakrishnan 2009-10-22 22:13:50 PDT
Comment on attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.

Forgot ChangeLog in other patch.
Comment 4 Holger Freyther 2009-10-22 22:43:27 PDT
Comment on attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.

Okay, I hope we don't need a NULL check and Gtk/X11 seems to do the right thing too.
Comment 5 WebKit Commit Bot 2009-10-23 02:50:15 PDT
Comment on attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.

Rejecting patch 41714 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.
135.99s total testing time

7440 test cases (99%) succeeded
1 test case (<1%) had incorrect layout
3 test cases (<1%) had stderr output
Comment 6 Holger Freyther 2009-10-23 03:09:09 PDT
Comment on attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.

The failing test must be unrelated to this change. I hope it is appropriate to try again.
Comment 7 WebKit Commit Bot 2009-10-23 03:13:52 PDT
Comment on attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.

Rejecting patch 41714 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.
134.54s total testing time

7440 test cases (99%) succeeded
1 test case (<1%) had incorrect layout
3 test cases (<1%) had stderr output
Comment 8 Holger Freyther 2009-10-23 05:04:21 PDT
Landed in r49975.
Comment 9 Eric Seidel (no email) 2009-10-23 12:02:31 PDT
Comment on attachment 41714 [details]
[Qt] Plugins : Use window's winId() instead of the widget's.

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