Commit graph

369 commits

Author SHA1 Message Date
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
Yury Semikhatsky e9515f46d2 browser(webkit): pause popups on start (#691) 2020-01-27 17:04:16 -08:00
Dmitry Gozman aa2ecde20f browser(webkit): make popups functional in mac embedder (#689) 2020-01-27 15:41:01 -08:00
Yury Semikhatsky b3cd7a4365 browser(webkit): remove URL from TargetInfo (#676)
16cf942e30
2020-01-27 11:41:57 -08:00
Eric Heaton e65cc77f31 fix(pw_run): Allow running from paths with spaces (#674)
This script currently breaks if the project folder contains any spaces in the paths. The above fix takes care of that.
2020-01-27 09:34:59 -08:00
Yury Semikhatsky 1b8cfffe78
browser(webkit): fix GTK build (#673) 2020-01-27 09:31:27 -08:00
Yury Semikhatsky a779efeccc
browser(webkit): always dispose persistent context before exiting (#649) 2020-01-27 08:59:33 -08:00
Andrey Lushnikov d2bfe00da6 browser(webkit): fix setOfflineMode (#656) 2020-01-26 09:15:32 -08:00
Pavel Feldman 2ae6466d74
browser(webkit): support user-data-dir on win (#642) 2020-01-24 16:30:27 -08:00
Yury Semikhatsky fb9ec96e3e
browser(webkit): support --user-data-dir on Linux (#610) 2020-01-24 15:27:52 -08:00
Andrey Lushnikov a4f27c17af
browser(webkit): fix compilation on Mac 10.15 (#638) 2020-01-24 14:52:17 -08:00
Joel Einbinder 3abaced877 chore(webkit): build wpe and gtk to different folders (#616)
Second try at #556. Uses absolute paths for the environment variables so that WPEDependencies builds properly. Switches from `WebKitBuildWPE` to `WebKitBuild/WPE` to avoid the need to change the .gitignore.

My computer takes a long time to build, but it appears to be working.
2020-01-24 11:54:50 -08:00
Yury Semikhatsky f463d06bd2 browser(webkit): fix WPE compilation (#635) 2020-01-24 11:47:46 -08:00
Yury Semikhatsky 12a43541ec browser(webkit): roll to r255078 (#633) 2020-01-24 11:22:27 -08:00
Pavel Feldman 6b8c40ea25 browser(webkit): respect --user-data-dir on MacOS (#579) 2020-01-23 15:56:37 -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
Pavel Feldman 05cb267a86 browser(webkit): do not require DRAG_SUPPORT for simple drag selection (#569)
1fa5f16fd8
2020-01-22 15:58:46 -08:00
Andrey Lushnikov b8bb58e48b chore: migrate browser builds to a new CDN (#549) 2020-01-21 15:43:58 -08:00
Yury Semikhatsky b1b4c72035 browser(webkit): switch IdentifiersFactory to WebKit process identifiers (#547) 2020-01-21 14:33:02 -08:00
Pavel Feldman c3e4f092d3 browser(webkit): fix binary web socket frame represetation (#543) 2020-01-21 10:16:56 -08:00
Pavel Feldman e5c839d0aa
browser(webkit): roll to ToT 1-18-2020 (#540) 2020-01-20 08:54:03 -08:00
Pavel Feldman 586cf474e0
browser(webkit): revert MiniBrowser to original, introduce Playwright fork (#539) 2020-01-17 22:13:55 -08:00
Andrey Lushnikov 2de3e03be4 chore(webkit): bump webkit build number
This should re-build webkit with bundled glib-networking on linux.
Hopefully this solves TLS issues on webkit linux.
2020-01-17 21:42:11 -08:00