Commit graph

473 commits

Author SHA1 Message Date
Kevin Sawicki
403870a27e Migrate to block comments 2016-01-12 16:22:34 -08:00
Eran Tiktin
29939dc0b7 Remove unneeded extra semicolons (;; -> ;) 2016-01-11 02:11:40 +02:00
Cheng Zhao
bd20b3f32a Rely on content switches for implementing experimental features 2016-01-07 12:49:00 +08:00
Cheng Zhao
16d23bbda5 Remove pageVisibility option
The original purpose of this option is not working anymore, also adds
docs on the current way to disable process backgrounding.
2016-01-07 12:28:20 +08:00
Cheng Zhao
c6e03f8390 Remove overlayScrollbars and sharedWorker options
They are already enabled by default.
2016-01-07 12:17:19 +08:00
Cheng Zhao
4844e68ba1 Rename did-navigate-to-different-page to did-navigate 2016-01-04 12:09:11 +08:00
Cheng Zhao
941232a76b Merge pull request #3975 from leethomas/add-webview-navigation-events
Add webview navigation events
2016-01-04 11:24:27 +08:00
Cheng Zhao
14db4a1946 Add isDevToolsFocused to webview 2016-01-04 10:46:30 +08:00
leethomas
911e60b507 add did-navigate-in-page event to webview & webcontents (triggers on hash/ref changes, anchor links...), pass url into events 2016-01-01 17:13:39 -08:00
leethomas
9f6319dd71 add will-navigate, did-navigate-to-different-page events to webview 2016-01-01 13:36:35 -08:00
leethomas
96d68b9285 🐛 add isDevToolsFocused to WebContents to fix #3928, add devtools-[focused|open|close] events to WebView to fix #3783. 2015-12-31 22:21:54 -08:00
Cheng Zhao
af5e76f6ae Merge pull request #3959 from deepak1556/remote_object_patch
remote: support arguments of type Date
2015-12-31 18:46:22 +08:00
Cheng Zhao
cb5d79e0df Merge pull request #3957 from atom/widevine
Merge #3830
2015-12-30 12:46:19 +08:00
Robo
72374b6e31 remote: support arguments of type Date 2015-12-30 01:41:31 +05:30
Cheng Zhao
c76db0ba1d Fix coding styles 2015-12-29 18:59:27 +08:00
Robo
2e78aba090 webFrame: support fetch api for schemes that are privileged. 2015-12-29 15:57:59 +05:30
Cyrille Lebeaupin
9d878ad6b2 Add widevine third party
Add 2 new command options to use widevine:
- widevine-cdm-path: Path to widevine plugin
- widevine-cdm-version: Version of the widevine plugin
2015-12-29 14:50:59 +08:00
Cheng Zhao
ffc2870ccb Fix circular reference caused by Object.defineProperty 2015-12-29 10:17:35 +08:00
Cheng Zhao
6785870dde Variables are not shadowed in inline class 2015-12-28 22:51:40 +08:00
Cheng Zhao
b5fd491c2d Fix circular reference caused by RemoteMemberFunction 2015-12-28 22:51:40 +08:00
Robo
ab9d1bf97e renderer: dont fork the process when there is server redirect 2015-12-25 02:19:56 +05:30
Brian R. Bondy
11b2015535 Add did-change-theme-color event to webview 2015-12-22 17:28:22 -05:00
Cheng Zhao
c4931bb2d1 Merge pull request #3865 from deepak1556/visibility_api_patch
browser: fix document.hidden value
2015-12-22 19:04:23 +08:00
Robo
cc7040d75f add test 2015-12-21 18:47:52 +05:30
Robo
ff51e4033a browser: fix value of document.hidden 2015-12-21 17:43:46 +05:30
Robo
d162180196 add api to webview 2015-12-21 17:13:23 +05:30
Brian R. Bondy
fed0c43970 Add media play events to webview 2015-12-19 22:37:51 -05:00
Cheng Zhao
353f08e477 Remove sync call in remote module 2015-12-17 22:03:16 +08:00
Cheng Zhao
0282d424bf Pass opener ID in command line 2015-12-17 21:27:14 +08:00
Cheng Zhao
71303d4804 Fix context menu not working in devtools 2015-12-16 22:57:03 +08:00
Cheng Zhao
c6634b1ea5 Don't pump message loop when sending sync msg
In old days sending sync message to browser process requires pumping
message loop in the renderer process, but now in Chrome 47 it is not
true anymore. And even when we do it, the Send method may fail
sometimes, so this change seems to be required for the Chrome 47
upgrade.
2015-12-16 22:38:04 +08:00
Kevin Sawicki
c5936a024d Remove unneeded custom postMessage on window.opener 2015-12-14 16:54:26 -08:00
Kevin Sawicki
184b11be4c Use id from source window when building proxy for event source 2015-12-14 16:47:33 -08:00
Kevin Sawicki
0ef0ce7345 Add comment about window.opener tweaks 2015-12-14 14:57:38 -08:00
Kevin Sawicki
574eec3e74 Make window.opener a BrowserWindowProxy 2015-12-14 14:55:48 -08:00
Cheng Zhao
a6976b7d83 Merge pull request #3768 from atom/window-post-message-origin
Fix window.postMessage event.origin value
2015-12-11 11:18:37 +08:00
Kevin Sawicki
8401ece537 removeWindow -> remove 2015-12-10 17:22:05 -08:00
Kevin Sawicki
49ca7509c7 Reuse BrowserWindowProxy instances 2015-12-10 17:20:10 -08:00
Kevin Sawicki
9bc7c62588 Use source origin in window.postMessage event 2015-12-10 16:52:39 -08:00
Robo
855d49100f protocol: api to register schemes that can handle service worker 2015-12-09 03:11:58 +05:30
Cheng Zhao
836a8b1794 Simplify the desktopCapturer code 2015-12-08 13:49:26 +08:00
Cheng Zhao
51368952a2 Remove deprecated API usages 2015-12-08 12:58:39 +08:00
Cheng Zhao
d458b24945 Add desktopCapturer to electron 2015-12-08 12:44:55 +08:00
Cheng Zhao
04f7ceab73 Merge branch 'master' into desktop-capture-api 2015-12-08 12:43:44 +08:00
Cheng Zhao
e78a02806e Make it safe to use sendSync 2015-12-08 10:07:47 +08:00
Cheng Zhao
647f151906 Fix the failing sendSync 2015-12-07 21:25:19 +08:00
Cheng Zhao
73e7773d84 Update to API changes of Chrome 47 2015-12-07 19:56:23 +08:00
Cheng Zhao
2c6d232254 Don't add too much listeners in BrowserWindowProxy 2015-12-04 11:12:36 +08:00
Charlie Hess
0d30a8d70c Make downloadURL available on the webview tag. 2015-12-02 18:40:02 -08:00
Cheng Zhao
e5974e44ed Deprecate the page-title-set event
We have two names for the same event, page-title-updated wins.
2015-12-01 18:50:56 +08:00
Cheng Zhao
8ce19d8059 Merge pull request #3586 from atom/ipc-fasterer
Ensure calling webview.send will not block the renderer
2015-11-26 13:15:08 +08:00
Cheng Zhao
9c62be8fc9 Improve the deprecation notice for ipc module
Close #3577.
2015-11-26 11:06:56 +08:00
Paul Betts
789380dfad Ensure calling webview.send will not block the renderer
When the browser process is busy, calling webview.send (a method that appears
on its face to be non-blocking) will actually block, because most webview methods
are remoted to a guest view instance in the browser. Instead, define a few methods
which will instead send its call over an async IPC message.
2015-11-25 15:54:30 -08:00
Cheng Zhao
94e24abb99 Use the new style remote module in Electron 2015-11-13 22:22:25 +08:00
Cheng Zhao
b925ac0056 Send sync message to get list of modules 2015-11-13 22:15:16 +08:00
Cheng Zhao
099278855c Simplify how remote.require('electron') is optimized 2015-11-13 21:54:56 +08:00
Cheng Zhao
9bf0a8647e Make it easier to use remote 2015-11-13 21:52:27 +08:00
Cheng Zhao
fbb8e61958 Replace "Url" in API names with "URL" 2015-11-13 16:03:40 +08:00
Cheng Zhao
860c46b3c1 Separate options from switches
On Windows the case sensitivity of command line switches are ignored, so
--nodeIntegraion will become --nodeintegration.

We should separate options from switches so we use "nodeIntegraion" in
options, while passing "--node-integration" in command line.
2015-11-13 14:05:49 +08:00
Cheng Zhao
2ca5a33d28 Add electron.hideInternalModules 2015-11-12 21:46:03 +08:00
Cheng Zhao
c649c4cf4f Rename the env to ELECTRON_HIDE_INTERNAL_MODULES 2015-11-12 21:37:44 +08:00
Cheng Zhao
8b2942c279 Optimize remote.require('electron') 2015-11-12 20:30:40 +08:00
Cheng Zhao
1d1f911b09 Use require('electron') in Electron's code 2015-11-12 20:29:30 +08:00
Cheng Zhao
f9d7e7ce55 Add ELECTRON_DISABLE_OLD_STYLE_MODULES env 2015-11-12 17:02:04 +08:00
Cheng Zhao
c2c09daa23 Add "electron" module 2015-11-12 16:40:27 +08:00
Cheng Zhao
5cca947f4d Remove unneeded override code 2015-11-11 10:37:34 +08:00
Cheng Zhao
737e22b003 Use minWidth style for options instead of min-width 2015-11-11 10:37:34 +08:00
Cheng Zhao
d234f10177 Implement event.sender for ipcRenderer 2015-11-10 16:59:08 +08:00
Cheng Zhao
6515a445a0 Use ipcRenderer in Electron's code 2015-11-10 15:29:43 +08:00
Cheng Zhao
828d911ed1 Deprecate ipc module for ipcRenderer 2015-11-10 15:12:07 +08:00
Cheng Zhao
91c4ed26fc Print warnings for deprecated APIs 2015-11-09 21:51:30 +08:00
Cheng Zhao
647a0c4e2b Code cleanup for remote module 2015-11-02 20:28:01 +08:00
Max Claus Nunes
bbb5aef5d2 Improve error handling from remote
This way copy all properties available in the error object and keep the real stack trace
2015-10-31 21:20:54 -02:00
Robo
eae7c840b7 use idweakmap for holding callbacks in browser 2015-10-29 17:51:56 +05:30
taemu
16eafdb0ce Fix remove boolean parameter at IsSwitchEnabled function 2015-10-29 03:22:08 +09:00
Cheng Zhao
a3f62da615 Fix passing Date object in remote
Close #2017.
2015-10-23 14:51:41 +08:00
Cheng Zhao
d5c964c68c Fix passing Error object in remote
Closes #3089
2015-10-23 14:37:28 +08:00
Haojian Wu
9c861b9ad3 Fix always passing the first result to renderer when the API is called multiple
time at once.
2015-10-19 18:07:35 +08:00
Haojian Wu
fb4efec55d Add options check.
This patch avoids main process never response back to renderer if the options is
invalid.
2015-10-19 11:06:56 +08:00
Haojian Wu
214f8477b3 Fix some typos. 2015-10-17 19:28:14 +08:00
Cheng Zhao
7bdbe45c91 subpixel-font-scaling option is removed 2015-10-16 15:01:28 +08:00
Robo
7756bb6762 webcontents: notify guests of embedders' zoom level change 2015-10-08 10:38:22 +05:30
Haojian Wu
dcb457e76e Refine API design: desktopCapturer.getSources. 2015-10-07 11:10:35 +08:00
Haojian Wu
36c0ad7fda Refine more about desktop capturer API.
* Simplify the coffeescript code.
* Add more options in desktopCapturer.startUpdating.
2015-10-05 12:47:01 +08:00
Haojian Wu
1e69ef79de Refine: make desktop-capturer as a renderer module. 2015-10-04 22:04:41 +08:00
Cheng Zhao
01d2765e4b Prevent Node from adding paths outside this app to search paths 2015-10-03 20:38:39 +08:00
Cheng Zhao
9fe326ebeb Clear node's global search paths 2015-10-03 19:55:59 +08:00
Cheng Zhao
021ee20400 No need to add "app" to search paths 2015-10-03 17:52:46 +08:00
Cheng Zhao
5d9e4fc8fd Override document.hidden 2015-10-01 18:39:35 +08:00
Cheng Zhao
ef4014e14b Don't show open dialog as sheet in devtools 2015-10-01 14:46:33 +08:00
Cheng Zhao
1045bbc861 Do not enumerate windows in remote.getCurrentWindow 2015-10-01 14:08:33 +08:00
Cheng Zhao
4fdf6ceb51 Cache remote WebContents object of webview 2015-09-30 16:58:37 +08:00
Cheng Zhao
f2fa0e96eb Pass options in "new-window" event 2015-09-22 23:40:16 +08:00
Cheng Zhao
f07fea1936 Add allowpopups attribute for webview 2015-09-22 20:11:05 +08:00
Cheng Zhao
7c65d05b02 Don't print error when window.open failed 2015-09-22 19:59:32 +08:00
Cheng Zhao
42515c6f41 No more need of manually setting process as local variable 2015-09-22 14:30:54 +08:00
Robo
325feca864 webframe: api to register scheme as privileged 2015-09-21 22:59:59 +05:30
Cheng Zhao
ff0e15bf58 Expose sendInputEvent in webview 2015-09-18 17:55:42 +08:00
Gohy Leandre
590be75fa9 add ValidatedUrl to did-fail-load event 2015-09-09 15:56:16 +02:00
Cheng Zhao
e365cb6b1c No longer needs to define node_includes.h at last 2015-09-07 16:41:49 +08:00
Cheng Zhao
46b2b91a27 Don't use Node's internal APIs 2015-09-07 16:41:49 +08:00
Cheng Zhao
0a4fb2ec4f Support externalized ArrayBuffer for node::Buffer 2015-09-07 11:12:42 +08:00
Cheng Zhao
c1d7ad9631 Devtools no longer uses iframes 2015-09-03 17:50:24 +09:00
Cheng Zhao
45491ca7ab Fix API changes 2015-09-03 17:50:23 +09:00
Cheng Zhao
50bfe9e335 Set source and origin correctly for window.opener.postMessage 2015-09-01 11:51:10 +08:00
Cheng Zhao
ebedb60684 Insert node integration for all main frames 2015-08-31 21:59:13 +08:00
Cheng Zhao
9ecc4bcb7d Fork renderer process for webview
Previously it was disabled because Chrome doesn't support swapping
renderer process before, it seeems to work fine now, so we enable it to
see how it goes.
2015-08-31 21:38:18 +08:00
Robo
8757da6c47 renderer: send referrer for all naviagtions 2015-08-29 19:20:09 +05:30
Cheng Zhao
8a09cf5369 Add webFrame.setZoomLevelLimits API 2015-08-27 22:08:25 +08:00
Cheng Zhao
64e8ce0c07 Don't rely on IDWeakMap for bookkeeping remote objects
It frees us from using C++ to track JS objects, thus improves the
performance of collecting memory.
2015-08-27 19:01:34 +08:00
Eran Tiktin
b1406fbad9 Fix no close button in message box on Windows
This resolves #2293.
2015-08-22 04:20:52 +03:00
Cheng Zhao
86eb0a5eaa Create both Uint8Array and ArrayBuffer from blink 2015-08-14 12:40:03 +08:00
Cheng Zhao
0f990d40cc Use blink's allocator in Node's Buffer 2015-08-11 12:31:41 +08:00
Haojian Wu
0e8a585157 Fix content::BrowserPluginDelegate::DidResizeElement API changes.
Chromium has removed old_size in DidResizeElement interface as the 'old_size'
is internal.
2015-08-11 09:48:55 +08:00
Cheng Zhao
0a49dcc623 Delay the call of element resize callback to next tick 2015-08-10 11:56:42 +08:00
Cheng Zhao
1bb0dde360 Use WebScopedRunV8Script in converted C++ functions 2015-08-07 19:37:17 +08:00
Cheng Zhao
2ff104d012 Move callback converter from native mate to electron 2015-08-07 19:35:35 +08:00
Cheng Zhao
5d3445cebb Style fix 2015-08-07 19:35:35 +08:00
Robo
0a7a4c0d0a webview: adding load-commit event 2015-08-05 19:22:30 +05:30
Robo
6b8d4a43a3 override: intialise BrowserWindowProxy.closed 2015-08-05 19:22:30 +05:30
Cheng Zhao
2a30520799 Only set window.opener for windows opened by window.open 2015-08-04 15:47:12 +08:00
Cheng Zhao
4ac59e2674 Merge pull request #2391 from seanchas116/support-remote-promise
Support Promise over remote objects
2015-08-03 15:22:36 +08:00
Cheng Zhao
7c5d443284 Merge pull request #2394 from DerNivel/fix-typos
Fix typos
2015-08-03 15:04:13 +08:00
Cheng Zhao
7c75329b18 Merge pull request #2375 from deepak1556/web_frame_api_patch
webFrame: api to make scheme bypass CSP
2015-08-03 14:46:40 +08:00
Ryohei Ikegami
c8a794ac34 Use constructor name to check if Promise 2015-08-01 12:20:16 +09:00
Jonathan
c0ce8723d4 Fix typo 2015-07-31 20:16:26 +02:00
Ryohei Ikegami
92af275f98 Support remote Promise in browser 2015-07-31 14:52:48 +09:00
Ryohei Ikegami
ddf2cfd48d Support remote Promise in renderer 2015-07-31 14:52:37 +09:00
Robo
92ea533aee webFrame: api to make scheme bypass CSP 2015-07-30 22:36:02 +05:30
Robo
239d535cac render: executejavascript with option to simulate usergesture 2015-07-30 15:38:46 +05:30
Taichiro Yoshida
fc92ceb0b6 do not overwrite node-integration option
If `node-integration` option pass to window.open, do not overwrite by current window's one
2015-07-29 13:41:11 +09:00
Haojian Wu
462e6e0a82 Implement getUserAgent API. 2015-07-22 12:25:10 +08:00
Cheng Zhao
096439dce7 Don't expose "global" when node integration is off 2015-07-14 09:15:03 -07:00
Cheng Zhao
14388feb23 Merge pull request #2187 from jprichardson/patch-1
emit error object on process.on('uncaughtException') in renderer
2015-07-13 21:46:06 -07:00
Cheng Zhao
9e8a118d10 Cleanup code 2015-07-14 03:23:19 +08:00
Cheng Zhao
0c7c6ddcc9 Merge pull request #2175 from atom/propagate-app-model-id
Propagate App Model User ID on Windows
2015-07-13 12:16:10 -07:00
JP Richardson
d6ae874038 emit error object on process.on('uncaughtException') in renderer
Chromium added the actual `error` object to the 5th parameter in `window.onerror`. This should be emitted as opposed to the `errorMsg` string. Worse yet, since `errorMsg` wasn't an instance of `Error`, any code that assumes this in any `process.on('uncaughtException')` handler would fail. Also, correctly emitting the error provides the stack trace.

This is now an HTML5 standard.

Sources:
- https://html.spec.whatwg.org/multipage/webappapis.html#errorevent
- https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror
- https://code.google.com/p/chromium/issues/detail?id=147127
2015-07-10 14:38:03 -05:00
Cheng Zhao
967c273ddb Always use top window's context for resolving url
Refs #2166.
2015-07-10 13:57:09 +08:00
Cheng Zhao
260ec96edd Resolve relative urls in window.open, fix #2166 2015-07-10 11:36:41 +08:00
Paul Betts
39c6e2d2e5 Linter fixes 2015-07-09 17:00:19 -07:00
Paul Betts
35aaad68d7 Set the AppUserModelId on the renderer side 2015-07-09 16:48:02 -07:00
Cheng Zhao
ae3b47aa75 Inherit current window's node-integration in window.open by default
Fix #2100.
2015-07-06 16:21:08 +08:00
John Haley
565a500320 Fix window.open with wrong name
When calling `window.open` the newly created window would have the name of the last option in the `features` argument as the title. I think it's supposed to be pointed to `frameName`.
2015-06-29 10:32:27 -07:00
Cheng Zhao
42e21d15bf Remove all calls to node::MakeCallback
node::MakeCallback is doing too much for us, avoid calling it.
2015-06-23 20:14:03 +08:00
deepak1556
cb1d9f60ec override: set window.opener to null for webview 2015-06-18 21:14:45 +05:30
Haojian Wu
47eac062f6 Expose Print API to webContents and webView.
Also move the print implementation from window to webContents.
2015-06-16 20:08:30 +08:00
Haojian Wu
c0a6cb69bf Move printToPDF API to WebContents.
Also expose in webview.
2015-06-16 20:06:52 +08:00
Cheng Zhao
bd704dd8aa Merge pull request #1979 from deepak1556/remote_args_patch
remote: handle circular reference in wrapArgs
2015-06-16 16:40:06 +08:00
deepak1556
193f95a888 remote: handle circular reference in wrapArgs 2015-06-16 13:43:30 +05:30
Magica
8aa559fe51 Add setAudioMuted to webContents 2015-06-15 21:40:49 +08:00