@@ -22,7 +22,7 @@ import * as types from '../types';
22
22
import { WKBrowser } from '../webkit/wkBrowser' ;
23
23
import { execSync } from 'child_process' ;
24
24
import { PipeTransport } from './pipeTransport' ;
25
- import { launchProcess , waitForLine } from './processLauncher' ;
25
+ import { launchProcess } from './processLauncher' ;
26
26
import * as fs from 'fs' ;
27
27
import * as path from 'path' ;
28
28
import * as platform from '../platform' ;
@@ -31,7 +31,7 @@ import * as os from 'os';
31
31
import { assert , helper } from '../helper' ;
32
32
import { kBrowserCloseMessageId } from '../webkit/wkConnection' ;
33
33
import { LaunchOptions , BrowserArgOptions , BrowserType } from './browserType' ;
34
- import { ConnectionTransport , DeferWriteTransport } from '../transport' ;
34
+ import { ConnectionTransport } from '../transport' ;
35
35
import * as ws from 'ws' ;
36
36
import * as uuidv4 from 'uuid/v4' ;
37
37
import { ConnectOptions , LaunchType } from '../browser' ;
@@ -108,9 +108,9 @@ export class WebKit implements BrowserType {
108
108
109
109
const webkitArguments = [ ] ;
110
110
if ( ! ignoreDefaultArgs )
111
- webkitArguments . push ( ...this . _defaultArgs ( options , userDataDir ! , port || 0 ) ) ;
111
+ webkitArguments . push ( ...this . _defaultArgs ( options , launchType , userDataDir ! , port || 0 ) ) ;
112
112
else if ( Array . isArray ( ignoreDefaultArgs ) )
113
- webkitArguments . push ( ...this . _defaultArgs ( options , userDataDir ! , port || 0 ) . filter ( arg => ignoreDefaultArgs . indexOf ( arg ) === - 1 ) ) ;
113
+ webkitArguments . push ( ...this . _defaultArgs ( options , launchType , userDataDir ! , port || 0 ) . filter ( arg => ignoreDefaultArgs . indexOf ( arg ) === - 1 ) ) ;
114
114
else
115
115
webkitArguments . push ( ...args ) ;
116
116
@@ -149,9 +149,7 @@ export class WebKit implements BrowserType {
149
149
} ,
150
150
} ) ;
151
151
152
- const timeoutError = new TimeoutError ( `Timed out after ${ timeout } ms while trying to connect to WebKit! The only WebKit revision guaranteed to work is r${ this . _revision } ` ) ;
153
- await waitForLine ( launchedProcess , launchedProcess . stdout , / ^ W e b I n s p e c t o r i s r e a d i n g f r o m p i p e # 3 $ / , timeout , timeoutError ) ;
154
- transport = new DeferWriteTransport ( new PipeTransport ( launchedProcess . stdio [ 3 ] as NodeJS . WritableStream , launchedProcess . stdio [ 4 ] as NodeJS . ReadableStream ) ) ;
152
+ transport = new PipeTransport ( launchedProcess . stdio [ 3 ] as NodeJS . WritableStream , launchedProcess . stdio [ 4 ] as NodeJS . ReadableStream ) ;
155
153
browserServer = new BrowserServer ( launchedProcess , gracefullyClose , launchType === 'server' ? await wrapTransportWithWebSocket ( transport , port || 0 ) : null ) ;
156
154
return { browserServer, transport } ;
157
155
}
@@ -173,7 +171,7 @@ export class WebKit implements BrowserType {
173
171
return { TimeoutError } ;
174
172
}
175
173
176
- _defaultArgs ( options : BrowserArgOptions = { } , userDataDir : string , port : number ) : string [ ] {
174
+ _defaultArgs ( options : BrowserArgOptions = { } , launchType : LaunchType , userDataDir : string , port : number ) : string [ ] {
177
175
const {
178
176
devtools = false ,
179
177
headless = ! devtools ,
@@ -187,7 +185,10 @@ export class WebKit implements BrowserType {
187
185
const webkitArguments = [ '--inspector-pipe' ] ;
188
186
if ( headless )
189
187
webkitArguments . push ( '--headless' ) ;
190
- webkitArguments . push ( `--user-data-dir=${ userDataDir } ` ) ;
188
+ if ( launchType === 'persistent' )
189
+ webkitArguments . push ( `--user-data-dir=${ userDataDir } ` ) ;
190
+ else
191
+ webkitArguments . push ( `--no-startup-window` ) ;
191
192
webkitArguments . push ( ...args ) ;
192
193
return webkitArguments ;
193
194
}
@@ -361,18 +362,6 @@ async function wrapTransportWithWebSocket(transport: ConnectionTransport, port:
361
362
return ;
362
363
}
363
364
sockets . add ( socket ) ;
364
- // Following two messages are reporting the default browser context and the default page.
365
- socket . send ( JSON . stringify ( {
366
- method : 'Browser.pageProxyCreated' ,
367
- params : { pageProxyInfo : { pageProxyId : '5' , browserContextId : '0000000000000002' } }
368
- } ) ) ;
369
- socket . send ( JSON . stringify ( {
370
- method : 'Target.targetCreated' ,
371
- params : {
372
- targetInfo : { targetId : 'page-6' , type : 'page' , isPaused : false }
373
- } ,
374
- pageProxyId : '5'
375
- } ) ) ;
376
365
377
366
socket . on ( 'message' , ( message : string ) => {
378
367
const parsedMessage = JSON . parse ( Buffer . from ( message ) . toString ( ) ) ;
0 commit comments