Skip to content

Commit ccc0f75

Browse files
committed
refactor: remove Frame class and update Page and BrowserContext to use frame GUIDs directly
1 parent d3b3f34 commit ccc0f75

3 files changed

Lines changed: 372 additions & 706 deletions

File tree

src/Playwright/BrowserContext.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
*/
1010
final class BrowserContext
1111
{
12-
/**
13-
* Frame.
14-
*/
15-
public Frame $frame;
16-
1712
/**
1813
* Page.
1914
*/
@@ -35,17 +30,24 @@ public function newPage(): Page
3530
{
3631
$response = Client::instance()->execute($this->guid, 'newPage');
3732

33+
$frameUrl = '';
34+
$frameGuid = '';
35+
$pageGuid = '';
36+
3837
/** @var array{method: string|null, params: array{type: string|null, guid: string, initializer: array{url: string}}, result: array{page: array{guid: string|null}}} $message */
3938
foreach ($response as $message) {
4039
if (isset($message['method']) && $message['method'] === '__create__' && (isset($message['params']['type']) && $message['params']['type'] === 'Frame')) {
41-
$this->frame = new Frame($message['params']['guid'], $message['params']['initializer']['url']);
40+
$frameGuid = $message['params']['guid'];
41+
$frameUrl = $message['params']['initializer']['url'];
4242
}
4343

4444
if (isset($message['result']['page']['guid'])) {
45-
$this->page = new Page($message['result']['page']['guid'], $this->frame);
45+
$pageGuid = $message['result']['page']['guid'];
4646
}
4747
}
4848

49+
$this->page = new Page($pageGuid, $frameGuid, $frameUrl);
50+
4951
return $this->page;
5052
}
5153
}

0 commit comments

Comments
 (0)