Commit graph

1680 commits

Author SHA1 Message Date
Hari Krishna Reddy Juturu
0b7e7458c9 WIP: Adding UT 2017-06-16 15:34:11 -07:00
Kevin Sawicki
f1a72ad108 Add spec for webview visibility change on show 2017-06-14 14:11:38 -07:00
Kevin Sawicki
45dc6fc04f Merge pull request #9645 from dharders/issue6036-fix-windows-fullscreen-startup-toggle
Fix unresponsive app after fullscreen->normal state toggle (Windows)
2017-06-14 14:10:00 -07:00
dharders
909344415e 🎨 Use leave-full-screen event instead of setTimeout() 2017-06-14 11:06:33 +10:00
Kevin Sawicki
fc00bf0cc3 Add initial spec for ELECTRON_RUN_AS_NODE with --inspect-brk 2017-06-12 14:04:57 -07:00
Shubham
f001377493 🍎 Fix an issue where alwaysOnTop window disappears when restored from the application icon 2017-06-07 12:28:50 -04:00
Kevin Sawicki
c60a9d242e Disable minimize spec on Linux CI 2017-06-06 16:58:28 -07:00
Kevin Sawicki
a53e98c0f3 Add visibilitystate test for showInactive 2017-06-06 16:45:46 -07:00
Kevin Sawicki
52137485f2 Add separate specs for hide/show/minimize visibilitychange events 2017-06-06 16:22:07 -07:00
Kevin Sawicki
28cd973805 Mention document.hidden in spec description 2017-06-06 15:20:08 -07:00
Kevin Sawicki
d2d28c42f1 Remove unused constant 2017-06-06 15:19:29 -07:00
Birunthan Mohanathas
7d2226e05e Let Chromium manage document.visibilityState and document.hidden
Chromium already includes the necessary plumbing to manage the
visibility properties and `visibilitychange` event so this gets rid of
most of our custom logic for `BrowserWindow` and `BrowserView`.

Note that `webview` remains unchanged and is still affected by the issues
listed below.

User facing changes:

- The `document` visibility properties and `visibilitychange` event are
  now also updated/fired in response to occlusion changes on macOS. In
  other words, `document.visibilityState` will now be `hidden` on macOS
  if the window is occluded by another window.

- Previously, `visibilitychange` was also fired by *both* Electron and
  Chromium in some cases (e.g. when hiding the window). Now it is only
  fired by Chromium so you no longer get duplicate events.

- The visiblity state of `BrowserWindow`s created with `{ show: false }`
  is now initially `visible` until the window is shown and hidden.

- The visibility state of `BrowserWindow`s with `backgroundThrottling`
  disabled is now permanently `visible`.

This should also fix #6860 (but not for `webview`).
2017-06-06 15:16:01 -07:00
Kevin Sawicki
53b6ee0e3f Merge pull request #9468 from tonyganch/9296-history-state
Remove page url check during `history.pushState`
2017-06-05 14:47:49 -07:00
Kevin Sawicki
af1d0c45ca Load URL after registering listener 2017-06-05 14:47:11 -07:00
Kevin Sawicki
777b5b17de Move pushState spec chromium-spec with other history specs 2017-06-05 14:45:45 -07:00
Kevin Sawicki
9a362eed53 Merge pull request #9572 from shubham2892/api-height-menubar-macos
API height menubar macos
2017-06-05 10:35:16 -07:00
deepak1556
50ac7b2edd Revert "Merge pull request #8724 from electron/defer_load_url"
Possible cause for #9121

This reverts commit 886b47e713, reversing
changes made to 479af3c9e2.
2017-06-05 19:04:21 +05:30
dharders
aeb68c2369 Add test for Windows fullscreen state toggle. Fix #6036 2017-06-05 11:39:15 +10:00
Kevin Sawicki
2508159a25 Use assert.fail for unexpected values 2017-05-31 08:39:49 -07:00
Kevin Sawicki
55fcb286a5 Run getGPUFeatureStatus spec on all platforms 2017-05-31 08:10:55 -07:00
Shubham
6537238c0d 🎨 code structure fix 2017-05-30 17:40:06 -04:00
Shubham
62d9bf9bae 🎨 code comments and test for getMenuBarHeight function 2017-05-30 17:26:02 -04:00
Kevin Sawicki
4a5831a733 Add initial getGPUFeatureStatus spec 2017-05-30 13:00:00 -07:00
Kevin Sawicki
5cf4995f2e DRY up logic to check if native modules should be loaded 2017-05-30 09:15:38 -07:00
Kevin Sawicki
edd840fcc0 Only assert GPU process on macOS 2017-05-26 10:10:56 -07:00
Kevin Sawicki
9f49b71b89 Add cross-origin frame webview spec 2017-05-26 10:10:36 -07:00
Kevin Sawicki
36989e19f8 Add spec for cross-origin blockage 2017-05-26 10:10:36 -07:00
Kevin Sawicki
e735aa7dee web-preferences -> webPreferences 2017-05-26 10:10:36 -07:00
Kevin Sawicki
f5cf6d4ddd Add spec for native window.open from iframe 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a0571e3c72 Add failing spec for native window.open returning null without allowpopups 2017-05-26 10:10:36 -07:00
Kevin Sawicki
ef01c16c6a Add tests for more nativeWindowOpen events 2017-05-26 10:10:36 -07:00
Kevin Sawicki
9f06b6dc21 Set allowpopups attribute in nativeWindow open specs 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a32b7e5cdb Co-locate nativeWindowOpen specs 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a2a7a1d8c7 Add new-window <webview> spec with nativeWindowOpen 2017-05-26 10:10:36 -07:00
Kevin Sawicki
da2b29796f Add same domain webview nativeWindowOpen spec 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a16cd0bd03 Add failing <webview> with nativeWindowOpen spec 2017-05-26 10:10:36 -07:00
Kevin Sawicki
9137a2279a Merge pull request #9486 from electron/child-observer
Adding CPU & Memory metrics for App
2017-05-26 09:28:22 -07:00
Kevin Sawicki
8b14df143a Don't assert GPU process on Linux 2017-05-26 09:14:17 -07:00
Kevin Sawicki
1e4dd9b163 Store process type as int 2017-05-26 08:53:26 -07:00
Kevin Sawicki
b5879b7399 🎨 Minor formatting/doc changes 2017-05-26 07:51:17 -07:00
Kevin Sawicki
d202c35be9 Enable crash reporter specs on Linux CI 2017-05-25 16:58:37 -07:00
Hari Juturu
de5eaf9336 Remove .only 2017-05-24 21:07:35 -07:00
Hari Juturu
939747945e Adding CPU & Memory metrics for App 2017-05-24 21:07:35 -07:00
Tony Ganch
6d64336978 Add test for #9468 2017-05-23 22:42:32 +02:00
Kevin Sawicki
647e88da5a Delete mock.pdf after download completes 2017-05-22 14:24:28 -07:00
rreimann
25015c4c63 Fix naming and formatting 2017-05-22 14:14:59 -07:00
rreimann
13665090d5 Add new test and enable plugins for existing tests 2017-05-22 14:14:59 -07:00
Kevin Sawicki
ad9496144f Remove buffers setting in write spec 2017-05-22 13:55:35 -07:00
Kevin Sawicki
6b7ec621e3 Throw error when non-Buffer specified instead of crashing 2017-05-22 13:53:58 -07:00
Ryohei Ikegami
a26e360e82 Remove console.log 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
f2471cb1b7 Rename buffer -> buffers 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
03fdc7aa28 Add buffer support in clipboard.write() 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
66cc07d8e9 Add clipboard.writeBuffer 2017-05-22 13:43:21 -07:00
Kevin Sawicki
74b7afbec7 Merge origin/master into enable-webview 2017-05-19 10:17:34 -07:00
Kevin Sawicki
92f14f8d52 printerList() -> getPrinters() 2017-05-18 10:14:55 -07:00
Kevin Sawicki
84a9b6a42d Merge remote-tracking branch 'origin/master' into renaesop_master 2017-05-18 10:08:40 -07:00
Kevin Sawicki
65ab71c894 Assert pid after load finishes 2017-05-17 17:10:41 -07:00
Kevin Sawicki
fd782706b2 Add explicit spec for removing preload from webview 2017-05-17 13:47:00 -07:00
Kevin Sawicki
e817dbf50a Add failing spec for webviewTag inheritance 2017-05-17 13:27:28 -07:00
Kevin Sawicki
bde13353fb Rename option to webviewTag and default to nodeIntegration value 2017-05-17 13:12:23 -07:00
Kevin Sawicki
837ea884de Merge remote-tracking branch 'origin/master' into enable-webview 2017-05-17 12:45:29 -07:00
Cheng Zhao
9bed0ffdbf Merge pull request #9440 from brenca/osr-fixes
Additional small OSR fixes
2017-05-17 17:14:27 +09:00
Thiago de Arruda
5654ff0d43 Add test for #9387 2017-05-16 09:07:41 -03:00
Kevin Sawicki
0ae5f7e623 Assert PID is 0 with no URL 2017-05-15 13:34:30 -07:00
Kevin Sawicki
d79ac8d9c1 Merge pull request #9222 from alexstrat/add-os-process-id
Add OS pid to web-contents
2017-05-15 13:28:47 -07:00
Alexandre Lachèze
9b776369e6 👕 2017-05-15 21:00:13 +02:00
Kevin Sawicki
bcbfd0d5c6 Disable crashReporter specs on Linux CI 2017-05-15 11:01:53 -07:00
Alexandre Lachèze
2f297b1893 Add simple spec for getOSProcessId() 2017-05-15 19:57:19 +02:00
Heilig Benedek
802501fb04 update osr specs 2017-05-13 02:14:30 +02:00
Kevin Sawicki
4fdb884feb Fix windows path in service worker spec 2017-05-11 15:33:56 -07:00
deepak1556
3c88447be6 protocol: provide default response code for custom request jobs 2017-05-11 15:33:56 -07:00
22222
4044548f3e Add 'will-prevent-unload' event. 2017-05-11 06:35:35 -05:00
Ryohei Ikegami
7ac93045b7 Merge branch 'master' into native-window-open 2017-05-11 13:51:43 +09:00
Kevin Sawicki
8c856922f3 Merge pull request #9292 from 22222/issue8911
Fix #8911
2017-05-09 09:06:26 -07:00
renaesop
dfcc882dcc Add a test for webcontents.printerList. 2017-05-09 10:38:03 +08:00
Hari Krishna Reddy Juturu
3321f7d39c Changing command line option name 2017-05-08 17:27:31 -07:00
Hari Krishna Reddy Juturu
357caf8991 fixing spec 2017-05-06 22:41:05 -07:00
Hari Krishna Reddy Juturu
939885bc66 Remove .only on spec 2017-05-06 22:14:52 -07:00
Hari Krishna Reddy Juturu
94d054cf11 Add option to override webview security 2017-05-06 22:10:42 -07:00
Hari Krishna Reddy Juturu
b4a8ed01f1 PR 44648: Enabling creation on webview with node-integration disabled and raising events
- Enabling creation on webview with node-integration disabled and raising events

Conflicts:
	lib/browser/guest-view-manager.js
2017-05-06 20:50:01 -07:00
Hari Krishna Reddy Juturu
07d8dfaa53 Fixing UT 2017-05-04 14:50:06 -07:00
Hari Krishna Reddy Juturu
472dad1ffc convert var to const 2017-05-04 14:33:59 -07:00
Hari Krishna Reddy Juturu
656fb593b4 Fixing lint error 2017-05-04 14:33:59 -07:00
Hari Krishna Reddy Juturu
8bc4d3f8bd GetIOCounters is not implemented on mac 2017-05-04 14:33:59 -07:00
Hari Krishna Reddy Juturu
3c71f542a8 Fixing UT on mac 2017-05-04 14:33:59 -07:00
Hari Krishna Reddy Juturu
8a5aa04756 Adding CPU and I/O metrics to process module 2017-05-04 14:33:59 -07:00
Kevin Sawicki
70e199e255 Merge pull request #9333 from electron/process-memory-info-sandbox
Expose `process.get{System,Process}MemoryInfo` to sandbox
2017-05-04 14:17:44 -07:00
Kevin Sawicki
59511354fd Merge pull request #9214 from electron/app-memoryinfo
API to get memory of all processes of the app
2017-05-04 14:00:30 -07:00
Kevin Sawicki
3b3e7cc14e Assert memory info for all returned processes 2017-05-04 13:43:45 -07:00
22222
042b511a27 Fix #8911 2017-05-03 12:47:00 -05:00
Kevin Sawicki
b639dd0c81 Remove unused include/require statement 2017-05-01 10:30:11 -07:00
Kevin Sawicki
db6097ecec Add failing spec for invalid debugger message 2017-05-01 10:30:11 -07:00
Kevin Sawicki
56a4a69dee Add more non-matching target origins 2017-05-01 08:45:38 -07:00
Kevin Sawicki
efc62629ef Fix typo in fixture comment 2017-05-01 08:45:38 -07:00
Kevin Sawicki
3c58d50f87 Add failing spec for targetOrigin handling 2017-05-01 08:45:38 -07:00
Thiago de Arruda
a8640fb8a3 Add test to verify memory is released after sandboxed popup is closed 2017-05-01 11:30:07 -03:00
deepak1556
5e976be43b remove page-title-updated workaround for #3380 2017-05-01 16:53:55 +09:00
deepak1556
e4524ce42e add spec 2017-05-01 16:53:55 +09:00
Ryohei Ikegami
da97150fc9 Fix JS style in test HTMLs 2017-04-30 19:43:21 +09:00
Ryohei Ikegami
3c5179b717 Merge branch 'native-window-open' of github.com:seanchas116/electron into native-window-open 2017-04-30 19:37:23 +09:00
Ryohei Ikegami
0034b306f5 Add test for nativeWindowOpen + contextIsolation 2017-04-30 19:33:40 +09:00
Ryohei Ikegami
edeac2f59e Split test HTML file into separate ones 2017-04-30 18:54:08 +09:00
HariJ
88ad28b2a5 Removing describe.only 2017-04-27 14:06:53 -07:00
HariJ
81bd9fa3a2 fixing mac ut failure 2017-04-27 14:06:53 -07:00
Hari Krishna Reddy Juturu
d77c1319f4 Fixing lint error 2017-04-27 14:06:53 -07:00
Hari Krishna Reddy Juturu
27aad902b8 Adding docs, specs and fixing object returned 2017-04-27 14:06:53 -07:00
Ryohei Ikegami
1d73e84a29 Merge branch 'master' into native-window-open 2017-04-27 12:03:55 +09:00
Kevin Sawicki
775753c3d7 Add spec for invalid window.history.go offset 2017-04-26 12:37:16 -07:00
Kevin Sawicki
7726c7c6c4 Add spec for webPreferences in features string 2017-04-26 10:56:53 -07:00
Kevin Sawicki
9643b2a5c5 Add specs for window.open frameName argument 2017-04-26 10:14:11 -07:00
Kevin Sawicki
246937a372 Convert targetOrigin to string in render process 2017-04-26 09:08:47 -07:00
Kevin Sawicki
7e285711ca Add spec for window.open toString errors 2017-04-26 09:08:47 -07:00
Kevin Sawicki
3f88eb2f86 Add spec for chrome-devtools URL with no node integration 2017-04-25 13:36:08 -07:00
Kevin Sawicki
cee0507090 Add failing spec for inheriting Javascript web preference 2017-04-25 12:57:53 -07:00
Kevin Sawicki
c2d4c93e12 Don't run error event on Linux 2017-04-24 09:47:30 -07:00
Kevin Sawicki
423dd4d57a Add spec for remote autoUpdater error event 2017-04-24 09:47:30 -07:00
Kevin Sawicki
35a627fd60 Log all crashes during specs 2017-04-24 09:26:24 -07:00
Kevin Sawicki
a00d36fb07 Add spec for alert/confirm toString errors 2017-04-24 09:15:01 -07:00
Kevin Sawicki
93603882b1 Add root describe to be able to run whole file 2017-04-20 14:17:58 -07:00
Kevin Sawicki
361c3e0700 Wait for close event instead of exit so stdout done 2017-04-20 11:40:04 -07:00
Kevin Sawicki
a004cada7c Merge pull request #9095 from seanchas116/better-path-resolve
Search for module from app path when URL is not file protocol
2017-04-20 10:49:53 -07:00
Kevin Sawicki
dc8b43901b Merge pull request #9108 from yuya-oc/add-macos-sheet-events
Add sheet-begin and sheet-end events to macOS BrowserWindow
2017-04-20 10:33:31 -07:00
Kevin Sawicki
fae0308861 Use app name in crash dir path on linux/macos 2017-04-19 20:19:17 -07:00
Kevin Sawicki
709d2933b7 🎨 2017-04-19 16:44:31 -07:00
Kevin Sawicki
de62f1ea6c Restart crash service in each spec 2017-04-19 16:37:24 -07:00
Kevin Sawicki
a7a92e1cd3 Still call done when stop server function is null 2017-04-19 09:52:28 -07:00
Kevin Sawicki
4d9cdad37a Close server and connections after each spec 2017-04-19 09:48:32 -07:00
Kevin Sawicki
ece4df0ac7 Increase timeout to 2 minutes 2017-04-19 09:30:03 -07:00
Kevin Sawicki
c05c324464 Remove extra space in description 2017-04-19 09:28:52 -07:00
Kevin Sawicki
6b13fab83a Wait for full screen event before leaving kiosk mode 2017-04-19 09:13:26 -07:00
Kevin Sawicki
5153c1f353 Disable media device specs on CI where they may not be available 2017-04-18 16:16:08 -07:00
Kevin Sawicki
f891df55d4 Call done callback with Error 2017-04-18 16:06:10 -07:00
Kevin Sawicki
4af44b1be6 Consolidate window closing 2017-04-18 16:04:27 -07:00
Kevin Sawicki
8f0ac057e3 Add initial spec for cookies.flushStore 2017-04-18 09:08:27 -07:00
Kevin Sawicki
ca46d52b0c Add button with icon to touch bar spec 2017-04-18 09:01:43 -07:00
Ryohei Ikegami
91f31506ef Skip native addon test in Windows 2017-04-19 00:11:23 +09:00
Ryohei Ikegami
8dff29185b Merge branch 'master' into native-window-open 2017-04-18 21:59:22 +09:00
Yuya Ochiai
75184046f6 Add events to manage sheets of macOS BrowserWindow 2017-04-15 16:26:45 +09:00
Birunthan Mohanathas
ccdeb4746e Destroy BrowserViews after each test 2017-04-13 01:27:31 +03:00
Birunthan Mohanathas
06fcf2c19d Add support for BrowserView autoresizing 2017-04-13 01:27:31 +03:00
Birunthan Mohanathas
8b9f7e5b00 Implement initial, experimental BrowserView API
Right now, `<webview>` is the only way to embed additional content in a
`BrowserWindow`. Unfortunately `<webview>` suffers from a [number of
problems](https://github.com/electron/electron/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Awebview%20).
To make matters worse, many of these are upstream Chromium bugs instead
of Electron-specific bugs.

For us at [Figma](https://www.figma.com), the main issue is very slow
performance.

Despite the upstream improvements to `<webview>` through the OOPIF work, it is
probable that there will continue to be `<webview>`-specific bugs in the
future.

Therefore, this introduces a `<webview>` alternative to called `BrowserView`,
which...

- is a thin wrapper around `api::WebContents` (so bugs in `BrowserView` will
  likely also be bugs in `BrowserWindow` web contents)

- is instantiated in the main process like `BrowserWindow` (and unlike
  `<webview>`, which lives in the DOM of a `BrowserWindow` web contents)

- needs to be added to a `BrowserWindow` to display something on the screen

This implements the most basic API. The API is expected to evolve and change in
the near future and has consequently been marked as experimental. Please do not
use this API in production unless you are prepared to deal with breaking
changes.

In the future, we will want to change the API to support multiple
`BrowserView`s per window. We will also want to consider z-ordering
auto-resizing, and possibly even nested views.
2017-04-13 01:27:27 +03:00
Ryohei Ikegami
c77e07bc15 Fix afterEach 2017-04-12 11:55:41 +09:00
Kevin Sawicki
bfb9388191 Add failing spec for app.exit with >2 windows 2017-04-11 09:09:17 -07:00
Kevin Sawicki
e2a00e423c Merge pull request #9104 from electron/fix-crash-reporter-test
Fix sandboxed crashReporter for windows
2017-04-10 15:38:12 -07:00
Kevin Sawicki
e2e9e8ae24 Wait until server closes in afterEach 2017-04-07 16:42:01 -07:00
Kevin Sawicki
588f699d56 🎨 2017-04-06 09:52:52 -07:00
Kevin Sawicki
7f28b7a151 Add failing spec for fork --eval message bug 2017-04-06 09:48:34 -07:00
Ryohei Ikegami
659722924d Don't show BrowserWindow in test 2017-04-06 11:44:20 +09:00
Ryohei Ikegami
349ea3a15a Add test for native addon after reload 2017-04-06 11:43:57 +09:00
Thiago de Arruda
ce1a5e3c9c Fix sandboxed crashReporter for windows.
- Use `path` module from browser process in sandboxed renderer. This is required
  because the return value of `path.join` is platform-specific, and this is an
  assumtion of crash-reporter.js which is shared between sandboxed and
  non-sandboxed renderers.
- Set `process.platform` and `process.execPath` in sandboxed renderer
  environment. This is required to spawn the windows crash service from
  sandboxed renderer.
- Use a single temporary directory for all crashReporter tests. This is required
  to make tests more deterministic across platforms(since mac's crashpad doesn't
  support changing the crash dump directory). Also make a few improvements/fixes
  to the `uploadToServer` test.
2017-04-05 18:09:24 -03:00