Andrey Lushnikov
3b180923a6
refactor(firefox): migrate onto Juggler flatten protocol ( #4033 )
...
Juggler now implements the same "flatten" protocol as CDP.
This patch:
* copies `Connection.js` from original Puppeteer (with a few renames, e.g. `CDPSesssion` -> `JugglerSession`).
* migrates code to support protocol-level sessions
2019-02-19 13:20:39 -08:00
Andrey Lushnikov
4a4793a5e1
feat(firefox): support Browser.target() ( #4028 )
...
Support browser target.
Drive-by: switch over to a more devtools'ish protocol:
- use `targetId` instead of `pageId` everywhere
- use target events instead of tab events
2019-02-17 10:23:48 -08:00
Andrey Lushnikov
ea482c4751
fix(firefox): properly cleanup networkmanager ( #4024 )
2019-02-15 23:34:01 -08:00
Andrey Lushnikov
9782f9c827
fix(firefox): add test to make sure remote browser can be closed ( #4023 )
2019-02-15 18:26:14 -08:00
Andrey Lushnikov
c35821a1a1
feat(firefox): switch over to WebSocket and support multiclient ( #4022 )
...
- switch transport from TCP to WS (yay!)
- implemenet `puppeter.connect()`, `browser.disconnect()`, `'disconnected'`
event and `browser.wsEndpoint()`
2019-02-15 17:57:48 -08:00
Andrey Lushnikov
e0d4a5d2ec
fix(firefox): track frame detachment in navigation watchdog ( #4008 )
2019-02-14 00:06:30 -08:00
Andrey Lushnikov
247733b879
fix(firefox): enable more firefox tests ( #4007 )
2019-02-13 23:59:38 -08:00
Andrey Lushnikov
e8f044c3be
fix(firefox): enable a bunch of evaluation tests ( #4006 )
2019-02-13 23:41:53 -08:00
Andrey Lushnikov
6350cf0892
fix(firefox): report more console messages (including warnings) ( #4005 )
2019-02-13 23:22:45 -08:00
Andrey Lushnikov
0b40d04b99
feat(firefox): support running beforeunload hooks when closing ( #4003 )
2019-02-13 22:16:12 -08:00
Andrey Lushnikov
e3b76b2beb
feat(firefox): support consoleMessage.location() ( #4002 )
2019-02-13 19:56:56 -08:00
Andrey Lushnikov
2275c3c0c8
fix(firefox): properly round clip when doing element screenshots ( #4001 )
...
Do clipping the same way we do it in Chromium.
2019-02-13 19:47:14 -08:00
Andrey Lushnikov
670d758dfe
feat(firefox): support "referer" option in Page.goto ( #4000 )
2019-02-13 13:49:05 -08:00
Andrey Lushnikov
fbf36438e8
feat(firefox): support Request.postData ( #3999 )
2019-02-13 13:11:50 -08:00
Andrey Lushnikov
13224a761e
feat(firefox): support Response.securityDetails() ( #3997 )
2019-02-13 11:56:51 -08:00
Andrey Lushnikov
31ae1d6d15
feat(firefox) support Request.headers() & Response.headers() ( #3993 )
2019-02-13 00:55:56 -08:00
Andrey Lushnikov
89d0f1e1e7
feat(firefox): implement frame.goto / frame.waitForNavigation ( #3992 )
...
Some corner cases regarding iframes being detached during navigation
are not yet supported.
2019-02-12 20:10:53 -08:00
Andrey Lushnikov
1890dc04ba
feat(firefox): Page.waitForRequest/Page.waitForResponse ( #3989 )
...
Drive-by: refactor `Request.frame()` tests into a separate test suite.
2019-02-12 19:10:14 -08:00
Andrey Lushnikov
afb9355b15
feat(firefox): basic support for Network ( #3988 )
...
This patch introduces basic Request and Response events for
page. It also teaches navigation methods, e.g. `page.goto` to return
navigation response.
2019-02-12 17:38:48 -08:00
Andrey Lushnikov
b82cc150d1
feat(firefox): support Page.setJavascriptEnabled ( #3970 )
...
This patch implements:
- Page.setJavascriptEnabled
- Page.setCacheEnabled
2019-02-08 20:57:16 -08:00
Andrey Lushnikov
edb6f62824
feat(firefox): support page.setDefaultNavigationTimeout ( #3969 )
...
This patch supports:
- page.setDefaultNavigationTimeout
- page.setDefaultTimeout
2019-02-08 20:37:14 -08:00
Andrey Lushnikov
fc18a79e99
feat(firefox): support Page.setUserAgent method ( #3968 )
2019-02-08 19:53:27 -08:00
Andrey Lushnikov
cfefd611b8
feat(firefox): support target.opener() and page.on('popup') ( #3966 )
2019-02-08 19:21:54 -08:00
Andrey Lushnikov
0cf6ab68e7
feat(firefox): support page.browserContext() ( #3965 )
2019-02-08 18:58:40 -08:00
Andrey Lushnikov
c64e02e7c2
refactor(firefox): introduce FrameManager ( #3964 )
...
Split out frame management from Page into FrameManager.
FrameManager will keep track of page's frames and DOMWorlds.
2019-02-08 18:54:11 -08:00
Andrey Lushnikov
2a7ed1ada7
fix(firefox): add ExecutionContext to api ( #3963 )
2019-02-08 17:35:16 -08:00
Andrey Lushnikov
a9875359aa
feat(firefox): implement execution contexts ( #3962 )
2019-02-08 17:15:52 -08:00
Andrey Lushnikov
07b43ff29a
chore: remove Juggler from Puppeteer repository ( #3954 )
...
This patch removes Juggler from Puppeteer repository. Instead,
Juggler development is hosted now at
https://github.com/puppeteer/juggler
2019-02-08 13:28:43 -08:00
Andrey Lushnikov
72c00474e7
refactor(firefox): introduce /lib/Events ( #3949 )
...
Declare all events in `/lib/Events.js`, similarly to how
we do it in Puppeteer.
2019-02-07 18:03:48 -08:00
Andrey Lushnikov
6b18e8cef5
feat(firefox): introduce async stacks for Puppeteer-Firefox ( #3948 )
...
This patch refactors Puppeteer-Firefox code to declare public
API in `/lib/api.js` and use it to setup async stack hooks
over the public API method calls.
2019-02-07 15:18:43 -08:00
Andrey Lushnikov
c33be4cae4
refactor(firefox): split out JSHandle into a separate file ( #3945 )
2019-02-07 09:39:31 -08:00
Andrey Lushnikov
609e763381
test(firefox): enable screenshot tests for Firefox ( #3942 )
...
References #3889
2019-02-07 07:59:14 -08:00
Andrey Lushnikov
a762dbe96f
chore(ci): add Puppeteer-Firefox to CI ( #3932 )
...
This patch adds Puppeteer-Firefox bot running on Linux+Node8
on Cirrus CI.
References #3889
2019-02-06 14:28:02 -08:00
Paul Irish
c3b6619432
chore(firefox): readme link to isready site ( #3930 )
2019-02-06 10:06:36 -08:00
Andrey Lushnikov
1676f9927c
chore(firefox): move sources from //lib/firefox to //lib ( #3920 )
2019-02-05 18:56:04 -08:00
Andrey Lushnikov
28087c291f
feat(firefox): support ElementHandle.contentFrame() ( #3917 )
2019-02-05 13:29:49 -08:00
Andrey Lushnikov
69c434af75
test(firefox): further unify Puppeteer-Firefox and Puppeteer tests ( #3894 )
...
This patch:
- changes Puppeteer-Firefox plumbing of defaultBrowserOptions to align
with the way we do it for Puppeteer.
- plumbs puppeeteer-dependent Errors and DeviceDescriptors down to every
test.
- unifies a few tests between Puppeteer-Firefox and Puppeteer.
**Note:** in future, we should expose errors as `puppeteer.errors` and
device descriptors as `puppeteer.devices` to make it easy to pass around
Puppeteer/Puppeteer-Firefox instance.
References #3889 .
2019-02-02 18:49:12 -07:00
Andrey Lushnikov
b5e53fdbf4
test(firefox): add puppeteer-firefox unique evaluation tests ( #3891 )
...
References #3889
2019-02-01 18:40:40 -08:00
Andrey Lushnikov
fd67fa7a36
test(firefox): run puppeteer-firefox tests in browser contexts ( #3887 )
...
This patch starts running all Puppeteer-Firefox tests in separate
browser contexts.
2019-02-01 14:52:25 -08:00
Andrey Lushnikov
bd347558bc
feat(ppfox): implement browser contexts ( #3872 )
...
BrowserContexts are necessary to run Puppeteer tests against Puppeteer-Firefox
2019-02-01 14:09:18 -08:00
Andrey Lushnikov
d89ec00122
fix(ppfox): check directory existance if necessary when running tests ( #3871 )
2019-01-31 17:30:34 -08:00
Andrey Lushnikov
cd678fb591
chore(juggler): Roll Firefox to 120450a2 ( #3842 )
...
This patch:
- rebaselines C++ patchset atop of [Global Firefox Reformat](https://bugzilla.mozilla.org/show_bug.cgi?id=1511181 )
- rolls firefox to [120450a2](120450a2c5
)
- splits out preference installation step from Puppeteer-Firefox's
`install.js` into a separate
`puppeteer-firefox/misc/install-preferences.js`. This script is
re-used to install preferences when run with a custom executable path.
- fixes issue with ScrollbarManager that was re-injecting the same
stylesheet multiple times
2019-01-25 15:25:54 -05:00
Andrey Lushnikov
c81f03c250
docs(readme): fix pptrfx readme ( #3634 )
2018-12-06 12:39:03 -08:00
Andrey Lushnikov
be836bef63
docs(pptrfx): update readme ( #3633 )
2018-12-06 12:05:58 -08:00
Eric Bidelman
b874529467
readme(pptr-firefox): adjustments ( #3632 )
2018-12-06 11:48:06 -08:00
Andrey Lushnikov
45ab3e0332
feat: introduce puppeteer-firefox ( #3628 )
...
This adds a proof-of-concept of `puppeteer-firefox`.
This consists of two parts:
- `//experimental/juggler` - patches to apply to Firefox.
- `//experimental/puppeteer-firefox` - front-end code to
be merged with Puppeteer.
As things become more stable, we'll gradually move it out of
the experimental folder.
2018-12-06 11:24:00 -08:00