Commit Graph

34 Commits

Author SHA1 Message Date
Andrey Lushnikov
20c326378c
browser(firefox): follow-up with SimpleChannel unification (#1246)
Review URL: 141f30f450

Address all comments in 1bf5b61cbb
2020-03-05 13:16:43 -08:00
Pavel Feldman
2cd727f675
browser(firefox): signal link click (#1236) 2020-03-05 11:59:29 -08:00
Andrey Lushnikov
1bf5b61cbb
browser(firefox): move workers to use SimpleChannel (#1232)
Review URL: 4753d0121f

This patch:
- Moves Workers to FrameTree
- Introduces WorkerData in PageAgent that proxies runtime agent
  in worker to browser process
- Introduces WorkerHandler in PageHandler that handles communicates
  with runtime agent in worker and handles Juggler protocol

As part of this patch, SimpleChannel no longer manages lifetime of
any of its handlers.
2020-03-04 21:18:56 -08:00
Andrey Lushnikov
31278408db
browser(firefox): introduce SimpleChannel (#1209)
Review URL: 6364381adc

Refactor inter-process communication inside Firefox. The goal is
to have a single abstraction that works nicely for all our cross-process
communication needs (browser <-> content, content <-> workers, content
<-> file:// process, e.t.c.)

This is step 1 that eliminates content sessions everywhere.
Step 2 will move workers onto `SimpleChannel` as well.

This is a pre-requisite for #720: with a single `browser <-> content`
communication channel it will be easier to await permission change in tabs.

References #720
2020-03-04 14:33:49 -08:00
Dmitry Gozman
ee9c7f1886
browser(firefox): support BrowserContext.evaluateOnNewDocument (#1135)
70ee31b2d4
2020-02-26 15:40:41 -08:00
Dmitry Gozman
facf2c24fd
browser(firefox): support BrowserContext.setExtraHTTPHeaders (#1111) 2020-02-25 17:24:06 -08:00
Dmitry Gozman
c2ab1e31f7
browser(firefox): misc fixes (#983)
- crash support;
- keydown supports text by committing composition;
- cross-page frame handling;
- security check for node adoption.
2020-02-13 10:46:46 -08:00
Dmitry Gozman
d37b67a833
browser(firefox): do not wait for initial navigation in default context (#937)
0a70be2bc6
2020-02-11 16:25:35 -08:00
Dmitry Gozman
9ea8f49cd1
browser(firefox): attach to all pages in the browser context (#928)
- introduce BrowserContext abstraction;
- attach to all pages from owned browser contexts on creation;
- move page emulation to PageTarget/FrameTree, away from sessions and agents;
- remove explicit enable methods, replaced by Page.ready event;
- pass browser context options on creation.

c73fb4450e
2020-02-11 11:32:37 -08:00
Dmitry Gozman
9f0bbfff2c
browser(firefox): pause page on creation to handle emulation messages (#871)
153a95c23a
2020-02-06 16:07:52 -08:00
Andrey Lushnikov
8c6faab012
browser(firefox): roll firefox to upstream's beta (#876) 2020-02-06 15:21:06 -08:00
Pavel Feldman
6202ff12fd
browser(firefox): use guids for browser contexts, delete contexts on disconnect (#866) 2020-02-06 13:41:25 -08:00
Dmitry Gozman
0cc26c0fe6
browser(firefox): introduce Page.scrollIntoViewIfNeeded (#848)
1cfb6fd4cc
2020-02-05 14:57:30 -08:00
Joel Einbinder
44829d6fdf
browser(firefox): wait for pending accessibility updates (#755)
Should fix some flaky accessibility tests on Firefox for mac.
2020-01-29 18:56:11 -08:00
Pavel Feldman
7af1d12d25 browser(firefox): use unguessable web socket address (#722)
References #705
2020-01-28 14:03:19 -08:00
Pavel Feldman
19da86b4c9 browser(firefox): amend method & postData upon continue (#716) 2020-01-28 13:04:09 -08:00
Joel Einbinder
717159094c browser(firefox): wait for startup before closing the browser (#575) 2020-01-22 19:56:56 -08:00
Dmitry Gozman
1c96d42a4b browser(firefox): support request interception (#572)
10558a7ead
2020-01-22 17:21:25 -08:00
Dmitry Gozman
2520dedb41
browser(firefox): support workers (#526)
a0549a0f64
2020-01-17 16:40:30 -08:00
Dmitry Gozman
b4686f1eb9 browser(firefox): assorted fixes for evaluation and remote objects (#510) 2020-01-16 14:11:33 -08:00
Dmitry Gozman
7785fd8191 browser(firefox): support isolated worlds (#500)
211f1f1bff
2020-01-16 11:52:22 -08:00
Andrey Lushnikov
2387727b42
browser(firefox): improve firefox protocol types (#490)
Review URL: d8f3090d4a
2020-01-14 14:04:03 -08:00
Andrey Lushnikov
e57c9063b6 Revert "Revert "browser(firefox): roll Firefox to 2b50ccdc8ad0c83966285352a875415a858037c2 (#451)""
This reverts commit 350b256722.

Reason: buildbots were failing to compile new FF because their
cbindgen was outdated. This is now fixed on both Mac & Win.
2020-01-11 01:20:39 +01:00
Pavel Feldman
350b256722 Revert "browser(firefox): roll Firefox to 2b50ccdc8ad0c83966285352a875415a858037c2 (#451)"
This reverts commit d3e127a0c1.
2020-01-10 12:19:12 -08:00
Andrey Lushnikov
d3e127a0c1 browser(firefox): roll Firefox to 2b50ccdc8ad0c83966285352a875415a858037c2 (#451)
Review URL: c3a577c46d

With this roll, Firefox has DocumentChannel enabled by default in Desktop Firefox:
- https://phabricator.services.mozilla.com/D57898

DocumentChannel, unlike nsIHttpChannel, doesn't have a `channelId` that we
can use to attribute navigation requests (see
https://github.com/microsoft/playwright/pull/249).

The feature has to be disabled for now in PlayWright with the
`browser.tabs.documentchannel` pref until we figure how to support it.
2020-01-10 10:50:03 -08:00
Joel Einbinder
85985155d0 feat(firefox): pass in a node to getFullAXTree (#388) 2020-01-06 16:32:29 -08:00
Pavel Feldman
b64bd35c23
feat(evaluate): survive null JSON (#351) 2020-01-02 12:13:18 -08:00
Andrey Lushnikov
46483ed009 browser(firefox): support late attach (#282) 2019-12-17 15:07:25 -08:00
Andrey Lushnikov
39357c3f6c fix(devops): use full SHAs in diffs
Different GIT setups export different length of shortsha.
With this, always export full SHA.
2019-12-16 16:17:56 -08:00
Dmitry Gozman
927669b890 feat(firefox): provide navigationId for navigation requests (#249) 2019-12-14 08:21:23 -08:00
Pavel Feldman
4fd241e4ae fix(ff): follow up to the roll, fix permissions 2019-12-13 20:56:49 -08:00
Pavel Feldman
08f0823873 browser(firefox): roll FF to beta ToT (#245) 2019-12-13 16:37:45 -08:00
Dmitry Gozman
4861152766 browser(firefox): instrument document.open load event (#218) 2019-12-11 17:53:46 -08:00
Andrey Lushnikov
20be65b1c9 devops(scripts): export diffs instead of patches
This changes `export.sh` to export diffs instead of patches.
`export.sh` now does not touch working directory, thus not
triggering clean builds and not intefering with an on-going
build.
2019-12-10 15:41:58 -08:00