Bug 31203

Summary: [Qt] QWebPage::createPlugin() ignores visibility attribute in 4.5
Product: WebKit Reporter: Andy Nichols <andy.nichols>
Component: New BugsAssignee: Benjamin Poulain <benjamin>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, dglazkov, jturcotte, kenneth, laszlo.gombos, vestbo, zecke
Priority: P2 Keywords: Qt
Version: 420+   
Hardware: PC   
OS: All   
Attachments:
Description Flags
Test Case
none
Fix the cause of this bug
kenneth: review-
Move PluginViewQt.cpp PluginView::show/::hide to Widget::show/::hide
kenneth: review+
Be able to automate tests including a QWidget
none
Be able to automate plugin tests using a QWidget
kenneth: review-
Be able to automate plugin test using a QWidget -- Fix the ChangeLog entry kenneth: review+

Andy Nichols
Reported 2009-11-06 05:09:17 PST
In Qt Extended 4.4.2, the visibility attribute in the <div> tag of an html file correctly hides a QLineEdit object on a QWebPage created by QWebPAge::createPlugin(). In Qt 4.5.3, the visibility attribute seems to be ignored altogether, resulting in the QLineEdit object always being visible. <div id="hiddenLineEdit" style="visibility: hidden"> Hidden Field: <object type="application/x-qt-plugin" classid="LineEdit" height="30" width="180" contents="hide me" name="lineedit1"></object> </div> Attached example reproduces issue.
Attachments
Test Case (deleted)
2009-11-06 05:10 PST, Andy Nichols
no flags
Fix the cause of this bug (3.94 KB, patch)
2009-11-12 19:10 PST, Holger Freyther
kenneth: review-
Move PluginViewQt.cpp PluginView::show/::hide to Widget::show/::hide (8.67 KB, patch)
2009-11-23 07:04 PST, Holger Freyther
kenneth: review+
Be able to automate tests including a QWidget (9.93 KB, patch)
2009-11-23 07:05 PST, Holger Freyther
no flags
Be able to automate plugin tests using a QWidget (13.03 KB, patch)
2009-11-24 01:25 PST, Holger Freyther
kenneth: review-
Be able to automate plugin test using a QWidget -- Fix the ChangeLog entry (12.98 KB, patch)
2009-11-24 14:34 PST, Holger Freyther
kenneth: review+
Andy Nichols
Comment 1 2009-11-06 05:10:30 PST
Created attachment 42645 [details] Test Case
Holger Freyther
Comment 2 2009-11-12 19:10:01 PST
Created attachment 43127 [details] Fix the cause of this bug WebCore::Widget was handling show/hide properly but the QtPluginWidget::frameRectChanged was calling setVisible undoing the effect of show/hide.
Kenneth Rohde Christiansen
Comment 3 2009-11-13 04:51:08 PST
Comment on attachment 43127 [details] Fix the cause of this bug We have some manual-tests. Have you run those? Especially for testing the clipping. Also, doesn't WebCore::Widget have code for knowing if it is visible or not, that can be used instead of m_visible?
Kenneth Rohde Christiansen
Comment 4 2009-11-16 11:30:59 PST
Comment on attachment 43127 [details] Fix the cause of this bug Patch has been cherry-picked into Qt 4.6, but zecke will redo it for inclusion in trunk. The test will be turned into a real layout test and the code will make use of setSelfVisible from WebCore::Widget.
Holger Freyther
Comment 5 2009-11-23 07:04:38 PST
Created attachment 43712 [details] Move PluginViewQt.cpp PluginView::show/::hide to Widget::show/::hide Fix the bug by making use of Widget::isVisible, isSelfVisible, isParentVisible... Update the manual test to include the problem seen here.
Holger Freyther
Comment 6 2009-11-23 07:05:45 PST
Created attachment 43713 [details] Be able to automate tests including a QWidget Print the QWidget properties as part of the RenderPart. This will require us to update some results but I have hundreds of test failures locally (by default...)
Kenneth Rohde Christiansen
Comment 7 2009-11-23 13:09:49 PST
Is this supposed to be up for review?
Holger Freyther
Comment 8 2009-11-24 01:24:21 PST
Comment on attachment 43712 [details] Move PluginViewQt.cpp PluginView::show/::hide to Widget::show/::hide Test cases are passing...
Holger Freyther
Comment 9 2009-11-24 01:25:29 PST
Created attachment 43756 [details] Be able to automate plugin tests using a QWidget Add new test, test result, update the other existing result
Kenneth Rohde Christiansen
Comment 10 2009-11-24 01:35:10 PST
Comment on attachment 43756 [details] Be able to automate plugin tests using a QWidget Great work. Please remove 'Need a short description and bug URL (OOPS!)' from the ChangeLog Should we be testing QGraphicsWidget based plugins as well? might widget in those cases be a QGrapicsWidget and not a QWidget?
Holger Freyther
Comment 11 2009-11-24 14:34:14 PST
Created attachment 43805 [details] Be able to automate plugin test using a QWidget -- Fix the ChangeLog entry Fix the ChangeLog entry, regarding the QGraphicsView and Qt plugins. I don't know yet.
Holger Freyther
Comment 12 2009-11-26 02:38:12 PST
Landed in r51410 and r51411. Leaving it open to wait for regressions to role in.
Dimitri Glazkov (Google)
Comment 13 2009-11-26 10:36:00 PST
Shouldn't the test have gone to platform/gt/plugins instead of just plugins?
Holger Freyther
Comment 14 2009-11-26 18:39:19 PST
(In reply to comment #13) > Shouldn't the test have gone to platform/gt/plugins instead of just plugins? For me it looked to be in the same class as the ObjC plugins that are in the plugin directory as well. We can consider moving all those away though.
Jocelyn Turcotte
Comment 15 2009-12-07 07:13:27 PST
*** Bug 29451 has been marked as a duplicate of this bug. ***
Holger Freyther
Comment 16 2009-12-13 18:44:49 PST
I waited for Dimitri to respond to my response. If Dimitri thinks there should be more work done we can reopen the bug again, for now closing is the most easy way to make it drop out of the review queue.
Antonio Gomes
Comment 17 2010-03-12 06:34:47 PST
*** Bug 35670 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.