Bug 86254
Summary: | Web Inspector: Timeline panel "Load Timeline data" broken | ||
---|---|---|---|
Product: | WebKit | Reporter: | Tony Gentilcore <tonyg> |
Component: | Web Inspector (Deprecated) | Assignee: | Vivek Galatage <vivekgalatage> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | apavlov, bweinstein, joepeck, keishi, loislo, pfeldman, pmuellr, rik, timothy, vivekgalatage, yurys |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
Tony Gentilcore
1. Open the Timeline panel
2. Press ctrl+o or right click and select "Load timeline data"
3. Notice the open file dialog is not displayed as expected
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Vivek Galatage
This is my preliminary analysis:
The TimelinePanel::_contextMenu() (TimelinePanel.js), adds the menu items in the context menu for "Load Timeline data" specifying this._fileSelectorElement.click as the context menu click handler.
This context menu is displayed by InspectorFrontendHost::showContextMenu() and even the event associated with the menu item is handled in FrontendMenuProvider::contextMenuItemSelected() method (both these are there in Source\WebCore\inspector\InspectorFrontendHost.cpp).
So now in this method there is an explicit call to WebInspector.contextMenuItemSelected (ContextMenu.js) using the ScriptFunctionCall object upon clicking this menu item.
As per the invocation, the JS call to WebInspector.contextMenuItemSelected is invoked and it tries to invoke the this._fileSelectorElement.click
This call is running in what I call as Script Running Context than the User Running Context. So I guess in this mode, the call to click() on File Input will not have any effect. And hence the File dialog is not displayed.
To demonstrate this I have created a html snippet here: http://pastebin.com/3JV2jgtM
So in this code snippet, the call to fileSelectorElement.click(); works only from the button's onClick handler i.e. f()
Vivek Galatage
So in the above, if the call to ScriptFunctionCall is simulated in the User Action Execution Context, then it should restore the functionality. Your thoughts?
Ilya Tikhonovsky
Save and load work fine on Chromium Linux-x64 and Mac in undocked mode.
Load doesn't work in docked mode.
Vivek Galatage
On Windows, I checked both i.e. dock n undock modes, but still the load is not working.
Cross verified it with Safari nightly and got the same result.
Vivek Galatage
Chromium works in undocked mode while safari fails to load in both cases. Seems the issue is with safari and chrome and not with webkit.
Hence marking as resolved-wontfix.
Tony Gentilcore
OK, filed http://crbug.com/128176 for Chrome. Not sure where to file this for Safari.