46 Commits

Author SHA1 Message Date
Max Schmitt
85519de71b
chore: update browser_patches to 9768715bd (#36191) 2025-06-04 13:50:57 +01:00
Dmitry Gozman
011034050b
chore: update browser patches to 09195c9 (#32877) 2024-09-30 05:14:45 -07:00
Max Schmitt
acf5ea0904
chore: update browser patches as of Jun, 12, 2024 (#31888) 2024-07-29 10:30:28 +02:00
Dmitry Gozman
a4deced132
chore: update browser_patches to May 1st (#31325) 2024-06-14 18:38:09 -07:00
Yury Semikhatsky
154694b2a5
chore: update playwright-browsers to Mar 19 (#30599)
Upstream commit 5a76c58a3d8e61d581e593882532346961863354
2024-04-29 17:03:40 -07:00
Dmitry Gozman
53755968fb
chore: update browser patches to 475e15 (#30134) 2024-03-26 15:01:07 -07:00
Yury Semikhatsky
92b1b16041
chore: update browser patches to Jan 9 2024 (#29623)
Commit 337e0dbf2cb068a5a519b09fee1155509fb2dc1f
2024-02-22 13:17:33 -08:00
Dmitry Gozman
03031a6d2c
chore: update browser patches to d8f2e2984 (#28139) 2023-11-14 10:18:18 -08:00
Andrey Lushnikov
f9c3e1915b
chore: update browser patches as of Apr 26, 2023 (#23556)
Internal commit reference:

b71297a4b9
2023-06-06 15:08:23 -07:00
Andrey Lushnikov
a6468b73b2
chore: update browser patches as of Feb 7, 2023 (#21824)
Internal SHA: 50b497cbfbdb567ecfaeb80f30942689b08db7c4
2023-03-20 18:23:12 -07:00
Andrey Lushnikov
6c5317bd31
chore: update browser patches as of Dec 13, 2022 (#20297) 2023-01-23 11:29:48 -08:00
Andrey Lushnikov
e4be1266a9
browser(firefox-stable): roll Firefox to 104.0 (#16784)
References #16780
2022-08-23 15:13:06 -07:00
Dmitry Gozman
94efeed192
browser(firefox): make scrollIntoViewIfNeeded and getContentQuads work with display:contents (#16111) 2022-08-01 14:40:23 -07:00
Andrey Lushnikov
e9d66535ba
browser(firefox): move screenshots to browser-side (#15230)
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
  caret; the browser-side API doesn't have this capability.
2022-07-06 15:02:48 -07:00
Andrey Lushnikov
530867e8ab
browser(firefox): report unhandled rejections for Firefox (#15391)
References #14165
2022-07-05 15:46:28 -07:00
Andrey Lushnikov
8a8bdec87d
browser(firefox): roll Firefox Stable to 102 (#15321)
This roll:
- NetworkObserver now uses the `remote's` ChannelEventSink layer to
  subscribe to redirects.
- Wheel events now must be dispatched from browser process.
- There's a new API for console messages
- The old methods to wait for search service and addon manager no longer
  work; speculatively remove them since neither `remote` nor
  `marionette` have anything like this.

Native manual merge: 9e6fcfd868
2022-07-05 08:20:01 -07:00
Dmitry Gozman
141093a1cd
browser(firefox): a11y haspopup is a string, not a boolean (#15056) 2022-06-22 17:01:13 -07:00
Andrey Lushnikov
7b0505d610
browser(firefox): roll Firefox to 100.0.2 (#14492) 2022-05-31 00:54:36 -07:00
Pavel Feldman
618cc66c8d
browser(firefox): manage scripts to evaluate on load on front-end (#12101) 2022-02-14 20:32:12 -08:00
Andrey Lushnikov
5901cb321d
browser(firefox): fix file chooser in iframes #8510 (#8510)
References #8016
2021-08-27 09:28:24 -07:00
Joel Einbinder
f7950352b9
browser(firefox): Page.dispatchWheelEvent (#8439) 2021-08-25 11:27:12 -04:00
Joel Einbinder
5b223f92c8
browser(firefox): Browser.setScrollbarsHidden (#6457) 2021-05-14 08:06:34 -07:00
Yury Semikhatsky
84031d4a07
browser(firefox): simplify isolated world structures (#6521) 2021-05-12 08:52:08 -07:00
Yury Semikhatsky
f8039bed10
browser(firefox): bindings in isolated worlds (#6493) 2021-05-11 09:27:39 -07:00
Yury Semikhatsky
b0fae0f831
browser(firefox): merge FrameData into Frame (#6365) 2021-04-29 15:09:10 -07:00
Dmitry Gozman
66541552d0
browser(firefox): make dpr emulation optional, take screenshots at 1x (#5555)
- deviceScaleFactor is now optional, so we can use host machine's dpr.
- Screenshots are not scaled up by dpr.
- Removed unused methods.
2021-04-01 14:51:02 -07:00
Andrey Lushnikov
cb15603ccb
browser(firefox): do not report console messages twice. (#6031)
References #6001
2021-04-01 09:29:33 -07:00
Joel Einbinder
e56f56c11e
browser(firefox): pass null for the data transfer (#5723) 2021-03-04 17:20:45 -08:00
Andrey Lushnikov
28d9f244df
browser(firefox): roll Firefox to Beta @ Feb 28, 2021 (#5659)
Diff merges:
498eaa7a87

Additional changes:
8404fbe1ad
2021-03-02 18:52:19 -08:00
Joel Einbinder
e677e7ba4e
browser(firefox): pass drag action test (#5560) 2021-02-23 15:21:29 -08:00
Joel Einbinder
d06afadb8b
browser(firefox): send dragend after drop and survive navigations (#4506) 2020-11-25 03:47:34 -08:00
Joel Einbinder
e91140e88c
browser(firefox): force a layout before dispatching a tap (#4428) 2020-11-16 11:07:06 -08:00
Andrey Lushnikov
18c3efe79e
browser(firefox): instrument websockets (#4287) 2020-10-29 16:33:50 -07:00
Joel Einbinder
4f7d65fe9c
browser(firefox): report pageerrors without stack properties (#4166) 2020-10-19 02:23:53 -07:00
Joel Einbinder
a4474f6752
browser(firefox): Page.dispatchTapEvent (#4101) 2020-10-13 12:24:11 -07:00
Andrey Lushnikov
3b4232864d
browser(firefox): a different way to emit 'load' event (#4080)
Using WebProgressListener events works in all cases. Currently
used `pageshow` event will stop being emitted in future when loading
was stopped with `window.stop()` api.

References #3995
2020-10-07 09:22:56 -07:00
Andrey Lushnikov
4ab66a4fe5
browser(firefox): follow-up with assorted simplifications (#4066)
This patch:
- moves `SimpleChannel` to synchronously dispatch buffered commands
  instead of a `await Promise.resolve()` hack
- moves dialog & screencast handling from `PageHandler` to
  `TargetManager`. This leaves `PageHandler` to be concerned solely about
  protocol.
- removes `attach` and `detach` methods for worker channels: since
  channels are buffering messages until the namespace registers, there's
  no chance to loose any events.
- slightly simplifies `PageNetwork` class: it's lifetime is now
  identical to the lifetime of the associated `PageTarget`, so a lot can
  be simplified later on.

References #3995
2020-10-06 01:53:25 -07:00
Andrey Lushnikov
2c11b10598
browser(firefox): remove multisession logic (#4039)
This patch:
1. Changes `SimpleChannel` to buffer messages to the namespace that
   hasn't been registered yet. This allows us to create `SimpleChannel`
   per target on the browser side right away.
2. Removes multisession support. Now there's only one `PageAgent` in the
   content process, which talks to a single `PageHandler` on the browser
   side. Both ends can be created as-soon-as-needed; thanks to
   `SimpleChannel` bufferring, no messages will be lost and all messages
   will be delivered in proper order. (This is currently the reason why
   build 1178 flakes on windows).
3. Straightens up the target reporting. Targets are reported as soon
   as they appear on the browser side.

**NOTE:** this doesn't yet remove sessions from protocol.

References #3995
2020-10-02 04:13:42 -07:00
Andrey Lushnikov
2631e1a809
browser(firefox): use browsingContextID for frame IDs (#3999)
BrowsingContextIDs are consistent across the processes, so we can use
them to target frames in both browser and content processes. This will
aid browser-side navigation.

As a nice side-effect, we can drop a round-trip to the content process
for every `requestWillBeSent` event since we *almost* always can
attribute all network events to the proper parent frames.

I say "almost", because we in fact **fail** to correctly attribute requests
from workers that are instantiated by subframes. This, however, is
not working in Chromium ATM, so I consider this to be a minor regression
that is worth the simplification.
2020-09-29 11:22:00 -07:00
Joel Einbinder
abb50a79bd
browser(firefox): fix request frame attribution (#3657)
Firefox will sometimes send multiple requests with the same http channel id. When a frame is loaded, the favicon is requested in the parent frame, but with the same channel id. This can cause the document request to report the wrong frame, causing the test 'should capture iframe navigation request' to fail. It fails consistently on my computer.

This patch adds the content policy type into the http channelId to better distinguish requests. Maybe there is something better we can do? It looks like we use channelId has request ids, so there might be more bugs with these favicon requests in playwright?
2020-08-28 17:55:05 -07:00
Dmitry Gozman
da95b73b59
browser(firefox): emit iframe lifecycle when initial navigation fails (#3389) 2020-08-11 16:05:34 -07:00
Dmitry Gozman
c4e3ed85c0
browser(firefox): handle the case when inner window is restored from history (#2791)
When innerWindow is restored from the history state, we do not receive
content-document-global-created notification, but would still like to know
that window is now using a different inner window to reset the state.
This introduces a new notification juggler-dom-window-reused.

At the same time, goBack()/goForward() sometimes do not initiate
navigation synchronously, so our check for pendingNaivgationId() does
not work. Instead, we rely on canGoBack, and assume that client will
not need the navigationId synchronously.
2020-07-01 13:28:13 -07:00
Dmitry Gozman
ab5f5c8b78
browser(firefox): another way to report elements without layout object (#2597) 2020-06-16 21:38:32 -07:00
Dmitry Gozman
9e7ea3ff7b
browser(firefox): Page.scrollIntoViewIfNeeded throws for invisible elements (#2584)
This is similar to other browsers that report distinct errors for
'not connected' vs 'not visible' cases.
2020-06-16 06:13:58 -07:00
Andrey Lushnikov
31da3d3720
browser(firefox): roll Firefox to TOT beta branch as of Jun 9, 2020 (#2520)
With this roll, we now require MacOS 10.11 SDK to build on Mac.
2020-06-09 22:48:10 -07:00
Andrey Lushnikov
a3f34fb4b7
chore: export juggler as a standalone folder for browser build (#2432)
This leaves our firefox diff to gecko instrumentation changes only.

Drive-by: rename webkit "src" folder into "embedder".
2020-06-02 16:51:13 -07:00