Commit graph

5163 commits

Author SHA1 Message Date
Robo
edd5c4b9bb fix: use OS process handle to clear object registry (#14324)
RenderProcessHost switch can happen between ipc calls when
speculative process are invvolved, which will lead to deletion
of entries on current context. Use OS process handles to
uniquely associate a destruction handler for a render process.
2018-08-28 13:32:46 -05:00
Alexey Kuzmin
7edd37bca1 build: add missing enable_view_api flag (#14351)
* build: add missing enable_view_api flag

Fixes #14340.

* fix: properly pass a pointer to a SetLayoutManager() call
2018-08-28 10:55:31 -07:00
Robo
07d017dc01 fix: crash when tray is destroyed (#14347)
Release the view of status item before destroying it,
gives chance to perform cleanup on the view.
2018-08-28 10:45:24 -07:00
Samuel Attard
68da311ed1 feat: add session.setPermissionCheckHandler (#13925)
* feat: add session.setPermissionCheckHandler to handle syncornous permission checks vs requests

* spec: add tests for session.setPermissionCheckHandler

* docs: add docs for session.setPermissionCheckHandler

* feat: add mediaType to media permission checks

* chore: cleanup check impl
2018-08-28 09:05:08 -05:00
Siddharth Dalal
afdb6c5f90 feat: 'will-move' event for windows. (#14283)
* feat: 'will-resize' window event (Windows only)

* documentation for 'will-move' event

* comment and line break fix in docs
2018-08-28 08:44:10 -05:00
Samuel Attard
a43a292d18 fix: dont parse arguments after a -- in the inspector (#14297) 2018-08-27 10:50:23 -07:00
Milan Burda
a08ca9defb fix: don't crash on tray.setContextMenu(null) (#14322) 2018-08-27 11:58:47 -05:00
Milan Burda
2a253c73db refactor: use std::string instead of base::string16 for IPC channel names (ipcRenderer.sendTo) (#14302) 2018-08-24 15:30:10 -07:00
Emmanuel Kimmerlin
5f6706ac33 feat: BrowserWindow.getNormalBounds() (#13290)
* First commit

* Add Mac support (1st attempt)

* Add Mac support (2nd attempt)

* Simplify tests

* Restore window state !

* Looking at other tests, seems minimize, maximize, fullscreen are skipped when in CI

* Fix Mac tests

* Restore tests in CI

* Fix typo

* widget getRestoredBounds not working on Mac !!

* widget getRestoredBounds not working on Mac !!

* Add IsNormal function

* Add IsNormal

* IsNormal => isNormal

* Deactivate fullscreen on Mac. Do not receive leave-fullscreen event

* Set default original_frame_

* Set default original_frame_

* Fix Mac
2018-08-24 14:33:27 -07:00
Milan Burda
c23e7fa101 refactor: implement ipcRenderer.sendTo in native code for better performance (#14285) 2018-08-24 14:14:39 -07:00
Milan Burda
e6e3ccfc50 refactor: use std::string instead of base::string16 for IPC channel names (#14286) 2018-08-24 10:30:37 -05:00
Electron Bot
ef4ae27b52 Bump v4.0.0-nightly.20180823 2018-08-23 21:23:50 -07:00
Robo
bce5bd87a8 fix: opt into location services once device service has been started (#14253)
* fix: opt into location services once device service has been started

* refactor: provide fake location provider to mock geolocation reponses

* chore: add spec for navigator.geolocation api using fake location provider
2018-08-23 08:51:46 -07:00
Robo
c8f506a8aa fix: add method and referrer properties to app login event (#14231)
* refactor: remove brightray/network_delegate.{cc|h}

* refactor: respond to http requests through network delegate
2018-08-23 18:55:13 +09:00
Cheng Zhao
cd8bb1d3b4
chore: print error when removed webview attribute is used (#14230)
* chore: print error when removed webview attribute is used

* docs: document removed webview features
2018-08-23 10:45:43 +09:00
Electron Bot
79eac1fdcb Bump v4.0.0-nightly.20180821 2018-08-21 13:34:20 -07:00
Samuel Attard
20423df112 Revert "Bump v4.0.0-nightly.20180821"
This reverts commit 73c43eaea7.
2018-08-21 13:14:37 -07:00
Electron Bot
73c43eaea7 Bump v4.0.0-nightly.20180821 2018-08-21 11:55:32 -07:00
Samuel Attard
5d06c77bf1 Revert "Bump v4.0.0-nightly.20180821"
This reverts commit d2cd641381.
2018-08-21 11:44:51 -07:00
Electron Bot
d2cd641381 Bump v4.0.0-nightly.20180821 2018-08-21 11:15:56 -07:00
Milan Burda
7253c7f843 refactor: move SpecialStoragePolicy from brightray to atom (#13944) 2018-08-21 08:51:04 -07:00
Heilig Benedek
14ee5b3d3a fix: enable osr (#14074)
* fix: re-enable osr

* fix: add changes from CEF to add MouseWheelPhaseHandler

* fix: re-enable surface synchronization by applying fix from cef

* update method call and enable AsyncWheelEvents var

* fix: make BrowserCompositorMacGetGutterColor behave like chromium

* fix: HANDLE only exists on windows

* fix: pass correct params to mouse_wheel_phase_handler_

* fix variable accessing

* revert: revert the workaround for disableHardwareAcceleration crash

* fix: remove GuestViewCrossProcessFrames from the disabled features list

* revert: remove check from BrowserChildProcessLaunchedAndConnected
2018-08-20 09:54:31 -07:00
Keerthi Niranjan
5b48e03c7c fix: Dialog does not close on ESCAPE if defaultId is set (#14196)
If defaultId is set, it was removing the key reference for the button at 0 which was previously set for the cancel_id
2018-08-19 13:41:03 -07:00
Electron Bot
dbee03d381 Bump v4.0.0-nightly.20180819 2018-08-19 01:09:28 +00:00
Electron Bot
3ba9a9b7bb Bump v4.0.0-nightly.20180817 2018-08-17 23:55:31 +00:00
Samuel Attard
f7dc01b2c5 Revert "Bump v4.0.0-nightly.20180817"
This reverts commit 26248323b4.
2018-08-17 16:52:48 -07:00
Electron Bot
26248323b4 Bump v4.0.0-nightly.20180817 2018-08-17 22:58:18 +00:00
Samuel Attard
1f23c5edc6 Revert "Bump v4.0.0-nightly.20180817"
This reverts commit b900ea44bf.
2018-08-17 15:53:15 -07:00
Electron Bot
b900ea44bf Bump v4.0.0-nightly.20180817 2018-08-17 21:40:50 +00:00
Samuel Attard
73f2a7dda9 Revert "Bump v4.0.0-nightly.20180817"
This reverts commit 76a592a419.
2018-08-17 14:34:31 -07:00
Electron Bot
76a592a419 Bump v4.0.0-nightly.20180817 2018-08-17 20:06:28 +00:00
Cheng Zhao
dd5b8769be fix: use OOPIF for webview tag (#13869)
* fix: use OOIF for webview tag

* fix: do not call GetNativeView for webview

* fix: OOIPF webview's WebContents is managed by embedder frame

* fix: guest view can not be focused

* fix: clear zoom controller when guest is destroyed

* fix: implement the webview resize event

The webview is no longer a browser plugin with the resize event, use
ResizeObserver instead.

* test: disable failed tests due to OOPIF webview

* fix: embedder can be destroyed earlier than guest

This happens when embedder is manually destroyed.

* fix: don't double attach

* fix: recreate iframe when webview is reattached

* fix: resize event may happen very early

* test: some tests are working after OOPIF webview

* chore: remove unused browser plugin webview code

* fix: get embedder via closure

When the "destroyed" event is emitted, the entry in guestInstances would be
cleared.

* chore: rename browserPluginNode to internalElement

* test: make the visibilityState test more robust

* chore: guestinstance can not work with OOPIF webview

* fix: element could be detached before got response from browser
2018-08-16 15:57:40 -07:00
Samuel Attard
4cf2cde7fb Bump v4.0.0-nightly.20180816 2018-08-16 08:58:46 -07:00
Robo
9989195f19 fix: notify request context shutdown on IO before cleanup (#14058) 2018-08-14 14:07:53 -07:00
Charles Kerr
b9490177da Revert "[WIP] refactor: (Part I) make the ownership of URLRequestContextGetter more clear (#13956)"
This reverts commit 1c0bb06d4a.
2018-08-13 16:16:04 -07:00
Robo
1c0bb06d4a [WIP] refactor: (Part I) make the ownership of URLRequestContextGetter more clear (#13956)
* refactor: desttroy URLRequestContextGetter on IO thread

* Accepts a factory class that can customize the creation of URLRequestContext
* Use a separate request context for media which is derived from the default
* Notify URLRequestContextGetter observers and cleanup on IO thread
* Move most of brightray net/ classes into atom net/

* refactor: remove refs to URLRequestContextGetter on shutdown

* refactor: remove brigtray switches.{cc|h}

* refactor: remove brightray network_delegate.{cc|h}

* refactor: make AtomURLRequestJobFactory the top level factory.

* Allows to use the default handler from content/ for http{s}, ws{s} schemes.
* Removes the storage of job factory in URLRequestContextGetter.
2018-08-13 15:22:45 -07:00
Milan Burda
702cc84bd3 Don't pass preloadPath via ELECTRON_BROWSER_SANDBOX_LOAD for security reasons (#13031) 2018-08-10 17:19:49 -05:00
Milan Burda
271d582aac refactor: make methods const, cleanup (#13937) 2018-08-09 10:15:23 -07:00
Shelley Vohr
9f328abe19 refactor: remove instances of createDeepCopy (#13703)
* add new native_mate converters for base::Value

* fix converter swapping

* remove createDeepCopy from browser/api

* replace missing ListValue converter

* convert bulk of remaining createDeepCopy instances

* convert last remaining instances of createDeepCopy

* incremental progress and helper methods for value conversion

* convert Get and add template function for GetString

* final DictionaryValue method conversions

* remove usage of base::DictionaryValue in web_contents_preferences

* use IsEnabled helper where possible

* Update atom_api_web_view_manager.cc
2018-08-04 07:23:07 +10:00
Milan Burda
f904057104 fix: add missing "simple" property in several APIs to prevent proxying of return values (#13905)
* fix: add missing "simple" property in several APIs to prevent proxying of return values

* add tests
2018-08-03 12:07:27 -07:00
Birunthan Mohanathas
23440a5ec3 fix: Improve --enable-features/--disable-features handling (#13920)
As it turns out, we can reinitialize the feature list directly after the
user JS script has been executed instead of much later. This allows
modifications to `--enable-features`/`--disable-features` to work with a
greater set of features.
2018-08-03 10:53:54 +10:00
Jeremy Apthorp
3bdff2d238
feat: allow setting window shape (#13789)
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
2018-07-30 13:37:40 -07:00
Gellert Hegyi
4bcf0e34c5 fix: window.setVibrancy parameter passing (#13627)
* fix: setVibrancy parameter passing

* fix: uses correct parameter types for setVibrancy
2018-07-30 11:29:18 +10:00
Samuel Attard
4b3011f3e8 feat: add getUploadProgress API to the net API (#13783) 2018-07-27 07:15:48 -07:00
Birunthan Mohanathas
c8dc2d3730 feat: Add will-resize event to TopLevelWindow (#13649)
The new `will-resize` event can be used to prevent the resize from
happening before the native window is actually resized. This is in
contrast to the existing the `resize` event, which is sent *after* the
native window has already been resized. For apps with e.g. custom window
snapping logic, the `resize` event is not sufficient because it will
result in flickering between the dragged size and the snapped size.

`will-resize` is only emitted on macOS and Windows.
2018-07-27 18:53:01 +09:00
Birunthan Mohanathas
a42ca9eecc feat: Add BrowserWindow.setWindowButtonVisibility()
Fixes #12701 and supersedes #13131.

Ideally we would have added `setTitleBarStyle()`, but that is a
significantly more involved change. For example, consider the case where
we switch from `hidden` to `normal`. We would not only have to show the
traffic light buttons, we would also have to switch the window from a
frameless to a framed window and deal with various other window state.
Lets instead implement a simple solution for #12701.
2018-07-25 10:12:27 -07:00
Cheng Zhao
305e3aad40
refactor: remove private webContents.getId() API (#13674) 2018-07-23 18:08:36 +09:00
John Kleinschmidt
f8b646c90a
Merge pull request #13543 from electron/ajm-win7-crash
Ensure DirectX capturer is supported.
2018-07-19 15:11:42 -04:00
Samuel Attard
777d0113d5
fix: create a window capturer correctly (#13689)
* fix: create a window capturer correctly

We were incorrectly creating two screen capturers instead of a window
capturer

* spec: ensure dc tests pass

* spec: enable all tests after verifying dc tests work
2018-07-17 14:20:50 +10:00
Shelley Vohr
6045d1218a
refactor: remove experimentalCanvasFeatures property (#13684) 2018-07-16 13:32:42 -07:00
Cheng Zhao
4a7c85f43e fix: use InspectableWebContentsView as content view 2018-07-16 10:20:35 +09:00
John Kleinschmidt
539b554ecc
Merge pull request #13578 from electron/miniak/refactoring
refactor: statically link functions available on Windows 7+
2018-07-13 10:52:37 -04:00
Cheng Zhao
77ca5b7d64 fix: don't invoke callback after FrameSubscriber is destroyed (#13657) 2018-07-13 19:54:49 +10:00
Milan Burda
adaa32003d refactor: DwmGetColorizationColor does not have to be dynamically resolved 2018-07-12 22:28:44 +02:00
Felix Rieseberg
deedf6c3f4 feat: Add isCurrentlyAudible() to WebContents (#13614)
* 🔧 Add isCurrentlyAudible() to WebContents

* ❤️ Implement feedback, use await to wait for event

* 👷 Add missing imports
2018-07-12 21:35:11 +10:00
Cheng Zhao
0ec4ad288d fix: fallback to FullSizeContentView for frameless window on mac (#13599)
fix: draggable regions not working on macOS
2018-07-10 11:43:42 +10:00
Andrew MacDonald
7639e4a32a Actually try building on Windows. 2018-07-03 01:03:05 -07:00
Andrew MacDonald
68541f2ae8 Ensure DirectX capturer is supported. 2018-07-02 21:37:10 -07:00
Maxine Whitely
6cf68f8247 fix: tray setContextMenu crash (#13513)
Co-authored-by: Zhuo Lu <sethlu@mintkit.net>
Co-authored-by: Kristine Zhang <kzhang@slack-corp.com>
2018-06-29 14:48:26 -07:00
Jeremy Apthorp
3d4487ccfd
Merge pull request #13463 from electron/remove_wtl
refactor: Using win32 file open api instead of WTL
2018-06-29 10:00:50 -07:00
Jeremy Apthorp
733e495e91
chore: use full path for ui_unscaled_resources.h (#13492)
This is the path that resolves in Chromium, it also works fine in the gyp build.
2018-06-28 14:41:37 -07:00
Jeremy Apthorp
d6af3bfcd2
chore: fix more chromium-style errors in windows code (#13487)
Finding more chromium-style linting errors as I build more of the windows code :)
2018-06-28 14:20:11 -07:00
Shelley Vohr
003a92e099
refactor: remove deprecated GetAs methods (#13425)
* refactor: remove deprecated GetAs methods

* restructure URLRequestAsyncAsarJob on win

* fix: add string conversion header
2018-06-27 14:52:48 -07:00
Samuel Attard
92588be2bd refactor: add promise helper and change whenReady to be native impl (#13115)
* Add promise helper and change whenReady to be native impl

* remove commented code

* add GetInner helper to dedupe promise code

* add Promise.reject helper to be consistent with JS

* fix linting

* update promise impl per feedback

* remove param name from unused isolate

* Use non-depreceated resolvers for promises

* Add thread dchecks for promise helper, intiialize promise pointer to nullptr
2018-06-27 16:06:08 -05:00
zacwalk
9db76394f7 Link gdi from gyp 2018-06-27 20:58:37 +02:00
Zac Walker
8151c90c6b Fix warnings as error fixes. 2018-06-27 16:28:12 +02:00
Zac Walker
f122c44b07 Using win32 file open dialogs instead of WTL 2018-06-27 13:09:18 +02:00
Jeremy Apthorp
4b60efcaf8
chore: [gn] fix WTL include paths and namespace include (#13433)
As of libchromiumcontent#576, the WTL namespace isn't included by
default in the GN build.
2018-06-26 22:57:40 +02:00
Jeremy Apthorp
78bc1081fd
chore: fix some more warnings in windows build (#13431)
Remove an unused function and fix an int type comparison warning. Only showed up when building with GN.
2018-06-26 02:00:20 +02:00
Jeremy Apthorp
6f91af9343
chore: fix various chromium-style errors in windows (#13394)
These errors weren't previously picked up because the GN build wasn't running on Windows.
2018-06-25 22:30:00 +02:00
deepak1556
5e2406081e build: move pepper flash behind feature flag 2018-06-21 17:02:12 +05:30
Jeremy Apthorp
8ccb5cc6eb chore: Annotate fallthrough switch paths with FALLTHROUGH
The compiler was throwing errors about unannotated fallthroughs when
building with GN.
2018-06-20 14:38:18 -07:00
Jeremy Apthorp
3f40e93ba7 chore: fix chromium-style errors in frame_subscriber
The chromium-style linter we run in the GN build was throwing errors
about these issues.
2018-06-20 14:14:11 -07:00
Milan Burda
122d00f415 Revert "Drop support of Mac OS 10.9" (#13348)
This reverts commit efa0ec0263481ae188f206625bec6f4a4e5d3ecf.
2018-06-20 13:40:18 -07:00
Samuel Attard
79fbd6bab1 Revert "fix: Drop support for OS X Mavericks (version 10.9)" (#13333) 2018-06-20 07:27:55 -05:00
Husayn
1a8c986fb1 set mac protocol to none (#13302) 2018-06-20 13:16:37 +10:00
Shelley Vohr
c20e0c30a2 src: base::Value::HasKey(key) => base::Value::FindKey(key) (#13312) 2018-06-20 13:07:10 +10:00
John Kleinschmidt
04a7a34c42
Merge pull request #13301 from electron/revert-frame-sub-deprecation
fix: revert frame subscriber deprecation and re-enable tests
2018-06-19 14:26:14 -04:00
Heilig Benedek
f643ce4f66 revert: frame subscriber deprecation and re-enable tests 2018-06-19 19:49:44 +02:00
John Kleinschmidt
d367b75680
Merge pull request #13296 from electron/miniak/drop-macos-10.9
fix: Drop support for OS X Mavericks (version 10.9)
2018-06-19 13:19:24 -04:00
Milan Burda
794fe741e9 fix: Drop support for OS X Mavericks (version 10.9) 2018-06-19 17:49:27 +02:00
Justin Guze
137aaf2429 fix: pass down the bool value of enableAutoSize to setSize (#13282)
* fix: pass the boolean value of enableAutoSize to setSize

The webContents setSize API takes in an optional enableAutoSize boolean.
Looking in the code, if that property is set, regardless if you pass in
true or false, it will always set it to true. This change passes the
appropriate boolean value down properly.

* creating new bool for autosize
2018-06-19 10:38:55 -05:00
Jeremy Apthorp
9e8f83e25c refactor: fix chromium-style in url_request_asar_job (#13284) 2018-06-19 10:31:55 -05:00
Milan Burda
d5d5386017 use std::make_unique<T> 2018-06-19 10:20:39 +02:00
Samuel Attard
2720fa751b Fix windows desktop_capturer build 2018-06-19 15:29:16 +10:00
Samuel Attard
9d18be8fde Remove removed variable popup_bounds_in_view_ 2018-06-19 11:58:26 +10:00
Samuel Attard
5a28759fea post all desktop capturer apis to worker threads 2018-06-19 11:49:46 +10:00
Samuel Attard
8200a132be Re-enable cookie specs and add custom cookie name/url validation 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
f4a9575193 Drop support of Mac OS 10.9
- set minimum deployment target to 10.10
- set minimum system version to 10.10
2018-06-19 11:49:45 +10:00
Heilig Benedek
65b8dd48d8 Update OSR code 2018-06-19 11:49:44 +10:00
Heilig Benedek
60ba2013c4 Re-add dirtyOnly to FrameSubscriber and document API change 2018-06-19 11:49:44 +10:00
Heilig Benedek
b9413fe59d Update FrameSubscriber implementation 2018-06-19 11:49:44 +10:00
Nitish Sakhawalkar
ca8843102a Fix duplicate RTCDispatcher console error for debug build.
The solution was to call CreateScreenCapturer from content, and not link the static library in.
2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
90c3d87e21 Rename LocalSurfaceIdAllocator
https://chromium-review.googlesource.com/809886
2018-06-19 11:49:44 +10:00
Tomas Rycl
1ac0ab2b71 Include missing "windows.h" and fix headers ordering
For PCWSTR on line 198.
2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
d6ffbc0148 Use an int for wm::ShadowElevation. Pick semantic constants.
https://chromium-review.googlesource.com/899886
2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
4a38c2d800 Remove deprecated View::SetLayoutManager
https://chromium-review.googlesource.com/844760
2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
f6648a0d4d Remove ScopedComPtr and scoped_comptr.h
https://chromium-review.googlesource.com/726461
2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
82d204e932 Wrap X11 headers in ui/gfx/x/x11.h
https://chromium-review.googlesource.com/756711
2018-06-19 11:49:43 +10:00
Heilig Benedek
1de1ca906a Reimplement FrameSubscriber with mojo VideoCapture APIs 2018-06-19 11:49:43 +10:00