Commit graph

392 commits

Author SHA1 Message Date
Pavel Feldman fcdfa9ca24
browser(firefox): implement geolocation overrides (#1437) 2020-03-20 11:14:42 -07:00
Dmitry Gozman bfcffbb377
browser(webkit): introduce Playwright.windowOpen protocol event (#1420) 2020-03-18 10:44:01 -07:00
Pavel Feldman edd2fee943
browser(firefox): grant permissions to all origins (#1405) 2020-03-16 20:57:19 -07:00
Pavel Feldman 7fe5656257
browser(webkit): fix win cookies expires (#1355) 2020-03-11 18:08:14 -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
Pavel Feldman 6b50c8f9cc
browser(webkit): follow up 3 (#1342) 2020-03-11 12:03:35 -07:00
Pavel Feldman c044227e12
browser(webkit): follow up 2 (#1340) 2020-03-11 10:56:20 -07:00
Pavel Feldman 2da705de87
browser(webkit): follow up to roll (#1337) 2020-03-11 09:24:02 -07:00
Pavel Feldman 4a18f0f834
browser(webkit): roll to ToT 3/11/2020 (#1335) 2020-03-11 08:40:21 -07:00
Pavel Feldman 128157df1a
browser(webkit): rename Browser domain to Playwright (#1333) 2020-03-10 23:30:31 -07:00
Pavel Feldman d08a0f02ce
browser(webkit): account for page scale when screenshotting (#1332) 2020-03-10 19:56:59 -07:00
Pavel Feldman e2616e4866
browser(webkit): override global permissions (#1315)
For #652
2020-03-10 10:42:29 -07:00
Pavel Feldman 008e0b2ecd
browser(webkit): emulate screen size (#1310) 2020-03-10 09:20:25 -07:00
Joel Einbinder 27d039a0c4
browser(webkit): mark user gesture in frames (#1304) 2020-03-09 17:03:00 -07:00
Andrey Lushnikov c8bbf8808b
devops: bundle mvscp140_2.dll with windows webkit (#1293)
Fixes #1288
2020-03-09 11:43:11 -07:00
Yohix bfd32fe6d2
doc: fix typos (#1284) 2020-03-07 08:37:47 -08: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
Joel Einbinder 9c80c9efa0
browser(webkit): don't leak pages on window.open (#1261) 2020-03-06 08:21:14 -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 4fd23124bb
chore: introduce webkit cheatsheet 2020-03-04 20:14:05 -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
Andrey Lushnikov 262ee7c425
browser(webkit): fix the pool leaks on mac (#1219) 2020-03-04 11:51:39 -08:00
Pavel Feldman 778762455a
browser(webkit): fix delete context stall, emit schedule load (#1211) 2020-03-03 23:06:59 -08:00
Yury Semikhatsky 23790f749d
browser(webkit): send reply to deleteContext even if there are no pages in it (#1204) 2020-03-03 17:10:29 -08:00
Yury Semikhatsky 9f3ccb4b35
browser(webkit): wait for all pages to close in deleteContext (#1197) 2020-03-03 14:44:32 -08:00
Yury Semikhatsky ce3398b9a5
browser(webkit): allow scripts in inspected pages to create popups (#1192) 2020-03-03 10:23:33 -08:00
Yury Semikhatsky d41342f3e0
browser(webkit): mac build fix (#1137) 2020-02-26 16:21:43 -08:00
Dmitry Gozman ee9c7f1886
browser(firefox): support BrowserContext.evaluateOnNewDocument (#1135)
70ee31b2d4
2020-02-26 15:40:41 -08:00
Yury Semikhatsky 7a7575461c
browser(webkit): pause in popup until Target.resume is received (#1134) 2020-02-26 14:50:34 -08:00
Pavel Feldman b8c6069853
browser(webkit): trim down mac embedder (#1130) 2020-02-26 12:57:23 -08:00
Pavel Feldman 1d02c2d268
browser(webkit): --no-startup-window for mac (#1118) 2020-02-25 21:23:47 -08:00
Pavel Feldman 51d1b6388d
browser(webkit): no_startup_window on linux (#1117) 2020-02-25 20:34:58 -08:00
Dmitry Gozman facf2c24fd
browser(firefox): support BrowserContext.setExtraHTTPHeaders (#1111) 2020-02-25 17:24:06 -08:00
Pavel Feldman de635349c1
browser(webkit): happy pipe on win, no startup windows (#1112) 2020-02-25 16:27:06 -08:00
Andrey Lushnikov e3b2f2b2db
browser(firefox): allow loading file URLs in web process (#1110) 2020-02-25 16:07:22 -08:00
Yury Semikhatsky c7ade1a711
browser(webkit): revert unused Target.oldTargetId (#1096) 2020-02-25 11:30:29 -08:00
Pavel Feldman 8c57358248
browser(webkit): fix null pointer access (#1099) 2020-02-25 06:54:10 -08:00
Pavel Feldman de03f37a99
browser(webkit): follow up to roll, fix Win (#1091) 2020-02-24 14:31:16 -08:00
Andrey Lushnikov 971ab776de
chore(docs): update win buildbot setup docs 2020-02-24 14:08:54 -08:00
Pavel Feldman 6821c9ec06
browser(webkit): roll to ToT 2/24/2020 (#1088) 2020-02-24 12:07:12 -08:00
Dmitry Gozman 2fabaaf751
browser(webkit): force overlay scrollbars on mac, ignoring system setting (#1071)
9ebd5359b7

References #844.
2020-02-19 20:29:42 -06:00
Pavel Feldman df8de2074e
browser(webkit): do not leak contexts on windows (#1020) 2020-02-14 17:13:07 -08:00
Yury Semikhatsky 991b89fb11
browser(webkit): rebase WebKit on r256488 (#973) 2020-02-13 11:47:52 -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
Joel Einbinder b7f48f4603
browser(webkit): layout before returning DOM.getContentQuads (#970)
Otherwise we can get stale quads. Causes failures of "ElementHandle.boundingBox should work with page scale" test.

6835789cf2
2020-02-12 18:43:56 -08:00
Andrey Lushnikov b188f397cf devops: do not assume that checkout exists
We will prepare it later on, so the check itself is not needed.
2020-02-12 18:19:00 -08:00
Pavel Feldman 5dbc8801e4
browser(webkit): print friendly tz names (#969) 2020-02-12 17:51:24 -08:00
Pavel Feldman 44941ad060
browser(webkit): emulate time zone (#960) 2020-02-12 14:58:39 -08:00
Dmitry Gozman 211cba4934
browser(webkit): use css (not dip) coordinates for input and content quads (#957)
a32289ca5d
2020-02-12 14:10:23 -08:00
Andrey Lushnikov 9bbaa32e12
browser(webkit): remove assert (#952) 2020-02-12 11:38:38 -08:00
Dmitry Gozman 3007541315
browser(webkit): do not intercept requests on the way to service worker (#948) 2020-02-12 08:48:47 -08:00
Pavel Feldman 90367c1f66
browser(webkit): emulate active and focused state (#940) 2020-02-11 17:38:41 -08:00
Pavel Feldman ce382137f3
browser(webkit): disregard dpi on windows (#938) 2020-02-11 16:38:21 -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
Pavel Feldman 29f4f18d6d
browser(webkit): allow beforeunload override when headful (#921) 2020-02-10 19:20:32 -08:00
Pavel Feldman e2710dec29
browser(webkit): do not activate headless window on browser start (#900) 2020-02-07 16:05:04 -08:00
Andrey Lushnikov 3acc65d285 devops: teach //browser_patches/webkit/build.sh to build both GTK & WPE
- use `//browser_patches/webkit/build.sh --gtk` to build GTK only
- use `//browser_patches/webkit/build.sh --wpe` to build WPE only
2020-02-07 13:57:08 -08:00
Andrey Lushnikov 871235939e devops: prettify telegram messages 2020-02-07 12:42:20 -08:00
Pavel Feldman cdbfc4c1c2
browser(webkit): report inspector pipe is listening via stdout (#892) 2020-02-07 10:00:34 -08:00
Pavel Feldman 8c2302d6ec
browser(webkit): do not navigate popups to about:blank on Win (#886) 2020-02-07 08:27:25 -08:00
Pavel Feldman bc912596b8
browser(webkit): use random ephemeral session ids on Mac (#881) 2020-02-06 17:33:11 -08:00
Andrey Lushnikov f15690da0d
browser(webkit): roll WebKit to tip-of-tree 2/6/2020 (#877) 2020-02-06 16:55:04 -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 1b1ed087ae
browser(webkit): introduce DOM.scrollIntoViewIfNeeded (#847)
69fb612396
2020-02-05 15:17:12 -08:00
Dmitry Gozman 0cc26c0fe6
browser(firefox): introduce Page.scrollIntoViewIfNeeded (#848)
1cfb6fd4cc
2020-02-05 14:57:30 -08:00
Pavel Feldman 2ba5e840c1 docs: we are Playwright, not PlayWright 2020-02-04 08:01:25 -08:00
Pavel Feldman 84edefd087
browser(webkit): follow up to Browser.setLanguage, fan out changes (#801) 2020-02-03 12:03:16 -08:00
Pavel Feldman 387b895929
browser(webkit): build more wk features (#807) 2020-02-02 14:21:50 -08:00
Joel Einbinder 0a16b6073e
browser(webkit): fix crash when a worker is terminated while logging (#797) 2020-02-02 14:20:19 -08:00
Joel Einbinder 84c93d2f9e
browser(webkit): plumb stderr from the web process to the main process (#792)
This allows `fprintf(stderr, "my message\n")` and `WTFReportBacktrace()` to work from the web process in Windows!

ea530a62b9
2020-01-31 17:07:15 -08:00
Pavel Feldman 9438136ae9
browser(webkit): enable some build features on win (#788) 2020-01-31 13:36:41 -08:00
Pavel Feldman 4904459dd0
browser(webkit): introduce Browser.setLanguage (#781) 2020-01-31 10:28:31 -08:00
Andrey Lushnikov adc5e3b59a browser(webkit): bump WebKit to r1128 to check binary stripping 2020-01-30 19:13:41 -08:00
Andrey Lushnikov b77b31c55c devops: strip linux binaries
The `--strip-unneeded` removes all symbols needed for library
compilation as part of a `.a` static library.
([source](https://www.technovelty.org/linux/stripping-shared-libraries.html))

So these are safe to remove and they should keep our binary
debuggable. These should save us ~100Mb unzipped.

References #658
2020-01-30 19:12:02 -08:00
Yury Semikhatsky 735c5e6a86
browser(webkit): fix compilation on Mac (#774)
f36ec8a69a
2020-01-30 16:11:34 -08:00
Yury Semikhatsky 6c58f93416
browser(webkit): simplify isolated world handling (#766) 2020-01-30 14:51:11 -08:00
Yury Semikhatsky 1ad6134a54
browser(webkit): ensure user worlds created when attaching to new pages (#765) 2020-01-30 13:57:41 -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 bcc920c879
browser(webkit): follow-up to update inspector file locations (#754) 2020-01-29 15:15:39 -08:00
Pavel Feldman 87abfe02a4
browser(webkit): roll to WebKit ToT 1/29/2020 (#737) 2020-01-29 14:46:05 -08:00
Yury Semikhatsky afc02225d8
browser(webkit): do not crash when opening inspector on mac (#751) 2020-01-29 14:01:52 -08:00
Dmitry Gozman 7ea4110987
browser(webkit): expose worker's owner frame (#694)
549289d2dd
2020-01-29 11:57:22 -08:00
Andrey Lushnikov e64fd173bb devops: fix firefox building script on Mac 10.15.1 2020-01-29 11:55:29 -08:00
Yury Semikhatsky 4b0ce1de2a
browser(webkit-wpe): do not preload about:blank into popups (#724) 2020-01-28 14:46:26 -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
Pavel Feldman 45e88f7b85 browser(webkit): amend method & postData upon continue (#702) 2020-01-27 23:26:34 -08:00