-
Notifications
You must be signed in to change notification settings - Fork 4.5k
chore(bidi): add support for the browsingContext.download* events #37299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Test results for "tests 1"1 failed 3 flaky46708 passed, 819 skipped Merge workflow run. |
CC @OrKoN and @sadym-chromium given that you might be interested in those details. Looks like you may miss to update the status property in case of a successful download. |
@hbenl, how many tests are these which are hanging? We probably should add them as timing out to the expectation file. |
I think playwright is not using the latest chromium-bidi? Could that be bumped? The latest code looks correct https://github.com/GoogleChromeLabs/chromium-bidi/blob/main/src/bidiMapper/modules/context/BrowsingContextImpl.ts#L835 so it might be indeed cancelled? |
All of the tests in |
I would suggest to get this done in a separate PR once this landed. Could you do this @OrKoN?
Perfect. Then BiDi-wise this PR looks good to me. Thanks! |
Bumping chromium-bidi here #37318 Actually I looked up existing tests and I think the headless shell would cancel all downloads by default (https://github.com/GoogleChromeLabs/chromium-bidi/blob/main/tests/browsing_context/test_download.py#L83) I think playwright might be using the headless shell for the headless mode? or is it running with |
Fixes #37217 and the following tests in
tests/library/download.spec.ts
in Chrome:Most of the download tests are still failing because Chrome sends the
browsingContext.downloadEnd
event withstatus: "canceled"
and so methods likedownload.path()
fail.In Firefox the tests fail mostly because the
browsingContext.downloadEnd
event isn't implemented yet and so methods likedownload.path()
hang.