Commit Graph

51 Commits

Author SHA1 Message Date
Dmitry Gozman 011034050b
chore: update browser patches to 09195c9 (#32877) 2024-09-30 05:14:45 -07:00
Matthew Jee f2a974b045
feat(api): add method to force garbage collection (#32383) 2024-09-13 23:09:36 +02:00
Dmitry Gozman a4deced132
chore: update browser_patches to May 1st (#31325) 2024-06-14 18:38:09 -07:00
Yury Semikhatsky 92b1b16041
chore: update browser patches to Jan 9 2024 (#29623)
Commit 337e0dbf2cb068a5a519b09fee1155509fb2dc1f
2024-02-22 13:17:33 -08:00
Max Schmitt cd922d137c
chore: update browser patches to 03ca0a7 (#28974) 2024-01-13 00:19:49 +01:00
Dmitry Gozman 03031a6d2c
chore: update browser patches to d8f2e2984 (#28139) 2023-11-14 10:18:18 -08:00
Andrey Lushnikov aa1862cd2b
chore: update browser patches as of Aug, 1 2023 (#27005)
Internal commit reference:

2fa26b1d22
2023-09-11 18:16:33 -07:00
Andrey Lushnikov 3536e81d77
chore: update browser patches as of May 26, 2023 (#23556) (#24079)
Internal commit reference:

2e6d52519c
2023-07-06 12:22:45 -07: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 f3a1058b38
chore: update browser patches as of Apr 5, 2023 (#23112)
Internal commit reference:
f7e6794188
2023-05-17 17:50:43 -07:00
Andrey Lushnikov 0c4bed191f
chore: update browser patches as of Mar 14, 2023 (#22603)
Internal commit reference:
e994525a6d
2023-04-24 14:28:08 -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
Yury Semikhatsky d33455dcca
browser(firefox): dispatch console messages even if there are workers (#16068) 2022-07-29 16:56:17 -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 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
Pavel Feldman 618cc66c8d
browser(firefox): manage scripts to evaluate on load on front-end (#12101) 2022-02-14 20:32:12 -08:00
Yury Semikhatsky 091c0065ad
browser(firefox): delete response interception code (#10053) 2021-11-04 12:29:36 -07:00
Joel Einbinder f7950352b9
browser(firefox): Page.dispatchWheelEvent (#8439) 2021-08-25 11:27:12 -04:00
Yury Semikhatsky f9efc7f8a4
browser(firefox): response interception after redirects (#8107) 2021-08-10 14:43:21 -07:00
Yury Semikhatsky efb21b9e9f
browser(firefox): support response interception (#7509) 2021-07-09 05:41:53 -07:00
Max Schmitt 226159defc
browser(firefox): forced-colors media query emulation (#6902) 2021-06-09 01:00:15 +02:00
Max Schmitt c4a6c2bcab
browser(firefox): added reduced motion emulation (#6618) 2021-05-18 21:23:12 +02:00
Yury Semikhatsky 84031d4a07
browser(firefox): simplify isolated world structures (#6521) 2021-05-12 08:52:08 -07:00
Pavel Feldman edd2cc807c browser(ff): migrate screencast to client interfaces 2021-05-07 21:01:01 -07:00
Pavel Feldman 78ec057117
browser(firefox): implement screencast (#6452) 2021-05-06 19:11:42 -07:00
Pavel Feldman 765d74987f
chore(ff): remove some dead code (#6423) 2021-05-05 13:27:51 -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
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
Yury Semikhatsky 0167f8c182
browser(firefox): allow to override request url (#4436) 2020-11-13 14:56:27 -08:00
Andrey Lushnikov 2b495c9750
browser(firefox): fix SimpleChannel to await initialization (#4311)
As Joel noticed recently, MessageManager in firefox doesn't guarantee
message delivery if the opposite end hasn't been initialized yet. In
this case, message will be silently dropped on the ground.

To fix this, we establish a handshake in SimpleChannel to make sure that
both ends are initialized, end buffer outgoing messages until this
happens.

Drive-by: serialize dialog events to only deliver *after* the
`Page.ready` protocol event. Otherwise, we deliver dialog events to the
unreported page.
2020-11-02 16:21:34 -08:00
Andrey Lushnikov 18c3efe79e
browser(firefox): instrument websockets (#4287) 2020-10-29 16:33:50 -07:00
Yury Semikhatsky 3c32c1683a
browser(firefox): use 16-byte long uid instead of ordinal as screencast id (#4147) 2020-10-14 16:14:24 -07:00
Joel Einbinder a4474f6752
browser(firefox): Page.dispatchTapEvent (#4101) 2020-10-13 12:24:11 -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 c8a64b88e1
browser(firefox): enable document channel (#4065)
In the current tip-of-tree Firefox, document channel is enabled by
default, so we have to enable it in order to roll further.

This patch:
1. Removes content disposition sniffing from content process since it
   crashes renderer with document channel.
2. Merges all page-related handlers in a single `PageHandler` and
   serializes network events wrt the `Page.frameAttached` event.

The serialization mentioned in (2) is necessary: frame attachment is
reported from the content process, and network events are reported from
the browsers process. This is an inherent race, that becomes exposed by
the document channel.

On a side note, (2) makes it possible to synchronously report all
buffered events in `SimpleChannel` (cc offline discussion with @dgozman
that highlighted an unsighty approach that we currently employ there: reporting
events in a subsequent microtask.)

References #3995
2020-10-06 00:15:24 -07:00
Dmitry Gozman 133de10a47
browser(firefox): start screencast in existing pages upon setScreencastOptions (#4045)
This makes it work in persistent context.

To achieve this, we have to move screencast logic into PageTarget and
make PageHandler listen to an event.
2020-10-02 17:16:49 -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
Yury Semikhatsky 25b199b40a
browser(firefox): fix screencast start event for popups (#3834) 2020-09-10 14:37:48 -07:00
Yury Semikhatsky d64d0025a4
browser(firefox): fix screencast in first window on mac headful (#3826)
* browser(firefox): fix screencast in first window on mac headful

* Revert only
2020-09-10 00:40:56 -07:00
Yury Semikhatsky 17077fd901
browser(firefox): introduce browser level screencastFinished event (#3625) 2020-08-25 14:50:40 -07:00
Yury Semikhatsky 73cd6ecef3
browser(firefox): add screencast control methods to context (#3530) 2020-08-19 12:43:53 -07:00
Pavel Feldman 726f636b5c
browser(firefox): implement Page.bringToFront (#3051) 2020-07-20 16:47:27 -07:00
Yury Semikhatsky d1f937d651
browser(firefox): stop video recording if page closed (#3040) 2020-07-20 10:44:11 -07:00
Yury Semikhatsky 562e1e6460
browser(firefox): wait for file write to finish in stopVideoRecording (#3020) 2020-07-17 17:34:09 -07:00
Yury Semikhatsky 89ccf99b90
browser(firefox): screencast for Mac headful (#2985) 2020-07-16 15:34:33 -07:00
Yury Semikhatsky 9640dbf2a6
browser(firefox): exclude browser controls from screencast (#2855) 2020-07-07 09:40:09 -07:00
Yury Semikhatsky fc18f2f38a
browser(firefox): support screencast frame size and scale configuration (#2847) 2020-07-06 11:28:35 -07:00
Yury Semikhatsky 024cb1ddc1
browser(firefox): basic screencast implementation for GTK (#2818) 2020-07-02 10:43:04 -07:00