RESOLVED FIXED 109897
Add setValue and closePopup methods to PagePopupController
https://bugs.webkit.org/show_bug.cgi?id=109897
Summary Add setValue and closePopup methods to PagePopupController
Keishi Hattori
Reported 2013-02-14 23:23:44 PST
In the new calendar picker, we want to set a value without closing the popup.
Attachments
Patch (17.62 KB, patch)
2013-02-14 23:37 PST, Keishi Hattori
no flags
changed protector position (17.51 KB, patch)
2013-02-15 03:50 PST, Keishi Hattori
no flags
Keishi Hattori
Comment 1 2013-02-14 23:37:44 PST
Kent Tamura
Comment 2 2013-02-14 23:57:42 PST
Comment on attachment 188490 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=188490&action=review > Source/WebKit/chromium/src/DateTimeChooserImpl.cpp:173 > - RefPtr<DateTimeChooserImpl> protector(this); > if (numValue >= 0) > - m_client->didChooseValue(stringValue); > + setValue(stringValue); > + endChooser(); > +} The protector is required here. setValue(), which might dispatch some events, can delete 'this'. > Source/WebKit/chromium/src/DateTimeChooserImpl.cpp:178 > + RefPtr<DateTimeChooserImpl> protector(this); > + m_client->didChooseValue(value); The protector makes no sense. We do nothing after didChooseValue, which might dispatch some events. Also, I'm afraid that we have no ways to avoid calendar picker JavaScript code execution after didChooseValue because event handler might delete the page popup.
Keishi Hattori
Comment 3 2013-02-15 03:50:01 PST
Created attachment 188529 [details] changed protector position
Kent Tamura
Comment 4 2013-02-15 04:56:14 PST
Comment on attachment 188529 [details] changed protector position ok
WebKit Review Bot
Comment 5 2013-02-15 05:38:32 PST
Comment on attachment 188529 [details] changed protector position Clearing flags on attachment: 188529 Committed r142987: <http://trac.webkit.org/changeset/142987>
WebKit Review Bot
Comment 6 2013-02-15 05:38:35 PST
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.