Bug 148025 - Web Inspector: add support for running inspector-test.js tests on Windows
Summary: Web Inspector: add support for running inspector-test.js tests on Windows
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on:
Blocks: 137157 InspectorTest
  Show dependency treegraph
 
Reported: 2015-08-14 08:46 PDT by Brian Burg
Modified: 2016-12-13 15:35 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Burg 2015-08-14 08:46:46 PDT
We currently do not load Test.html when running tests, leading tests to time out on Windows because the test page does not receive the "Test Inspector Loaded" signal.
Comment 1 Radar WebKit Bug Importer 2015-08-14 08:46:59 PDT
<rdar://problem/22287523>
Comment 2 Brian Burg 2015-08-14 08:58:49 PDT
As a starting point, the existing Windows code specifies the page to load inside WebInspectorClient::openInspectorFrontend:

RetainPtr<CFURLRef> htmlURLRef = adoptCF(CFBundleCopyResourceURL(webKitBundle(), CFSTR("Main"), CFSTR("html"), CFSTR("WebInspectorUI")));

The mac WK1 code does something like this, which could be copied to Windows.

    NSString *pagePath = isUnderTest ? [self inspectorTestPagePath] : [self inspectorPagePath];
Comment 3 Brian Burg 2015-08-14 13:15:38 PDT
To clarify, this bug deals with adding support for tests that use `inspector-test.js`. Another bug tracks `protocol-test.js`, since they use different mechanisms.
Comment 4 Brent Fulgham 2015-12-23 15:52:16 PST
It doesn't look like the "isUnderTest" flag is getting passed to WebKit on Windows. I'll have to see where that comes from.
Comment 5 Brian Burg 2015-12-27 08:44:24 PST
(In reply to comment #4)
> It doesn't look like the "isUnderTest" flag is getting passed to WebKit on
> Windows. I'll have to see where that comes from.

I'm not sure why this isn't getting propagated.

InspectorController has a m_isUnderTest flag, which is set via Internals::setInspectorIsUnderTest. When a frontend opens, it asks the inspected page's  inspector controller whether it's under test. I couldn't find any obvious problems here by reading the code again, so you probably want to pause in a debugger inside the setter and getter to see what's going on.