Commit graph

478 commits

Author SHA1 Message Date
Cheng Zhao
481b04358e Fix blink API changes 2017-04-27 16:34:52 +09:00
Cheng Zhao
8634f37dfc Add gen/third_party/WebKit to include dirs 2017-04-27 16:34:52 +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
5f724e57bc Avoid unnecessary copy of parameters. 2017-03-29 22:06:07 +02:00
deepak1556
4ab2c92418 CommonWebContentsDelegate::DestroyWebContents => ResetManagedWebContents 2017-03-22 07:30:36 +05:30
deepak1556
72adbf7a2f destroy guest webcontents before embedder 2017-03-19 10:25:13 +05:30
John Kleinschmidt
d5a658bbe4 Fixed pass by reference and added spec 2017-03-08 22:06:26 -05:00
John Kleinschmidt
1c2a78a896 Add WebRTCIPPolicy setting to webContents and webview
Resolves #8777
Code to set and get the policy come from the muon framework code:
https://github.com/brave/muon/blob/master/atom/browser/api/atom_api_web_
contents.cc#L1324...L1343
2017-03-08 10:15:48 -05:00
Kevin Sawicki
f549bda9fc Merge pull request #8799 from nitsakh/baseURLForDataURL
Support base URL option to loadURL for data URLs
2017-03-06 10:25:53 -08:00
deepak1556
e936143da2 listen for browser initiated pending nav entries too 2017-03-06 00:21:52 +05:30
deepak1556
dead1ae1ba webContents: defer url load when there is a pending navigation entry 2017-03-06 00:10:46 +05:30
Nitish Sakhawalkar
bcda67b8eb No more extra whitespace. 2017-03-02 10:50:48 -08:00
Nitish Sakhawalkar
c06c4c0ccb Reverting formatting changes made by clang format. 2017-03-01 14:04:41 -08:00
Nitish Sakhawalkar
879082b1a6 Issue #8735:Support base URL option to loadURL for data URLs 2017-02-28 16:49:03 -08:00
deepak1556
203a920c64 fix signature of zoom getter apis 2017-02-18 01:34:32 +05:30
Kevin Sawicki
36e6501c44 Rename variable for compiler error 2017-02-14 12:30:23 -08:00
Kevin Sawicki
9be42db8d5 Merge pull request #8628 from Spacetech/master
Implement invalidate for non-offscreen mode
2017-02-14 11:41:16 -08:00
Kevin Sawicki
5cb6648686 Use underscore variable name for consistency 2017-02-14 11:12:30 -08:00
Kevin Sawicki
82f452568c 🎨 Minor formatting tweaks 2017-02-14 11:09:15 -08:00
Gary Wilber
f19924bcb0 Add Invalidate method to NativeWindow and add Mac implementation 2017-02-13 19:41:24 -08:00
deepak1556
7a0aff2bae code cleanup 2017-02-12 01:48:24 +05:30
deepak1556
cbeaa6be87 simply handling temporary zoom levels of webview 2017-02-12 00:49:17 +05:30
deepak1556
e3fe3cc490 map webframe zoom api to use HostZoomMap 2017-02-12 00:49:17 +05:30
deepak1556
63c0e4cbb1 Add ZoomController to manager zoom changes for webcontents 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
deepak1556
b27c94368d webContents: set zoom levels with HostZoomMap 2017-02-12 00:49:17 +05:30
Gary Wilber
11e1f6b56c Fix lint errors 2017-02-08 00:05:16 -08:00
Gary Wilber
ed44b32ff5 Convert indentation to spaces 2017-02-07 23:08:03 -08:00
Gary Wilber
148898fb75 Implement invalidate for non-offscreen mode 2017-02-07 23:03:42 -08:00
Cheng Zhao
75627ba6ad Fix sync printing not working 2017-02-06 10:34:29 -08:00
Cheng Zhao
820c0827c0 Fix cpplint warnings 2017-02-06 10:34:29 -08:00
Cheng Zhao
4a14b17255 WindowOpenDisposition has become enum class 2017-02-06 10:34:29 -08:00
Cheng Zhao
6d323dd6fe web/WebInputEvent.h is moved to platform/WebInputEvent.h 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
c10eb73166 Signature of OnCreateWindow has changed 2017-02-06 10:34:28 -08:00
Kevin Sawicki
e683f28e32 Require a non-empty drag image to prevent crash 2017-01-26 15:46:04 -08:00
Kevin Sawicki
8ce1930f0d Add specs for missing startDrag options 2017-01-26 15:46:04 -08:00
deepak1556
f9dc08baf6 emit did-fail-load event when the url char length exceeds limit 2017-01-21 14:59:20 +05:30
deepak1556
54559f99a0 Fix dereferencing nullptr
RenderWidgetHostView might not be available when
the navigator fails to load a url.
2017-01-21 14:56:58 +05:30
Kevin Sawicki
443040e8d7 Call InspectElement directly on InspectableWebContents 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
8f63fdb278 Destroy web contents when preventing default 2017-01-12 10:28:08 -08:00
Kevin Sawicki
41afeb744a Configure background throttling on RenderViewCreated callback 2016-12-28 15:52:47 -08:00
Kevin Sawicki
1308f790ad Don't load URL if web contents is destroyed 2016-12-28 13:40:06 -08:00
Kevin Sawicki
590bde5e14 Remove unused include 2016-12-13 16:00:37 -08:00
Kevin Sawicki
7842040d9d Add ToV8 converter for NativeWebKeyboardEvent 2016-12-13 15:54:13 -08:00
Kevin Sawicki
3237c6751a Use DCHECK instead of assert 2016-12-13 15:54:13 -08:00