Commit graph

47 commits

Author SHA1 Message Date
22222
4044548f3e Add 'will-prevent-unload' event. 2017-05-11 06:35:35 -05:00
Kevin Sawicki
c6c93211be Merge remote-tracking branch 'origin/master' into chrome58 2017-05-02 09:15:16 -07:00
deepak1556
f974a6bda9 browser: make destruction of webContents async 2017-05-01 16:53:14 +09:00
Cheng Zhao
50e3bfa764 Fix API changes of base::Value 2017-04-27 16:34:52 +09: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
Haojian Wu
6ef3be23fd Avoid copy in for range loop. 2017-03-30 21:56:28 +02:00
deepak1556
4ab2c92418 CommonWebContentsDelegate::DestroyWebContents => ResetManagedWebContents 2017-03-22 07:30:36 +05:30
Kevin Sawicki
867bb5a94e Add DialogSettings helper struct 2017-02-09 10:13:11 -08:00
Cheng Zhao
be29ea4dad libgtk2ui => libgtkui 2017-02-06 10:34:29 -08:00
Cheng Zhao
13a1d79ca6 Deperecate AtomSecurityStateModelClient with SecurityStateTabHelper 2017-02-06 10:34:28 -08:00
Cheng Zhao
1d29b23662 Update api::WebContents 2017-02-06 10:34:28 -08:00
Cheng Zhao
497f5a1199 Update files for Chrome 54 API changes 2017-01-19 09:05:59 +02:00
Cheng Zhao
f28e8d7168 Fix API changes of Chrome 53 2016-09-14 16:22:43 +09:00
Kevin Sawicki
6285500cdc Sort includes alphabetically 2016-08-26 15:30:02 -07:00
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
04f9d35312 Modernize to C++11: Use auto key to improve code readability and maintainability. 2016-07-10 13:11:47 +02:00
Cheng Zhao
7ba391da7c Update to API changes of Chrome 51 2016-05-23 10:59:39 +09: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
118afab67b Make sure BrowserContext is always destroyed after WebContents 2016-05-18 13:57:48 +09:00
Ben Gotow
84cce6c2c1 Don't default to "Open", "Save", just let OS decide 2016-05-15 01:03:32 -05:00
Ben Gotow
40c531737d Add buttonLabel param to showOpen/showSave dialogs 2016-05-15 01:03:32 -05:00
Brian R. Bondy
2da39d31aa Update to new pref service location in components 2016-05-13 11:07:17 +09:00
deepak1556
53ac79cb19 devtools: handle file system indexing requests 2016-05-07 04:32:54 +05:30
deepak1556
54545a8a6e provide security style for devtools security panel 2016-04-14 16:20:14 +05:30
Robo
cdc7b8d15e devtools: fix filesyatem api usage and use prefs to track filesystem paths 2016-03-15 07:51:36 +05:30
Cheng Zhao
5fae63a2f5 Fix compilation errors on OS X 2016-03-10 17:06:21 +09:00
Cheng Zhao
159fb857f4 No need to override RequestToLockMouse in CommonWebContentsDelegate 2016-02-01 21:05:29 +08:00
Cheng Zhao
73e7773d84 Update to API changes of Chrome 47 2015-12-07 19:56:23 +08:00
Cheng Zhao
ca40ea8e2f Inherit owner window in devtools 2015-10-01 14:41:01 +08:00
Cheng Zhao
83c514001e Move devtools API to WebContents 2015-10-01 11:25:31 +08:00
Robo
66553eea1a webContents: api to add/remove path from devtools workspace 2015-07-29 09:29:38 +05:30
Cheng Zhao
081a4597e9 Pass isGuest when creating WebContents 2015-06-24 23:29:32 +08:00
Cheng Zhao
4b61683cdf Store NativeWindow in weak ptr 2015-06-24 22:29:44 +08:00
Cheng Zhao
19ca011735 Discard is_guest_, use type_ instead 2015-06-24 22:23:38 +08:00
Cheng Zhao
2bfa9da82e Store NativeWindow's weak ptr in WebContents 2015-06-24 22:14:46 +08:00
deepak1556
1f3a73e802 devtools: write to file in FILE thread 2015-06-23 20:58:56 +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
57580e00f9 Fix code style. 2015-06-16 20:07:45 +08:00
Cheng Zhao
16e224bb86 Don't set browser_handles_all_top_level_requests
POST requests currently can not be handled on browser side.

Fix #1945.
2015-06-12 16:26:04 +08:00
Cheng Zhao
5ae9c633ca Fix building on Windows, close #1896 2015-06-08 13:19:56 +08:00
Cheng Zhao
af62b7b5c9 Put common code of OpenURLFromTab to CommonWebContentsDelegate 2015-06-05 17:45:17 +08:00
Cheng Zhao
8f9a109fa6 Implement HTML5 fullscreen in CommonWebContentsDelegate 2015-06-05 17:27:24 +08:00
Cheng Zhao
05468cc3fa Remove devtools APIs from NativeWindow 2015-06-05 17:01:17 +08:00
Cheng Zhao
d9efc3b4bf Move more methods to CommonWebContentsDelegate 2015-06-05 15:12:38 +08:00
Cheng Zhao
92b15c81e9 Manage InspectableWebContents in CommonWebContentsDelegate 2015-06-05 14:55:07 +08:00
Cheng Zhao
19d742de37 Add CommonWebContentsDelegate 2015-06-05 13:49:24 +08:00