Thiago de Arruda
d1f08beddf
Make AtomSandboxedRendererClient a RendererClientBase subclass.
2017-03-27 18:49:55 -03:00
Thiago de Arruda
c3a8f665f2
Extract base class from AtomRendererClient
...
The new `RendererClientBase` class contains code that is not specific to node.js
integration with the renderer.
2017-03-27 18:49:55 -03:00
Thiago de Arruda
bf756e3c00
Prevent browserify from leaking the require function
...
Define a "require" argument in the wrapper functions that runs browserify
bundles, which will prevent browserify from leaking the require function.
Note that this doesn't affect the isolated renderer script, only when `-r` flag
is passed to browserify command it will export a require function. It is still
added to isolated renderer script to prevent future mistakes(doesn't hurt
defining a "require" local).
2017-03-23 10:01:02 -03:00
Thiago de Arruda
e1aebef57c
Make sandbox APIs more compatible with normal renderers
...
- Expose remote shortcuts for the `fs`, `os` and `child_process` modules.
- Expose the `url` and `timers` modules(the browserify versions)
- Add `process.crash` and `process.platform`
2017-03-23 10:01:02 -03:00
Cheng Zhao
0287f23e3b
Fix cpplint warning
2017-03-20 12:52:46 -07:00
Cheng Zhao
940d77b9a0
Fix typos and adjust sentences
2017-03-20 12:52:46 -07:00
Cheng Zhao
033aa16e04
test: Node integration in web workers
2017-03-20 12:52:46 -07:00
Cheng Zhao
a49af26e39
Add nodeIntegrationInWorker option
2017-03-20 12:52:46 -07:00
Cheng Zhao
e496e18f6e
Make Archive thread safe
2017-03-20 12:52:46 -07:00
Cheng Zhao
c068285ff8
AtomBindings should not use default uv loop
2017-03-20 12:52:46 -07:00
Cheng Zhao
9c9c8ec5f1
WebWorkerObserver should be destroyed on exit
2017-03-20 12:52:46 -07:00
Cheng Zhao
d2f185bea5
Create new uv loop in each worker
2017-03-20 12:52:46 -07:00
Cheng Zhao
b467c3939e
Add a new type of NodeBindings
2017-03-20 12:52:45 -07:00
Cheng Zhao
2cbdb6bac3
Wrap ContextCreated with context scope
2017-03-20 12:52:45 -07:00
Cheng Zhao
e017e157ba
Insert node integrations into WebWorker
2017-03-20 12:52:45 -07:00
Thiago de Arruda
a6e4867111
Handle Buffer deserialization in sandboxed renderers
...
In sandboxed renderers we use browserify to provide a node-like environment. The
Buffer class used by browserify is actually just a wrapper around Uint8Array,
but to deserialize Buffer correctly we must expose the class as a hidden value
and use it in V8ValueConverter.
2017-03-16 13:20:09 -03:00
deepak1556
a4400dc549
add basic spec
2017-03-14 00:26:27 +05:30
deepak1556
e767c59da2
enable pdf plugin by default
2017-03-14 00:26:27 +05:30
deepak1556
fdd574cea5
browser: implement pdf renderer as webui
2017-03-14 00:25:59 +05:30
deepak1556
4281c73cf2
renderer: reset plugin cache when render frame is created
2017-03-12 00:53:39 +05:30
Thiago de Arruda
cd05834d96
Refactor sandboxed renderer init scripts
...
This change gives sandboxed renderer scripts a similar structure to what already
exists in the lib/{browser,renderer,common} directories.
It also allows sandboxed renderer initialization to share more code with
non-sandboxed renderers (ipcRenderer is now imported directly from
lib/renderer/api/ipc-renderer).
2017-03-09 20:39:14 -03:00
Thiago de Arruda
d78f3cae7b
Expose builtin v8 modules to AtomSandboxedRendererClient
...
- Adapt node.cc code that implements `process.binding` to create a similar
object in AtomSandboxedRendererClient.
- Replace the ipc binding object passed to `lib/sandboxed_renderer/init.js` by
the new binding object.
- Refactor the initialization script to use this new object to fetch the ipc
binding and store as a hidden value using the `v8_util` module.
This change also required applying a patch to node.js, so the submodule commit
was updated.
2017-03-09 20:39:14 -03:00
Cheng Zhao
aaa8e81cd4
Merge pull request #8811 from electron/clean-node-on-exit
...
Clean up node Environment on exit
2017-03-06 20:36:59 +09:00
Kevin Sawicki
7fb77ee1cb
Set isolated world security origin
2017-03-02 08:49:18 -08:00
Cheng Zhao
1709e74958
Fix crash when the main frame is replaced
2017-03-02 17:19:00 +09:00
Cheng Zhao
24574f7299
Avoid touch an Environemnt after it gets destroyed
2017-03-02 17:19:00 +09:00
Cheng Zhao
29278e500b
Destroy node environment when a JS context in renderer is destroyed
2017-03-02 17:19:00 +09:00
deepak1556
7a0aff2bae
code cleanup
2017-02-12 01:48:24 +05:30
deepak1556
e3fe3cc490
map webframe zoom api to use HostZoomMap
2017-02-12 00:49:17 +05:30
deepak1556
07794a58aa
use zoom factor webpreference option when required.
...
* When setzoomlevel is not called for the host.
* When there is no zoom preference for the host.
2017-02-12 00:49:17 +05:30
Cheng Zhao
81784827ff
PrintWebViewHelper is attached to RenderFrame
2017-02-06 10:34:29 -08:00
Cheng Zhao
6d5339b74e
insertText is deprecated
2017-02-06 10:34:29 -08:00
Kevin Sawicki
c374e37cc4
Leak IsolateData since Environment is also leaked
2017-01-19 09:05:59 +02:00
Kevin Sawicki
54e2c480cb
Upgrade to node 7.4
2017-01-19 09:05:59 +02:00
Kevin Sawicki
602db2e04f
🎨
2017-01-19 09:05:59 +02:00
Kevin Sawicki
d6eb0d6629
Implement insertCSS on webFrame
2017-01-19 09:05:59 +02:00
Cheng Zhao
497f5a1199
Update files for Chrome 54 API changes
2017-01-19 09:05:59 +02:00
Kevin Sawicki
9ccc78c62f
Use options constants for keys
2017-01-16 13:09:38 -08:00
Kevin Sawicki
b26428c43c
🎨
2017-01-16 12:38:16 -08:00
Kevin Sawicki
815cb1b31c
Include atom_natives after builtin includes
2017-01-16 12:38:16 -08:00
Kevin Sawicki
dcf9a395c2
Only create isolated context in main frame
2017-01-16 12:38:16 -08:00
Kevin Sawicki
2e62d81c24
Access getter instead of variable
2017-01-16 12:38:16 -08:00
Kevin Sawicki
f35224b0e4
🎨
2017-01-16 12:38:16 -08:00
Kevin Sawicki
3f7b3c4bd7
Implement window overrides in main context
2017-01-16 12:38:16 -08:00
Kevin Sawicki
eef72647b4
Set human readable context name
2017-01-16 12:38:16 -08:00
Kevin Sawicki
ad3b837ad5
Rename option to contextIsolation
2017-01-16 12:38:16 -08:00
Kevin Sawicki
b56bdc83af
🎨
2017-01-16 12:38:16 -08:00
Kevin Sawicki
2e7dbe6c6b
Use patch worldScriptContext to get isolated context
2017-01-16 12:38:16 -08:00
Kevin Sawicki
4f5c725dde
🎨 Use enum for world ids
2017-01-16 12:38:16 -08:00
Kevin Sawicki
5b6397aaa6
Store context that API is running in to deliver IPC events
2017-01-16 12:38:16 -08:00
Kevin Sawicki
5da4f032c3
Notify client each time main context is created
2017-01-16 12:38:16 -08:00
Kevin Sawicki
c5e68ec165
🎨
2017-01-16 12:38:16 -08:00
Kevin Sawicki
78e0b80dc7
Support IPC messages in isolated context
2017-01-16 12:38:16 -08:00
Kevin Sawicki
073d8c2177
Add world id constants
2017-01-16 12:38:16 -08:00
Kevin Sawicki
d194a84ae4
Setup isolated context from AtomRenderFrameObserver
2017-01-16 12:38:16 -08:00
Kevin Sawicki
cdf33ff3dc
Add null guards
2017-01-16 12:38:15 -08:00
Kevin Sawicki
08b203fed1
Match extension name to class name
2017-01-16 12:38:15 -08:00
Kevin Sawicki
736befe90f
Add initial support for loading into isolated world
2017-01-16 12:38:15 -08:00
Kevin Sawicki
2e1e893675
Merge pull request #8159 from seanchas116/devtools
...
Record JavaScript calls in DevTools timeline on Node/ipc callback
2016-12-12 13:50:42 -08:00
Kevin Sawicki
3796d7a6a1
Use trace event with zero args
2016-12-12 13:49:58 -08:00
Kevin Sawicki
1d288b69e2
Merge pull request #7947 from beakerbrowser/register-standard-secure-schemes
...
Add {secure:} opt to protocol.registerStandardSchemes
2016-12-12 12:52:28 -08:00
Kevin Sawicki
cac85d2a12
Remove linter errors
2016-12-12 12:51:48 -08:00
Kevin Sawicki
381f55b3cb
Remove unneeded empty checks
2016-12-12 12:51:48 -08:00
Paul Frazee
04fa85f67f
removed unused iostream include
2016-12-12 12:51:48 -08:00
Paul Frazee
bacf6511a6
remove unneeded deprecations couts
2016-12-12 12:51:48 -08:00
Paul Frazee
a46040a4fa
log deprecation notices for webframe
2016-12-12 12:51:48 -08:00
Paul Frazee
b458201874
add deprecation notices to webframe
2016-12-12 12:51:48 -08:00
Paul Frazee
99ea50649a
finish implementation of {secure:true} opt on protocol.registerStandardScehesm, and add working test
2016-12-12 12:49:57 -08:00
Geoff Lywood
5345b08d24
Fix printing with the sandbox enabled
...
Closes #7984
2016-12-07 17:40:18 -08:00
Ryohei Ikegami
a7a06a483e
Record JavaScript calls in DevTools timeline on Node/ipc callback
2016-12-07 20:22:13 +09:00
Kevin Sawicki
d4368fabb9
Add 2.0 comment about setZoomLevelLimits
2016-11-22 08:09:14 -08:00
Kevin Sawicki
e887fb69bd
Export a setVisualZoomLevelLimits method
2016-11-22 07:53:02 -08:00
Paul Betts
7445f9bdcc
Lint
2016-11-21 15:13:34 -05:00
Paul Betts
e2649ce7d8
Add new method to set layout-based zoom level limit
2016-11-21 14:59:55 -05:00
Kevin Sawicki
0841c4291a
Remove RegisterURLSchemeAsPrivileged lint error
2016-10-24 16:27:54 +09:00
Paul Frazee
a5c62bb264
add options to webFrame.registerURLSchemeAsPrivileged
2016-10-18 15:52:41 -05:00
Brian Clifton
13de65d310
Fixes mouse coordinates for Windows when display is set to a higher DPI (ex: enlarged by 150% using display settings)
2016-09-27 08:23:48 -07:00
Cheng Zhao
458c4dd129
Merge branch 'support-chromium-sandbox' of https://github.com/tarruda/electron into tarruda-support-chromium-sandbox
2016-09-27 20:02:23 +08:00
Thiago de Arruda
524bab530a
Improve AtomSandboxedRendererClient to support preload scripts.
...
Add RenderFrameObserver/RenderViewObserver subclasses that implement the
necessary support for preload scripts in sandboxed renderers.
2016-09-27 06:01:47 -03:00
Thiago de Arruda
6afe8aa7f2
Move EmitIPCEvent into AtomRenderViewObserver.
...
Refactor this function as a method so it is possible to inherit most behavior
from AtomRenderViewObserver and override EmitIPCEvent.
2016-09-27 06:01:46 -03:00
Thiago de Arruda
c8629019f5
Expose atom_api_renderer_ipc module API
2016-09-27 06:01:46 -03:00
Thiago de Arruda
a7b6332ed0
Add atom::AtomSandboxedRendererClient class
2016-09-27 06:01:46 -03:00
deepak1556
ed465208a2
renderer: add content settings class for managing storage
2016-09-21 21:47:30 +05:30
Cheng Zhao
e3e450613d
Merge pull request #7157 from Mossop/moveguest
...
Allow moving a webcontents to a different webview
2016-09-20 14:28:42 +09:00
Kevin Sawicki
1072519488
Mark atom-shell version as deprecated
2016-09-16 15:59:00 -07:00
Cheng Zhao
f28e8d7168
Fix API changes of Chrome 53
2016-09-14 16:22:43 +09:00
Dave Townsend
313b2faa3c
Add a guestinstance attribute to webviews reflecting their current guest
...
instance ID and allowing moving a guest instance to a new webview.
2016-09-09 10:32:05 -07:00
Kevin Sawicki
6285500cdc
Sort includes alphabetically
2016-08-26 15:30:02 -07:00
deepak1556
77173be1c6
webFrame: enable privileged schemes to send CORS requests
2016-08-11 23:01:10 +05:30
Cheng Zhao
5dabc47440
Remove the view-painted event
2016-08-03 16:20:55 +09:00
Cheng Zhao
8c0a033b6f
Fix lint errors of using __proto__
2016-08-02 21:02:28 +09:00
Cheng Zhao
8c3232dc56
Every native class now gets a name
2016-08-02 19:28:12 +09:00
Cheng Zhao
cb19efe49c
Pass FunctionTemplate in BuildPrototype
2016-08-02 18:08:12 +09:00
Cheng Zhao
c497765dea
Merge pull request #6524 from liusy182/painted-event-6426
...
add "view-painted" event to WebContent.
2016-07-25 16:02:50 +09:00
Cheng Zhao
b57665330c
Merge branch 'master' into chrome52
2016-07-21 05:34:36 -06:00
liusi
d335d7d706
add "view-painted" event to WebContent.
2016-07-18 14:54:52 +08:00
deepak1556
c8bf6edcc6
webcontents: replace deprecated navigation observers
2016-07-14 06:47:38 +05:30
Haojian Wu
4ac4dacffe
Some manual change to for-ranged loop.
...
Use "const auto&" where possible.
2016-07-10 15:57:51 +02:00
Haojian Wu
55b3f1936f
Modernize to C++11: Use for-range loop.
2016-07-10 13:33:15 +02:00
Haojian Wu
3bdeac98bf
Modernize to C++11: use override.
2016-07-10 13:21:42 +02:00