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)