Ryohei Ikegami
8dff29185b
Merge branch 'master' into native-window-open
2017-04-18 21:59:22 +09:00
Birunthan Mohanathas
638eae1080
Remove MenuLayout in favor of NativeWindowViews::Layout
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
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
Ryohei Ikegami
34ed1a9ef8
Track child web contents
2017-04-06 12:15:27 +09:00
Ryohei Ikegami
526086d900
Improve RootWebContentsTracker
2017-04-06 11:37:21 +09:00
joshaber
398132cfe3
Fix file sorting
2017-04-03 21:19:00 -04:00
joshaber
6e89cb9d7c
Move it into dialog
2017-04-03 15:05:24 -04:00
joshaber
7b044ffe0e
Compile these lovely files
2017-03-30 17:26:03 -04: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
Cheng Zhao
bb5ad4ac05
Correctly initialize Node environment in worker
2017-03-20 12:52:45 -07:00
Cheng Zhao
e017e157ba
Insert node integrations into WebWorker
2017-03-20 12:52:45 -07:00
Kevin Sawicki
019883f2fa
Merge pull request #8899 from electron/dynamically-generate-browserify-dep-list
...
Dynamically generate dependencies of browserify build actions
2017-03-15 09:12:31 -07:00
deepak1556
5a8e522526
StreamManager class is no longer required.
...
Stream lifetime is managed by webui
2017-03-14 00:26:27 +05:30
deepak1556
c982af991d
request for pdf resource from the webui
2017-03-14 00:26:27 +05:30
deepak1556
6cb626db88
use existing ipc message generator
2017-03-14 00:26:27 +05:30
deepak1556
0c7bb72891
listen to ipc messages from plugin to perform SaveAs op
2017-03-14 00:25:59 +05:30
deepak1556
fd8c450ef3
move pdfviewer ui data source to separate file
2017-03-14 00:25:59 +05:30
deepak1556
945e26750e
manage the lifetime of streams created
2017-03-14 00:25:59 +05:30
deepak1556
c8b932fce4
build pdf resources from submodule
2017-03-14 00:25:59 +05:30
deepak1556
a2db14476a
create webui message handler
2017-03-14 00:25:59 +05:30
deepak1556
fdd574cea5
browser: implement pdf renderer as webui
2017-03-14 00:25:59 +05:30
Thiago de Arruda
da023b72ee
Dynamically generate dependencies of browserify build actions
...
Instead of having to list in filenames.gypi every javascript file that may go
into a browserify build, generate this list dynamically when the build files are
created by gyp.
2017-03-10 16:30:23 -03:00
Thiago de Arruda
dda2288541
Remove lib/renderer/api/ipc-renderer-setup.js
...
This file is no longer required since sandboxed renderer directly imports
ipc-renderer.js.
2017-03-09 20:40:32 -03:00
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
Thiago de Arruda
44bd93589a
Refactor electron exports to keep module list in separate files
2017-03-09 19:08:01 -03:00
Kevin Sawicki
b632cdd37d
Extract helper class to encapsulate touch bar items
2017-03-03 14:00:38 -08:00
Kevin Sawicki
52905ae9b3
Get compiling against 10.10 SDK
2017-03-03 14:00:38 -08:00
Samuel Attard
7857c83ea1
Make dynamic buttons work along with click events
2017-03-03 14:00:38 -08:00
Kevin Sawicki
be79417a03
Include CanFocus on Windows and map to state
2017-02-15 08:28:55 -08:00
deepak1556
63c0e4cbb1
Add ZoomController to manager zoom changes for webcontents
2017-02-12 00:49:17 +05:30
deepak1556
ff3aaa55f7
define icon loader for liunx as separate target
2017-02-07 09:52:11 -08:00
Robo
b25b141642
create iconmanager as singleton class and cleanup code ( #1 )
...
* create iconmanager as singleton class and cleanup code
2017-02-07 09:52:11 -08:00
Yury Solovyov
d118fed5c2
Try my own class
2017-02-07 09:48:12 -08:00
Yury Solovyov
8e4ed664d9
Add icon fetching sources
2017-02-07 09:48:12 -08:00
Cheng Zhao
1a15b45736
--cipher-suite-blacklist is also removed
2017-02-06 10:34:29 -08:00
Cheng Zhao
13a1d79ca6
Deperecate AtomSecurityStateModelClient with SecurityStateTabHelper
2017-02-06 10:34:28 -08:00
Kevin Sawicki
3f7b3c4bd7
Implement window overrides in main context
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
736befe90f
Add initial support for loading into isolated world
2017-01-16 12:38:15 -08:00
deepak1556
a0065e62fa
add about: protocol handler
2016-11-09 13:22:58 +05:30
Kevin Sawicki
e0afb814aa
Only call browserify when one of sandbox sources change
2016-11-07 08:19:59 -08:00
Cheng Zhao
dfefa00a50
Merge pull request #7577 from thomsonreuters/net_module
...
net module
2016-10-31 10:31:56 +09:00
ali.ibrahim
61278f9ace
Fixing code review issues.
2016-10-25 12:41:01 +02:00
Kevin Sawicki
144a61c5a3
Add find text support to clipboard
2016-10-25 14:15:54 +09:00
Kevin Sawicki
39a5c7dab9
Merge pull request #7631 from beakerbrowser/webview-policy-flags2
...
Add 'webpreferences' attribute to webview
2016-10-25 12:14:25 +09:00
Kevin Sawicki
2556ed8744
Add parse-features-strings.js
2016-10-25 10:28:36 +09:00
deepak1556
5cbbd6efe6
session: exclude hosts from CT verification if they are handled by custom cert verifiers
2016-10-17 16:35:28 +05:30
ali.ibrahim
7521aeea09
Implement URLRequest::Delegate, handle thread sync.
2016-10-12 14:54:15 +02:00
ali.ibrahim
e8d4abe78f
Adding net module and URLRequest class.
2016-10-12 14:54:15 +02:00
Kevin Sawicki
24bcf6ac16
Add initial cookie changed event support
2016-09-29 09:16:29 -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
72154b64ed
Embed setup bundle for preload scripts in sandboxed renderers.
...
Add a gyp target that creates a browserify bundle starting with
`lib/sandboxed_renderer/init.js`, which is embedded into the executable using
the `atom_js2c` target.
The goal of this bundle is to provide a very basic environment for preload
scripts where a `require` function is available.
2016-09-27 06:01:47 -03:00
Thiago de Arruda
0f7652dc85
Move code that defines ipcRenderer methods into another file.
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
Samuel Attard
5dd5dbb3d8
Add a systemPreferences API method to fetch the system ColorizationColor
...
This is useful for automatical app theming
* Fetches the color from the registry
* Returns an empty string if the fetch fails (a falsey value)
2016-09-20 02:41:26 +10:00
Cheng Zhao
9714348260
Merge pull request #6941 from deepak1556/blob_data_patch
...
protocol: provide blob uuid with uploadData
2016-09-16 17:01:15 +09:00
deepak1556
7b85ca0301
create helper class to read blob data
2016-09-01 08:52:44 +05:30
Vadim Macagon
c64294cf60
Extend the custom Jump List API
...
Add `app.getJumpListSettings()` and `app.setJumpList(callback)` that
make it possible to fully customize the Jump List of an Electron app.
It is now possible to:
- Add tasks to the standard `Tasks` category.
- Add separators to the standard `Tasks` category.
- Add custom categories containing tasks and file links.
- Add system managed Recent/Frequent categories.
- Remove the custom Jump List.
2016-09-01 09:56:14 +07:00
Cheng Zhao
41df037f64
Show dummy view under offscreen mode
2016-08-04 15:35:08 +09:00
Cheng Zhao
921aaf9aa3
Move osr related files to atom/browser/osr
2016-08-03 13:05:47 +09:00
Heilig Benedek
4088f0eb33
remove unneeded windows specific things
2016-08-02 12:57:23 +02:00
gellert
6abf7475b8
cleaning up osr pt1
2016-07-29 14:50:27 +02:00
gellert
8090278708
breaks down osr api to separate files
2016-07-25 19:44:44 +02:00
gellert
96e1ba9c14
gpu acclereted osr added
2016-07-25 19:44:44 +02:00
Heilig Benedek
5371921f8a
speed(up) bump
2016-07-25 19:44:44 +02:00
Heilig Benedek
4a0f0063a0
speedup base
2016-07-25 19:44:44 +02:00
Cheng Zhao
1c9421bc89
Use ArrayBuffer.isView to detect Buffer and ArrayBuffer
2016-07-25 16:39:09 +09:00
haad
2757046e71
Add isTypedArray to Electron exports
2016-07-23 11:30:14 +01:00
Kevin Sawicki
d8eb8f4007
Sort filenames
2016-07-13 14:18:41 -07:00
Kevin Sawicki
7877fa7c0a
Add webContents.isFocused()
2016-07-13 14:16:56 -07:00
Cheng Zhao
7848608198
Replace DialogScope with UnresponsiveSuppressor
...
The latter is global-wide.
2016-07-11 15:29:03 +09:00
Kevin Sawicki
2faf00dc19
Only use default accelerator in Windows/Linux app menu
2016-07-07 11:50:19 -07:00
Kevin Sawicki
cf480f8e17
Set default app window icon on Linux
2016-07-06 11:47:21 -07:00
Cheng Zhao
13c668f22b
mac: Implement webContents.startDrag
2016-07-03 12:26:43 +09:00
Kevin Sawicki
25b2724ab9
Add menu item role defaults
2016-06-22 13:09:48 -07:00
Cheng Zhao
9aa7291627
linux: Implement win.disable/enable/isEnabled() API
2016-06-20 11:16:41 +09:00
Kevin Sawicki
3aecb11094
Extract Event clas to own file
2016-06-16 09:51:54 -07:00
Kevin Sawicki
7f9fa92e2d
Add chrome.webNavigation stubs
2016-06-16 09:46:26 -07:00
Cheng Zhao
e2442fb052
Move converter for std::map to native_mate
2016-06-13 09:27:13 +09:00
Milan Burda
c89d8b19b6
Add optional requestHeaders argument to autoUpdater.setFeedURL + allow calling mulitple times
2016-06-12 12:46:16 +02:00
Jessica Lord
f121f46a24
Merge branch 'master' into chrome-storage-sync
2016-06-09 16:35:00 -07:00
Jessica Lord
41d6ddd588
Add storage file
2016-06-09 14:14:14 -07:00
Kevin Sawicki
84960af793
Add initial chrome.i18n.getMessage API
2016-06-09 13:57:08 -07:00
Cheng Zhao
0646f6ea9e
Implement Relaunch on Windows
2016-06-02 19:49:36 +09:00
Cheng Zhao
a3f39e9d0b
Implement Relaunch on Linux
2016-06-02 16:54:21 +09:00
Cheng Zhao
060829da64
Separate implementations of RelauncherMain and RelauncherSynchronizeWithParent
2016-06-02 09:09:32 +09:00
Cheng Zhao
6df18956cd
Get ready to make relauncher cross-platform
2016-06-01 22:04:20 +09:00
Cheng Zhao
7b3ba739bf
Import chrome/browser/mac/relauncher.{cc,h}
2016-06-01 16:26:08 +09:00
deepak1556
db4dc4757a
move bluetooth_chooser to atom/browser/lib
2016-06-01 11:43:39 +05:30
deepak1556
a70749e80a
browser: implement bluetooth chooser interface
2016-06-01 11:43:39 +05:30
Cheng Zhao
49d9446cce
Implement a simple content script injector
2016-05-27 10:29:57 +09:00
Cheng Zhao
4fb9e20c33
Add API to set render process preferences
2016-05-27 08:51:02 +09:00
cdaringe
32073fa079
🎨 Support non-native promises
2016-05-25 10:11:18 -06:00
Cheng Zhao
5f6c468f0f
Handle keyboard events for WebContents that do not have owner window
2016-05-18 13:57:48 +09:00
Cheng Zhao
49ac160ff7
Move createIDWeakMap to v8Util
2016-05-11 19:30:06 +09:00
Cheng Zhao
a077355d70
Turn api::IDWeakMap into api::KeyWeakMap<T>
2016-05-11 18:21:35 +09:00