Bug 148025

Summary: Web Inspector: add support for running inspector-test.js tests on Windows
Product: WebKit Reporter: BJ Burg <bburg>
Component: Web InspectorAssignee: Brent Fulgham <bfulgham>
Status: NEW ---    
Severity: Normal CC: achristensen, bfulgham, graouts, inspector-bugzilla-changes, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Bug Depends on:    
Bug Blocks: 137157, 147093    

Description BJ 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 BJ 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 BJ 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 BJ 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.