Commit graph

1324 commits

Author SHA1 Message Date
Andrey Lushnikov 799604c085
browser(firefox): roll Firefox to beta @ Nov, 3 (#4327) 2020-11-03 14:51:37 -08:00
Pavel Feldman eae3d93a20
browser(webkit): fix proxy ignore pattern set on context level (#4328) 2020-11-03 14:28:04 -08:00
Yury Semikhatsky 0a9fdc4751
browser(webkit): roll to 11-03 (#4325) 2020-11-03 13:17:03 -08:00
Andrey Lushnikov e3b12b0a0d
browser(firefox): fix closing browser contexts with beforeunload (#4314)
References #4021
2020-11-02 17:29:54 -08:00
Andrey Lushnikov 2b495c9750
browser(firefox): fix SimpleChannel to await initialization (#4311)
As Joel noticed recently, MessageManager in firefox doesn't guarantee
message delivery if the opposite end hasn't been initialized yet. In
this case, message will be silently dropped on the ground.

To fix this, we establish a handshake in SimpleChannel to make sure that
both ends are initialized, end buffer outgoing messages until this
happens.

Drive-by: serialize dialog events to only deliver *after* the
`Page.ready` protocol event. Otherwise, we deliver dialog events to the
unreported page.
2020-11-02 16:21:34 -08:00
Dmitry Gozman 1255289098
browser(chromium): roll to 823078 (#4307) 2020-11-02 13:00:38 -08:00
Yury Semikhatsky 7ef1533cae
browser(webkit): one more mac build fix after last roll (#4298) 2020-10-30 16:15:53 -07:00
Yury Semikhatsky 3577e637c7
browser(webkit): mac build fix after last roll (#4296) 2020-10-30 14:47:53 -07:00
Yury Semikhatsky 5e50fe3d40
browser(webkit): roll to 10-30 (#4294) 2020-10-30 12:42:33 -07:00
Andrey Lushnikov 18c3efe79e
browser(firefox): instrument websockets (#4287) 2020-10-29 16:33:50 -07:00
Andrey Lushnikov c5d3490b34
browser(firefox): roll firefox to beta Oct, 28 (#4274) 2020-10-28 14:47:14 -07:00
Yury Semikhatsky 41d514dfde
browser(webkit): disable gamepad on GTK (#4264) 2020-10-27 16:43:26 -07:00
Pavel Feldman 00d6313f6d
browser(webkit): report raw request headers from didReceiveResponse (#4250) 2020-10-26 22:05:43 -07:00
Andrey Lushnikov b08d3dc9ff
devops: always ensure linux deps when building webkit (#4249) 2020-10-26 21:53:27 -07:00
Yury Semikhatsky 39637a4ab0
browser(webkit): build fix (#4247) 2020-10-26 18:52:25 -07:00
Yury Semikhatsky 1feb041086
browser(webkit): fix mac build after last roll (#4245) 2020-10-26 17:40:31 -07:00
Pavel Feldman c1a64eee02
browser(webkit): serialize set-cookie \n-separated (#4243) 2020-10-26 16:58:40 -07:00
Yury Semikhatsky 4b2a29e23d
browser(webkit): roll to 10-26 (#4241) 2020-10-26 13:00:15 -07:00
Pavel Feldman 437fe17825
browser(firefox): expose resource timing info (#4205) 2020-10-21 13:55:30 -07:00
Yury Semikhatsky 920ea85b99
fix(winldd): make linker set checksum to make antiviruses happy (#4197) 2020-10-20 13:59:44 -07:00
Yury Semikhatsky 092c9905e6
browser(firefox): fix screencast timescale precision (#4196) 2020-10-20 13:39:56 -07:00
Yury Semikhatsky 54e05ac83e
browser(webkit): fix screencast timescale precision (#4195) 2020-10-20 13:09:24 -07:00
Joel Einbinder bf491f12cf
browser(webkit): fix pointer media query on windows (#4176) 2020-10-19 10:08:02 -07:00
Yury Semikhatsky 92cde6cd06
browser(webkit): roll to 10-19 (#4177)
This should fix current build failure on Mac.

5e1333ea77 is necessary to fix the following compilation error:

CMake Error at Source/cmake/WebKitFeatures.cmake:21 (message):
  ENABLE_LEGACY_CSS_VENDOR_PREFIXES is not a valid WebKit option
Call Stack (most recent call first):
  Source/cmake/WebKitFeatures.cmake:40 (_ENSURE_IS_WEBKIT_OPTION)
  Source/cmake/OptionsWPE.cmake:89 (WEBKIT_OPTION_DEFAULT_PORT_VALUE)
  Source/cmake/WebKitCommon.cmake:58 (include)
  CMakeLists.txt:173 (include)
2020-10-19 09:17:24 -07:00
Joel Einbinder 347dd2403b
browser(webkit): fix pointer media query on mac (#4155) 2020-10-19 02:34:47 -07:00
Joel Einbinder 4f7d65fe9c
browser(firefox): report pageerrors without stack properties (#4166) 2020-10-19 02:23:53 -07:00
Pavel Feldman 26442c563c
browser(webkit): fix the datastore leak (#4163) 2020-10-16 08:14:59 -07:00
Joel Einbinder 305d209e82
browser(firefox): always send focus events (#4150) 2020-10-16 01:28:13 -07:00
Yury Semikhatsky 97cb51f3e9
browser(webkit): fix windows compilation after last roll (#4162) 2020-10-15 14:27:02 -07:00
Yury Semikhatsky 6fb6929e36
browser(webkit): roll to 10-15 (#4161) 2020-10-15 13:48:58 -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 a61d07a8e9
browser(webkit): report correct pointer type to css (#3936) 2020-10-15 03:28:45 -07:00
Yury Semikhatsky 3c32c1683a
browser(firefox): use 16-byte long uid instead of ordinal as screencast id (#4147) 2020-10-14 16:14:24 -07:00
Joel Einbinder a169cb63f8
browser(webkit): fix mac compilation errors (#4139) 2020-10-14 10:35:45 -07:00
Joel Einbinder 8c6a2e197a
browser(webkit): Input.dispatchTapEvent (#4102) 2020-10-14 05:53:07 -07:00
Joel Einbinder a4474f6752
browser(firefox): Page.dispatchTapEvent (#4101) 2020-10-13 12:24:11 -07:00
Yury Semikhatsky 71c444c59f
browser(webkit): revert changes to WebAutomationSession.h (#4128) 2020-10-13 11:43:42 -07:00
Andrey Lushnikov 58285f6155
browser(firefox): await browser initialization when closing browser (#4121)
We try to avoid closing firefox too early, fearing that this
might terminate clean shutdown sequence.

Usually we assume that `Browser.enable` is called before `Browser.close`
- however, this is not the case in certain tests. So we have to
ensure browser initialization in `Browser.close` as well.

In my local tests, this fixes the Firefox Pipe problem: it looks like
we were closing browser too quickly.
2020-10-12 22:34:04 -07:00
Yury Semikhatsky b2f4fa914a
browser(webkit): pick process pool for service worker from correct context (#4116) 2020-10-12 15:39:49 -07:00
Yury Semikhatsky 5648eac063
browser(webkit): fix mac build after last roll (#4108) 2020-10-09 16:11:50 -07:00
Yury Semikhatsky db744e28ee
browser(webkit): roll to 10/08 (#4106) 2020-10-09 14:43:36 -07:00
Yury Semikhatsky b85ba62291
browser(webkit): actually fix mac compilation (#4105) 2020-10-09 13:06:25 -07:00
Yury Semikhatsky d6a198a9bb
browser(webkit): speculative build fix for Mac (#4104) 2020-10-09 11:13:02 -07:00
Yury Semikhatsky 8252eb7413
browser(webkit): roll to 09-27 (#4103) 2020-10-09 09:32:36 -07:00
Joel Einbinder e2f77455dd
browser(chromium): roll to 815036 (#4098) 2020-10-08 22:03:39 -07:00
Darío Kondratiuk ff295d10e6
fix(windows): fix dependencies check on windows (#4076) 2020-10-08 09:45:53 -07:00
Andrey Lushnikov 6a7d24469a
devops: fix firefox build (#4088)
New firefox build requires a pre-created python virtual environment.
We should detect it and create if necessary.

References #3995
2020-10-07 14:34:58 -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
Andrey Lushnikov 6beef551d9
browser(firefox): wait for search and addon manager initialization (#4081)
It looks like terminating browser when search service or addon manager is
not fully initialized results in a broken shutdown sequence. As of
today, this results in multiple errors in the browser STDERR. In future,
this might also result in browser stalling instead of terminating.

This starts awaiting search and addon manager termination.

References #3995
2020-10-07 10:24:16 -07:00
Andrey Lushnikov 3b4232864d
browser(firefox): a different way to emit 'load' event (#4080)
Using WebProgressListener events works in all cases. Currently
used `pageshow` event will stop being emitted in future when loading
was stopped with `window.stop()` api.

References #3995
2020-10-07 09:22:56 -07:00
Andrey Lushnikov e6869edf98
browser(firefox): fix typo in dispatcher teardown (#4069) 2020-10-06 12:06:50 -07:00
Andrey Lushnikov 4ab66a4fe5
browser(firefox): follow-up with assorted simplifications (#4066)
This patch:
- moves `SimpleChannel` to synchronously dispatch buffered commands
  instead of a `await Promise.resolve()` hack
- moves dialog & screencast handling from `PageHandler` to
  `TargetManager`. This leaves `PageHandler` to be concerned solely about
  protocol.
- removes `attach` and `detach` methods for worker channels: since
  channels are buffering messages until the namespace registers, there's
  no chance to loose any events.
- slightly simplifies `PageNetwork` class: it's lifetime is now
  identical to the lifetime of the associated `PageTarget`, so a lot can
  be simplified later on.

References #3995
2020-10-06 01:53:25 -07:00
Andrey Lushnikov c8a64b88e1
browser(firefox): enable document channel (#4065)
In the current tip-of-tree Firefox, document channel is enabled by
default, so we have to enable it in order to roll further.

This patch:
1. Removes content disposition sniffing from content process since it
   crashes renderer with document channel.
2. Merges all page-related handlers in a single `PageHandler` and
   serializes network events wrt the `Page.frameAttached` event.

The serialization mentioned in (2) is necessary: frame attachment is
reported from the content process, and network events are reported from
the browsers process. This is an inherent race, that becomes exposed by
the document channel.

On a side note, (2) makes it possible to synchronously report all
buffered events in `SimpleChannel` (cc offline discussion with @dgozman
that highlighted an unsighty approach that we currently employ there: reporting
events in a subsequent microtask.)

References #3995
2020-10-06 00:15:24 -07:00
Pavel Feldman 857abcfc10
browser(firefox): make pipe work on Windows (#4058) 2020-10-05 10:58:56 -07:00
Dmitry Gozman a7beaf657c
browser(chromium): roll to 813607 (#4052) 2020-10-05 04:23:35 -07:00
Dmitry Gozman 133de10a47
browser(firefox): start screencast in existing pages upon setScreencastOptions (#4045)
This makes it work in persistent context.

To achieve this, we have to move screencast logic into PageTarget and
make PageHandler listen to an event.
2020-10-02 17:16:49 -07:00
Andrey Lushnikov 2c11b10598
browser(firefox): remove multisession logic (#4039)
This patch:
1. Changes `SimpleChannel` to buffer messages to the namespace that
   hasn't been registered yet. This allows us to create `SimpleChannel`
   per target on the browser side right away.
2. Removes multisession support. Now there's only one `PageAgent` in the
   content process, which talks to a single `PageHandler` on the browser
   side. Both ends can be created as-soon-as-needed; thanks to
   `SimpleChannel` bufferring, no messages will be lost and all messages
   will be delivered in proper order. (This is currently the reason why
   build 1178 flakes on windows).
3. Straightens up the target reporting. Targets are reported as soon
   as they appear on the browser side.

**NOTE:** this doesn't yet remove sessions from protocol.

References #3995
2020-10-02 04:13:42 -07:00
Andrey Lushnikov b74a6b78ef
browser(firefox): do not double-attach session to the same target (#4027)
We currently might double-attach to the target in `BrowserHandler` since we iterate over all targets, and then subscribe to the additional event when target is getting initialized.

This patch fixes this race condition and should unblock the roll to r1177.

References #3995
2020-09-30 23:50:02 -07:00
Andrey Lushnikov 974358442d
browser(firefox): move user agent emulation to browser side (#4016)
References #3995
2020-09-30 08:02:22 -07:00
Andrey Lushnikov e28083974d
browser(firefox): simplify PageTarget lifecycle (#4014)
As of today, we create `PageTarget` instances whenever we get a
sync IPC from the content process. This, however, breaks an invariant
that `browserContext.pages` always has all pages (and *browsing contexts* - not to be confused with *browser contexts*), associated with browser context. This invariant will be especially important when we move
user agent emulation to browser-side.

This patch makes `PageTarget` lifecycle symmetrical:
- `PageTarget` instance is created when tab is opened
- `PageTarget` is destroyed when tab is crashed or closed

This should also fix a bunch of race conditions with persistent mode, since sometimes we arrive to the window after its
initialization.

Drive-by: straighten viewport management and put a nice descriptive comment.
2020-09-30 02:10:34 -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 2631e1a809
browser(firefox): use browsingContextID for frame IDs (#3999)
BrowsingContextIDs are consistent across the processes, so we can use
them to target frames in both browser and content processes. This will
aid browser-side navigation.

As a nice side-effect, we can drop a round-trip to the content process
for every `requestWillBeSent` event since we *almost* always can
attribute all network events to the proper parent frames.

I say "almost", because we in fact **fail** to correctly attribute requests
from workers that are instantiated by subframes. This, however, is
not working in Chromium ATM, so I consider this to be a minor regression
that is worth the simplification.
2020-09-29 11:22:00 -07:00
Yury Semikhatsky c4a2732515
browser(webkit): another mac fix (#3948) 2020-09-21 19:03:44 -07:00
Yury Semikhatsky ce51af0509
brower(webkit): add missing override markers (#3947) 2020-09-21 17:59:11 -07:00
Yury Semikhatsky 2fbe767142
browser(webkit): roll to 09/21 (#3945) 2020-09-21 16:04:38 -07:00
Andrey Lushnikov 2693c162b8
devops(ffmpeg): compile zlib dependency that is needed for ffmpeg (#3940)
This patch adds zlib compilation that is required for ffmpeg.
2020-09-21 14:54:22 -07:00
Pavel Feldman 731560ccbc
browser(chromium): roll to v808777 (#3941) 2020-09-21 14:40:26 -07:00
Andrey Lushnikov ee7c6230ae
devops: compile ffmpeg with support of video splitting (#3938) 2020-09-21 12:02:47 -07:00
Andrey Lushnikov 9de39b1e85
devops: hardcode build number in winldd executable (#3923)
This will allow us to trace builds back to source code.
2020-09-18 14:51:08 -07:00
Andrey Lushnikov bff9fb21ec devops: fix winldd build 2020-09-18 11:30:53 -06:00
Andrey Lushnikov 6af0aa6763 devops: notify when winldd is built 2020-09-18 11:26:59 -06:00
Andrey Lushnikov fda31dfca2
devops: build winldd on buildbots (#3917)
This patch:
- moves PrintDepsWindows folder to `//browser_patches/winldd`
- adds `build.sh`, `archive.sh`, `clean.sh` and `BUILD_NUMBER` to
  power builds on buildbots
- starts building `winldd-win64` on windows buildbot
2020-09-18 09:43:43 -07:00
Andrey Lushnikov e4e3f82337
devops: fix ffmpeg linux build (#3884)
The `PKG_CONFIG_PATH` variable is important since it is needed
to resolve `.pc` library files.
2020-09-14 17:46:07 -07:00
Andrey Lushnikov 2a66f8a066
devops: build ffmpeg for linux (#3880) 2020-09-14 15:12:35 -07:00
Yury Semikhatsky b8e90a5582
browser(webkit): duplicate each frame duration times (#3856) 2020-09-11 13:48:39 -07:00
Yury Semikhatsky 25b199b40a
browser(firefox): fix screencast start event for popups (#3834) 2020-09-10 14:37:48 -07:00
Yury Semikhatsky d64d0025a4
browser(firefox): fix screencast in first window on mac headful (#3826)
* browser(firefox): fix screencast in first window on mac headful

* Revert only
2020-09-10 00:40:56 -07:00
Andrey Lushnikov 3124a1b600
devops: fine-tune ffmpeg compilation (#3823)
This patch:
- removes `--enable-gpl` and `--enable-version3` flags. This defaults
builds to LGPL2 license
- includes `--disable-autodetect` to ensure determenism
- includes extra version suffix to link from binary files back to these
build scripts
2020-09-09 18:43:38 -07:00
Andrey Lushnikov 29b809887e
devops: fix running docker when executed from cronjob (#3822)
Turns out docker doesn't like faking terminal if STDIN is not attached
to a real terminal.
2020-09-09 17:27:14 -07:00
Andrey Lushnikov 245d1001b1
devops: produce ffmpeg builds on bots (#3820)
This patch moves FFMPEG building to buildbots:
- `ffmpeg-mac.zip` is built on Mac 10.14 machine
- `ffmpeg-win32.zip` and `ffmpeg-win64.zip` are cross-compiled on
  Ubuntu 20.04 machine

All builds across the platforms share the same config:
- the same versions of `ffmpeg` and `libvpx`
- the same build configuration for both `ffmpeg` and `libvpx`

The config could be found in the `//browser_patches/ffmpeg/CONFIG.sh`.

The builds will be then copied manually and committed to the git
repository.
2020-09-09 17:05:08 -07:00
Andrey Lushnikov 6c83266047
browser(firefox): force firefox devtools to open in a separate window (#3816)
References #3470
2020-09-09 09:36:32 -07:00
Dmitry Gozman 5364c6acbc
browser(firefox): fix automatic http->https redirect (#3812)
browser(firefox): fix automatic http->https redirect

Sometimes, Firefox does an automatic http->https redirect without hitting
the network (e.g. for http://wikipedia.org). In this case, the http request
is very strange:
- it does not actually hit the network;
- it is never intercepted;
- we cannot access its response because there was no actual response.

So, we had a bug where:
- redirects inherited the original request's listener;
- that listener was throwing an error.
This lead to the error in the listeners onDataAvailable call chain,
and original listener that renders the response was never called,
resulting in an empty page.

This change:
- ignores the original request that did not hit the network;
- does not inherit the listener;
- adds try/catch around problematic calls.
2020-09-09 09:16:03 -07:00
Andrey Lushnikov b8d7f398b8
browser(chromium): mirror Chromium r799411 to Azure (#3808) 2020-09-08 17:19:14 -07:00
Andrey Lushnikov 638c77c8e2
devops: stop bundling FFMPEG with Chromium (#3806)
- This stops bundling FFMPEG with Chromium
- Stop supporting build numbers as fractional parts for Chromium
revisions
2020-09-08 17:05:21 -07:00
Yury Semikhatsky a5a563659b
browser(webkit): fix basic screencast for accelerated compositing on win (#3803) 2020-09-08 16:00:51 -07:00
Yury Semikhatsky 1d4601b479
browser(webkit): fix screencast scale on Mac headful (#3797) 2020-09-08 14:22:33 -07:00
Andrey Lushnikov bcb4944f1b
devops: auto-detect platform in //browser_patches/chromium/build.sh (#3772)
If there's no platform specified for the chromium build, we should
detect the host platform.

This will make it pleasant to verify Chromium rolls locally.
Assuming there's a `CR` env variable pointing to the local chromium,
rolling would look like this:

- bump a revision in `//browser_patches/chromium/BUILD_NUMBER`
- run `//browser_patches/chromium/build.sh`
- run tests with pulled chromium: `CRPATH=$CR npm run ctest`
2020-09-04 04:23:13 -07:00
Andrey Lushnikov f09145e504 chore: fix typo in build script 2020-09-04 03:16:46 -07:00
Andrey Lushnikov 3cb3c650df
chore: build Chromium version with ffmpeg (#3770) 2020-09-04 03:14:29 -07:00
Andrey Lushnikov a755d100b3
devops: encode build number together with Chromium revision (#3769)
This is an alternative approach to #3698 that was setting up a custom
mapping between chromium revisions and our mirrored builds. For example, we were
taking chromium `792639` and re-packaging it to our CDN as Chromium 1000.

One big downside of this opaque mapping was inability to quickly
understand which Chromium is mirrored to CDN.

To solve this, this patch starts treating browser revision as a fractional number,
with and integer part being a chromium revision, and fractional
part being our build number. For example, we can generate builds `792639`, `792639.1`,
`792639.2` etc, all of which will pick Chromium `792639` and re-package it to our CDN.

In the Playwright code itself, there are a handful of places that treat
browser revision as integer, exclusively to compare revision with some particular
revision numbers. This code would still work as-is, but I changed these places
to use `parseFloat` instead of `parseInt` for correctness.
2020-09-04 03:12:30 -07:00
Andrey Lushnikov dfc0006b3b
devops: bundle ffmpeg with chromium (#3767)
This starts bundling FFMPEG v4.3.1 binary with Chromium archives on the
following platforms:
- chromium-mac
- chromium-win32
- chromium-win64

This specifically doesn't bundle FFMPEG with chromium-linux since we decided to use native ffmpeg on Linux instead. 

FFMPEG binaries are compiled following these instructions:
- windows: https://gist.github.com/aslushnikov/422f1e1a57796a476bf73ebe04f2e5ac
- mac: https://gist.github.com/aslushnikov/abf71be5a0b12c33b320044785fcb3bc

Our versions of FFMPEG are ~2MB zipped.

References #3680
2020-09-04 02:18:36 -07:00
Andrey Lushnikov fa8de99611
Revert "devops: revision Chromium repackaged builds separately (#3698)" (#3763)
This reverts commit fcc1680f98.
2020-09-04 00:43:12 -07:00
Pavel Feldman b6557b9f92
browser(webkit): remove incognito emoji from title (#3765) 2020-09-03 23:33:43 -07:00
Yury Semikhatsky fc7b065b1b
browser(webkit): revert #3360 as it broke many sites (#3764) 2020-09-03 22:09:20 -07:00
Yury Semikhatsky d3c677792c
browser(webkit): force repaint on screencast start (#3757) 2020-09-03 09:56:21 -07:00
Yury Semikhatsky 6b085a349c
browser(webkit): do not clear existing contexts from map when exiting (#3750) 2020-09-02 18:13:03 -07:00
Yury Semikhatsky ee1becd897
browser(firefox): autoscale screencast to fit frame (#3720) 2020-09-01 17:10:06 -07:00
Pavel Feldman 76ab82faa7
browser(webkit): prepend http:// to the schema-less URLs (#3713) 2020-09-01 14:28:21 -07:00
Yury Semikhatsky fad840d88d
browser(webkit): fit screencast to frame if no scale is specified (#3707) 2020-09-01 12:04:46 -07:00
Andrey Lushnikov fcc1680f98
devops: revision Chromium repackaged builds separately (#3698)
Currently, we mirror Chromium revisions from gbuckets to our cdn and
name them same way as Chromium revision.

However, with the upcoming bundling of FFMPEG, we'd like to revision
Chromium packages separately, since our Chromium package will depend from
a number of factors:
- chromium upstream revision
- ffmpeg version
- extra files to add to the package or remove from the package

We should be able to produce a new Chromium build once any of these changes.

With this patch, to roll Chromium browser:
- update chromium revision number in the
`//browser_patches/chromium/UPSTREAM_CONFIG.sh`
- bump the build number in the `//browser_patches/chromium/BUILD_NUMBER`

Reference #3680
2020-08-31 10:44:33 -07:00
Joel Einbinder abb50a79bd
browser(firefox): fix request frame attribution (#3657)
Firefox will sometimes send multiple requests with the same http channel id. When a frame is loaded, the favicon is requested in the parent frame, but with the same channel id. This can cause the document request to report the wrong frame, causing the test 'should capture iframe navigation request' to fail. It fails consistently on my computer.

This patch adds the content policy type into the http channelId to better distinguish requests. Maybe there is something better we can do? It looks like we use channelId has request ids, so there might be more bugs with these favicon requests in playwright?
2020-08-28 17:55:05 -07:00
Carlos Alberto Lopez Perez 19f21b1bde
browser(webkit): use webkit generate-bundle tool to generate the bundles (#3563)
* This changes the archive.sh script to use the webkit generate-bundle
 tool to generate the MiniBrowser bundles instead of using our custom
 logic.

 * pw_run.sh is simplified because the new bundles include a wrapper
 script that sets the needed LD_LIBRARY_PATH environment variables.
 pw_run.sh now calls this wrapper script (for GTK or WPE) instead of
 calling the MiniBrowser binary directly when running from a bundle.

Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2020-08-28 10:48:57 -07:00
Yury Semikhatsky 80cf7e9fac
browser(webkit): do not crash when opening web inspector (#3631) 2020-08-26 08:55:18 -07:00
Yury Semikhatsky 1a37f8ba7a
browser(webkit): remove browserContextId from some events (#3628) 2020-08-25 17:15:21 -07:00
Yury Semikhatsky 17077fd901
browser(firefox): introduce browser level screencastFinished event (#3625) 2020-08-25 14:50:40 -07:00
Pavel Feldman a0bd8def74
browser(chromium): package r799610 (#3624) 2020-08-25 13:14:31 -07:00
Pavel Feldman c25dfba878
infra: pull chromium 801321 (#3620) 2020-08-25 08:16:03 -07:00
Yury Semikhatsky 14abee2b00
browser(webkit): fix compilation on mac (#3619) 2020-08-25 07:54:05 -07:00
Yury Semikhatsky db7bec36c5
browser(webkit): introduce screencastFinished event on Context (#3611) 2020-08-24 19:59:35 -07:00
Yury Semikhatsky 1c6968269a
browser(webkit): avoid use after free on page close (#3599) 2020-08-24 10:38:39 -07:00
Yury Semikhatsky 4f1f972143
browser(webkit): fix mac compilation (#3598) 2020-08-24 08:56:33 -07:00
Yury Semikhatsky 93d8839947
browser(webkit): explicitly track pages reported for context (#3574) 2020-08-21 19:59:53 -07:00
Carlos Alberto Lopez Perez de5ecc028f
browser(webkit): roll to r266002 08/21/2020 (#3561) 2020-08-21 09:56:10 -07:00
Yury Semikhatsky 9f3a1b5168
browser(firefox): send screencastStarted after attachedToTarget (#3554) 2020-08-20 14:03:05 -07:00
Yury Semikhatsky 5ba0254c99
browser(firefox): make sure response is sent when context is closed (#3553) 2020-08-20 13:26:04 -07:00
Yury Semikhatsky 854d755db5
browser(firefox): make context close wait for sessions to finish (#3550) 2020-08-20 11:04:57 -07:00
Yury Semikhatsky f13cebc66d
browser(firefox): remove redundant checks for PageTarget._browserContext (#3541) 2020-08-19 15:39:46 -07:00
Yury Semikhatsky df50660458
browser(firefox): make tab close listener sync again (#3533) 2020-08-19 12:52:43 -07:00
Yury Semikhatsky 73cd6ecef3
browser(firefox): add screencast control methods to context (#3530) 2020-08-19 12:43:53 -07:00
Yury Semikhatsky 56da4bb027
devops: make sure rust toolchain is installed (#3485)
Otherwise if required version is not installed the build fails with a cryptic message like
`error: toolchain '1.45.0-x86_64-unknown-linux-gnu' does not support components`
2020-08-19 09:11:28 -07:00
Max Schmitt 8ea280090d
devops: first implementation of browser auto-roll bot (#3455)
Relates #3258

After a chat with @aslushnikov we add this in two iterations. The first one (this PR) is about scheduled runs for testing the latest tip-of-tree version of the browsers daily and the next PR is about opening an automated PRs once its passing (not sure if its worth to add for failing too) or sending Telegram/Slack notifications.

Current status is that Firefox (around 2 hours) and WebKit (around 3-4 hours) works.

Known issues which I fix before we merge:
- ~~Changes in `test/base.fixture.ts` will get extracted in #3453~~

Feel free to review, current blockers are before we can merge:
- ~~#3453~~
- potential git clone optimisation by aslushnikov
2020-08-17 11:23:46 -07:00
Andrey Lushnikov 4dde2882e7
browser(firefox): roll Firefox to August 14 beta (#3465) 2020-08-13 23:14:24 -07:00
Yury Semikhatsky ae5700b3f3
browser(webkit): do not crop video on Mac headless (#3457) 2020-08-13 16:50:22 -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
Yury Semikhatsky c27e809a61
chore: suppress trailing whitespace warning in prepare_checkout (#3441) 2020-08-13 10:45:27 -07:00
Andrey Lushnikov f2088e068a
devops: fix Chromium repackaging to respect symlinks (#3424) 2020-08-12 18:29:37 -07:00
Andrey Lushnikov 884cef734e
browser(chromium): roll Chromium to r796653 (#3419) 2020-08-12 14:59:12 -07:00
Andrey Lushnikov 915902c858
browser(firefox): roll Firefox to roughly July, 15 (#3411) 2020-08-12 10:09:20 -07:00
Dmitry Gozman da95b73b59
browser(firefox): emit iframe lifecycle when initial navigation fails (#3389) 2020-08-11 16:05:34 -07:00
Yury Semikhatsky f25449892c
browser(webkit): align GTK implementation with Win (#3377) 2020-08-10 17:11:24 -07:00
Yury Semikhatsky 538daf3302
browser(firefox): exclude frame from screencast video (#3372) 2020-08-10 15:10:12 -07:00
Andrey Lushnikov 8f30d15aca
devops: re-packge chromium on windows without interactive_ui_tests.exe (#3375)
This reduces archive size from 145MB to 97MB.

Fixes #3259
2020-08-10 15:00:37 -07:00
Yury Semikhatsky 89ae8e0fd1
browser(webkit): disable accelerated compositing on Windows (#3360) 2020-08-10 08:29:16 -07:00
Andrey Lushnikov 2a0cbda8bc
devops: mirror chromium builds to our CDN (#3357)
Start mirroring chromium builds to our CDN.

References #3259
2020-08-07 16:22:05 -07:00
Andrey Lushnikov a225447653
browser(firefox): introduce global proxy (#3335)
This will be used instead of messing up user preferences for proxy
setup.
2020-08-07 15:38:06 -07:00
Yury Semikhatsky ddd483bdf0
browser(webkit): correctly record video in headless mode Windows (#3354) 2020-08-07 15:27:38 -07:00
Andrey Lushnikov 434b9e107e
devops: support EXPORT_COMPILE_COMMANDS env variable in webkit build.sh (#3334)
We'll use this variable to power kodsearch.
2020-08-06 16:33:34 -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 9effb32650
browser(firefox): always create new process rather than reuse one (#3312) 2020-08-05 15:48:26 -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
Yury Semikhatsky 8881a521c1
browser(webkit): roll to 8/4 (#3289) 2020-08-04 13:33:32 -07:00
Andrey Lushnikov 25089760fd
devops: fix typo in rustup detection (#3282)
This should bring back docker build.
2020-08-04 00:02:14 -07:00
Dmitry Gozman d3a40be479
browser(firefox): reliably close the pipe (#3280) 2020-08-03 20:15:25 -07:00
Dmitry Gozman 402d1a6a67
browser(firefox): fix win compile 2 (#3277) 2020-08-03 15:26:12 -07:00
Dmitry Gozman e481f378f1
browser(firefox): fix win compile (#3275) 2020-08-03 14:42:16 -07:00
Dmitry Gozman 1148f0b906
browser(firefox): implement RemoteDebuggingPipe (#3273) 2020-08-03 13:27:09 -07:00
Yury Semikhatsky bad4005d7d
chore(devops): do not copy pw_run.sh to subfolders (#3271) 2020-08-03 12:01:57 -07:00
Yury Semikhatsky f62e9b5dc0
browser(webkit): kick-off 1321 build to pick up new WebKitLibraries/win (#3263) 2020-07-31 16:36:39 -07:00
Yury Semikhatsky 8709ad7bf1
chore(tools): update PrintDeps license header (#3254) 2020-07-31 14:10:00 -07:00
Yury Semikhatsky 235c5df8de
docs: add readme file for PrintDepsWindows (#3241)
Also add solution file so that VS doesn't recreate it every time.

#2745
2020-07-30 15:39:29 -07:00
Andrey Lushnikov 9103ce0060
devops: fix firefox build (#3237) 2020-07-30 11:50:52 -07:00
Yury Semikhatsky 88938669e1
devops(windows): add tool for printing library dependencies on Windows (#3224) 2020-07-30 10:51:23 -07:00
Andrey Lushnikov 4961c2ddbb
devops(firefox): fixate rust and cbindgen version (#3223)
Firefox buildchain does not fixate `rust` and `cbindgen` versions,
so we want to fixate them on our end.

A table with matching rust version for every firefox version can
be found at [Rust Update Policy for Firefox](https://wiki.mozilla.org/Rust_Update_Policy_for_Firefox).

Additionally, there are checks in `mozbuild` for the minimum
rust version and minimum `cbindgen` version.
2020-07-30 09:59:39 -07:00
Andrey Lushnikov ae0c3a6d00
docs(devops): update docs for buildbots (#3218) 2020-07-29 23:14:17 -07:00
Yury Semikhatsky c6180edbfe
browser(webkit): print missing dll error to the console (#3214) 2020-07-29 15:01:01 -07:00
Joel Einbinder 3e023f6c3d
Revert "browser(firefox): fix color scheme not updating until reload" (#3198) 2020-07-28 13:46:37 -07:00
Dmitry Gozman 14c6881904
browser(firefox): properly rewrite intercepted request (#3188) 2020-07-28 11:32:44 -07:00
Yury Semikhatsky da25a5b501
browser(firefox): do not capture cursor in screencast (#3118) 2020-07-27 16:22:02 -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
Joel Einbinder 549a37b939
browser(firefox): fix color scheme not updating until reload (#3157) 2020-07-24 16:01:45 -07:00
Yury Semikhatsky 3162c06f49
browser(webkit): outerWidth/Height on Windows (#3154) 2020-07-24 14:10:32 -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
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
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
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
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
Yury Semikhatsky c895c972ae
browser(webkit): kick-off build for #3100 (#3113) 2020-07-23 09:32:22 -07:00
Yury Semikhatsky 1cfba7f582
browser(webkit): periodically capture frames on mac regardless of updates 2020-07-22 23:38:48 -07:00
Yury Semikhatsky 26c57846bb
Rebase (#3096) 2020-07-22 23:34:52 -07:00
Yury Semikhatsky 3d37e4586e
browser(firefox): pass actual frame duration to the codec (#3101)
#1158
2020-07-22 23:27:49 -07:00
Pavel Feldman b271624fcb
browser(webkit): hardcode woff enabled on win (#3103) 2020-07-22 20:46:00 -07:00
Yury Semikhatsky f751ab1791
browser(webkit): write screencast video to .webm instead of .ivf (#3081) 2020-07-21 18:49:52 -07:00
Pavel Feldman de9570ee3a
browser(webkit): roll to ToT 07/21/2020 (#3066) 2020-07-21 12:26:21 -07:00
Yury Semikhatsky babd0cbcea
browser(firefox): fix Windows build (#3065) 2020-07-21 10:02:14 -07:00
Pavel Feldman 7f29275aa2
browser(firefox): use base64 to deliver post data (#3063) 2020-07-21 09:55:46 -07:00
Yury Semikhatsky a5cb983768
browser(firefox): write video to .webm instead of .ivf (#3062) 2020-07-21 09:26:59 -07:00
Pavel Feldman 726f636b5c
browser(firefox): implement Page.bringToFront (#3051) 2020-07-20 16:47:27 -07:00
Yury Semikhatsky eb14c4711f
browser(webkit): do not mask WebGL vendor/renderer info (#3050) 2020-07-20 15:01:40 -07:00
Yury Semikhatsky 6db8962125
browser(firefox): smooth resize in headless (#3043) 2020-07-20 14:24:52 -07:00
Yury Semikhatsky d1f937d651
browser(firefox): stop video recording if page closed (#3040) 2020-07-20 10:44:11 -07:00
Yury Semikhatsky 562e1e6460
browser(firefox): wait for file write to finish in stopVideoRecording (#3020) 2020-07-17 17:34:09 -07:00
Yury Semikhatsky 1896e8edc0
browser(webkit): send Playwright.pageProxyDestroyed for crashed tabs when deleting context (#2986) 2020-07-16 15:42:07 -07:00
Yury Semikhatsky 89ccf99b90
browser(firefox): screencast for Mac headful (#2985) 2020-07-16 15:34:33 -07:00
Yury Semikhatsky b7f7ba9230
browser(firefox): screencast support for Windows headful (#2965) 2020-07-15 16:58:58 -07:00
Yury Semikhatsky 31893036e8
browser(webkit): close crashed pages on exit (#2958) 2020-07-15 11:04:13 -07:00
Yury Semikhatsky 0aff9bef11
browser(firefox): screencast for headless mac (#2956) 2020-07-15 09:37:08 -07:00
Yury Semikhatsky 89ca2db36c
browser(firefox): kick off new build after last commit (#2948) 2020-07-14 12:49:04 -07:00
Yury Semikhatsky de40329126
browser(firefox): add new files for headless screencast (#2947) 2020-07-14 12:25:41 -07:00
Yury Semikhatsky bf6f22d812
browser(firefox): basic screencast for headless (#2931) 2020-07-14 11:20:36 -07:00
Carlos Alberto Lopez Perez cb8b1bca97
browser(webkit): Reduce binary size of WebKit Linux build bundles (GTK and WPE) (#2880)
This patch changes the build system to use the JHBuild minimal dependency
system introduced in WebKit r264092 <https://trac.webkit.org/r264092>

The build has been tested with Ubuntu-18.04

The binary size of the zip bundles is now: 37M (WPE) and 40M (GTK).
Previously it was 54M and 59M (respectively)
2020-07-09 11:37:13 -07:00
Yury Semikhatsky f5911de93d
browser(webkit): release GTK app only if it has been referenced (#2885) 2020-07-08 16:13:58 -07:00
Yury Semikhatsky 83bba08cc4
browser(webkit): fix touch events on mac after last roll (#2884) 2020-07-08 14:32:39 -07:00
Yury Semikhatsky baaa65492b
browser(firefox): resize window when changing viewport (#2861) 2020-07-07 14:04:07 -07:00
Yury Semikhatsky 64f57216e2
browser(webkit): roll to 07-07-2020 (#2863) 2020-07-07 13:03:07 -07:00
Yury Semikhatsky 9640dbf2a6
browser(firefox): exclude browser controls from screencast (#2855) 2020-07-07 09:40:09 -07:00
Yury Semikhatsky ea9b82d225
browser(webkit): properly disconnect signal handlers when closing browser (#2849) 2020-07-06 13:59:13 -07:00
Yury Semikhatsky fc18f2f38a
browser(firefox): support screencast frame size and scale configuration (#2847) 2020-07-06 11:28:35 -07:00
Andrey Lushnikov 3dd09f04ef
browser(webkit): close context menu on Windows when closing page (#2825)
Review URL: 358fd983a9
2020-07-02 15:21:12 -07:00
Yury Semikhatsky 6aef045fd4
browser(firefox): create new window for each new page (#2823) 2020-07-02 14:46:57 -07:00
Andrey Lushnikov b1b6d3f531
devops: add signature to BUILD_NUMBER to force rebaseline (#2810)
Currently, it might happen that two different patches clash for the
same build number for the browsers. In this case, authors might
not even know that they need to rebaseline.

This patch starts adding a second line to `BUILD_NUMBER` files - the
signature and date of the `BUILD_NUMBER` change. These are guaranteed
to clash, so it should not be possible to land patches without
re-baselining them.
2020-07-02 12:09:27 -07:00
Yury Semikhatsky 605257b1a0
browser(firefox): Win build fix (#2822) 2020-07-02 11:20:25 -07:00
Yury Semikhatsky 024cb1ddc1
browser(firefox): basic screencast implementation for GTK (#2818) 2020-07-02 10:43:04 -07:00
Joel Einbinder 3d403cb2cd
browser(webkit): force wpe to use the complex text path (#2801) 2020-07-02 10:04:10 -07:00
Andrey Lushnikov 43cdb3ba72
browser(webkit): revert #2755 (#2809)
Review URL: 7d35d22798

This reverts https://github.com/microsoft/playwright/pull/2755/files
Reason:
- it doesn't compile on Windows

References #2699
2020-07-01 22:40:33 -07:00
Andrey Lushnikov 14162f8923
browser(webkit): let web page close when it has open context menu (#2802)
Review URL: 42f86e9d77

Currently, if web page has an open context menu, then it won't close.
This prevents browser from quitting.

In stock safari, this behavior can also be observed in a way that
context menu will stay opened even if related page got closed.

While investigating this behavior on Mac, a crucial observation was
that `[NSMenu popUpContextMenu]` is spawning a nested event loop,
keeping reference to `WebContextMenuProxyMac` instance, which in turn
keeps references on associated `NSView` with `WKWebView`.

To exit the loop, we need to explicitly cancel context menu. For this,
this patch adds a method `hide` on `WebContextMenuProxy` that uses
port-specific code to cancel context menu.

Windows part of this patch is somewhat speculative: I didn't check
it, but given the same symptomps, I applied the same solution.

Fixes #2700
2020-07-01 18:12:11 -07:00
Dmitry Gozman c188118d3a
browser(webkit): do not show popup menu in mac headless (#2803) 2020-07-01 17:52:25 -07:00
Dmitry Gozman 5c4751d5dd
chore: generate protocol during browser roll (#2719)
We now commit protocol.ts files during the roll.
New utils/roll_browser.js helps with that.

This makes our installation very shallow:
- build installer;
- download browsers.
2020-07-01 15:22:29 -07:00
Dmitry Gozman 991e8d42c6
browser(firefox): report errors from workers (#2797)
There is no exceptionFlag anymore, so we check the logLevel instead.
2020-07-01 14:49:14 -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
Joel Einbinder cd180474ee
browser(webkit): don't show context menus for headless windows (#2755) 2020-07-01 06:50:08 -07:00
Yury Semikhatsky d6338b0cae
docs(webkit): update core dump analisys instructions (#2778) 2020-06-30 17:00:16 -07:00
Yury Semikhatsky c6df8fd507
browser(webkit): abort interception if loader reached termial state (#2776) 2020-06-30 16:47:10 -07:00
Yury Semikhatsky 924a884102
docs: linux core dump instructions (#2690) 2020-06-24 10:04:11 -07:00
Dmitry Gozman 687067831a
browser(firefox): do not fail when decoding large responses (#2671) 2020-06-22 16:01:16 -07:00
Dmitry Gozman 3d49af2537
browser(firefox): fix redirect interception (#2672)
We sometimes receive shouldIntercept for redirects,
and should not issue sendOnRequest for the second time.
2020-06-22 15:57:05 -07:00
Yury Semikhatsky 40b1a14626
browser(webkit): support screencast scale on Mac (#2655) 2020-06-22 14:40:46 -07:00
Yury Semikhatsky 9801135167
browser(webkit): screencast on windows with accelerated compositing (#2670) 2020-06-22 13:46:18 -07:00
Yury Semikhatsky 7af201621d
chore(webkit): add libvpx Windows build instructions (#2649) 2020-06-22 12:49:30 -07:00
Dmitry Gozman 2fa32f7e9c
browser(firefox): rewrite network instrumentation (#2638)
This change introduces NetworkRequest object that encapsulates
internal redirects as they happen in netwerk/ stack.

NetworkRequest now serves as both ResponseBodyListener and NotificationCallbacks.
2020-06-20 20:45:01 -07:00
Pavel Feldman e0ac11c074
browser(webkit): fix loader after terminal state access (#2654) 2020-06-19 14:43:56 -07:00
Pavel Feldman 2bfb675c41
browser(webkit): make material icons render on Windows (#2650) 2020-06-19 10:34:25 -07:00
Yury Semikhatsky 5043a36f86
browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2541) 2020-06-19 10:24:19 -07:00
Yury Semikhatsky 636e274412
browser(webkit): revert WebCore agent and frame-based implementation (#2635) 2020-06-18 15:47:53 -07:00
Yury Semikhatsky 38089aba88
browser(webkit): support screencast on Mac (#2631) 2020-06-18 14:26:02 -07:00
Dmitry Gozman c544bffee3
browser(firefox): stop faking intercepting redirects (#2618)
We just cannot do it, so we report redirects as intercepted: false.
2020-06-18 10:40:34 -07:00
Pavel Feldman 02704e08c8
Update upstream_status.md 2020-06-17 23:23:51 -07:00
Andrey Lushnikov 082bb3c3c4
browser(firefox): rely on upstream permission separation per contexts (#2613) 2020-06-17 14:57:47 -07:00
Yury Semikhatsky 7ba72ce3d1
browser(webkit): support screencast on Windows (#2590) 2020-06-17 09:04:43 -07:00
Pavel Feldman dab715b195
browser(webkit): follow-up to the roll, fix the merge (#2600) 2020-06-16 22:30:55 -07:00
Dmitry Gozman ab5f5c8b78
browser(firefox): another way to report elements without layout object (#2597) 2020-06-16 21:38:32 -07:00
Pavel Feldman 0369062717
browser(webkit): roll to Tot 6/16/2020 (#2596) 2020-06-16 21:34:47 -07:00
Yury Semikhatsky 9bc7139cac
browser(webkit): fix windows and mac unified builds after roll (#2595) 2020-06-16 17:41:05 -07:00
Dmitry Gozman f2af30cf90
browser(firefox): properly instrument requests intercepted by service worker (#2594)
When httpChannel is intercepted by Service Worker:
- it gets an internal redirect to another channel with the same id;
- once serivce worker responds, the channel gets the data, but
  does not get any onResponse notifications.

So, we update our ResponseBodyListener (the nsIRequestObserver implementation)
to the new request and force onResponse from there once data is available or
request finishes.
2020-06-16 17:19:01 -07:00
Yury Semikhatsky 4b2efd6e3e
browser(webkit): reference GApplication to keep browser alive on GTK (#2593) 2020-06-16 16:20:42 -07:00
Yury Semikhatsky 898f1157ab
browser(webkit): print context leaks when closing browser (#2591) 2020-06-16 15:41:07 -07:00
Yury Semikhatsky e6a4cff05c
browser(webkit): roll to 06/15 (#2581) 2020-06-16 15:04:57 -07:00
Dmitry Gozman 9e7ea3ff7b
browser(firefox): Page.scrollIntoViewIfNeeded throws for invisible elements (#2584)
This is similar to other browsers that report distinct errors for
'not connected' vs 'not visible' cases.
2020-06-16 06:13:58 -07:00
Yury Semikhatsky bda6203a91
browser(webkit): configure video scale (#2553) 2020-06-11 19:27:53 -07:00
Yury Semikhatsky dadfe3e876
browser(webkit): add more missing libraries to WPE build (#2546) 2020-06-11 13:08:51 -07:00
Yury Semikhatsky 0e62d72761
browser(webkit): add missing wayland library to WPE build (#2543) 2020-06-11 11:07:32 -07:00
Yury Semikhatsky 855ffa46ca
browser(webkit): fix windows build (#2536) 2020-06-10 21:34:22 -07:00
Pavel Feldman de893c652e
browser(webkit): speculative downloads-related crash fix (#2535) 2020-06-10 20:48:29 -07:00
Yury Semikhatsky 6f048438c1
browser(webkit): preserve compositing mode in WPE web process (#2508) 2020-06-10 19:00:56 -07:00
Yury Semikhatsky d7f867db47
browser(webkit): screencast for WPE (#2516) 2020-06-10 12:50:43 -07:00
Andrey Lushnikov 3bff136825
chore: bump firefox build number
Bots were updated; kicking all bots to build firefox.
2020-06-09 23:42:10 -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
Pavel Feldman 6d8f39b318
browser(webkit): return proper error upon missing page proxy (#2519) 2020-06-09 18:44:43 -07:00
Pavel Feldman 492a65f9d3
browser(webkit): include browserContextId in all Playwright* events (#2513) 2020-06-09 14:10:06 -07:00
Dmitry Gozman ee3379a80f
browser(firefox): remove non-existing files from build (#2507) 2020-06-08 17:04:37 -07:00
Dmitry Gozman ac88f98999
browser(firefox): properly hide scrollbars in all frames (#2505) 2020-06-08 15:54:47 -07:00
Pavel Feldman 4ec215a88b
browser(firefox): allow setting download behavior of default context (#2502) 2020-06-08 13:49:33 -07:00
Yury Semikhatsky 2250e9606f
browser(webkit): fix wpe build (#2501) 2020-06-08 12:50:06 -07:00
Yury Semikhatsky 4cac74f8c2
browser(webkit): continue screecast after cross-process navigation (#2499) 2020-06-08 10:53:09 -07:00
Yury Semikhatsky 71dd9c2f02
Revert "browser(webkit): exclude gstreamer, its plugins and libdrm fr… (#2482)
* Revert "browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2476)"

This reverts commit fc2432a23a.

* Update build num
2020-06-05 10:43:06 -07:00
Yury Semikhatsky fc2432a23a
browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2476) 2020-06-05 07:39:28 -07:00
Pavel Feldman 616ae5044d
browser(webkit): support bypass list on Mac (#2479) 2020-06-04 21:01:38 -07:00
Andrey Lushnikov a26311a18a
browser(firefox): support proxy bypass (#2467) 2020-06-04 16:07:45 -07:00
Yury Semikhatsky 53f6caf57d
browser(webkit): manually reencode image as multiple frames (#2470) 2020-06-04 14:30:12 -07:00
Andrey Lushnikov 95ef71c43c
devops: support --juggler argument for firefox/build.sh script (#2472) 2020-06-04 14:26:51 -07:00
Pavel Feldman c03b39a30e
browser(webkit): roll back to using same proxy for http & https (#2471) 2020-06-04 13:56:51 -07:00
Joel Einbinder 601eddfa98
browser(webkit): fix scrolling with mobile viewport (#2468) 2020-06-04 12:27:39 -07:00
Andrey Lushnikov 3c9699dc7c
browser(firefox): support Browser.setProxy method in juggler (#2464)
This lets us support network proxies per browser context.
2020-06-04 08:52:43 -07:00
Yury Semikhatsky 1392dcd680
browser(webkit): add injected bundle to webkit distribution on linux (#2461) 2020-06-03 17:49:57 -07:00
Yury Semikhatsky 18aafc361f
fix(build): respect relative path in archive.sh (#2462) 2020-06-03 17:47:33 -07:00
Yury Semikhatsky 8149e1d9dd
build(webkit): inlcude libvpx.so.5 into the .zip (#2458) 2020-06-03 16:35:45 -07:00
Pavel Feldman a55687d5f5
browser(webkit): pass proxy url as is for https support (#2460) 2020-06-03 15:11:50 -07:00
Yury Semikhatsky 9158ca19a0
browser(webkit): roll to 06/03/20 (#2457) 2020-06-03 12:47:12 -07:00
Yury Semikhatsky fcc5f75baa
Revert "browser(webkit): roll to 06/03/20 (#2455)" (#2456) 2020-06-03 12:21:27 -07:00
Yury Semikhatsky 09b277c3f6
browser(webkit): roll to 06/03/20 (#2455) 2020-06-03 12:10:08 -07:00
Pavel Feldman abfd278461
browser(webkit): allow setting proxy per browser context (#2445) 2020-06-03 08:41:43 -07:00
Yury Semikhatsky a82139bc98
browser(webkit): fix windows and wpe builds (#2443) 2020-06-02 19:13:54 -07:00
Yury Semikhatsky 7edb6b94af
browser(webkit): configure video frame size over the protocol (#2442) 2020-06-02 18:40:16 -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
Yury Semikhatsky 8e8f9786a7
browser(webkit): scale screencast frames on resize (#2441) 2020-06-02 15:20:13 -07:00
Pavel Feldman c02a862b62
browser(webkit): implement support for proxy (#2436) 2020-06-02 10:29:41 -07:00
Yury Semikhatsky 0a34d05b3e
browser(webkit): encode screencast frames on a dedicated thread (#2433) 2020-06-01 15:17:27 -07:00
Andrey Lushnikov 721d56a81e
browser(webkit): report 'eventsource' as resource type (#2423)
Review URL: 77a29015e3

This uses `initiatorIdentifier` to mark resource request as
originating from event source.

This is alternative to #2396.

References #2189
2020-05-31 23:42:19 -07:00
Yury Semikhatsky 3cad857644
browser(webkit): record screenast for non-accelerated compositing (#2418) 2020-05-31 08:06:52 -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
Yury Semikhatsky 084d5ff48f
browser(webkit): revert all changes and hacks to Page.navigate (#2411) 2020-05-29 15:12:31 -07:00
Pavel Feldman fc11b59cd3
chore: update WebKit upstream status 2020-05-29 15:09:26 -07:00
Yury Semikhatsky 767f6bfeb9
browser(webkit): report codec init errors to the client (#2410) 2020-05-29 12:33:24 -07:00
Arjun Attam 1722dcb8fa
docs: link to wk upstream status 2020-05-29 11:30:17 -07:00
Pavel Feldman 4e8a03cd8b
browser(webkit): roll to ToT 5-28-2020 (#2398) 2020-05-28 18:49:45 -07:00
Pavel b62a65587b chore: add webkit upstream status md (proper folder) 2020-05-28 16:35:16 -07:00
Pavel 0ca8065775 chore: add webkit upstream status md 2020-05-28 16:34:11 -07:00
Yury Semikhatsky 91a102b13c
browser(webkit): fix copyright header (#2393) 2020-05-28 15:40:41 -07:00
Yury Semikhatsky 2b21a5f6ad
browser(webkit): fix Windows compilation (#2391)
eeb40e0539
2020-05-28 13:24:02 -07:00
Yury Semikhatsky 9bf6348a27
browser(webkit): GTK screencast recoder based on vp8 (#2388) 2020-05-28 10:42:58 -07:00
Andrey Lushnikov 0ed052f9e9
browser(firefox): expose internal request cause along with external one (#2383) 2020-05-28 09:23:14 -07:00
Joel Einbinder 2f345c7828
browser(webkit): fix crash when commands are handled in the UIProcess (#2327)
Co-authored-by: Joel Einbinder <joel.einbinde@gmail.com>
2020-05-21 07:33:38 -07:00
Yury Semikhatsky 9ef7e1300a
browser(webkit): fix mac compilation (#2319) 2020-05-20 18:25:35 -07:00
Yury Semikhatsky d99ebc9265
browser(webkit): fix mac compilation (#2317) 2020-05-20 15:48:31 -07:00
Yury Semikhatsky 9808d8bc03
browser(webkit): add Playwright enable/disable commands (#2314) 2020-05-20 14:54:47 -07:00
Dmitry Gozman 5d0b5625fa
browser(firefox): set initial page url to about:blank (#2300) 2020-05-19 10:30:36 -07:00
Yury Semikhatsky 0bc4906196
browser(webkit): use unsigned long instead of size_t to fix Win (#2295) 2020-05-18 23:38:54 -07:00
Yury Semikhatsky 96f9bbee71
browser(webkit): fix windows build (#2294) 2020-05-18 22:30:47 -07:00
Yury Semikhatsky 5a6973fe69
browser(webkit): support jpeg screencast frames on WPE and Win (#2290) 2020-05-18 18:23:03 -07:00
Dmitry Gozman 40ea0dd23b
browser(firefox): make default viewport work in default context (#2277) 2020-05-18 09:47:40 -07:00
Yury Semikhatsky 9c7e43a83b browser(webkit): roll to 05/15/20 (#2260) 2020-05-15 13:47:23 -07:00
Joel Einbinder 5a883a5877
browser(firefox): support internal drag and drop (#2243) 2020-05-14 18:30:02 -07:00
Yury Semikhatsky 4d27aadb13
browser(webkit): fix compilation on Mac (#2253) 2020-05-14 16:45:39 -07:00
Yury Semikhatsky 8fb2c7e8fa
browser(webkit): fix compilation on Win (#2251) 2020-05-14 16:29:07 -07:00
Yury Semikhatsky 2073bcb867
browser(webkit): fix compilation on Mac (#2249) 2020-05-14 16:14:09 -07:00
Yury Semikhatsky f743cd9763
browser(webkit): introduce screencast agent in web process (#2248) 2020-05-14 15:48:05 -07:00
Pavel Feldman 62ae079035
browser(webkit): destroy main window after the view (#2233) 2020-05-13 22:54:43 -07:00
Pavel Feldman 5c43fb4a96
browser(webkit): unfork windows bits (#2228) 2020-05-13 19:28:59 -07:00
Pavel Feldman 34373b3ace
browser(webkit): compute non-header suggested name on windows (#2227) 2020-05-13 18:24:05 -07:00
Yury Semikhatsky 03cae92ff2
browser(webkit): remove BackendDispatcher::Mode (#2223) 2020-05-13 16:46:25 -07:00
Yury Semikhatsky d611ca9278
browser(webkit): do not transform about:blank to about:///blank (#2221) 2020-05-13 15:35:43 -07:00
Yury Semikhatsky ebceaf4328
chore: make prepare_checkaout update browser_upstream/master (#2209) 2020-05-12 15:20:12 -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
Dmitry Gozman 5b57303c9c
browser(webkit): expose Playwright.windowOpen signal (#2163) 2020-05-08 18:39:00 -07:00
Joel Einbinder 85bfba52a6
browser(webkit): properly specifiy keyIdentifier (#2149) 2020-05-08 04:54:28 -07:00
Pavel Feldman fde2b7290a
browser(webkit): rewite Playwright CMakeLists.txt (#2153) 2020-05-07 22:45:59 -07:00
Pavel Feldman 95b849535b
browser(webkit): roll to ToT 5/7/2020 (#2147) 2020-05-07 20:17:40 -07:00
Pavel Feldman 59e9b5c017 browser(firefox): kick bots 2020-05-07 19:51:01 -07:00
Pavel Feldman e247506169
browser(firefox): roll ff to ToT 5/7/2020 (#2148) 2020-05-07 18:37:15 -07:00
Vasilii Artemchuk 4c4fa8d38c
docs: some syntax fixes (#2116) 2020-05-07 12:33:35 -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
Dmitry Gozman 7521f69db8
browser(webkit): do a full rendering update before accessing layout information (#2121)
References #2111.
2020-05-05 15:05:05 -07:00
Yury Semikhatsky 840e4209a3
browser(webkit): support jpeg frames in screencast (#2107) 2020-05-05 10:45:54 -07:00
Pavel Feldman 38a78bf96b
browser(webkit): install page group preferences to new pages (#2118) 2020-05-05 10:30:25 -07:00
Pavel Feldman 7e9a8dd402 browser(firefox): bump the version 2020-05-04 16:09:42 -07:00
Yury Semikhatsky 142e5859c1
browser(webkit): GTK build fix (#2096) 2020-05-04 13:06:11 -07:00
Yury Semikhatsky 4a4e610a22
browser(webkit): basic screencast support for GTK and Mac (#2094) 2020-05-04 12:08:30 -07:00
Pavel Feldman c62cb78c7a
browser(webkit): block 3rd party cookies by default (#2088) 2020-05-03 19:15:07 -07:00
Pavel bba1cff0a7 chore: bump webkit build to kick bots 2020-05-01 12:11:40 -07:00
Andrey Lushnikov de32d39988
Revert "devops: teach buildbots to run sanity check script (#2064)" (#2075)
This reverts commit 4c2c4855f7.
We'd rather add a mac 10.14 test bot.
2020-05-01 12:09:36 -07:00
Pavel Feldman 60eb1bf2a0
browser(webkit): provide suggested file name for downloads (#2063) 2020-05-01 10:08:58 -07:00
Andrey Lushnikov 4c2c4855f7
devops: teach buildbots to run sanity check script (#2064)
This should make sure that build actually runs.
2020-04-30 17:42:52 -07:00
Pavel 67deffe12f browser(webkit): follow up to satisfy mac linter 2020-04-29 16:14:31 -07:00
Pavel Feldman b94f9108f1
browser(webkit): introduce Page.setActivityPaused (#2041) 2020-04-29 15:15:30 -07:00
Yury Semikhatsky b6d1cbf402
browser(firefox): report new window downloads (#2014) 2020-04-28 14:20:07 -07:00
Yury Semikhatsky 910469cd03
chore: do not run git fetch in export.sh (#2015) 2020-04-28 11:42:01 -07:00
Pavel Feldman d52bd92983
chore: read browser revisions off browsers.json (#2009) 2020-04-28 10:37:23 -07:00
Yury Semikhatsky a43eac3809
browser(firefox): use separate web processes for different contexts (#1975) 2020-04-24 17:55:08 -07:00
Yury Semikhatsky b498a3f2ba
browser(webkit): make blob downloads work on Mac (#1971) 2020-04-24 16:53:25 -07:00
Yury Semikhatsky 242c3667ce
browser(webkit): fix compilation when orientation events are disabled (#1970) 2020-04-24 16:11:00 -07:00
Yury Semikhatsky e6c2cad6b4
browser(webkit): add frame id to download info (#1953) 2020-04-23 16:40:14 -07:00
Yury Semikhatsky 05f0797211
browser(firefox): support blob downloads (#1945) 2020-04-23 14:26:00 -07:00
Pavel Feldman 471ccc72d3
browser(webkit): roll to ToT 4/23/2020 (#1943) 2020-04-23 12:20:37 -07:00
Pavel Feldman fa59372248
browser(webkit): roll to ToT 4/22/2020 (#1940) 2020-04-23 10:34:31 -07:00
Dmitry Gozman 70d727d343
browser(webkit): ensure autorelease pools are drained on mac (#1933)
Drive-by: do not require 10.15-only QuickLookThumbnailing framework on 10.14.
2020-04-22 21:49:00 -07:00
Pavel Feldman 91c0631827
browser(webkit): extract webkit embedders into webkit/src (#1919) 2020-04-22 10:52:17 -07:00
Pavel Feldman 2313cebdca
browser(webkit): fix leaking popup windows (#1908) 2020-04-21 21:00:58 -07:00
Joel Einbinder 48cbee1c32
browser(firefox): disable the extension blocklist (#1909)
This saves a few hundred milliseconds.
2020-04-21 17:59:27 -07:00
Yury Semikhatsky 18fb7f90ba
browser(webkit): ignore WebSocket HTTPS errors on Mac (#1899) 2020-04-21 10:38:28 -07:00
Pavel Feldman 74ce0412ad
browser(webkit): roll to ToT 4/20/2020 (#1898) 2020-04-21 09:45:49 -07:00
Pavel Feldman 37ad5528c4
browser(webkit): allow windows larger than display on Win (#1888) 2020-04-20 16:56:03 -07:00
Yury Semikhatsky 5406b77932
docs: add a note about string quoting 2020-04-20 10:11:01 -07:00
Yury Semikhatsky 26c7b30cf6
browser(webkit): bump version to kick off next build on bot (#1875) 2020-04-20 09:27:30 -07:00
Yury Semikhatsky c0ce6c7c76
browser(webkit): fix win compilation (#1874) 2020-04-20 09:18:49 -07:00
Andrey Lushnikov b8259837a4 devops: disable previews on telegram bot messages 2020-04-20 04:24:18 -07:00
Andrey Lushnikov e0d3e4811d devops: use node.js to gzip logs
This way we can keep streaming logs to STDOUT.
2020-04-20 02:52:26 -07:00
Andrey Lushnikov ea95a9122d
devops: start uploading build logs to bots (#1870)
Logs will be saved next to the build archive, with the same name
and double extension `.log.zip`.
2020-04-20 01:25:25 -07:00
Yury Semikhatsky e466508ab1
browser(webkit): fix mac&win compilation (#1856) 2020-04-17 22:56:31 -07:00
Yury Semikhatsky 1912fbfe54
browser(webkit): simulate device orientation events (#1851)
* Enable orientation events

* browser(webkit): simulate device orientation events
2020-04-17 15:21:01 -07:00
Pavel Feldman 846af74b05
browser(firefox): do not use system colors for controls (#1838) 2020-04-16 18:13:53 -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 b2de970eb0
browser(webkit): events informing about popup windows being open (#1794) 2020-04-15 14:05:00 -07:00
Andrey Lushnikov abb87f25a9
devops: always get BUILD_NUMBER from upstream (#1805)
This makes `export.sh` indepotent.
2020-04-15 13:23:21 -07:00
Dmitry Gozman cbad583f8a
browser(firefox): prepare to collect signals during actions (#1772) 2020-04-15 12:02:08 -07:00
Joel Einbinder 762dfe1a59
browser(webkit): fix intercepting with a redirect (#1787) 2020-04-15 11:17:33 -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
Pavel Feldman f36973f683
browser(webkit): propagate language change to site processes (#1769) 2020-04-13 16:57:22 -07:00
Pavel Feldman b95fcaeee5
browser(webkit): move context instrumentation from pool to dataStore (#1763) 2020-04-13 14:56:01 -07:00
Yury Semikhatsky 126b54f767
browser(firefox): implement Page.scrollIntoViewIfNeeded (#1759) 2020-04-13 11:31:02 -07:00
Pavel Feldman 383332c7c9
browser(webkit): trim down the win embedder (#1748) 2020-04-10 17:01:32 -07:00
Yury Semikhatsky 909dd74666
browser(webkit): roll to r259720 (#1708) 2020-04-10 14:46:14 -07:00
Pavel Feldman 99c3f2b279
browser(webkit): fork windows minibrowser (#1743) 2020-04-10 12:34:43 -07:00
Yury Semikhatsky f282400e1f
fix(firefox): disable captive portal service (#1737) 2020-04-09 19:03:36 -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 22a7636ab0
browser(webkit): always open local Web Inspector on "Inspect element" (#1711) 2020-04-08 13:13:31 -07:00
Yury Semikhatsky 4d4e8561ed
browser(webkit): open inspector undocked by default (#1706) 2020-04-08 11:49:23 -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 56fbfc2c9e
fix(firefox): do not make stray network requests (#1673) 2020-04-06 12:27:13 -07:00
Pavel Feldman 11ad172822
browser(firefox): allow setting colorScheme on the context level (#1672) 2020-04-06 12:26:42 -07:00
Andrey Lushnikov e9428b6f01
devops: fixate diff algorithm to not rely on dev settings (#1663) 2020-04-03 18:58:31 -07:00
Pavel Feldman 3c01bf613e
browser(webkit): account for non-Mac device scale factor (#1661) 2020-04-03 18:41:17 -07:00
Dmitry Gozman fc73d54039
browser(firefox): instrument all browser windows early enough (#1645) 2020-04-03 15:31:26 -07:00
Yury Semikhatsky b1580a3ed1
browser(webkit): roll to r259389 (#1643) 2020-04-02 15:57:50 -07:00
Pavel Feldman f3f10ae3d8
browser(webkit): support downloads on windows (#1642) 2020-04-02 12:07:57 -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 d0073ef9e5
chore(firefox): update cheatsheet with logging instructions (#1609) 2020-03-31 13:23:35 -07:00
Pavel Feldman a2e1d4c29d
browser(webkit): implement support for downloads (#1596) 2020-03-30 19:26:05 -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
Joel Einbinder e796bfd815
browser(webkit): do not apply platform filters to accessibility snapshot (#1528)
This will fix the "should work with regular text" accessibility test that current fails on webkit+linux.
2020-03-27 00:50:25 -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
Yury Semikhatsky 5d03be7ab1
feat(webkit): roll WebKit to r258828 (#1517) (#1556)
Resolved conflicts: 94ea16136d
2020-03-26 14:34:02 -07:00
Yury Semikhatsky 8f8b75c1b1
devops(webkit): force JHBUILD on GTK/WPE for now (#1555) 2020-03-26 13:08:12 -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 3e8a6ac347
devops: update docs regarding bubblewrap on linux 2020-03-24 14:28:11 -07:00
Yury Semikhatsky 7943e00aa2
Revert "feat(webkit): roll WebKit to r258828 (#1517)" (#1522)
This reverts commit e14efd511f.

this moves webkit build from JHBuild onto Flatpak, and we're not ready yet 🤷‍♂️
2020-03-24 14:17:04 -07:00
Andrey Lushnikov 231c878719
devops: support browser aliases in export.sh and prepare_checkout.sh (#1520)
This lets you use `ff` for `firefox` and `wk` for `webkit`

```sh
$ ./browser_patches/prepare_checkout.sh ff
```
2020-03-24 13:22:46 -07:00
Yury Semikhatsky e14efd511f
feat(webkit): roll WebKit to r258828 (#1517)
Resolved conflicts: 94ea16136d
2020-03-24 13:13:23 -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 5fc1a04412
browser(webkit): manager permissions on the proxy level (#1450) 2020-03-20 16:42:03 -07:00
Yury Semikhatsky 053bab1afd
browser(webkit): correctly detect Promise created in another window (#1446) 2020-03-20 15:53:04 -07:00
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
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
Andrey Lushnikov 62ed659158 devops: fix TLS on webkit-wpe and webkit-gtk 2020-01-17 21:38:22 -08:00
Andrey Lushnikov 44c808a29d devops: support webkit-gtk-wpe in the check_cdn.sh 2020-01-17 19:07:58 -08:00
Pavel Feldman 145600ab68 browser(webkit): remove wk1 on win+linux (#531) 2020-01-17 17:09:45 -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
Andrey Lushnikov d62080ff1e devops: report upload build size via TG notification 2020-01-17 16:56:04 -08:00
Dmitry Gozman 2520dedb41
browser(firefox): support workers (#526)
a0549a0f64
2020-01-17 16:40:30 -08:00
Andrey Lushnikov c517542f39 devops: send tg notifications for webkit-gtk-wpe 2020-01-17 16:37:49 -08:00
Andrey Lushnikov 8483245d87 devops: pack inspector protocol 2020-01-17 16:32:54 -08:00
Andrey Lushnikov 4ee2643598 devops: combine webkit-wpe and webkit-gtk together 2020-01-17 16:27:07 -08:00
Andrey Lushnikov e750da376e devops: fix firefox's archive.sh 2020-01-17 15:36:22 -08:00
Andrey Lushnikov 64884dc278 devops: produce webkit-wpe builds 2020-01-17 14:43:00 -08:00
Andrey Lushnikov 928d04dc26 chore: bump browser numbers to test new intrastructure 2020-01-17 14:28:17 -08:00
Andrey Lushnikov 9a944db53f devops: rewrite checkout_build_archive_upload with build flavors
This patch establishes the following convention:
- scripts `checkout_build_archive_upload.sh` and `upload.sh` now accept
  build flavor instead of browser name. Build flavor fully defines the
  build produced / uploaded.
- scripts under `//browser_patches/webkit` and
  `//browser_patches/firefox` produce build that is specific to the host
  system.
2020-01-17 14:27:17 -08:00
Andrey Lushnikov 9e27d140c3 devops: rename minibrowser-linux into minibrowser-gtk
This is a preparation for the minibrowser-wpe upcoming build.
2020-01-17 13:42:33 -08:00
Andrey Lushnikov 14b2d5c83d devops: support webkit-wpe compilation
This patch:
- teaches `//browser_patches/webkit/build.sh` to accept the `--wpe` flag
- teaches `//browser_patches/webkit/archive.sh` to accept the `--wpe` flag
- teaches `//browser_patches/webkit/pw_run.sh` to parse the `--headless`
flag. In this case, we will assume that
`//browser_patches/webkit/checkout` is built for WPE and will pass
proper dependencies.
2020-01-17 13:33:52 -08:00
Andrey Lushnikov f9a86c0781 devops(win): fix webkit-win64 archiving step 2020-01-17 11:59:41 -08:00
Yury Semikhatsky 175f07e3dc
chore(webkit): bump build number to rebuild with new scripts (#524) 2020-01-17 10:47:20 -08:00
Pavel Feldman 3090f32e8a
fix(win): deploy less msvcruntime dlls (#522) 2020-01-17 09:44:49 -08:00
Pavel Feldman daed1c38f8 fix(win): deploy msvcruntime dlls (#521) 2020-01-17 09:24:45 -08:00
Pavel Feldman e93a0363f7 browser(webkit): make test runner link 2020-01-16 17:50:20 -08:00
Pavel Feldman 5bbb87bd07 browser(webkit): follow up to fix WKPageUIClientV14 usages 2020-01-16 17:16:53 -08:00
Andrey Lushnikov 814dbdab80
docs(devops): fix buildbots readme.md 2020-01-16 17:05:36 -08:00
Andrey Lushnikov ba2d9af5ae
docs(buildbots): document settings webkit-win env 2020-01-16 16:56:11 -08:00
Pavel Feldman 9c88649c6b browser(webkit): pass dialog tests on windows (#515) 2020-01-16 16:38:00 -08:00
Andrey Lushnikov a446d919fd devops: produce webkit win64 builds 2020-01-16 15:35:27 -08:00
Dmitry Gozman b4686f1eb9 browser(firefox): assorted fixes for evaluation and remote objects (#510) 2020-01-16 14:11:33 -08:00
Pavel Feldman 6b0b7500bd
browser(webkit): fix default context on windows (#504) 2020-01-16 12:49:17 -08:00
Dmitry Gozman 7785fd8191 browser(firefox): support isolated worlds (#500)
211f1f1bff
2020-01-16 11:52:22 -08:00
Yury Semikhatsky dccf540dc5 browser(webkit): show local inspector when controlled remotely (#508) 2020-01-16 11:12:59 -08:00
Yury Semikhatsky f246a1123f
browser(webkit): make gtk tests pass again (#503) 2020-01-15 18:02:32 -08:00
Pavel Feldman 0f1c30d54a
build(webkit): make keyboard work on win (#501) 2020-01-15 17:52:53 -08:00
Yury Semikhatsky ce1e79fe9f browser(webkit): fix debug compilation and some assertions (#498) 2020-01-15 11:54:36 -08:00
Pavel Feldman 30022a326f browser(webkit): initial windows cut (#497) 2020-01-15 10:48:27 -08:00
Yury Semikhatsky a662f2fdfd browser(webkit): remove browser context id from target info (#494) 2020-01-14 15:31:43 -08:00
Andrey Lushnikov 2387727b42
browser(firefox): improve firefox protocol types (#490)
Review URL: d8f3090d4a
2020-01-14 14:04:03 -08:00
Yury Semikhatsky f31d01acbc browser(webkit): notify client about provisional load failures (#483) 2020-01-14 09:50:05 -08:00
Joel Einbinder 21fce85036
fix(webkit): support the readonly attribute (#476)
`readOnlyValue()` was confusingly only the `aria-readonly` value. The real readonly value was determined by reading the `canSetValueAttribute` and `enabled` states.
2020-01-13 17:15:43 -08:00
Yury Semikhatsky d529ef95d2
browser(webkit): implement Browser.navigate (#473) 2020-01-13 16:35:08 -08:00
Andrey Lushnikov 883005a323
devops: fix firefox win64 upload to CDN (#469) 2020-01-13 13:55:45 -08:00
Andrey Lushnikov 27f32a72e9
devops: migrate to new CDN for browser builds (#467) 2020-01-13 13:27:03 -08:00
Joel Einbinder 678cb1b8f7 fix(webkit): fix modifier keys for mouse events (#460) 2020-01-10 21:20:59 -08:00
Andrey Lushnikov d5fb264b8c devops: remove --win64 flag from checkout_build_archive_upload.sh
Both `checkout_build_archive_upload.sh` and `upload.sh` scripts now
accept a `firefox-win64` browser instead of an optional `--win64` flag.

This is a preparation before introducing `webkit-wpe` parameter in these
scripts.
2020-01-11 03:15:29 +01:00
Andrey Lushnikov a8c6bd66cd devops: properly handle double quotes in TG notifications
Since we send JSON, double quotes have to be escaped.
2020-01-11 01:39:22 +01: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
Joel Einbinder a4f65c4073 fix(webkit): property accessibility values for roledescription and autocomplete (#458) 2020-01-10 15:52:34 -08:00