Skip to content

Commit 79e77e9

Browse files
chore: roll to 1.15.0-next-1630342926000 (microsoft#879)
1 parent 6a85035 commit 79e77e9

19 files changed

+835
-8
lines changed

playwright/_impl/_api_structures.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,14 @@ class ResourceTiming(TypedDict):
104104
responseEnd: float
105105

106106

107+
class RequestSizes(TypedDict):
108+
requestBodySize: int
109+
requestHeadersSize: int
110+
responseBodySize: int
111+
responseHeadersSize: int
112+
responseTransferSize: int
113+
114+
107115
class ViewportSize(TypedDict):
108116
width: int
109117
height: int

playwright/_impl/_browser_context.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@
1919
from types import SimpleNamespace
2020
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Set, Union, cast
2121

22-
from playwright._impl._api_structures import Cookie, Geolocation, StorageState
22+
from playwright._impl._api_structures import (
23+
Cookie,
24+
Geolocation,
25+
RequestSizes,
26+
StorageState,
27+
)
2328
from playwright._impl._api_types import Error
2429
from playwright._impl._artifact import Artifact
2530
from playwright._impl._cdp_session import CDPSession
@@ -121,7 +126,7 @@ def __init__(
121126
lambda params: self._on_request_failed(
122127
from_channel(params["request"]),
123128
params["responseEndTiming"],
124-
params["failureText"],
129+
params.get("failureText"),
125130
from_nullable_channel(params.get("page")),
126131
),
127132
)
@@ -131,6 +136,7 @@ def __init__(
131136
from_channel(params["request"]),
132137
params["responseEndTiming"],
133138
from_nullable_channel(params.get("page")),
139+
params["requestSizes"],
134140
),
135141
)
136142
self._closed_future: asyncio.Future = asyncio.Future()
@@ -358,10 +364,15 @@ def _on_request_failed(
358364
page.emit(Page.Events.RequestFailed, request)
359365

360366
def _on_request_finished(
361-
self, request: Request, response_end_timing: float, page: Optional[Page]
367+
self,
368+
request: Request,
369+
response_end_timing: float,
370+
page: Optional[Page],
371+
request_sizes: RequestSizes,
362372
) -> None:
363373
if request._timing:
364374
request._timing["responseEnd"] = response_end_timing
375+
request._sizes = request_sizes
365376
self.emit(BrowserContext.Events.RequestFinished, request)
366377
if page:
367378
page.emit(Page.Events.RequestFinished, request)

playwright/_impl/_connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,9 @@ def _dispatch(self, msg: ParsedMessagePayload) -> None:
241241

242242
guid = msg["guid"]
243243
method = msg.get("method")
244-
params = msg["params"]
244+
params = msg.get("params")
245245
if method == "__create__":
246+
assert params
246247
parent = self._objects[guid]
247248
self._create_remote_object(
248249
parent, params["type"], params["guid"], params["initializer"]
@@ -251,7 +252,6 @@ def _dispatch(self, msg: ParsedMessagePayload) -> None:
251252
if method == "__dispose__":
252253
self._objects[guid]._dispose()
253254
return
254-
255255
object = self._objects[guid]
256256
try:
257257
if self._is_sync:

playwright/_impl/_element_handle.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,33 @@ async def press(
213213
) -> None:
214214
await self._channel.send("press", locals_to_params(locals()))
215215

216+
async def set_checked(
217+
self,
218+
checked: bool,
219+
position: Position = None,
220+
timeout: float = None,
221+
force: bool = None,
222+
noWaitAfter: bool = None,
223+
strict: bool = None,
224+
trial: bool = None,
225+
) -> None:
226+
if checked:
227+
await self.check(
228+
position=position,
229+
timeout=timeout,
230+
force=force,
231+
noWaitAfter=noWaitAfter,
232+
trial=trial,
233+
)
234+
else:
235+
await self.uncheck(
236+
position=position,
237+
timeout=timeout,
238+
force=force,
239+
noWaitAfter=noWaitAfter,
240+
trial=trial,
241+
)
242+
216243
async def check(
217244
self,
218245
position: Position = None,

playwright/_impl/_frame.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,3 +649,35 @@ async def wait_for_function(
649649

650650
async def title(self) -> str:
651651
return await self._channel.send("title")
652+
653+
async def set_checked(
654+
self,
655+
selector: str,
656+
checked: bool,
657+
position: Position = None,
658+
timeout: float = None,
659+
force: bool = None,
660+
noWaitAfter: bool = None,
661+
strict: bool = None,
662+
trial: bool = None,
663+
) -> None:
664+
if checked:
665+
await self.check(
666+
selector=selector,
667+
position=position,
668+
timeout=timeout,
669+
force=force,
670+
noWaitAfter=noWaitAfter,
671+
strict=strict,
672+
trial=trial,
673+
)
674+
else:
675+
await self.uncheck(
676+
selector=selector,
677+
position=position,
678+
timeout=timeout,
679+
force=force,
680+
noWaitAfter=noWaitAfter,
681+
strict=strict,
682+
trial=trial,
683+
)

playwright/_impl/_locator.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,3 +438,30 @@ async def all_text_contents(
438438
return await self._frame.eval_on_selector_all(
439439
self._selector, "ee => ee.map(e => e.textContent || '')"
440440
)
441+
442+
async def set_checked(
443+
self,
444+
checked: bool,
445+
position: Position = None,
446+
timeout: float = None,
447+
force: bool = None,
448+
strict: bool = None,
449+
noWaitAfter: bool = None,
450+
trial: bool = None,
451+
) -> None:
452+
if checked:
453+
await self.check(
454+
position=position,
455+
timeout=timeout,
456+
force=force,
457+
noWaitAfter=noWaitAfter,
458+
trial=trial,
459+
)
460+
else:
461+
await self.uncheck(
462+
position=position,
463+
timeout=timeout,
464+
force=force,
465+
noWaitAfter=noWaitAfter,
466+
trial=trial,
467+
)

playwright/_impl/_network.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@
2020
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Union, cast
2121
from urllib import parse
2222

23-
from playwright._impl._api_structures import RemoteAddr, ResourceTiming, SecurityDetails
23+
from playwright._impl._api_structures import (
24+
RemoteAddr,
25+
RequestSizes,
26+
ResourceTiming,
27+
SecurityDetails,
28+
)
2429
from playwright._impl._api_types import Error
2530
from playwright._impl._connection import (
2631
ChannelOwner,
@@ -58,6 +63,13 @@ def __init__(
5863
"responseStart": -1,
5964
"responseEnd": -1,
6065
}
66+
self._sizes: RequestSizes = {
67+
"requestBodySize": 0,
68+
"requestHeadersSize": 0,
69+
"responseBodySize": 0,
70+
"responseHeadersSize": 0,
71+
"responseTransferSize": 0,
72+
}
6173
self._headers: Dict[str, str] = parse_headers(self._initializer["headers"])
6274

6375
def __repr__(self) -> str:
@@ -75,6 +87,10 @@ def resource_type(self) -> str:
7587
def method(self) -> str:
7688
return self._initializer["method"]
7789

90+
@property
91+
def sizes(self) -> RequestSizes:
92+
return self._sizes
93+
7894
@property
7995
def post_data(self) -> Optional[str]:
8096
data = self.post_data_buffer

playwright/_impl/_page.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -994,6 +994,38 @@ def expect_worker(
994994
) -> EventContextManagerImpl["Worker"]:
995995
return self.expect_event("worker", predicate, timeout)
996996

997+
async def set_checked(
998+
self,
999+
selector: str,
1000+
checked: bool,
1001+
position: Position = None,
1002+
timeout: float = None,
1003+
force: bool = None,
1004+
noWaitAfter: bool = None,
1005+
strict: bool = None,
1006+
trial: bool = None,
1007+
) -> None:
1008+
if checked:
1009+
await self.check(
1010+
selector=selector,
1011+
position=position,
1012+
timeout=timeout,
1013+
force=force,
1014+
noWaitAfter=noWaitAfter,
1015+
strict=strict,
1016+
trial=trial,
1017+
)
1018+
else:
1019+
await self.uncheck(
1020+
selector=selector,
1021+
position=position,
1022+
timeout=timeout,
1023+
force=force,
1024+
noWaitAfter=noWaitAfter,
1025+
strict=strict,
1026+
trial=trial,
1027+
)
1028+
9971029

9981030
class Worker(ChannelOwner):
9991031
Events = SimpleNamespace(Close="close")

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy