Actually it's the bug inside InputHandler, should delete the old popup and create a new one, because update() is problematic.
Created attachment 146619 [details] patch
Comment on attachment 146619 [details] patch maybe we could re-write the InputHandler::openSelectPopup part like: ... bool* enableds = 0; int* itemTypes = 0; bool* selecteds = 0; if (size) { enableds = new bool[size]; int* itemTypes = new int[size]; bool* selecteds = new bool[size]; blah; bleh; .... } selectClient = new SelectPopupClient(xxx, size, labels, enableds, itemTypes, selecteds, m_webPage, select); .... also "enableds" and "selecteds" are not a English :)
Created attachment 146626 [details] updated patch
Comment on attachment 146626 [details] updated patch View in context: https://bugs.webkit.org/attachment.cgi?id=146626&action=review looks better. two questions ... > Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp:315 > void ChromeClientBlackBerry::closePagePopup(PagePopup* popup) is popup unused now? > Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp:129 > + if (m_webPage->m_webPage->hasOpenedPopup()) > + m_webPage->m_page->chrome()->client()->closePagePopup(0); does it make sense to move the hasOpenedPopup check inside ::closePagePopup()?
Comment on attachment 146626 [details] updated patch View in context: https://bugs.webkit.org/attachment.cgi?id=146626&action=review >> Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp:315 >> void ChromeClientBlackBerry::closePagePopup(PagePopup* popup) > > is popup unused now? yes, we always get popup from m_webPage. >> Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp:129 >> + m_webPage->m_page->chrome()->client()->closePagePopup(0); > > does it make sense to move the hasOpenedPopup check inside ::closePagePopup()? yeah, we can do that.
Created attachment 146631 [details] updated patch
Comment on attachment 146631 [details] updated patch Clearing flags on attachment: 146631 Committed r119880: <http://trac.webkit.org/changeset/119880>
All reviewed patches have been landed. Closing bug.