Andrey Lushnikov
e75ebc1752
browser(firefox): roll Firefox to Dec, 7 2020 ( #4622 )
2020-12-07 10:27:50 -08:00
Andrey Lushnikov
cb1f2a38f3
browser(firefox): roll Firefox to Nov 17,2020 ( #4477 )
...
Changes accomodate touchEventsOverride that has moved to the
browser side.
2020-11-18 08:19:09 -08:00
Yury Semikhatsky
0167f8c182
browser(firefox): allow to override request url ( #4436 )
2020-11-13 14:56:27 -08:00
Andrey Lushnikov
c522a0dfba
browser(firefox): force always active docshell ( #4363 )
...
This forces active docshell for all content processes.
References #4208
2020-11-05 17:53:22 -08:00
Andrey Lushnikov
799604c085
browser(firefox): roll Firefox to beta @ Nov, 3 ( #4327 )
2020-11-03 14:51:37 -08:00
Andrey Lushnikov
c5d3490b34
browser(firefox): roll firefox to beta Oct, 28 ( #4274 )
2020-10-28 14:47:14 -07:00
Joel Einbinder
305d209e82
browser(firefox): always send focus events ( #4150 )
2020-10-16 01:28:13 -07:00
Andrey Lushnikov
8f8bebb632
browser(firefox): roll Firefox to tip-of-tree Oct, 12 ( #4158 )
2020-10-15 09:51:21 -07:00
Joel Einbinder
a4474f6752
browser(firefox): Page.dispatchTapEvent ( #4101 )
2020-10-13 12:24:11 -07:00
Andrey Lushnikov
1ccce09a02
browser(firefox): roll Firefox to beta Oct 7, 2020 ( #4087 )
...
References #3995
2020-10-07 14:12:19 -07:00
Pavel Feldman
857abcfc10
browser(firefox): make pipe work on Windows ( #4058 )
2020-10-05 10:58:56 -07:00
Andrey Lushnikov
24bc0e39b8
browser(firefox): remove the hack around setting viewport size ( #4010 )
...
Juggler code had a bug where we subscribed to window and tab
events, but did not iterate collections of current windows and tabs.
As a result, we were sometimes failing to set viewport size for the
initial window, and implemented an artificial promise to workaround
the problem.
This patch:
- starts calling `onOpenWindow` and `onOpenTabListener` callbacks
for *all* windows and tabs - current and future, eliminating the
race condition.
This worked too well and we started overriding window sizes that
were set by users with `window.open(url, 'width=300;height=400')` (we
have a test for this). To fix this, we now plumb `CHROME_WITH_SIZE`
flag from appWindow and override viewport iff this flag is not set.
After this patch, we will use the `onTabOpened` event to move user
agent emulation to the browser-side.
References #3995
2020-09-30 00:36:46 -07:00
Andrey Lushnikov
4dde2882e7
browser(firefox): roll Firefox to August 14 beta ( #3465 )
2020-08-13 23:14:24 -07:00
Joel Einbinder
a4eb86c3df
browser(firefox): update styles when changing color scheme ( #3407 )
...
`MediaFeatureValuesChanged` is what their devtools code uses to update the styles. I tried using their code directly, but it doesn't play nicely with navigations so I decided to stick with ours.
2020-08-13 12:16:00 -07:00
Andrey Lushnikov
915902c858
browser(firefox): roll Firefox to roughly July, 15 ( #3411 )
2020-08-12 10:09:20 -07:00
Andrey Lushnikov
ca3bd5e2ef
browser(firefox): roll Firefox to June, 24 ( #3327 )
...
Review URL: 83e6f0114e
References #3215
2020-08-06 10:32:50 -07:00
Yury Semikhatsky
90819fa350
browser(firefox): always create image buffer in headless mode ( #3299 )
2020-08-04 17:58:57 -07:00
Yury Semikhatsky
7e28c26f6d
browser(firefox): do not complain about SnapshotListener being cleared on Destroy ( #3298 )
2020-08-04 17:38:46 -07:00
Joel Einbinder
3e023f6c3d
Revert "browser(firefox): fix color scheme not updating until reload" ( #3198 )
2020-07-28 13:46:37 -07:00
Yury Semikhatsky
da25a5b501
browser(firefox): do not capture cursor in screencast ( #3118 )
2020-07-27 16:22:02 -07:00
Joel Einbinder
549a37b939
browser(firefox): fix color scheme not updating until reload ( #3157 )
2020-07-24 16:01:45 -07:00
Pavel Feldman
726f636b5c
browser(firefox): implement Page.bringToFront ( #3051 )
2020-07-20 16:47:27 -07:00
Yury Semikhatsky
6db8962125
browser(firefox): smooth resize in headless ( #3043 )
2020-07-20 14:24:52 -07:00
Yury Semikhatsky
0aff9bef11
browser(firefox): screencast for headless mac ( #2956 )
2020-07-15 09:37:08 -07:00
Yury Semikhatsky
bf6f22d812
browser(firefox): basic screencast for headless ( #2931 )
2020-07-14 11:20:36 -07:00
Yury Semikhatsky
024cb1ddc1
browser(firefox): basic screencast implementation for GTK ( #2818 )
2020-07-02 10:43:04 -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
Andrey Lushnikov
082bb3c3c4
browser(firefox): rely on upstream permission separation per contexts ( #2613 )
2020-06-17 14:57:47 -07:00
Dmitry Gozman
ab5f5c8b78
browser(firefox): another way to report elements without layout object ( #2597 )
2020-06-16 21:38:32 -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
Pavel Feldman
fdd8df608f
Revert "browser(firefox): allow passing user preferences at launch time ( #2416 )"
2020-05-29 22:25:25 -07:00
Pavel Feldman
a247f7d2a5
browser(firefox): allow passing user preferences at launch time ( #2416 )
2020-05-29 16:15:36 -07:00
Andrey Lushnikov
0ed052f9e9
browser(firefox): expose internal request cause along with external one ( #2383 )
2020-05-28 09:23:14 -07:00
Dmitry Gozman
5d0b5625fa
browser(firefox): set initial page url to about:blank ( #2300 )
2020-05-19 10:30:36 -07:00
Dmitry Gozman
40ea0dd23b
browser(firefox): make default viewport work in default context ( #2277 )
2020-05-18 09:47:40 -07:00
Joel Einbinder
5a883a5877
browser(firefox): support internal drag and drop ( #2243 )
2020-05-14 18:30:02 -07:00
Dmitry Gozman
fdc9ce8e07
browser(firefox): move context settings from creation to setters ( #2193 )
...
Drive-by: simplify settings plumbing, fix addBinding bug.
2020-05-12 07:32:25 -07:00
Pavel Feldman
e247506169
browser(firefox): roll ff to ToT 5/7/2020 ( #2148 )
2020-05-07 18:37:15 -07:00
Dmitry Gozman
98d32c5d67
browser(firefox): do not fail when decoding large responses ( #2130 )
...
String.fromCharCode cannot be used to convert very large arrays to strings. Use chunking in this case.
2020-05-07 11:04:58 -07:00
Dmitry Gozman
10cca041fb
browser(firefox): ensure rendering update before taking quads and scrolling ( #2123 )
2020-05-06 10:20:18 -07:00
Yury Semikhatsky
b6d1cbf402
browser(firefox): report new window downloads ( #2014 )
2020-04-28 14:20:07 -07:00
Yury Semikhatsky
05f0797211
browser(firefox): support blob downloads ( #1945 )
2020-04-23 14:26:00 -07:00
Yury Semikhatsky
77f1a70332
browser(firefox): send requestFailed on network error ( #1816 )
2020-04-16 11:11:15 -07:00
Pavel Feldman
a46a32426e
browser(firefox): roll to ToT 4/15/2020 ( #1815 )
2020-04-15 17:31:59 -07:00
Yury Semikhatsky
f3451d9148
browser(firefox): focus all top frames by default ( #1811 )
2020-04-15 15:22:47 -07:00
Yury Semikhatsky
f05a8bdc0c
browser(firefox): override document.hasFocus() in main frames ( #1802 )
2020-04-15 14:41:18 -07:00
Dmitry Gozman
cbad583f8a
browser(firefox): prepare to collect signals during actions ( #1772 )
2020-04-15 12:02:08 -07:00
Yury Semikhatsky
d5e75d8bb7
browser(firefox): avoid clobbering scroll requests after scrollIntoViewIfNeeded ( #1785 )
...
5ef35728ff
If there is a pending visual update `AsyncPanZoomController::NotifyLayersUpdated` will override scroll offset set from layout with the visual one. See [`visualScrollOffsetUpdated`](http://ffsearch.azurewebsites.net/#path=%2Fhome%2Fjoe%2Ffirefox%2Fgfx%2Flayers%2Fapz%2Fsrc%2FAsyncPanZoomController.cpp&line=4530 ) and its comment in the method.
2020-04-14 16:24:36 -07:00
Yury Semikhatsky
126b54f767
browser(firefox): implement Page.scrollIntoViewIfNeeded ( #1759 )
2020-04-13 11:31:02 -07:00
Yury Semikhatsky
db34d436ec
browser(firefox): make juggler web socket work in -silent mode ( #1726 )
2020-04-09 10:57:24 -07:00
Yury Semikhatsky
aff2ffacf8
browser(firefox): manage network activity per page ( #1700 )
...
a33663a362
Network events are now sent to corresponding page session. Previously they would be broadcast to all sessions.
2020-04-07 23:03:43 -07:00
Yury Semikhatsky
becf97f30d
browser(firefox): report navigation request failure for downloads ( #1688 )
2020-04-07 00:38:27 -07:00
Yury Semikhatsky
7b2736b4c9
browser(firefox): support downloads ( #1683 )
2020-04-06 23:34:30 -07:00
Pavel Feldman
11ad172822
browser(firefox): allow setting colorScheme on the context level ( #1672 )
2020-04-06 12:26:42 -07:00
Dmitry Gozman
fc73d54039
browser(firefox): instrument all browser windows early enough ( #1645 )
2020-04-03 15:31:26 -07:00
Yury Semikhatsky
e76f8de474
browser(firefox): reland "instrument all windows, support silent mode" with Linux fix ( #1634 )
2020-04-01 21:06:44 -07:00
Yury Semikhatsky
cf49a9ee7b
browser(firefox): make timezone override work on Win ( #1628 )
...
68e0c2c6c6
2020-04-01 14:10:30 -07:00
Yury Semikhatsky
1da2141acc
browser(firefox): delete Browser.setIgnoreHTTPSErrors ( #1616 )
2020-03-31 22:44:09 -07:00
Yury Semikhatsky
4ac98daa3c
browser(firefox): set ignoreHTTPSErrors per context ( #1614 )
...
28fc96628e
2020-03-31 17:32:50 -07:00
Yury Semikhatsky
2ce85f9016
Revert "browser(firefox): instrument all windows, support silent mode… ( #1615 )
2020-03-31 17:20:08 -07:00
Dmitry Gozman
314eb40a13
browser(firefox): instrument all windows, support silent mode ( #1612 )
...
Includes 4b00d5dd71
and `playwright.cfg` change.
2020-03-31 16:16:44 -07:00
Yury Semikhatsky
43b91e6930
browser(firefox): implelemt timezone overrides ( #1577 )
2020-03-30 15:05:46 -07:00
Dmitry Gozman
fdc36125be
browser(firefox): refactor targets/contexts/dispatching ( #1590 )
2020-03-30 13:57:12 -07:00
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
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
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