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.
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
- 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
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.
Review URL: c3a577c46d
With this roll, Firefox has DocumentChannel enabled by default in Desktop Firefox:
- https://phabricator.services.mozilla.com/D57898
DocumentChannel, unlike nsIHttpChannel, doesn't have a `channelId` that we
can use to attribute navigation requests (see
https://github.com/microsoft/playwright/pull/249).
The feature has to be disabled for now in PlayWright with the
`browser.tabs.documentchannel` pref until we figure how to support it.
This changes `export.sh` to export diffs instead of patches.
`export.sh` now does not touch working directory, thus not
triggering clean builds and not intefering with an on-going
build.