Commit Graph

339 Commits

Author SHA1 Message Date
Dmitry Gozman
3535a829a3
browser(firefox): emulate device size (#1561) 2020-03-26 18:42:21 -07:00
Yury Semikhatsky
4826b3aca5
browser(firefox): make locale override apply to Number/Date formatting (#1560) 2020-03-26 16:33:07 -07:00
Dmitry Gozman
9d0f465ebe
browser(firefox): make call argument properties configurable (#1558) 2020-03-26 15:52:24 -07:00
Andrey Lushnikov
b1c156f422
browser(firefox): fix user gesture in evaluation (#1550)
Review URL: 37851a6e27
2020-03-25 23:58:30 -07:00
Andrey Lushnikov
09cbf335bd
browser(firefox): wait for script to be evaluated in Worker (#1543)
Review URL: b70c1ff8c5
2020-03-25 17:39:50 -07:00
Yury Semikhatsky
2203e9c017
browser(firefox): bypass CSP when calling functions from debugger (#1541) 2020-03-25 16:28:33 -07:00
Pavel Feldman
6be3634356
browser(firefox): fix permissions check and notifications name (#1530) 2020-03-25 09:55:41 -07:00
Andrey Lushnikov
aba670d719
browser(firefox): roll Firefox (#1534)
Review URL: 2fda0f5fc8
2020-03-24 23:25:17 -07:00
Pavel Feldman
8af21d146c
browser(firefox): fix authentication (#1524) 2020-03-24 21:17:55 -07:00
Yury Semikhatsky
1f48efe417
browser(firefox): ignore beforeunload handlers in Browser.close() (#1526) 2020-03-24 20:51:21 -07:00
Andrey Lushnikov
c28c5a6455
browser(firefox): make Runtime a global object shared between sessions (#1458)
Review URL: 88261ea669

Key points:
- `Runtime` is now shared between protocol sessions
- `RuntimeAgent` does not exist any more and is merged into `PageAgent` for Page
- `RuntimeAgent` is re-implemented in a worker
2020-03-23 16:21:39 -07:00
Pavel Feldman
9826fd652e
browser(firefox): disable update, setting sync and other non-testing features (#1480) 2020-03-22 23:52:59 -07:00
Pavel Feldman
049fdf708c
browser(firefox): implement Browser.addBinding (#1477) 2020-03-22 21:10:00 -07:00
Pavel Feldman
ac5852f302
browser(firefox): implement offline emulation (#1475) 2020-03-22 13:51:49 -07:00
Dmitry Gozman
fb7b919bd4
browser(firefox): make interception, locale and geolocation work on browser context level (#1469) 2020-03-21 21:35:13 -07:00
Dmitry Gozman
ac02a6b69c
browser(firefox): issue Page.ready at the right time (#1462)
This covers new pages and popups. Special handling is needed for window.open() with no url.
2020-03-21 17:56:15 -07:00
Andrey Lushnikov
96c9c81581
browser(firefox): fix bug in Juggler with clashing method names (#1456) 2020-03-20 19:35:58 -07:00
Andrey Lushnikov
21630d6de4
devops: strictly configure build folder for Firefox builds (#1454)
This strictly defines Firefox build folder as `obj-build-playwright`.

Currently, Firefox build folder encodes current Mac OS version including
patch versions, and thus we might end up with multiple different build
folders.
2020-03-20 19:24:38 -07:00
Pavel Feldman
840e69b85c
browser(firefox): emulate language (#1452)
1e29e6f231
2020-03-20 17:03:20 -07:00
Pavel Feldman
fcdfa9ca24
browser(firefox): implement geolocation overrides (#1437) 2020-03-20 11:14:42 -07:00
Pavel Feldman
edd2fee943
browser(firefox): grant permissions to all origins (#1405) 2020-03-16 20:57:19 -07:00
Andrey Lushnikov
3b85bf9c1f
browser(firefox): handle message manager error event without error (#1344)
Type TypeError that happens while loading document is reported in
the message manager but does not have the error event.

Saw this while reproducing #1307
2020-03-11 13:37:31 -07:00
Andrey Lushnikov
996f97a6c0
browser(firefox): roll Firefox to current beta (#1276)
Review URLs: 
- Fixing request interception; ad69da0f74
- Fixing eval with user input: 381c1df5c6
2020-03-06 18:25:27 -08:00
Dmitry Gozman
29f243056c
browser(firefox): merge Target domain into Browser, rework default context attach (#1259) 2020-03-06 14:58:35 -08:00
Andrey Lushnikov
8c9933e0f5
browser(firefox): move Juggler to top-level (#1254)
Review URL: 5ba06e6d7a

Drive-by: fix re-baseline over r1036
2020-03-05 17:20:07 -08:00
Dmitry Gozman
9d3bff1cf9
browser(firefox): implement Browser.setHTTPCredentials (#1251) 2020-03-05 16:37:44 -08:00
Andrey Lushnikov
b0d037ecfe
browser(firefox): fix flaky permissions in Firefox (#1249)
Review URL: 9bd6e72005

Wait for permissions to propagate to all context pages.

References #720
2020-03-05 14:31:57 -08:00
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
Pavel Feldman
a69c85f5f8
chore: added ff cheat sheet 2020-03-04 20:09:05 -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
Andrey Lushnikov
e3b2f2b2db
browser(firefox): allow loading file URLs in web process (#1110) 2020-02-25 16:07:22 -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
Andrey Lushnikov
efa567d1b4 devops: fix firefox preferences build on mac 2020-02-11 16:22:31 -08:00
Andrey Lushnikov
3a32b14f32 devops: bundle firefox preferences alongside with build. 2020-02-11 14:42:04 -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
Andrey Lushnikov
ffc8f961da
browser(firefox): bump build number to r1025 2020-02-06 16:14:39 -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
Andrey Lushnikov
e64fd173bb devops: fix firefox building script on Mac 10.15.1 2020-01-29 11:55:29 -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
Andrey Lushnikov
5f656f55b1 browser(firefox): bump build number
This is a follow-up to 2520dedb41
2020-01-17 17:05:31 -08:00
Dmitry Gozman
2520dedb41
browser(firefox): support workers (#526)
a0549a0f64
2020-01-17 16:40:30 -08:00
Andrey Lushnikov
e750da376e devops: fix firefox's archive.sh 2020-01-17 15:36:22 -08:00
Andrey Lushnikov
928d04dc26 chore: bump browser numbers to test new intrastructure 2020-01-17 14:28:17 -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
9e381a9d50 devops(firefox): move packaging to archive.sh 2019-12-11 16:56:49 -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
Andrey Lushnikov
cb92cd0d5c devops: teach {firefox,webkit}/build.sh to build current branch
The check for the proper branch has moved to
`checkout_build_archive_upload.sh` script.
2019-12-09 14:38:23 -08:00
Pavel Feldman
d7b727df1c browser(firefox): implement new set/clearCookies contract (#83) 2019-11-26 09:00:10 -08:00
Pavel Feldman
a1d71d0de7 feat(csp): support bypass csp on ff (#74) 2019-11-25 15:26:03 -08:00
Pavel Feldman
2e581f1625 feat(emulate): implement emulateMedia color scheme in FF (#71) 2019-11-25 15:00:04 -08:00
Pavel Feldman
eaa5e93b8b feat(filechooser): supported file chooser in FF (#70) 2019-11-25 13:56:39 -08:00
Andrey Lushnikov
a4d6175760 devops: support firefox-win64 builds 2019-11-22 20:49:40 -08:00
Andrey Lushnikov
81f219cf2b devops: bump BUILD_NUMBERs to 1000
This way build numbers will be easier to distinguish in logs
and documentation.
2019-11-22 20:36:23 -08:00
Andrey Lushnikov
254a464828 devops: fix clean script to keep going if there's no OBJ- folder 2019-11-22 19:57:25 -08:00
Andrey Lushnikov
b416dd7507 browser(firefox): roll Firefox to 6f8366f5763c2f8bcf2ed83dee659b963e0f75a2
Previous firefox beta was broken on Mac - this isn't.
2019-11-22 19:19:18 -08:00
Andrey Lushnikov
1a98a4d5e8 devops: build bots should do clean builds 2019-11-22 19:07:39 -08:00
Andrey Lushnikov
26fef7bc46 devops: support firefox-win32 builds 2019-11-22 15:45:36 -08:00
Andrey Lushnikov
98e05b66fd devops: revamp scripts 2019-11-21 17:29:40 -08:00
Andrey Lushnikov
4f3834dd69 devops: revamp archive.sh scripts to accept a target .zip name
This is required so that we can setup a locking directory for cron
jobs later on.
2019-11-20 18:01:51 -08:00
Andrey Lushnikov
af0ba0e713 devops: move check_cdn to tools 2019-11-20 18:01:51 -08:00
Andrey Lushnikov
f9d2f13540 devops: fix firefox archiving script 2019-11-20 18:01:51 -08:00
Andrey Lushnikov
bfcd92da7e devops: fix build scripts 2019-11-19 16:58:09 -08:00
Andrey Lushnikov
8a077da565 devops: simplified bash traps 2019-11-19 16:33:11 -08:00
Pavel Feldman
9ba375c063 Initial commit 2019-11-19 10:58:15 -08:00