Bug 154447 - select box not show popup in phantomjs
Summary: select box not show popup in phantomjs
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Forms (show other bugs)
Version: Other
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-19 05:25 PST by james
Modified: 2016-02-21 17:00 PST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description james 2016-02-19 05:25:58 PST
When using phantomjs 2.1.1 to render form, select box never popup it's options when clicked, please see Issue: https://github.com/ariya/phantomjs/issues/14017

A maintainer said below:

> select boxes' pop-up menus are getting drawn in a different way from normal page contents and therefore are getting left out of the rendering (possibly they are never drawn at all in a 'headless' configuration)


I've double checked the click event surely sent to the select, and using keyboard ArrowDown key can switch to second options. So it's not the event sending problem.

Phantomjs userAgent is:

"Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1"
Comment 1 Alexey Proskuryakov 2016-02-21 17:00:06 PST
Looks like phantomjs is based on QtWebKit, which is not one of the ports supported at webkit.org. Please see <https://trac.webkit.org/wiki/BuildingQtOnLinux>.

The below comment from phantomjs issue discussion seems like a good guess to me, although in this case, this becomes a phantomjs bug. Since it is phantomjs that advertises offscreen drawing capability, it is that project's responsibility to make it work.

> My educated guess as to the root cause of the problem is that select boxes'
> pop-up menus are getting drawn in a different way from normal page contents
> and therefore are getting left out of the rendering (possibly they are never
> drawn at all in a 'headless' configuration).

Mac and iOS ports work like that by design, so Qt may do the same.