Skip to content

Commit c068ce4

Browse files
committed
Merge remote-tracking branch 'intertelesa/itl' into support-php81
2 parents 0154729 + 90bac38 commit c068ce4

File tree

1,227 files changed

+17923
-977
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,227 files changed

+17923
-977
lines changed

.circleci/config.yml

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,52 @@ jobs:
139139
- store_test_results:
140140
path: /tmp/phpunit
141141

142+
test_8_0:
143+
docker:
144+
- image: circleci/php:8.0-node-browsers
145+
steps:
146+
- checkout
147+
- run: sudo docker-php-ext-install sockets
148+
- restore_cache:
149+
keys:
150+
- v3_composer_{{ .Branch }}
151+
- run:
152+
command: |
153+
composer update --prefer-dist --no-progress --classmap-authoritative
154+
- save_cache:
155+
key: v3_composer_{{ .Branch }}
156+
paths:
157+
- ~/.composer/cache
158+
- run:
159+
command: |
160+
mkdir -p /tmp/phpunit
161+
PHPUNIT_FLAGS="--log-junit /tmp/phpunit/junit.xml" make -e test
162+
- store_test_results:
163+
path: /tmp/phpunit
164+
165+
test_8_0_lowest:
166+
docker:
167+
- image: circleci/php:8.0-node-browsers
168+
steps:
169+
- checkout
170+
- run: sudo docker-php-ext-install sockets
171+
- restore_cache:
172+
keys:
173+
- v3_composer_lowest_{{ .Branch }}
174+
- run:
175+
command: |
176+
composer update --prefer-dist --no-progress --classmap-authoritative --prefer-lowest
177+
- save_cache:
178+
key: v3_composer_lowest_{{ .Branch }}
179+
paths:
180+
- ~/.composer/cache
181+
- run:
182+
command: |
183+
mkdir -p /tmp/phpunit
184+
PHPUNIT_FLAGS="--log-junit /tmp/phpunit/junit.xml" make -e lint phpunit
185+
- store_test_results:
186+
path: /tmp/phpunit
187+
142188
check_protocol:
143189
docker:
144190
- image: circleci/php:7.3-node-browsers
@@ -157,7 +203,7 @@ jobs:
157203
158204
autoupdate_protocol:
159205
docker:
160-
- image: circleci/php:7.3-node-browsers
206+
- image: circleci/php:8.0-node-browsers
161207
steps:
162208
- checkout
163209
- run: sudo docker-php-ext-install sockets
@@ -205,6 +251,8 @@ workflows:
205251
- test_7_3_lowest
206252
- test_7_4
207253
- test_7_4_lowest
254+
- test_8_0
255+
- test_8_0_lowest
208256
- check_protocol
209257

210258
nightly:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ phpunit:
3434
./vendor/bin/phpunit $(PHPUNIT_FLAGS)
3535

3636
phpstan:
37-
./vendor/bin/phpstan analyse --level=6 --configuration=phpstan.neon --memory-limit=1g gen-src src test
37+
./vendor/bin/phpstan analyse --level=5 --configuration=phpstan.neon --memory-limit=1g gen-src src test

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
"require": {
2222
"ext-json": "*",
2323
"guzzlehttp/guzzle": "^6.3|^7.0",
24-
"php": "~7.1|^8",
24+
"php": "^7.2|^8.0",
2525
"symfony/filesystem": ">=2.3",
2626
"symfony/process": ">=3.3",
2727
"wrench/wrench": "~2.0.10"
2828
},
2929
"require-dev": {
30-
"jakub-onderka/php-parallel-lint": "~1.0.0",
30+
"php-parallel-lint/php-parallel-lint": "^1.2",
3131
"nette/php-generator": "~2.1|~3.0",
3232
"phpstan/phpstan": "^1.3",
3333
"phpunit/phpunit": "^9.5"

gen-src/ChromeDevtoolsProtocol/DevtoolsClientInterface.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@
1717
use ChromeDevtoolsProtocol\Domain\DOMStorageDomainInterface;
1818
use ChromeDevtoolsProtocol\Domain\DatabaseDomainInterface;
1919
use ChromeDevtoolsProtocol\Domain\DebuggerDomainInterface;
20+
use ChromeDevtoolsProtocol\Domain\DeviceAccessDomainInterface;
2021
use ChromeDevtoolsProtocol\Domain\DeviceOrientationDomainInterface;
2122
use ChromeDevtoolsProtocol\Domain\EmulationDomainInterface;
23+
use ChromeDevtoolsProtocol\Domain\EventBreakpointsDomainInterface;
24+
use ChromeDevtoolsProtocol\Domain\FedCmDomainInterface;
2225
use ChromeDevtoolsProtocol\Domain\FetchDomainInterface;
2326
use ChromeDevtoolsProtocol\Domain\HeadlessExperimentalDomainInterface;
2427
use ChromeDevtoolsProtocol\Domain\HeapProfilerDomainInterface;
@@ -35,6 +38,7 @@
3538
use ChromeDevtoolsProtocol\Domain\PageDomainInterface;
3639
use ChromeDevtoolsProtocol\Domain\PerformanceDomainInterface;
3740
use ChromeDevtoolsProtocol\Domain\PerformanceTimelineDomainInterface;
41+
use ChromeDevtoolsProtocol\Domain\PreloadDomainInterface;
3842
use ChromeDevtoolsProtocol\Domain\ProfilerDomainInterface;
3943
use ChromeDevtoolsProtocol\Domain\RuntimeDomainInterface;
4044
use ChromeDevtoolsProtocol\Domain\SchemaDomainInterface;
@@ -139,6 +143,14 @@ public function database(): DatabaseDomainInterface;
139143
public function debugger(): DebuggerDomainInterface;
140144

141145

146+
/**
147+
* DeviceAccess domain.
148+
*
149+
* @experimental
150+
*/
151+
public function deviceAccess(): DeviceAccessDomainInterface;
152+
153+
142154
/**
143155
* DeviceOrientation domain.
144156
*
@@ -181,6 +193,22 @@ public function domStorage(): DOMStorageDomainInterface;
181193
public function emulation(): EmulationDomainInterface;
182194

183195

196+
/**
197+
* EventBreakpoints permits setting breakpoints on particular operations and events in targets that run JavaScript but do not have a DOM. JavaScript execution will stop on these operations as if there was a regular breakpoint set.
198+
*
199+
* @experimental
200+
*/
201+
public function eventBreakpoints(): EventBreakpointsDomainInterface;
202+
203+
204+
/**
205+
* This domain allows interacting with the FedCM dialog.
206+
*
207+
* @experimental
208+
*/
209+
public function fedCm(): FedCmDomainInterface;
210+
211+
184212
/**
185213
* A domain for letting clients substitute browser's network layer with client code.
186214
*/
@@ -295,6 +323,14 @@ public function performance(): PerformanceDomainInterface;
295323
public function performanceTimeline(): PerformanceTimelineDomainInterface;
296324

297325

326+
/**
327+
* Preload domain.
328+
*
329+
* @experimental
330+
*/
331+
public function preload(): PreloadDomainInterface;
332+
333+
298334
/**
299335
* Profiler domain.
300336
*/

gen-src/ChromeDevtoolsProtocol/DevtoolsClientTrait.php

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,16 @@
3232
use ChromeDevtoolsProtocol\Domain\DatabaseDomainInterface;
3333
use ChromeDevtoolsProtocol\Domain\DebuggerDomain;
3434
use ChromeDevtoolsProtocol\Domain\DebuggerDomainInterface;
35+
use ChromeDevtoolsProtocol\Domain\DeviceAccessDomain;
36+
use ChromeDevtoolsProtocol\Domain\DeviceAccessDomainInterface;
3537
use ChromeDevtoolsProtocol\Domain\DeviceOrientationDomain;
3638
use ChromeDevtoolsProtocol\Domain\DeviceOrientationDomainInterface;
3739
use ChromeDevtoolsProtocol\Domain\EmulationDomain;
3840
use ChromeDevtoolsProtocol\Domain\EmulationDomainInterface;
41+
use ChromeDevtoolsProtocol\Domain\EventBreakpointsDomain;
42+
use ChromeDevtoolsProtocol\Domain\EventBreakpointsDomainInterface;
43+
use ChromeDevtoolsProtocol\Domain\FedCmDomain;
44+
use ChromeDevtoolsProtocol\Domain\FedCmDomainInterface;
3945
use ChromeDevtoolsProtocol\Domain\FetchDomain;
4046
use ChromeDevtoolsProtocol\Domain\FetchDomainInterface;
4147
use ChromeDevtoolsProtocol\Domain\HeadlessExperimentalDomain;
@@ -68,6 +74,8 @@
6874
use ChromeDevtoolsProtocol\Domain\PerformanceDomainInterface;
6975
use ChromeDevtoolsProtocol\Domain\PerformanceTimelineDomain;
7076
use ChromeDevtoolsProtocol\Domain\PerformanceTimelineDomainInterface;
77+
use ChromeDevtoolsProtocol\Domain\PreloadDomain;
78+
use ChromeDevtoolsProtocol\Domain\PreloadDomainInterface;
7179
use ChromeDevtoolsProtocol\Domain\ProfilerDomain;
7280
use ChromeDevtoolsProtocol\Domain\ProfilerDomainInterface;
7381
use ChromeDevtoolsProtocol\Domain\RuntimeDomain;
@@ -231,6 +239,18 @@ public function debugger(): DebuggerDomainInterface
231239
}
232240

233241

242+
public function deviceAccess(): DeviceAccessDomainInterface
243+
{
244+
if (!isset($this->domains['DeviceAccess'])) {
245+
/** @var InternalClientInterface $this */
246+
$this->domains['DeviceAccess'] = new DeviceAccessDomain($this);
247+
}
248+
/** @var DeviceAccessDomainInterface $domain */
249+
$domain = $this->domains['DeviceAccess'];
250+
return $domain;
251+
}
252+
253+
234254
public function deviceOrientation(): DeviceOrientationDomainInterface
235255
{
236256
if (!isset($this->domains['DeviceOrientation'])) {
@@ -303,6 +323,30 @@ public function emulation(): EmulationDomainInterface
303323
}
304324

305325

326+
public function eventBreakpoints(): EventBreakpointsDomainInterface
327+
{
328+
if (!isset($this->domains['EventBreakpoints'])) {
329+
/** @var InternalClientInterface $this */
330+
$this->domains['EventBreakpoints'] = new EventBreakpointsDomain($this);
331+
}
332+
/** @var EventBreakpointsDomainInterface $domain */
333+
$domain = $this->domains['EventBreakpoints'];
334+
return $domain;
335+
}
336+
337+
338+
public function fedCm(): FedCmDomainInterface
339+
{
340+
if (!isset($this->domains['FedCm'])) {
341+
/** @var InternalClientInterface $this */
342+
$this->domains['FedCm'] = new FedCmDomain($this);
343+
}
344+
/** @var FedCmDomainInterface $domain */
345+
$domain = $this->domains['FedCm'];
346+
return $domain;
347+
}
348+
349+
306350
public function fetch(): FetchDomainInterface
307351
{
308352
if (!isset($this->domains['Fetch'])) {
@@ -495,6 +539,18 @@ public function performanceTimeline(): PerformanceTimelineDomainInterface
495539
}
496540

497541

542+
public function preload(): PreloadDomainInterface
543+
{
544+
if (!isset($this->domains['Preload'])) {
545+
/** @var InternalClientInterface $this */
546+
$this->domains['Preload'] = new PreloadDomain($this);
547+
}
548+
/** @var PreloadDomainInterface $domain */
549+
$domain = $this->domains['Preload'];
550+
return $domain;
551+
}
552+
553+
498554
public function profiler(): ProfilerDomainInterface
499555
{
500556
if (!isset($this->domains['Profiler'])) {

gen-src/ChromeDevtoolsProtocol/Domain/AccessibilityDomain.php

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@
44

55
use ChromeDevtoolsProtocol\ContextInterface;
66
use ChromeDevtoolsProtocol\InternalClientInterface;
7+
use ChromeDevtoolsProtocol\Model\Accessibility\GetAXNodeAndAncestorsRequest;
8+
use ChromeDevtoolsProtocol\Model\Accessibility\GetAXNodeAndAncestorsResponse;
79
use ChromeDevtoolsProtocol\Model\Accessibility\GetChildAXNodesRequest;
810
use ChromeDevtoolsProtocol\Model\Accessibility\GetChildAXNodesResponse;
911
use ChromeDevtoolsProtocol\Model\Accessibility\GetFullAXTreeRequest;
1012
use ChromeDevtoolsProtocol\Model\Accessibility\GetFullAXTreeResponse;
1113
use ChromeDevtoolsProtocol\Model\Accessibility\GetPartialAXTreeRequest;
1214
use ChromeDevtoolsProtocol\Model\Accessibility\GetPartialAXTreeResponse;
15+
use ChromeDevtoolsProtocol\Model\Accessibility\GetRootAXNodeRequest;
16+
use ChromeDevtoolsProtocol\Model\Accessibility\GetRootAXNodeResponse;
17+
use ChromeDevtoolsProtocol\Model\Accessibility\LoadCompleteEvent;
18+
use ChromeDevtoolsProtocol\Model\Accessibility\NodesUpdatedEvent;
1319
use ChromeDevtoolsProtocol\Model\Accessibility\QueryAXTreeRequest;
1420
use ChromeDevtoolsProtocol\Model\Accessibility\QueryAXTreeResponse;
21+
use ChromeDevtoolsProtocol\SubscriptionInterface;
1522

1623
class AccessibilityDomain implements AccessibilityDomainInterface
1724
{
@@ -39,6 +46,15 @@ public function enable(ContextInterface $ctx): void
3946
}
4047

4148

49+
public function getAXNodeAndAncestors(
50+
ContextInterface $ctx,
51+
GetAXNodeAndAncestorsRequest $request
52+
): GetAXNodeAndAncestorsResponse {
53+
$response = $this->internalClient->executeCommand($ctx, 'Accessibility.getAXNodeAndAncestors', $request);
54+
return GetAXNodeAndAncestorsResponse::fromJson($response);
55+
}
56+
57+
4258
public function getChildAXNodes(ContextInterface $ctx, GetChildAXNodesRequest $request): GetChildAXNodesResponse
4359
{
4460
$response = $this->internalClient->executeCommand($ctx, 'Accessibility.getChildAXNodes', $request);
@@ -60,9 +76,44 @@ public function getPartialAXTree(ContextInterface $ctx, GetPartialAXTreeRequest
6076
}
6177

6278

79+
public function getRootAXNode(ContextInterface $ctx, GetRootAXNodeRequest $request): GetRootAXNodeResponse
80+
{
81+
$response = $this->internalClient->executeCommand($ctx, 'Accessibility.getRootAXNode', $request);
82+
return GetRootAXNodeResponse::fromJson($response);
83+
}
84+
85+
6386
public function queryAXTree(ContextInterface $ctx, QueryAXTreeRequest $request): QueryAXTreeResponse
6487
{
6588
$response = $this->internalClient->executeCommand($ctx, 'Accessibility.queryAXTree', $request);
6689
return QueryAXTreeResponse::fromJson($response);
6790
}
91+
92+
93+
public function addLoadCompleteListener(callable $listener): SubscriptionInterface
94+
{
95+
return $this->internalClient->addListener('Accessibility.loadComplete', function ($event) use ($listener) {
96+
return $listener(LoadCompleteEvent::fromJson($event));
97+
});
98+
}
99+
100+
101+
public function awaitLoadComplete(ContextInterface $ctx): LoadCompleteEvent
102+
{
103+
return LoadCompleteEvent::fromJson($this->internalClient->awaitEvent($ctx, 'Accessibility.loadComplete'));
104+
}
105+
106+
107+
public function addNodesUpdatedListener(callable $listener): SubscriptionInterface
108+
{
109+
return $this->internalClient->addListener('Accessibility.nodesUpdated', function ($event) use ($listener) {
110+
return $listener(NodesUpdatedEvent::fromJson($event));
111+
});
112+
}
113+
114+
115+
public function awaitNodesUpdated(ContextInterface $ctx): NodesUpdatedEvent
116+
{
117+
return NodesUpdatedEvent::fromJson($this->internalClient->awaitEvent($ctx, 'Accessibility.nodesUpdated'));
118+
}
68119
}

0 commit comments

Comments
 (0)