Commit graph

2126 commits

Author SHA1 Message Date
Jeremy Apthorp
3bdff2d238
feat: allow setting window shape (#13789)
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
2018-07-30 13:37:40 -07:00
Alexey Kuzmin
69f6bd921b chore(tests): allow usage of deprecated APIs in tests (#13659) 2018-07-30 11:27:58 +10:00
Milan Burda
39c5c200ba fix: util.promisify(setTimeout) (#13840) 2018-07-30 11:14:04 +10:00
Milan Burda
db38c8b620 Fix process.execPath returning parent process path instead of the helper in sandboxed renderer (#13839) 2018-07-30 11:13:42 +10:00
Birunthan Mohanathas
a42ca9eecc feat: Add BrowserWindow.setWindowButtonVisibility()
Fixes #12701 and supersedes #13131.

Ideally we would have added `setTitleBarStyle()`, but that is a
significantly more involved change. For example, consider the case where
we switch from `hidden` to `normal`. We would not only have to show the
traffic light buttons, we would also have to switch the window from a
frameless to a framed window and deal with various other window state.
Lets instead implement a simple solution for #12701.
2018-07-25 10:12:27 -07:00
Aleksei Kuzmin
ea16445be7 chore: [tests] update some BrowserWindow tests
- manually close an existing windows before creating a new one.
  We have to do it because the `afterEach` hook doesn't get called
  if a test fails.
- add some async/await goodies
2018-07-24 10:02:54 -07:00
Cheng Zhao
305e3aad40
refactor: remove private webContents.getId() API (#13674) 2018-07-23 18:08:36 +09:00
Cheng Zhao
a88cdf2d1f
spec: suppress mixed-sandbox test in Windows CI (#13769) 2018-07-23 18:08:06 +09:00
Cheng Zhao
9d6f1a372e
fix: create WebContents for webview on request (#13713) 2018-07-21 11:11:28 +09:00
John Kleinschmidt
613b03c3c7 build: disable found-in-page event test
On Windows release builds, the found-in-page event test causes the test suite to hang.  If the test is run individually, it works fine, but running it as part of the whole test suite causes the test suite to hang.  This works around the issue in #13704 by temporarily disabling that test.
2018-07-18 14:59:46 -04:00
Samuel Attard
777d0113d5
fix: create a window capturer correctly (#13689)
* fix: create a window capturer correctly

We were incorrectly creating two screen capturers instead of a window
capturer

* spec: ensure dc tests pass

* spec: enable all tests after verifying dc tests work
2018-07-17 14:20:50 +10:00
Cheng Zhao
222291631d spec: openDevTools should not crash for frameless window 2018-07-16 10:23:43 +09:00
PalmerAL
ffc15e02a6 fix: add native function to create preload script (#13032)
* add native function to create preload script

* add tests

* fix formatting

* fix tests

* rerun CI
2018-07-13 11:17:11 +09:00
John Kleinschmidt
facb210f64
Merge pull request #13494 from electron/expect-short-specs
chore(spec): convert smaller specs to expect
2018-07-12 08:45:34 -04:00
Felix Rieseberg
deedf6c3f4 feat: Add isCurrentlyAudible() to WebContents (#13614)
* 🔧 Add isCurrentlyAudible() to WebContents

* ❤️ Implement feedback, use await to wait for event

* 👷 Add missing imports
2018-07-12 21:35:11 +10:00
Jeremy Apthorp
bdceea6aca fix: enable spell checking, which broke in upgrade to ch66
Chromium commit [03563dd163][1] changed the way that the
spellcheck-enabled status was checked, defaulting to false.

Added the first (!) test for spellchecking, too.

Fixes #13608.

[1]: 03563dd163
2018-07-11 10:27:56 -07:00
Shelley Vohr
d5d76c56ed
address feedback 2018-07-10 14:20:03 -07:00
Tomas Rycl
9b6a37ead7 test: Better path compare than just strings (#13548)
* Better path comparision than just strings

* Linter fix

* Resolving paths first to always obtain absolute path so path.relative() can work

* Using assert.ok which better fits the test

* No need to resolve parameters of path.resolve

* Added assertion to type of returned path for download item
2018-07-10 21:38:11 +10:00
Cheng Zhao
35b867ff7d Fix failed devtools tests due to fs.statSyncNoException not working (#13584)
* Revert "spec: disable the i18nString test"

This reverts commit 86c79653de.

* update node to fix fs.statSyncNoException
2018-07-09 09:38:48 -05:00
Jeremy Apthorp
f50f8e3f3d chore: [gn] fix CSP warning in debugger API test (#13541)
There's an attempt to suppress the warning in `spec/static/main.js`, which
sets `process.env.ELECTRON_DISABLE_SECURITY_WARNINGS`. However, it sets the
variable too late in the boot process: by the time that line in main.js has
run, a child zygote has already been booted. `test.py` works around this by
setting that environment variable outside of the test process, to ensure that
it gets propagated to all children.

I've been running the GN tests directly with `./out/Default/electron
electron/spec`, rather than through the wrapper script, and the
`api-debugger-spec.js` tests were failing, because they depend on a particular
log message being the first one emitted, and the CSP warning was causing that
test to fail, since it wasn't being correctly suppressed.

Instead of writing another wrapper script, this just fixes the underlying thing
that the warning is complaining about, which I think is reasonable because the
test's pass/fail depends on this specific behaviour.
2018-07-06 15:01:33 -04:00
Cheng Zhao
86c79653de spec: disable the i18nString test
It is failed because of fs.statSyncNoException, I'll fix it in another
PR.
2018-07-06 09:07:56 +09:00
Cheng Zhao
56c24406d6 spec: enable back devtools tests 2018-07-06 09:07:56 +09:00
Hari Juturu
eb223f8bc3 Enable webview in sandbox renderer (#13435)
* Enable webview in sandbox renderer
Security: Inherit embedder prefs onto webview

* cache lastwebprefs
2018-07-03 02:06:26 +10:00
Shelley Vohr
42d173b343
spec: convert menu specs to expect (#13485)
* spec: convert menu-item spec to expect

* spec: convert menu spec to expect
2018-06-30 00:25:28 -07:00
Cheng Zhao
e42c6d3eb7
fix the crash when loading site with jquery (#13475) 2018-06-29 09:42:04 +09:00
Shelley Vohr
9489401e7d
spec: convert smaller specs to expect 2018-06-28 15:40:30 -07:00
Shelley Vohr
fa0704665f
test: temporarily disable failing specs (#13470) 2018-06-27 14:15:24 -07:00
Shelley Vohr
f9e2ec43d0
fix: deprecate properties in app.getAppMetrics() (#13446)
* fix: deprecate properties in app.getAppMetrics()

* address feedback from review

* fix deprecated property location

* simplify test
2018-06-26 23:47:01 -07:00
Cheng Zhao
44aad039c6 fix: do not expose Node's external strings (#13438) 2018-06-27 10:18:09 +10:00
Alexey Kuzmin
f4039d82c3 spec: rewrite and enable a webview's disableguestresize attr test (#13428) 2018-06-26 08:38:04 -07:00
Alexey Kuzmin
10a174fc6a spec: refactor helper closeWindow() function (#13337) 2018-06-22 00:43:15 +10:00
Alexey Kuzmin
b9da1575f0 spec: enable a disabled test (#13346) 2018-06-22 00:42:55 +10:00
Felix Rieseberg
562eddf0e9 test: Upgrade spec dependencies (#13310)
* 📦 Update mocha, mocha-junit-reporter

* 📦 Update graceful-fs, multiparty, q, walkdir

* 📦 Update basic-auth

* 📦 Update ws

* 📦 Update dbus-native

* 📦 Upgrade yargs

* 🔒 Run `npm audit fix`

* 🔧 Fix websocket API change
2018-06-20 17:18:24 +10:00
John Kleinschmidt
fc12b5cab3
Merge pull request #13283 from jack-teng1/fix-asar-pack-cant-find-module
fix: can't load module error when app is packaged
2018-06-19 14:58:37 -04:00
Heilig Benedek
f643ce4f66 revert: frame subscriber deprecation and re-enable tests 2018-06-19 19:49:44 +02:00
Jack Teng
3044607746 spec: fix asar spec due to change in node.js
node.js rename the internalModuleReadFile to internalModuleReadJSON
change spec to reflect this change
2018-06-19 10:42:21 -07:00
John Kleinschmidt
36c1e4cd75
Merge pull request #13267 from electron/expect-debugger-spec
spec: convert debugger spec to expect
2018-06-19 11:22:47 -04:00
John Kleinschmidt
faef453df5
Merge branch 'master' into expect-debugger-spec 2018-06-19 11:22:25 -04:00
Shelley Vohr
cba3a9fcce spec: convert deprecations to expect (#13268)
* spec: convert deprecations to expect

* address feedback from review
2018-06-19 10:22:08 -05:00
Shelley Vohr
9a79889692 spec: convert ipc specs to expect (#13273)
* spec: convert ipc specs to expect

* fix buffer value comparison
2018-06-19 10:21:50 -05:00
John Kleinschmidt
0219ef0feb
Merge pull request #13269 from electron/expect-desktop-capturer-spec
spec: convert desktop capturer to expect
2018-06-19 11:21:13 -04:00
Aleksei Kuzmin
5151a04613 spec: slightly rewrite webview tests 2018-06-19 13:27:49 +02:00
Aleksei Kuzmin
bbc8d50799 spec: add helper functions for async/await tests 2018-06-19 13:27:43 +02:00
Samuel Attard
efdf4f44c8 Remove stray .only 2018-06-19 11:49:46 +10:00
Samuel Attard
650631421f re-enable desktop capturer 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
25e5c174f5 Disable a test 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
b70ca6309c Disable a test 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
8f4d6a1995 Rewrite and enable one of the webview tests 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
ad74fb9210 Enable a test 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
da7cfba357 Enable Desktop Capturer tests 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
10c5141da0 Enable a few tests 2018-06-19 11:49:46 +10:00
Samuel Attard
10160b369b FIXME: getAppMetrics fails on windows CI 2018-06-19 11:49:46 +10:00
Samuel Attard
76f26341bf powerMontor crashes linux ia32, re-disable 2018-06-19 11:49:46 +10:00
Samuel Attard
8200a132be Re-enable cookie specs and add custom cookie name/url validation 2018-06-19 11:49:46 +10:00
Samuel Attard
c4f80a6d89 Enable power monitor test for linux 2018-06-19 11:49:46 +10:00
Samuel Attard
10e0d9b198 Enable process resource test 2018-06-19 11:49:46 +10:00
Samuel Attard
e70b93ad91 Enable childprocess.fork asar specs, fixed during run_as_node fixes 2018-06-19 11:49:46 +10:00
Samuel Attard
bc8525d2f3 re-enable native module tests 2018-06-19 11:49:46 +10:00
Samuel Attard
d9ec885dbc Fixed the spawn tests with the RUN_AS_NODE tests 2018-06-19 11:49:46 +10:00
Samuel Attard
f43eafb94e Fixed the fork tests, remove comment 2018-06-19 11:49:46 +10:00
Samuel Attard
de5bdc8be4 Fix inspector tests, you can now have multiple inspector sessions
Refs: https://github.com/nodejs/node/pull/20137
2018-06-19 11:49:46 +10:00
Samuel Attard
9b37e7d988 Re-enable node fork specs 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
0b12e425bd FIXME: Disable powerMonitor tests 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
03a63a485f FIXME: Disable some of the focus related tests
They all pass localy, so it must be a CI issue.
2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
e96d8b664d Skip one of the "chromium feature" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
1fae6a321c Skip crashReported tests on linux 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
de6a5de914 Disable all failing tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
417fe29dc0 Fix the media events test
Playing a media now requires a user gesture.
See https://goo.gl/xX8pDD.
2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
c786abf1e9 Add gfx:PointF support to mate::Converter
It's needed by atom_api_screen, BuildPrototype function on Windows.
2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
7886cfe408 FIXME: Disable "node feature child_process.fork" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
368734b8ab FIXME: Disable "node feature inspector" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
e240a16a20 FIXME: Disable "ses.cookies calls back with an error when setting a cookie with missing required fields" test 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
4a08779bc8 FIXME: Disable a couple of "debugger module debugger.sendCommand" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
3ca288aba4 FIXME: Disable "BrowserWindow module extensions and dev tools extensions works when used with partitions" test 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
6c0b5cd76c FIXME: Disable "BrowserWindow module beginFrameSubscription method" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
9b9a818c43 FIXME: Disable one of the <webview> tag tests. 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
7e4c0b304b Enable a few tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
32ff2ff8fb FIXME: Disable some of <webview> tag tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
a45b1a9205 FIXME: Disable a couple of webContents module tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
123b35a7f1 FIXME: Disable "asar package child_process.fork" tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
77ae8b65f7 FIXME: Disable desktopCapturer tests 2018-06-19 11:49:44 +10:00
deepak1556
7b47d69efe Remove did-get-response-details and did-get-redirect-request events
https://chromium-review.googlesource.com/c/chromium/src/+/805008
https://chromium-review.googlesource.com/c/chromium/src/+/786320
2018-06-19 11:49:41 +10:00
Zhuo Lu
ab24a1e36d feat: netLog API for dynamic logging control (#13068)
* Introduce `net.{start|stop}Logging()`

- Slight regression right now as Electron won't automatically start logging net-logs at launch, will soon be fixed
- To implement callback for async controls

* Add `net.isLogging` & optional callback param for `net.stopLogging()`

* Fix small regression on --log-net-log

--log-net-log should work again

* Error on empty file path

* Only start with valid file path

* Remove unused var

* Allow setting log file path before URLRequestContextGetter starts logging

* Add net log tests

* Remove redundant checks

* Use brightray::NetLog

* Clean up code

* Should automatically stop listening

* 🎨 Attempt to fix styles

* Only run non-null callback

* Dump file to tmpdir

* Simplify net log spec

Spawned Electron process on Linux CI can fail to launch

* Separate netLog module

* Remove net logging test from net spec

* Add tests for netLog

* Fix header guard

* Clean up code

* Add netLog.currentlyLoggingPath

* Callback with filepath

* Add test for case when only .stopLogging() is called

* Add docs

* Reintroduce error on invalid arg

* Update copyright

* Update error message

* Juggle file path string types
2018-06-19 11:45:58 +10:00
Shelley Vohr
b4cce8e240
spec: convert IAP and GC specs to expect (#13272)
* spec: convert IAP and GC specs to expect

* address review
2018-06-18 09:50:37 -07:00
Shelley Vohr
c65844a7d0
address review feedback 2018-06-18 08:56:24 -07:00
Shelley Vohr
314071d79f
feedback from review 2018-06-18 08:12:54 -07:00
Shelley Vohr
fe94bf7c1d
spec: convert dialog spec to expect (#13271) 2018-06-18 07:56:03 -07:00
Milan Burda
2eb5b751f3 exit HTML fullscreen when window leaves fullscreen (#13090) 2018-06-18 16:48:20 +09:00
Shelley Vohr
2c2e8317de
spec: convert desktop capturer to expect 2018-06-17 16:00:28 -07:00
Shelley Vohr
4dec5ec5f9
spec: update browser-view spec to expect (#13238)
* spec: update browser-view spec to expect
2018-06-17 15:56:04 -07:00
Shelley Vohr
79c2d22c25
remove assert require 2018-06-17 15:37:16 -07:00
Shelley Vohr
8d5fc61c12
spec: update browser-window-affinity spec to expect (#13239)
* spec: update browser-window-affinity spec to expect

* final cleanup
2018-06-17 15:36:30 -07:00
Shelley Vohr
e023035393
spec: convert debugger spec to expect 2018-06-17 15:35:24 -07:00
Shelley Vohr
c5c571f8ec
spec: update callback registry spec to expect (#13263)
* spec: update callback-reg-spec to sexpect

* remove stray only

* remove redundant assertions
2018-06-17 15:08:17 -07:00
Shelley Vohr
0ef0e69f03
spec: convert clipboard spec to use expect (#13266) 2018-06-17 14:47:51 -07:00
Shelley Vohr
a0d252870c
spec: update auto-updater spec to expect (#13237)
* spec: update auto-updater to expect
2018-06-16 00:28:28 -07:00
Shelley Vohr
91559191c9
spec: update app spec to assert (#13155)
* convert app spec from assert to expect and add dirty-chai
2018-06-14 09:44:27 -07:00
Alexey Kuzmin
6a59b37bea spec: better texts for the Crash Reporter tests (#13227)
* Better failure messages for a Crash Reporter test

* Add a TODO
2018-06-14 19:24:28 +10:00
Alexey Kuzmin
dee9aef975 Add "enable_desktop_capturer" build flag (#13133)
* Make it possible to disable a module for a renderer

* Put DesktopCapturer API under a build flag

The name is "enable_desktop_capturer".
Enabled by default.
2018-06-13 11:15:34 -05:00
Thiago de Arruda
6ff111a141 perf: don't use JSON to send the result of ipcRenderer.sendSync. (#8953)
* Don't use JSON to send the result of `ipcRenderer.sendSync`.

- Change the return type of AtomViewHostMsg_Message_Sync from `base::string16`
  to `base::ListValue`
- Adjust lib/browser/api/web-contents.js and /lib/renderer/api/ipc-renderer.js
  to wrap/unwrap return values to/from array, instead of
  serializing/deserializing JSON.

This change can greatly improve `ipcRenderer.sendSync` calls where the return
value contains Buffer instances, because those are converted to Array before
being serialized to JSON(which has no efficient way of representing byte
arrays).

A simple benchmark where remote.require('fs') was used to read a 16mb file got
at least 5x faster, not to mention it used a lot less memory.  This difference
tends increases with larger buffers.

* Don't base64 encode Buffers

* Don't allocate V8ValueConverter on the heap

* Replace hidden global.sandbox with NodeBindings::IsInitialized()

* Refactoring: check NodeBindings::IsInitialized() in V8ValueConverter

* Refactor problematic test to make it more reliable

* Add tests for NaN and Infinity
2018-06-13 17:38:31 +10:00