Bug 40135

Summary: [Qt] While selecting the dropdown boxes in the webpage,User is unable to see the complete dropdown filter options and select it.
Product: WebKit Reporter: Viatcheslav Ostapenko <ostap73>
Component: WebKit QtAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: ariya.hidayat, hausmann, jturcotte, kenneth, laszlo.gombos, nokiabugz, yael
Priority: P2 Keywords: Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: S60 Hardware   
OS: S60 3rd edition   
Attachments:
Description Flags
Clear WA_DontShowOnScreen on combobox popup in order to fit dropdown list on screen. menard: review-

Description Viatcheslav Ostapenko 2010-06-03 11:44:46 PDT
STEPS TO REPRODUCE:
1.Load www.news.google.com
2.The mobile version of the webpage is opened.
3.Scroll down the page and select the "SELECT EDITION" dropdown box.

ACTUAL RESULTS:
While filtering,user is not able to see all the options

EXPECTED RESULTS:
All the filter options should be visible to the user.
Comment 1 Viatcheslav Ostapenko 2010-06-03 12:09:14 PDT
Created attachment 57800 [details]
Clear WA_DontShowOnScreen on combobox popup in order to fit dropdown list on screen.
Comment 2 Simon Hausmann 2010-07-08 23:49:45 PDT
Jocelyn, is this still needed after your combobox changes in Qt?
Comment 3 Jocelyn Turcotte 2010-07-09 03:31:09 PDT
(In reply to comment #2)
> Jocelyn, is this still needed after your combobox changes in Qt?

The changes for the bug #39019 only managed to close the popup on wheel events. 

I wanted to use the Qt::BypassGraphicsProxyWidget but ended up not using it since it would probably break the SecondLife use case where the QGraphicsWebView has to be rendered on a texture (or something like it).

I wonder though if this patch here won't cause that problem as well.

Viatcheslav, what is the effect of the patch on other platforms? Wouldn't that draw the combobox both on screen and on the QGraphicsView?
Comment 4 Viatcheslav Ostapenko 2010-07-22 08:27:17 PDT
(In reply to comment #3)
> (In reply to comment #2)
> > Jocelyn, is this still needed after your combobox changes in Qt?
> 
> The changes for the bug #39019 only managed to close the popup on wheel events. 
> 
> I wanted to use the Qt::BypassGraphicsProxyWidget but ended up not using it since it would probably break the SecondLife use case where the QGraphicsWebView has to be rendered on a texture (or something like it).
> 
> I wonder though if this patch here won't cause that problem as well.
> 
> Viatcheslav, what is the effect of the patch on other platforms? Wouldn't that draw the combobox both on screen and on the QGraphicsView?

I've tried to play with it and looked through the Qt code, what WA_DontShowOnScreen does on different platforms. As I understand, WA_DontShowOnScreen flag controls repositioning of the widget when it gets shown on screen to be visible in parent window. It shouldn't affect rendering of the widget through the QGraphicsView.
Comment 5 Ariya Hidayat 2010-08-23 22:07:15 PDT
Jocelyn, any more comments about this?
Comment 6 Jocelyn Turcotte 2010-08-24 05:40:25 PDT
(In reply to comment #5)
> Jocelyn, any more comments about this?

I talked with Alexis about this and playing with that flag would probably cause problems with QGraphicsProxyWidgets in graphic views.

Essentially the problem is that the combo popup on symbian is rendered in a graphic scene which has no concept of "fit to screen" since a scene can have many views which can be positionned at different places on the screen. (See bug #39019)

We came with the conculsion that there is no easy fix for that problem in that direction and that the best solution would be instead to implement QtAbstractWebPopup on symbian like it was done on Maemo in QtMaemoWebPopup and show it as a full screen platform menu.
(Somehow related is bug #38438)
Comment 7 Kenneth Rohde Christiansen 2010-08-24 06:49:15 PDT
(In reply to comment #6)
> (In reply to comment #5)
> > Jocelyn, any more comments about this?
> 
> I talked with Alexis about this and playing with that flag would probably cause problems with QGraphicsProxyWidgets in graphic views.
> 
> Essentially the problem is that the combo popup on symbian is rendered in a graphic scene which has no concept of "fit to screen" since a scene can have many views which can be positionned at different places on the screen. (See bug #39019)
> 
> We came with the conculsion that there is no easy fix for that problem in that direction and that the best solution would be instead to implement QtAbstractWebPopup on symbian like it was done on Maemo in QtMaemoWebPopup and show it as a full screen platform menu.
> (Somehow related is bug #38438)

that or implementing the platform plugin.
Comment 8 Yael 2010-08-24 09:24:57 PDT
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #5)
> > > Jocelyn, any more comments about this?
> > 
> > I talked with Alexis about this and playing with that flag would probably cause problems with QGraphicsProxyWidgets in graphic views.
> > 
> > Essentially the problem is that the combo popup on symbian is rendered in a graphic scene which has no concept of "fit to screen" since a scene can have many views which can be positionned at different places on the screen. (See bug #39019)
> > 
> > We came with the conculsion that there is no easy fix for that problem in that direction and that the best solution would be instead to implement QtAbstractWebPopup on symbian like it was done on Maemo in QtMaemoWebPopup and show it as a full screen platform menu.
> > (Somehow related is bug #38438)
> 
> that or implementing the platform plugin.

I am already working on a PlatformPlugin solution for this.
https://qtrequirements.europe.nokia.com/browse/CWRT-2440 and its duplicate http://bugreports.qt.nokia.com/browse/QTWEBKIT-158.
Comment 9 Janne Koskinen 2010-09-07 03:24:40 PDT
*** Bug 39837 has been marked as a duplicate of this bug. ***
Comment 10 Alexis Menard (darktears) 2010-10-08 02:09:17 PDT
Comment on attachment 57800 [details]
Clear WA_DontShowOnScreen on combobox popup in order to fit dropdown list on screen.

The platform plugin is the way to go.