Commit graph

938 commits

Author SHA1 Message Date
Yury Semikhatsky b93718daea
feat(fetch): support ignoreHTTPSErrors option (#9206) 2021-09-28 15:33:36 -07:00
Pavel Feldman 2b055b3092
feat(api): introduce locator.waitFor (#9200) 2021-09-28 13:57:11 -07:00
Yury Semikhatsky 64657c3b65
feat(fetch): send Playwright as default user-agent for global fetch (#9195) 2021-09-28 13:01:35 -07:00
Dmitry Gozman 8dc8777ab4
feat(expect): toContainText(array) (#9160)
This matches when each expected item from the array
is matched to one of the resolved elements, in order.
Note this performs both "sub-array" and "substring" matching.

Drive-by: documentation fixes.
Drive-by: added "selector resolved to 3 elements" log line
when expecting arrays.
2021-09-27 11:14:35 -07:00
Max Schmitt cd22072685
chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
github-actions[bot] 03376ed44b
feat(chromium): roll to r925110 (#9175)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-27 18:26:09 +02:00
Dmitry Gozman ee25fefb62
chore: remove FatalDOMError (#9119)
We can now throw stackless errors instead.
Also fixed stackless errors on Firefox.
2021-09-24 20:51:09 -07:00
Dmitry Gozman f4aaebfba0
fix(expect): produce "waiting for selector" log, corner cases (#9140) 2021-09-24 18:55:45 -07:00
Pavel Feldman db6c55af51
chore: add a test for the log scale polling (#9136) 2021-09-24 12:54:33 -07:00
Pavel Feldman 1db41c330a
chore: migrate remaining expect to protocol (#9121) 2021-09-24 11:06:30 -07:00
Max Schmitt 4eede61f79
feat(chromium): roll to 924544 (#9131) 2021-09-24 18:13:12 +02:00
Pavel Feldman 0908dc98c8
chore: migrate expect(locator).toMatchText to protocol (#9117) 2021-09-23 16:46:46 -07:00
Joel Einbinder 219d00d17b
chore(typescript): bump typescript to v4.4.3 (#9087) 2021-09-23 11:55:44 -04:00
Pavel Feldman e03db79682
fix(firefox): use global eval in injected script (#9101) 2021-09-22 21:49:14 -07:00
Dmitry Gozman 2afe76d86d
feat(launch): connect to process.env.SELENIUM_REMOTE_URL instead of local launch (#9056) 2021-09-22 21:13:32 -07:00
Pavel Feldman de4aa50d55
chore: simplify dom tasks (#9089) 2021-09-22 17:17:49 -07:00
Dmitry Gozman f0d23b5d4d
fix(css selector): absolutize relative CSS selectors (#9088)
Selectors like `> div` are replaced by `:scope > div`,
which is useful for combining them with parent selectors.
This is a part of CSS Level 4 spec.
2021-09-22 14:13:00 -07:00
Yury Semikhatsky 79eb7744bc
feat(fetch): support options in playwright._newRequest (#9061) 2021-09-22 12:44:22 -07:00
Dmitry Gozman e85a3a5a41
fix(page.content): throw a nice error when navigation intervenes (#9080) 2021-09-22 10:40:15 -07:00
Max Schmitt 449a593050
fix(fetch): be compatible with a 0 timeout (#9071) 2021-09-22 10:30:56 -07:00
Max Schmitt d354d14fb9
chore: move Frame.waitForTimeout to the server side (#9053) 2021-09-21 22:06:14 +02:00
github-actions[bot] e5b8c02c93
feat(chromium): roll to r922811 (#9024)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-20 15:32:32 +02:00
github-actions[bot] d61148c39a
feat(webkit): roll to r1548 (#8996)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-18 07:50:42 +02:00
Dmitry Gozman b575c0e2e6
fix(actions): do not throw evaluate protocol errors from actions (#8997)
When using `evaluate` or `evaluateHandle` internally during actions
like `click`, we can sometimes get protocol errors if page
navigates. In this case, we throw the protocol error right away.

Instead, we can treat such a protocol error similar to "detached"
error and retry in the new execution context.
2021-09-17 22:18:00 -07:00
Pavel Feldman 63ff405e6e
fix(inspector): stop on all snapshottable actions (#8990) 2021-09-17 15:24:15 -07:00
Yury Semikhatsky e359e95fcc
chore(fetch): fix typo (#8991) 2021-09-17 12:43:00 -07:00
Yury Semikhatsky 43a690c204
feat(fetch): set content-length header if post data is present (#8979) 2021-09-17 09:00:18 -07:00
github-actions[bot] 8dd0387641
feat(chromium): roll to r922354 (#8987)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-17 16:14:41 +02:00
Yury Semikhatsky 806a71a4f0
feat(fetch): support form data and json encodings (#8975) 2021-09-16 17:48:43 -07:00
Joel Einbinder eafba43e15
fix(snapshot): render adoptedStyleSheets used in more than one node (#8886)
.
2021-09-16 09:37:38 -04:00
Yury Semikhatsky 2380b07f30
feat(fetch): introduce FetchRequest.dispose, fulfill with global fetch (#8945) 2021-09-15 14:02:55 -07:00
Dmitry Gozman 2ec82b9a5c
fix(oopifs): ignore events from stale frames (#8926)
This is a speculative fix for the following scenario:
- Main frame A creates a child frame B.
- B navigates cross-origin and forces an oopif.
- Target.attachedToTarget for B arrives.
- B loads and creates execution contexts.
- Process with A creates an execution context in the
  (still local) frame B (e.g. with document.write?)
- Process with A sends executionContextCreated and
  overwrites the execution context that came from B.
- Process with A finally sends frameDetached for B,
  and we ignore it since we already have the B target.
This sequence results in a stale execution context
from process A that is actually not present in B.

Overall, events coming from process A for the frame
that has already moved to an oopif B should be ignored.
Seems totally safe! This is also pure specultation
from analyzing protocol logs, no easy repro found.
2021-09-15 10:26:02 -07:00
Joel Einbinder 04fa5e6b2d
chore: remove unused .idea folder (#8844) 2021-09-15 11:42:31 -04:00
github-actions[bot] b69818d9f4
feat(webkit): roll to r1542 (#8791)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-15 09:51:32 +02:00
Yury Semikhatsky c58f34fb2e
feat(fetch): introduce global fetch request (#8927) 2021-09-14 18:31:35 -07:00
Joel Einbinder afae5bef5d
feat(mouse): page.mouse.wheel (#8690) 2021-09-14 15:22:52 -04:00
Will 保哥 db1c8b2693
fix(codegen): NUnit's Equal API should be Assert.AreEqual (#8859) 2021-09-13 21:19:21 -07:00
Yury Semikhatsky 1b66581e34
fix(fetch): do clear responses when context closes (#8902) 2021-09-13 21:15:23 -07:00
Pavel Feldman 478a7bcc90
fix(recorder): check that glass pane is in the current document (#8891) 2021-09-13 16:17:34 -07:00
Yury Semikhatsky b79be5d98d
feat(fetch): introduce failOnStatusCode (#8896) 2021-09-13 15:38:27 -07:00
Yury Semikhatsky f8c0f0d637
feat(fetch): support query params (#8893) 2021-09-13 14:29:44 -07:00
github-actions[bot] ec2cbad76f
feat(chromium): roll to r920619 (#8879)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-13 16:09:14 +02:00
Ross Wollman 549411dc33
feat(har): add _requestref (#8847) 2021-09-11 17:25:00 -07:00
Max Schmitt cfe7c1a7e3
fix(sizes): responseBodySize on CR & WK macOS (#8846) 2021-09-10 23:19:34 +02:00
Yury Semikhatsky ebdad167f2
feat(fetch): support new headers api (#8843) 2021-09-10 14:03:56 -07:00
github-actions[bot] b1b801a3a7
feat(firefox): roll to r1295 (#8842)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-10 21:45:20 +02:00
github-actions[bot] 6096c9e4ab
feat(firefox): roll to r1294 (#8785)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-09-10 19:31:45 +02:00
github-actions[bot] 09afd50ab3
feat(chromium): roll to r920003 (#8833)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-10 15:34:50 +02:00
Dmitry Gozman e85fba1c7d
fix(check): allow checking/unchecking role=radio elements (#8821)
We already do this for `role=checkbox` but not for radio.
2021-09-09 16:01:21 -07:00
Dmitry Gozman eca82eee4a
fix(video): reduce buffering in ffmpeg, avoid overbooking cpu (#8786)
This is an attempt to improve video performance when encoding
does not keep up with frames. This situation can be reproduced
by running multiple encoders at the same time.

Added `utils/video_stress.js` to manually reproduce this issue.

Observing ffmpeg logs, it does not do any encoding initially and
instead does "input analysis / probing" that detects fps and other
parameters. By the time it starts encoding (launches vpx and creates
the video file), we already have many frames in the buffer.
Reducing probing helps:
`-avioflags direct -fpsprobesize 0 -probesize 32 -analyzeduration 0`

Another issue observed is questionable default `-threads` value.
We compile without threads support, so logs say "using emulated threads".
For some reason, setting explicit `-threads 1` (or any other value)
makes it better when cpu is loaded.
2021-09-09 12:41:06 -07:00