Commit graph

6529 commits

Author SHA1 Message Date
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
edd1eaee5c fix: don't expose view APIs when not enabled (#14312) 2018-08-27 08:03:46 +09: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
fc85d02786 feat: expose missing process APIs in sandboxed renderers (#13505) 2018-08-21 11:05:45 -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
Husayn
19cb5bad94 feat: Add creationTime function to process (#13542)
* Add process creation time

* Making docs clear for process creation time

* Address comments for process creation time

* Add process info cc file

* fixing comments around documentation

* Update doc for return val

* Capitalize number in docs

* chore: bump electron-typescript-definitions
2018-08-10 09:03:30 -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
Milan Burda
db38c8b620 Fix process.execPath returning parent process path instead of the helper in sandboxed renderer (#13839) 2018-07-30 11:13:42 +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
Jeremy Apthorp
9af9634f7d chore: remove unused process_type variable (#13823) 2018-07-26 23:25:54 -07:00
Cheng Zhao
ce4e05b85a
fix: pass scrollBounce by command line flag (#13812)
Implement the scrollBounce option by reading the command line flag in
`RenderThreadImpl::IsElasticOverscrollEnabled`, there is no more need
to set NSScrollViewRubberbanding.
2018-07-26 18:38:37 +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
3094f62f0b
fix: use webContentsId with contextId together (#13749)
After after using `processId-contextCounter` as contextId, it may happen
that contexts in different WebContents sharing the same renderer process
get the same contextId. Using webContentsId as part of key in
ObjectsRegistry can fix this.
2018-07-24 16:21:38 +09:00
Cheng Zhao
305e3aad40
refactor: remove private webContents.getId() API (#13674) 2018-07-23 18:08:36 +09:00
Jeremy Apthorp
16b66db9c7 build: [gn] working on 32bit windows 2018-07-19 17:04:44 -07: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
Cheng Zhao
e2029435c4 fix: use context counter as contextId
For sandboxed renderer it may not have a node::Environment in the context,
using a increasing counter as contextId works for all cases.
2018-07-19 11:00:10 -07: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
PalmerAL
ffc15e02a6 fix: add native function to create preload script (#13032)
* add native function to create preload script

* add tests

* fix formatting

* fix tests

* rerun CI
2018-07-13 11:17:11 +09:00
Milan Burda
5b0a898dd2 refactor: SHOpenFolderAndSelectItems does not have to be dynamically resolved 2018-07-12 22:28:44 +02:00
Milan Burda
adaa32003d refactor: DwmGetColorizationColor does not have to be dynamically resolved 2018-07-12 22:28:44 +02:00
John Kleinschmidt
e922b1733b
Merge pull request #13636 from nornagon/gn-release
build: [gn] release build
2018-07-12 10:45:21 -04: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
4cdb1b8fc3 fix double-freeing remote references
After the page does navigations, garbage collection can still happen in
the old context. This commit changes to store references to remote objects
by _pages_, instead of by _WebContents_.
2018-07-12 10:44:26 +09:00
Cheng Zhao
9cbbb2a6c4 add API to return an unique ID for page 2018-07-12 10:44:26 +09:00
Jeremy Apthorp
03131c5e77 build: [gn] node as a static lib 2018-07-11 10:43:52 -07:00
Jeremy Apthorp
bdceea6aca fix: enable spell checking, which broke in upgrade to ch66
Chromium commit [03563dd163][1] changed the way that the
spellcheck-enabled status was checked, defaulting to false.

Added the first (!) test for spellchecking, too.

Fixes #13608.

[1]: 03563dd163
2018-07-11 10:27:56 -07:00
John Kleinschmidt
bc2ea0e705
Merge pull request #13540 from electron/breakpad-compat
chore: breakpad #include compatibility between GN and GYP
2018-07-10 08:30:56 -04: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
Jeremy Apthorp
810909425e chore: breakpad #include compatibility between GN and GYP 2018-07-09 16:53:06 -07: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
Hari Juturu
eb223f8bc3 Enable webview in sandbox renderer (#13435)
* Enable webview in sandbox renderer
Security: Inherit embedder prefs onto webview

* cache lastwebprefs
2018-07-03 02:06:26 +10: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
Shelley Vohr
e9971173d4
fix: inline vector allocation (#13449)
* fix: inline vector allocation

* remove size_t static cast
2018-06-27 12:57:10 -07: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
Shelley Vohr
1dde9492c9
refactor: remove deprecated CreateWithCopiedBuffer (#13436)
* refactor: remove deprecated CreateWithCopiedBuffer

* fix: add missing vector includes

* fix std::vector<char> allocation
2018-06-26 15:08:27 -07: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
4255384abc chore: [gn] remove vendor/ from windows include paths (#13432) 2018-06-26 15:03:56 +10: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