Commit graph

713 commits

Author SHA1 Message Date
Aleksei Kuzmin
5fb0f005c5 Convert SpellCheckPanel SpellCheckPanelHost IPC to mojo
https://chromium-review.googlesource.com/c/chromium/src/+/515323
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
e4d9e12ee5 Use blink::WebLocalFrame instead of blink::WebFrame
Move GetDocument method from WebFrame to WebLocalFrame.
https://codereview.chromium.org/2928033002

Move MainWorldScriptContext accessor/method from WebFrame to WebLocalFrame.
https://codereview.chromium.org/2923053002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
61797b7802 Move GetDocument method from WebFrame to WebLocalFrame.
https://codereview.chromium.org/2928033002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
370476c4af Remove unused RenderViewObserver methods.
https://chromium-review.googlesource.com/c/506027

`DidCreateDocumentElement()` observer method was removed.
So I have to use a different approach to check if a document element
has already been created on a web page.
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
e2a224c4e6 Remove rendundant WebLocalFrame parameter in various plugin code.
https://codereview.chromium.org/2855123003
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
f847291272 [blink] Unique pointers in Platform.h
https://codereview.chromium.org/2846843002
2017-11-24 10:58:15 +09:00
Emmanuel Kimmerlin
5f658de19f 🐛 #10470 - prevent to load preload in each iframe context 2017-11-23 09:20:52 +01:00
Heilig Benedek
5daaff91ea fix a bug where datalist elements wouldn't actually set the value of the input associated with them 2017-11-13 15:46:46 +09:00
Cheng Zhao
b277353238 Set secure schemes in native code
Code with same functionalities should be put together.
2017-09-15 16:48:55 +09:00
Ales Pergl
a7bae32527 Re-enabled debug mode 2017-08-29 14:19:19 +09:00
sungpark
65eb4e1994 fix compile error 2017-08-24 14:31:25 -07:00
sungpark
f984bd2ff5 use spaces instead of hard tabs for indentation and add the supported modules as a sub-list 2017-08-23 10:52:02 -07:00
sungpark
bf07c5aebd fix contextIsolation issue while webPreference sandbox is on
contextIsolation didn't work while sandbox is on. The fix is contextIsolation picked up while sandbox on
2017-08-23 10:52:02 -07:00
deepak1556
778772710a intialize WebTextCheckClient https://codereview.chromium.org/2791753003 2017-08-15 16:19:22 +03:00
Kevin Sawicki
4bb95acc2b 👕 Remove linter errors 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
b8b7d0ab1a Rename methods in autofill 2017-08-15 16:19:21 +03:00
Kevin Sawicki
45db999593 Extend blink::WebTextCheckClient in atom::api::SpellCheckClient 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
e2fe95894f Require explicit selection of traits for LazyInstance
https://codereview.chromium.org/2733283002
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
48821a6d2a Fix compilation 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
1126719e7f Separate ContentSettingsClient out from LocalFrameClient
https://codereview.chromium.org/2786673002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
7a4ca08a8d The Blink Rename 2017-08-15 16:19:20 +03:00
John Kleinschmidt
3d5acdf682 Rollback debug mode changes 2017-08-07 15:54:44 -04:00
Cheng Zhao
0719650315 Leak the Node environment when context is released 2017-07-24 14:56:56 +09:00
Ales Pergl
8e34aad410 Fixed invalid empty vector subscript access 2017-07-22 14:45:50 +02:00
Kevin Sawicki
14178d9826 Expose argv to preload process object 2017-06-26 13:52:19 -07:00
Heilig Benedek
192cd7787b move popup related code to nativewindow 2017-05-26 03:39:36 +02:00
Heilig Benedek
218e28b136 minor fixes and enable datalist elements in OSR 2017-05-21 19:55:19 +02:00
Heilig Benedek
a95d6b997b add ability to open popup on second click 2017-05-20 04:21:11 +02:00
Heilig Benedek
4949531f57 🎨 lint fix 2017-05-19 21:52:18 +02:00
Heilig Benedek
f360104bee add datalist element view 2017-05-19 21:36:37 +02:00
Cheng Zhao
f4420b449f Use v8::ArrayBuffer::Allocator inside Node 2017-05-18 16:26:46 +09:00
Cheng Zhao
1b1c663b32 Merge pull request #8839 from brenca/offscreen-child-window
Offscreen rendering enhancements
2017-05-11 20:52:47 +09:00
Ryohei Ikegami
7ac93045b7 Merge branch 'master' into native-window-open 2017-05-11 13:51:43 +09:00
gellert
155fef99ae adds offscreen renderer ipc message to disable external popups 2017-05-10 22:19:05 +02:00
Kevin Sawicki
fb85b26767 Merge remote-tracking branch 'origin/master' into chrome58 2017-05-10 09:42:19 -07:00
Thiago de Arruda
bbe21cce67 Expose more atom_bindings.cc functions to sandbox 2017-05-01 09:12:39 -03:00
Ryohei Ikegami
8b6b512485 Pass nativeWindowOpen flag to isolated init.js 2017-04-30 19:35:41 +09:00
Cheng Zhao
4c47f2d15e Update to Node v7.9.0 2017-04-27 17:20:01 +09:00
Cheng Zhao
5563cf0dc5 Automatically register secure schemes in renderer
Otherwise the behavior of secure schemes would be different with before.
2017-04-27 16:34:52 +09:00
Cheng Zhao
e43b34b8f8 Use blink::SchemeRegistry over WebSecurityPolicy
The latter is removing some APIs we use.
2017-04-27 16:34:52 +09:00
Cheng Zhao
481b04358e Fix blink API changes 2017-04-27 16:34:52 +09:00
Cheng Zhao
6be10ffef2 Fix more API changes due to name changes 2017-04-27 16:34:52 +09:00
Kevin Sawicki
efa28503a7 Merge pull request #9148 from electron/share-render-frame-observer-with-sandbox
Refactor: Share AtomRenderFrameObserver with AtomSandboxedRendererClient
2017-04-11 10:02:12 -07:00
Kevin Sawicki
29c68182df Always set NSScrollViewRubberbanding scroll bounce pref 2017-04-11 08:42:41 -07:00
Thiago de Arruda
039aaba758 Move AtomRenderFrameObserver creation to RendererClientBase.
Also remove AtomSandboxedRenderFrameObserver class.
2017-04-08 11:54:58 -03:00
Thiago de Arruda
72781e38c8 Change AtomRenderFrameObserver.renderer_client_ type to RendererClientBase. 2017-04-08 11:27:19 -03:00
Thiago de Arruda
ef07e25f9d Make SetupMainWorldOverrides/isolated_world pure virtual.
Also implement stubs in AtomSandboxedRendererClient.
2017-04-08 11:12:18 -03:00
Thiago de Arruda
f751335bf9 Make DidCreateScriptContext/WillReleaseScriptContext pure virtual. 2017-04-08 10:58:13 -03:00
Thiago de Arruda
0227254774 Move DidClearWindowObject into RendererClientBase.
Also adapt AtomSandboxedRenderFrameObserver to forward DidClearWindowObject to
RendererClientBase.
2017-04-08 10:43:19 -03:00
Thiago de Arruda
91ee0ea740 Move AtomRenderFrameObserver into a separate module.
Also move SetupMainWorldOverrides into the AtomRendererClient class(since the
code there is specific to AtomRendererClient).
2017-04-08 10:29:05 -03:00
Kevin Sawicki
f5a75c4e87 Merge pull request #9076 from electron/cleanup-cpp
Cleanup cpp codebase
2017-04-03 08:30:08 -07:00
Haojian Wu
5f724e57bc Avoid unnecessary copy of parameters. 2017-03-29 22:06:07 +02:00
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