Commit graph

207 commits

Author SHA1 Message Date
deepak1556
1323542373 browser: allow filesystem access for devtools scheme 2016-09-29 22:54:39 +05:30
Thiago de Arruda
1d228446db Expose --enable-sandbox command-line switch.
When `--enable-sandbox` is passed, electron will use chromium sandbox to spawn
all renderers, and every new BrowserWindow will automatically have "sandboxed"
passed as a web preference(since the renderer would not work properly
otherwise).
2016-09-27 06:01:46 -03:00
Thiago de Arruda
c783ec72bc Add "sandboxed" option to "webPreferences".
When "sandboxed" is passed as a web preference for `BrowserWindow`, the newly
created renderer won't run any node.js code/integration, only communicating with
the system via the IPC API of the content module. This is a requirement for
running the renderer under chrome OS-level sandbox.

Beyond that, certain behaviors of AtomBrowserClient are modified when dealing
with sandboxed renderers:

- `OverrideSiteInstanceNavigation` no longer create a new `SiteInstance` for
  every navigation. Instead, it reuses the source `SiteInstance` when not
  navigating to a different site.
- `CanCreateWindow` will return true and allow javascript access.
2016-09-27 06:01:46 -03:00
Cheng Zhao
f28e8d7168 Fix API changes of Chrome 53 2016-09-14 16:22:43 +09:00
deepak1556
62cb8428fb use schemes from global instead of commandline 2016-08-24 20:22:35 +05:30
deepak1556
ad0c86db7a register custom schemes to access files through filesystem api 2016-08-24 05:46:54 +05:30
Cheng Zhao
1ba3907038 Update to API changes of Chrome 52 2016-07-04 15:32:43 +09:00
Cheng Zhao
14c4be50c1 Avoid calling GetWebContentsFromProcessID for twice 2016-07-02 16:54:12 +09:00
Samuel Attard
4f660f3e6f Implement WebContenstAudioMuted in AtomBrowserClient 2016-07-02 13:28:28 +12:00
Cheng Zhao
920ebee333 Make sure standard schemes are also set in child process 2016-06-08 15:46:50 +09:00
Cheng Zhao
7eab259d92 Make it possible to only set preferences for BrowserWindow 2016-05-27 09:20:46 +09:00
Cheng Zhao
530f19e956 Fix crash due to site_instace being freed early 2016-05-23 12:57:46 +09:00
Cheng Zhao
899cdb48d7 Fix using invalid pointer as SiteInstance 2016-05-23 12:46:14 +09:00
Cheng Zhao
a2bd55dd3c Adapt to changes of Chrome 51 API changes (Part 2) 2016-05-23 12:29:14 +09:00
Cheng Zhao
7ba391da7c Update to API changes of Chrome 51 2016-05-23 10:59:39 +09:00
deepak1556
1ff33b7c81 protocol: fix registerStandardSchemes api 2016-05-08 01:36:34 +05:30
deepak1556
1240c83e40 set trust bits for CA certs 2016-04-18 21:05:33 +05:30
deepak1556
e81cec4058 app: api to import client certificate 2016-04-18 10:54:43 +05:30
deepak1556
e14c91771b removed redundant delegation 2016-04-01 08:14:29 +05:30
deepak1556
e0fe478ae7 decide early on render initiated window creations 2016-04-01 08:14:29 +05:30
Robo
48064ee7e9 browser: fix retrieving webcontents from associated process id 2016-03-14 04:14:04 +05:30
Cheng Zhao
bfc6d77bb3 Pending renderer process no longer has render view attached 2016-03-10 17:06:22 +09:00
Cheng Zhao
dd4d3db47b Fix node integration not working 2016-03-10 17:06:21 +09:00
Cheng Zhao
5fae63a2f5 Fix compilation errors on OS X 2016-03-10 17:06:21 +09:00
Robo
2a278ceb8f delegate to permission manager for other permissions 2016-01-30 16:49:18 +05:30
Robo
f32bf08eb3 add spec 2016-01-29 15:23:28 +05:30
Robo
85e13333c3 webview: add permission-request event 2016-01-29 15:23:28 +05:30
Cheng Zhao
c76db0ba1d Fix coding styles 2015-12-29 18:59:27 +08:00
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
Robo
836c13b330 browser: check for rvh existence 2015-12-18 04:45:32 +05:30
Robo
855d49100f protocol: api to register schemes that can handle service worker 2015-12-09 03:11:58 +05:30
Cheng Zhao
73e7773d84 Update to API changes of Chrome 47 2015-12-07 19:56:23 +08:00
Cheng Zhao
e432abfb42 Add certificate-error event 2015-11-18 10:39:25 +08:00
Cheng Zhao
9a0dc3bfd7 Add Delegate for AtomBrowserClient 2015-11-18 10:07:03 +08:00
Cheng Zhao
21f7316a18 Code cleanup 2015-09-30 10:56:42 +08:00
Robo
464134a31a protocol: allowing default clients to handle external unhandled protocols 2015-09-29 17:52:58 +05:30
Cheng Zhao
9c235509a6 Read guest view's info from WebContentsPreferences 2015-09-06 10:53:03 +08:00
Cheng Zhao
0b97d58a6f Move a few options in NativeWindow to web-preferences 2015-09-06 10:53:03 +08:00
Cheng Zhao
880dce950d Move OverrideWebkitPrefs to WebContentsPreferences 2015-09-06 10:53:03 +08:00
Robo
03ba9533fb store webviewinfo as web contents userdata 2015-09-03 21:27:50 +05:30
Cheng Zhao
96d53d279e Initial implementation of new protocol API 2015-08-12 13:30:19 +08:00
Cheng Zhao
1e9eaba423 win: Fix compiler warning 2015-08-11 23:41:43 +08:00
Cheng Zhao
e6a2b0a479 Fix finding the WebContents of a pending renderer process
Apparently after Chrome 44 a renderer process can be started before the
corresponding render view is created, though it can be patched but from
the source code Chromium is enforcing this everywhere now, so fixing it
on our side seems the only reliable solution.

This fix is very similar to what we did, but instead of blindly setting
swapped process, we now remember which process the pending process is
going to replace, so we should not have those race conditions.
2015-08-11 15:39:17 +08:00
Haojian Wu
28093a4d2d Fix a crash issue in GetProcessOwner if no renderer view host is found. 2015-08-11 09:48:55 +08:00
Cheng Zhao
1347c61c8e Set AppUserModelID for all renderer processes 2015-08-04 17:13:05 +08:00
Robo
7576de639b plugin: dont check for renderer flags for adding pepper browser host filters 2015-07-03 13:50:16 +05:30
Cheng Zhao
a96ff85005 Clean up code in AtomBrowserClient 2015-06-26 10:53:37 +08:00
deepak1556
0fbd908fb6 app: event to pass client certificate data 2015-06-25 21:29:21 +05:30
Cheng Zhao
9f52b11761 Remove NativeWindow::GetWebContents 2015-06-25 14:54:00 +08:00
Cheng Zhao
a1cbd11b5b Only append --register-standard-schemes when needed 2015-06-19 21:53:29 +08:00
deepak1556
663a48ee38 protocol: api to register custom schemes to standard schemes 2015-06-17 14:43:04 +05:30
Cheng Zhao
cd3c061448 win: Fix compilation error 2015-06-10 19:34:30 +08:00
deepak1556
52b2c0d27f default to first certificate from cert store 2015-06-09 13:00:20 +05:30
deepak1556
2de5f9de6c browser: support client certificate 2015-06-08 21:00:32 +05:30
Cheng Zhao
3a3b05b2f0 Clean up code 2015-06-03 14:53:19 +08:00
Cheng Zhao
34cd1435b4 Clean up code 2015-06-03 14:17:28 +08:00
Cheng Zhao
d4be2da70e Don't rely on process_id to search for NativeWindow 2015-06-03 14:08:56 +08:00
Cheng Zhao
6dfa7b5383 Don't rely on guest_process_id for searching guest 2015-06-03 13:45:06 +08:00
Cheng Zhao
d46e986e80 Remove AtomResourceDispatcherHostDelegate 2015-06-03 10:08:05 +08:00
deepak1556
9b7ad675c6 browserClient: dont restart render process for javascript: scheme 2015-05-27 16:39:02 +05:30
Cheng Zhao
b238ac5981 Merge pull request #1660 from deepak1556/filesysem_patch
browser: create quota permission context to allow quota request
2015-05-20 14:05:53 +08:00
Cheng Zhao
7c69c2846b Simplify how we find NativeWindow from WebContents 2015-05-20 10:27:16 +08:00
deepak1556
add7f8a4aa add test 2015-05-12 18:03:00 +05:30
deepak1556
2785a4cc48 browser: create quota permission context to allow quota request 2015-05-12 17:52:30 +05:30
Cheng Zhao
d1545a64ae Don't force restart renderer process for in-page navigation 2015-05-11 14:40:40 +08:00
deepak1556
15ae6b8d36 fix lint errors and add documentation 2015-05-10 10:25:19 +05:30
deepak1556
3fdc4543b8 ppapi flash plugin support 2015-05-10 09:22:09 +05:30
Cheng Zhao
2f1683445b Only append command line params for renderer process 2015-04-27 15:11:59 +08:00
Cheng Zhao
4c78f98da6 Check if it is guest process before updating process ID 2015-04-27 15:11:59 +08:00
Cheng Zhao
36c4b1705d Update guest process id when navigating 2015-04-27 15:11:58 +08:00
Cheng Zhao
d8adbc0875 NULL => nullptr 2015-04-27 15:11:58 +08:00
Cheng Zhao
b527846ee4 Use our new way to restart renderer process
As a side effect, it will also restart the renderer process of webview
tag guests.
2015-04-27 15:11:58 +08:00
Cheng Zhao
b37c73436b Fix API changes 2015-04-21 18:56:08 +08:00
Cheng Zhao
d16d5b290a Remove the "X-Frame-Options" from response headers for devtools 2015-03-18 09:57:43 +08:00
Cheng Zhao
04d1075db5 Fix API changes of ContentBrowserClient 2015-03-18 09:57:39 +08:00
Cheng Zhao
331d0481bb Move web_view_manager to atom/browser 2015-02-04 15:17:28 -08:00
Cheng Zhao
2c61070b36 Avoid using global BrowserContext 2015-02-04 15:08:29 -08:00
Cheng Zhao
502c0f0df7 Remove the WebViewRendererState class 2015-02-04 14:58:03 -08:00
Cheng Zhao
19d6d171b1 Don't show insecure content by default
This follows the behavior of Chrome.
2015-01-08 11:50:55 -08:00
Cheng Zhao
947e6aca9b Set web preferences for guest page 2014-12-17 18:13:39 -08:00
Cheng Zhao
d309fd5a27 Update printing code 2014-12-07 06:55:40 -08:00
Cheng Zhao
217b1afe87 Load the "preload" script in <webview> 2014-11-06 15:13:37 +08:00
Cheng Zhao
80d574482e Add "plugins" attribute for <webview> 2014-11-05 14:59:28 +08:00
Kevin Sawicki
b6b6fc3bfd Remove All Rights Reserved after GitHub copyright
Closes #762
2014-10-31 11:17:05 -07:00
Cheng Zhao
404e08c0e7 Make remote.getCurrentWindow() work in <webview> 2014-10-26 19:30:53 +08:00
Cheng Zhao
10a8f3c884 Make <webview> work with plugins turned off 2014-10-26 14:05:54 +08:00
Cheng Zhao
22e3b9df44 Add attribute to turn on node integration in <webview> 2014-10-25 20:52:42 +08:00
Cheng Zhao
81170d81b3 Remove iframe related security code 2014-10-25 19:08:21 +08:00
Cheng Zhao
58a38d90b8 Don't fork renderer process for guest 2014-10-24 19:08:26 +08:00
Cheng Zhao
32dff999a5 Fix API changes of Chrome 38 2014-10-11 19:11:34 +08:00
Cheng Zhao
d4e3c39fa5 Add AtomSpeechRecognitionManagerDelegate 2014-10-08 11:55:14 +08:00
Cheng Zhao
33c622ec86 Install tts dispatcher 2014-10-07 21:27:15 +08:00
Cheng Zhao
263c4b9ab4 Turn off web security for devtools. 2014-08-26 16:05:10 +08:00
Cheng Zhao
d20ec6952a Revert "Move the code of getting printing settings to another class."
This reverts commit 57d06c5241.

Conflicts:
	atom/browser/printing/printing_config_service.cc
2014-08-22 15:03:39 +08:00
Cheng Zhao
57d06c5241 Move the code of getting printing settings to another class. 2014-08-22 12:46:26 +08:00
Cheng Zhao
eb3ecab6a8 Setup PrintingMessageFilter for printing. 2014-08-21 21:19:43 +08:00
Cheng Zhao
226cbda7a6 Avoid creating our own URLRequestContextGetter. 2014-08-13 17:40:31 +08:00
Cheng Zhao
0ca9e8ee82 Add access token store. 2014-08-13 12:12:43 +08:00
Cheng Zhao
0ad4c3ca93 Add custom ResourceDispatcherHostDelegate. 2014-08-11 14:08:23 +08:00
Cheng Zhao
b4ba149662 Fix a crash when creating window. 2014-07-11 19:39:35 +08:00
Cheng Zhao
6a891be0e4 Make the node environment constrained in browser_main_parts. 2014-06-30 14:16:16 +08:00
Cheng Zhao
cd4c5d976b Adapt to API changes of Chromium and node. 2014-06-28 22:33:00 +08:00
Cheng Zhao
649730244b Override application locale with system default locale. 2014-05-29 15:21:15 +08:00
Hugh Kennedy
da0eee6298 Enable WebGL
Enabling the `experimental_webgl_enabled` preference allows you
to create a WebGL context from within atom-shell.

While not necessarily important for the Atom editor, for others
to use atom-shell in substitution for node-webkit this is a
potentially useful feature, e.g. for packaged HTML5 games.
2014-05-06 10:43:58 +02:00
Cheng Zhao
f176b2c58f Switch to use MIT license. 2014-05-04 20:29:08 +08:00
Cheng Zhao
a85db2d780 Deprecate the BrowserWindow.restart.
Now BrowserWindow.reload would just do the same thing.
2014-04-29 15:44:41 +08:00
Cheng Zhao
516d46444d Move all sources under atom/. 2014-03-16 08:30:26 +08:00
Renamed from browser/atom_browser_client.cc (Browse further)