Commit Graph

2689 Commits

Author SHA1 Message Date
Dmitry Gozman
a59220b06d
test: prepare fixtures test to run with rpc (#3190) 2020-07-27 18:40:21 -07:00
Yury Semikhatsky
da25a5b501
browser(firefox): do not capture cursor in screencast (#3118) 2020-07-27 16:22:02 -07:00
Yury Semikhatsky
576e2c5287
fix(webkit): correctly report outerWidth/Height on Mac (#3133) 2020-07-27 16:06:50 -07:00
Yury Semikhatsky
101dd3b120
fix(test): make video test pass on Mac (#3121) 2020-07-27 13:56:43 -07:00
Dmitry Gozman
97c10002e7
api: introduce Browser.version() (#3177) 2020-07-27 13:41:35 -07:00
Dmitry Gozman
e406119f0c
chore: add check_deps script (#3182)
This will be used to disallow cross-directory imports,
for example from impl to rpc.
2020-07-27 13:02:28 -07:00
Andrey Lushnikov
20b7cff935
fix: update jpeg-js version (#3179) 2020-07-27 10:39:59 -07:00
Andrey Lushnikov
6fa7547ce3
fix(launchDoctor): add package mapping for libvpx.so.5 (#3180)
Since we were bundling the library with the browsers before, the
mapping was missing.

References #2745
2020-07-27 10:39:45 -07:00
Tierney Cyren
51ce47f30f
docs: use "Node.js" instead of "Node" (#3176)
* docs: use "Node.js" instead of "Node"

* docs: fix broken anchor
2020-07-27 10:27:41 -07:00
Dmitry Gozman
b2179193c6
feat(rpc): replace implicit scopes with explicit dispose (#3173)
This adds one more protocol message __dispose__
to dispose a scope and all child objects.

Now, client side does not need a notion of scope anymore -
it just disposes the whole object subtree upon __dispose__.
Server, on the other hand, marks some objects as scopes
and disposes them manually, also asserting that all parents
are proper scopes.
2020-07-27 10:21:39 -07:00
Max Schmitt
9b502af4e3
fix(launchDoctor): support existing LD_LIBRARY_PATH (#3165) 2020-07-27 10:05:12 -07:00
Dmitry Gozman
f4e584ea08
feat(rpc): align class names with api docs (#3164) 2020-07-26 21:27:09 -07:00
Darío Kondratiuk
d0b758a8d2
test: improve autowaiting tests (#3168) 2020-07-25 23:58:03 -07:00
Dmitry Gozman
98cc9db8e8
chore: simplify doclint (#3162)
This renames CRBrowserContext events into ChromiumBrowserContext and
simplifies some doclint/coverage logic.
2020-07-24 20:40:21 -07:00
Dmitry Gozman
fd2e65b73c
api: export all browsers from every package (#3128)
This makes it easier to reason about our packages.
The only difference is what each package downloads.
When the browser is not downloaded, it will fail to launch.

Each browser gets a 'download' attribute in the browser.json file.
2020-07-24 16:36:00 -07:00
Andrey Lushnikov
c8c92c509d
fix(utils): fix check-availability script (#3158) 2020-07-24 16:22:52 -07:00
Dmitry Gozman
d9890f1102
feat(rpc): make ElectronApplication a scope (#3159) 2020-07-24 16:22:20 -07:00
Yury Semikhatsky
90ff66710b
browser(webkit): disable high DPI support in Web Process on Windows (#3160) 2020-07-24 16:19:14 -07:00
Andrey Lushnikov
86b64a2311
feat(launchDoctor): package mappings for Ubuntu 20.04 (#3155)
This teaches Launch Doctor to print a command to install missing
packages on Ubuntu 20.04.

References #2745
2020-07-24 16:15:42 -07:00
Andrey Lushnikov
d4b707861c
feat: validate Ubuntu version if launching firefox (#3156)
The original plan was to rnu some checks against libc version the
binary is compiled with, but these turn out to be a little complicated:
parsing out libc version from both static binary and host system
requires text processing, and it's hard to make sure it works reliably
across distributions.

Instead, let's start with a very particular check against running
Firefox on Ubuntu 16.04.

References #2745
2020-07-24 16:14:14 -07:00
Joel Einbinder
549a37b939
browser(firefox): fix color scheme not updating until reload (#3157) 2020-07-24 16:01:45 -07:00
Dmitry Gozman
415e94f410
feat(rpc): server-side validator (#3150) 2020-07-24 15:16:33 -07:00
Joel Einbinder
1455cae974
test(emulation): add failing test for setting dark theme in firefox (#3149) 2020-07-24 14:47:32 -07:00
Joel Einbinder
0a57c2b39e
support typescript in jest files (#3132) 2020-07-24 14:46:59 -07:00
Dmitry Gozman
6a4195fd1d
fix(require): allow requiring internals (#3153) 2020-07-24 14:21:25 -07:00
Yury Semikhatsky
3162c06f49
browser(webkit): outerWidth/Height on Windows (#3154) 2020-07-24 14:10:32 -07:00
Pavel Feldman
e7cca86757
fix(postData): allow overriding binary post data (#3120) 2020-07-24 12:16:45 -07:00
Andrey Lushnikov
bec34db686
feat(firefox,webkit): roll both Firefox and WebKit (#3145) 2020-07-24 10:17:55 -07:00
Dmitry Gozman
deccddba24
feat(rpc): update BrowserServer (#3112)
- Make BrowserServer a scope.
- Plumb exitCode and signal to BrowserServer.on('close').
- Use toImpl in a test.
2020-07-24 10:17:07 -07:00
Dmitry Gozman
0f0e2acfaf
fix(type): unify selection behavior when typing (#3141)
Before typing/pressing, we focus the target element. WebKit
sometimes selects the value in this case. To unify the behavior
between the browsers we behave similar to human:
- when the input is already focused, we just type;
- when the input is not focused, we focus it, move caret
  to the start (like if user clicked at the start to focus the input)
  and then type.
Note this only affects inputs with non-empty value.
2020-07-24 09:30:31 -07:00
Andrey Lushnikov
678d16454a
devops: normalize blob names on the CDN (#3136)
This establishes a single naming for all our blobs with browser
builds that we upload to CDN: `<browser-name>-<os-version>`

- `<browser-name>` is either `firefox` or `webkit`.
- `os-version` is the OS that was used to produce the build.

References #2745
2020-07-24 00:31:18 -07:00
Yury Semikhatsky
79ab07bd0d
devops: install Media Pack on Windows bot (#3137) 2020-07-23 18:06:16 -07:00
Andrey Lushnikov
bbe7dbe9ae
feat(installer): start downloadinb Ubuntu 20.04 builds (#3126)
Start auto-detecting Ubuntu 20.04 and downloading custom webkit
build for it.

References #2745
2020-07-23 17:37:47 -07:00
Andrey Lushnikov
0b9c6473b6
devops: detect completion status (#3135)
Update `//browser_patches/tools/check_cdn.sh` to report when
all builds for a given revision are successfully uploaded to CDN.
2020-07-23 17:32:43 -07:00
Andrey Lushnikov
ae574b302f
devops: fix webkit build on ubuntu (#3134)
Sometimes we actually pass one empty argument.
2020-07-23 16:59:45 -07:00
Joel Einbinder
059004b179
fix(test): don't leave so many zombies on sigint (#3130) 2020-07-23 16:47:43 -07:00
Yury Semikhatsky
74941340be
browser(webkit): correctly report outerWidth/Height on Mac (#3131) 2020-07-23 16:16:31 -07:00
Andrey Lushnikov
c1032ae483
devops: simplify building webkit on linux bots (#3127)
Originally there was no way to build both webkit-gtk and webkit-wpe
in the same checkout. As a result, we were:
- building webkit-gtk & uploading it to CDN
- building webkit-wpe & uploading it to CDN
- downloading webkit-gtk & webkit-wpe from CDN and compiling a single
webkit-gtk-wpe folder that we uploaded to CDN

As of today, however, we can build WPE and GTK ports together. This
patch starts using this to drastically simplify build process:
- build webkit-gtk and webkit-wpe
- use `archive.sh` script that compiles a single folder with both ports
- upload archive to the cloud

This should also fix currently failing webkit build that fails to
assemble the `webkit-gtk-wpe` folder (I missed these codepaths while preparing
for Ubuntu-20.04 bot).

References #2745
2020-07-23 15:57:53 -07:00
Dmitry Gozman
d234dac752
chore: support esm imports (#3125) 2020-07-23 15:14:36 -07:00
Andrey Lushnikov
21581a4e8b devops: fix buildbot names 2020-07-23 14:44:28 -07:00
Andrey Lushnikov
cb77d33a42
devops: add script for ubuntu 20.04 buildbot (#3123)
This will start producing Ubuntu 20.04 webkit builds

References #2745
2020-07-23 14:42:14 -07:00
Joel Einbinder
d2f24e8888
integrate toBeGolden with jest's snapshot system (#3124) 2020-07-23 14:19:51 -07:00
Yury Semikhatsky
e5afd92762
chore(tests): resuse tmp file helpers from utils (#3119) 2020-07-23 12:42:39 -07:00
Andrey Lushnikov
63689e36a6
devops: prepare buildbots to the introduction of Ubuntu 20.04 builder (#3116)
This patch:
- specializes "linux" scripts into "Ubuntu 18.04" scripts
- renames all future linux blobs on CDN:
    * `firefox-linux.zip => firefox-ubuntu-18.04.zip`
    * `minibrowser-gtk.zip => minibrowser-gtk-ubuntu-18.04.zip`
    * `minibrowser-wpe.zip => minibrowser-wpe-ubuntu-18.04.zip`
    * `minibrowser-gtk-wpe.zip => minibrowser-gtk-wpe-ubuntu-18.04.zip`
- updates downloader to deal with the new names

References #2745
2020-07-23 11:59:23 -07:00
Dmitry Gozman
2bed312911
fix(electron): emit close events in the correct order (#3111) 2020-07-23 11:02:43 -07:00
Dmitry Gozman
30e21e0bee
test: fix api coverage (#3114)
Coverage for browser-specific events was missing.
2020-07-23 10:30:47 -07:00
Dmitry Gozman
244ce45799
test: add a test for mouse.dblclick (#3115)
We never call it the tests, but coverage does not catch it.
2020-07-23 10:30:35 -07:00
Yury Semikhatsky
c895c972ae
browser(webkit): kick-off build for #3100 (#3113) 2020-07-23 09:32:22 -07:00
Yury Semikhatsky
08b0dc6b8a
feat(webkit,firefox): bump versions (#3110) 2020-07-23 09:17:30 -07:00
Yury Semikhatsky
1cfba7f582
browser(webkit): periodically capture frames on mac regardless of updates 2020-07-22 23:38:48 -07:00