WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 72370
[Gtk] display:none has no effect on <option> element
https://bugs.webkit.org/show_bug.cgi?id=72370
Summary
[Gtk] display:none has no effect on <option> element
Antaryami Pandia
Reported
2011-11-15 02:58:28 PST
The display:none style has no effect on <option> elements. <select> <option>First choice</option> <option style="display: none">You must NOT see this</option> <option>Second choice</option> </select>
Bug 8351
is the master bug of this.
Bug 49169
fixes the chromium port. This bug will fix the Gtk port.
Attachments
Proposed Patch
(2.27 KB, patch)
2011-11-15 03:05 PST
,
Antaryami Pandia
xan.lopez
: review-
Details
Formatted Diff
Diff
Updated patch
(2.29 KB, patch)
2011-11-15 21:56 PST
,
Antaryami Pandia
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Antaryami Pandia
Comment 1
2011-11-15 03:05:12 PST
Created
attachment 115134
[details]
Proposed Patch Proposed patch. Not adding any test cases as the test cases added in
bug 49169
(WebCore/manual-tests/display-none-option.html) is also valid for this bug.
Martin Robinson
Comment 2
2011-11-15 09:24:39 PST
This looks fine to me, but I'd also like cgarcia to take a look at it.
Xan Lopez
Comment 3
2011-11-15 12:07:31 PST
Comment on
attachment 115134
[details]
Proposed Patch This looks good to me, but I think you'll have to remove the "No new tests. (OOPS!)" thing or the patch will fail to land?
Xan Lopez
Comment 4
2011-11-15 12:08:44 PST
Comment on
attachment 115134
[details]
Proposed Patch Marking r- per the ChangeLog. cgarcia's comment is still welcome, but if you upload a new patch I think we can just land this!
Antaryami Pandia
Comment 5
2011-11-15 21:56:59 PST
Created
attachment 115319
[details]
Updated patch Updated patch with review comments.
Carlos Garcia Campos
Comment 6
2011-11-16 00:16:29 PST
Comment on
attachment 115319
[details]
Updated patch View in context:
https://bugs.webkit.org/attachment.cgi?id=115319&action=review
> Source/WebCore/platform/gtk/GtkPopupMenu.cpp:72 > - gtk_widget_show(menuItem); > + > + if (gtk_action_is_visible(action)) > + gtk_widget_show(menuItem);
Instead of creating a new menu item that will never be shown (because display:none can't change while the popup menu is shown, right?), I think it would be better to simply not create the menu item, In PopupMenuGtk::show() you could do something like: GRefPtr<GtkAction> action = adoptGRef(createGtkActionForMenuItem(i)); if (gtk_action_is_visible(action.get()) m_popup->appendItem(action.get());
Antaryami Pandia
Comment 7
2011-11-16 01:38:25 PST
(In reply to
comment #6
)
> (From update of
attachment 115319
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=115319&action=review
> > > Source/WebCore/platform/gtk/GtkPopupMenu.cpp:72 > > - gtk_widget_show(menuItem); > > + > > + if (gtk_action_is_visible(action)) > > + gtk_widget_show(menuItem); > > Instead of creating a new menu item that will never be shown (because display:none can't change while the popup menu is shown, right?), I think it would be better to simply not create the menu item, In PopupMenuGtk::show() you could do something like: > > GRefPtr<GtkAction> action = adoptGRef(createGtkActionForMenuItem(i)); > if (gtk_action_is_visible(action.get()) > m_popup->appendItem(action.get());
Yes.The thought behind the change was that the menu item is part of the select box and only its display property is none.For such case we just don't show the item. And in fact I have also explored the option suggested by you earlier.But the problem was, after this piece code is executed we call m_popup->popUp(...) with the "size" parameter we got using client()->listSize(). This causes a mismatch and results in crash. One way to resolve this is, we maintain a counter for number of items those are added and we pass this value. const int counter = 0; if (gtk_action_is_visible(action.get())) { m_popup->appendItem(action.get()); counter++; } ....... m_popup->popUp(..., counter, ...); Please provide your thought.I will modify accordingly.
Carlos Garcia Campos
Comment 8
2011-11-16 01:53:00 PST
(In reply to
comment #7
)
> (In reply to
comment #6
) > > (From update of
attachment 115319
[details]
[details]) > > View in context:
https://bugs.webkit.org/attachment.cgi?id=115319&action=review
> > > > > Source/WebCore/platform/gtk/GtkPopupMenu.cpp:72 > > > - gtk_widget_show(menuItem); > > > + > > > + if (gtk_action_is_visible(action)) > > > + gtk_widget_show(menuItem); > > > > Instead of creating a new menu item that will never be shown (because display:none can't change while the popup menu is shown, right?), I think it would be better to simply not create the menu item, In PopupMenuGtk::show() you could do something like: > > > > GRefPtr<GtkAction> action = adoptGRef(createGtkActionForMenuItem(i)); > > if (gtk_action_is_visible(action.get()) > > m_popup->appendItem(action.get()); > > Yes.The thought behind the change was that the menu item is part of the select box and only its display property is none.For such case we just don't show the item. > > And in fact I have also explored the option suggested by you earlier.But the problem was, after this piece code is executed we call m_popup->popUp(...) with the "size" parameter we got using client()->listSize(). This causes a mismatch and results in crash.
I see, in that case I think it's better to keep the item, even hidden, since it's part of the option menu after all. Your patch looks good to me too.
Martin Robinson
Comment 9
2011-11-16 08:42:55 PST
Comment on
attachment 115319
[details]
Updated patch View in context:
https://bugs.webkit.org/attachment.cgi?id=115319&action=review
> Source/WebCore/ChangeLog:11 > + * platform/gtk/GtkPopupMenu.cpp: > + (WebCore::GtkPopupMenu::appendItem): > + * platform/gtk/PopupMenuGtk.cpp: > + (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
In the future, please remember to fill these in.
WebKit Review Bot
Comment 10
2011-11-16 10:56:23 PST
Comment on
attachment 115319
[details]
Updated patch Clearing flags on attachment: 115319 Committed
r100470
: <
http://trac.webkit.org/changeset/100470
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug