Commit graph

2389 commits

Author SHA1 Message Date
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
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
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
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
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
Heilig Benedek
f643ce4f66 revert: frame subscriber deprecation and re-enable tests 2018-06-19 19:49:44 +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
Samuel Attard
2720fa751b Fix windows desktop_capturer build 2018-06-19 15:29:16 +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
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
Heilig Benedek
1de1ca906a Reimplement FrameSubscriber with mojo VideoCapture APIs 2018-06-19 11:49:43 +10:00
deepak1556
c4b8e106c0 Create network_converter for services/network/* types 2018-06-19 11:49:42 +10:00
deepak1556
66058c8cfe REVIEW: Use RenderWidgetHost api for event routing
https://chromium-review.googlesource.com/c/chromium/src/+/836267
2018-06-19 11:49:42 +10:00
deepak1556
d386ec0a2b Remove unused elements from RWHV::CopyFromSurface() API and dead code.
https://chromium-review.googlesource.com/c/chromium/src/+/929874
2018-06-19 11:49:42 +10:00
deepak1556
3ad0639b2e Surface synchronization: Implement auto-resize for OOPIF/BrowserPlugin
https://chromium-review.googlesource.com/c/chromium/src/+/753801
2018-06-19 11:49:42 +10:00
deepak1556
eab4227cbf Make Origin(const GURL&) constructor private.
https://chromium-review.googlesource.com/c/chromium/src/+/729284
2018-06-19 11:49:42 +10:00
deepak1556
11fc8374c0 Move DownloadUrlParameters from content/public to components/download
https://chromium-review.googlesource.com/c/chromium/src/+/914232
2018-06-19 11:49:42 +10:00
deepak1556
8968c447f4 Include missing header 2018-06-19 11:49:41 +10:00
deepak1556
7b47d69efe Remove did-get-response-details and did-get-redirect-request events
https://chromium-review.googlesource.com/c/chromium/src/+/805008
https://chromium-review.googlesource.com/c/chromium/src/+/786320
2018-06-19 11:49:41 +10:00
deepak1556
2ea26cd4d7 Add MediaStoppedReason to WCO
https://chromium-review.googlesource.com/c/chromium/src/+/758583
2018-06-19 11:49:41 +10:00
deepak1556
100291ec42 OOPIF-ize hung renderers
https://chromium-review.googlesource.com/c/chromium/src/+/896343
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
c75f6f408e DevTools: remove the 'forced' attribute from the AgentHostClosed in DevToolsAgentHost.
https://chromium-review.googlesource.com/745301
2018-06-19 11:49:41 +10:00
deepak1556
409ff41c03 Remove SetCookieWithDetailsAsync API in favor of SetCanonicalCookieAsync.
https://chromium-review.googlesource.com/c/chromium/src/+/777954
2018-06-19 11:49:41 +10:00
deepak1556
23f7ccbdda Remove old cookie enum values
https://chromium-review.googlesource.com/c/chromium/src/+/877515
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
343c42e4ef Remove redundant device::PowerSaveBlocker enums.
https://chromium-review.googlesource.com/754169

services/device: Fix enum naming in wake_lock.mojom.
https://chromium-review.googlesource.com/755884
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
37168c0a95 Move ResourceRequestBody to services/network in preparation of moving content/network.
https://chromium-review.googlesource.com/864422
2018-06-19 11:49:41 +10:00
deepak1556
bb36a26950 update native-mate ref 2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
6b77fa5b3b [desktop capture] remove dependencies on webrtc/desktop_capture from /chrome
https://chromium-review.googlesource.com/876723
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
160b165358 move DownloadInterruptReasons from content/ to components/download
https://chromium-review.googlesource.com/897967
2018-06-19 11:49:40 +10:00
Aleksei Kuzmin
7fc8814d13 move some files from content/public/browser to components/download/public/core
https://chromium-review.googlesource.com/891686
2018-06-19 11:49:40 +10:00
Aleksei Kuzmin
4e580d5b39 Move download_item.h from content/public to components/download
https://chromium-review.googlesource.com/907687
2018-06-19 11:49:40 +10:00
deepak1556
e3c580e905 Move away from BrowserThread::FILE
* Migrate TtsPlatformImplLinux away from using BrowserThread::FILE.
  https://chromium-review.googlesource.com/c/chromium/src/+/570022
* Move PdfConverter off the FILE thread.
  https://chromium-review.googlesource.com/c/chromium/src/+/592393
* https://chromium.googlesource.com/chromium/src/+/master/docs/task_scheduler_migration.md
2018-06-19 11:49:40 +10:00
deepak1556
6d241e972b Clean up net::HttpAuthPreferences.
https://chromium-review.googlesource.com/c/chromium/src/+/727399
2018-06-19 11:49:40 +10:00
deepak1556
8e125b2953 REVIEW: Remove the notification close-closure in favour of an explicit method
https://chromium-review.googlesource.com/c/chromium/src/+/744205
2018-06-19 11:49:40 +10:00
deepak1556
bf55d856d2 Cookie Store: Extract change notifications to separate classes.
https://chromium-review.googlesource.com/c/chromium/src/+/919159
2018-06-19 11:49:40 +10:00
deepak1556
806acbdf12 Move content/network to services/network.
https://chromium-review.googlesource.com/891646
2018-06-19 11:49:40 +10:00
Aleksei Kuzmin
fba2ab0996 Move throttling to network service
https://chromium-review.googlesource.com/703674
2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
7c95100180 Rename ProxyService class to ProxyResolutionService
https://chromium-review.googlesource.com/857421
2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
408b62bcc2 Move net/proxy to net/proxy_resolution
https://chromium-review.googlesource.com/868176

Also includes changes from:
Rename files relating to PAC (proxy auto config).
https://chromium-review.googlesource.com/836927
2018-06-19 11:46:58 +10:00
Zhuo Lu
ab24a1e36d feat: netLog API for dynamic logging control (#13068)
* Introduce `net.{start|stop}Logging()`

- Slight regression right now as Electron won't automatically start logging net-logs at launch, will soon be fixed
- To implement callback for async controls

* Add `net.isLogging` & optional callback param for `net.stopLogging()`

* Fix small regression on --log-net-log

--log-net-log should work again

* Error on empty file path

* Only start with valid file path

* Remove unused var

* Allow setting log file path before URLRequestContextGetter starts logging

* Add net log tests

* Remove redundant checks

* Use brightray::NetLog

* Clean up code

* Should automatically stop listening

* 🎨 Attempt to fix styles

* Only run non-null callback

* Dump file to tmpdir

* Simplify net log spec

Spawned Electron process on Linux CI can fail to launch

* Separate netLog module

* Remove net logging test from net spec

* Add tests for netLog

* Fix header guard

* Clean up code

* Add netLog.currentlyLoggingPath

* Callback with filepath

* Add test for case when only .stopLogging() is called

* Add docs

* Reintroduce error on invalid arg

* Update copyright

* Update error message

* Juggle file path string types
2018-06-19 11:45:58 +10:00
Heilig Benedek
90911a423a Fix autofill popup position when the popup is spawned from a webview (#13184) 2018-06-18 10:15:37 -05:00
Cheng Zhao
a11182ca84 feat: add SetText for TextField 2018-06-18 16:51:36 +09:00
Cheng Zhao
70e17b5f8f feat: add LabelButton API 2018-06-18 16:51:36 +09:00
Cheng Zhao
c8e8cb86ce feat: add Button API 2018-06-18 16:51:36 +09:00
Cheng Zhao
ba3700141f feat: add TextField API 2018-06-18 16:51:36 +09:00
Milan Burda
2eb5b751f3 exit HTML fullscreen when window leaves fullscreen (#13090) 2018-06-18 16:48:20 +09:00
Milan Burda
28fd571d0c refactoring: use std::make_unique<T> (#13245) 2018-06-18 16:32:55 +09:00
Thiago de Arruda
6ff111a141 perf: don't use JSON to send the result of ipcRenderer.sendSync. (#8953)
* Don't use JSON to send the result of `ipcRenderer.sendSync`.

- Change the return type of AtomViewHostMsg_Message_Sync from `base::string16`
  to `base::ListValue`
- Adjust lib/browser/api/web-contents.js and /lib/renderer/api/ipc-renderer.js
  to wrap/unwrap return values to/from array, instead of
  serializing/deserializing JSON.

This change can greatly improve `ipcRenderer.sendSync` calls where the return
value contains Buffer instances, because those are converted to Array before
being serialized to JSON(which has no efficient way of representing byte
arrays).

A simple benchmark where remote.require('fs') was used to read a 16mb file got
at least 5x faster, not to mention it used a lot less memory.  This difference
tends increases with larger buffers.

* Don't base64 encode Buffers

* Don't allocate V8ValueConverter on the heap

* Replace hidden global.sandbox with NodeBindings::IsInitialized()

* Refactoring: check NodeBindings::IsInitialized() in V8ValueConverter

* Refactor problematic test to make it more reliable

* Add tests for NaN and Infinity
2018-06-13 17:38:31 +10:00
Charles Kerr
b89fe86fa1
Merge pull request #13050 from electron/3.0.0-deprecations
chore: removal of 3.0.0 deprecations
2018-05-30 09:25:36 +02:00
Charles Kerr
6935addd38 fix: remove unused variable 2018-05-29 16:14:21 +02:00
Milan Burda
45e78728bd chore: move more constants to options_switches.h/cc (#13093)
* Add options::kNativeWindowOpen

* Add options::kSandbox

* Add options::kPlugins

* Add options::kWebSecurity

* Add options::kAllowRunningInsecureContent

* Add options::kOffscreen
2018-05-29 03:09:51 -05:00
Cheng Zhao
0f7c25fc63 Put View APIs under a build flag 2018-05-24 15:44:07 +09:00
Cheng Zhao
2c8dc9e0bd Add View.addChildView API 2018-05-24 15:36:29 +09:00
Cheng Zhao
322bde526c Add LayoutManager/BoxLayout APIs 2018-05-24 15:36:29 +09:00
Shelley Vohr
bc10be3de6
rename exposed session method to setCertificateVerifyProc 2018-05-23 13:51:28 -07:00
Shelley Vohr
4a90056462
remove webContents.openDevTools() deprecation 2018-05-23 09:30:15 -07:00
Shelley Vohr
003a5a0160
remove tray.setHighlightMode() deprecation 2018-05-23 09:20:39 -07:00
Shelley Vohr
72c63a10ee
remove screen.getMenuBarHeight() deprecation 2018-05-23 09:11:48 -07:00
Milan Burda
2337237d58 Refactoring: use C++11 class member variable initialization 2018-05-22 00:18:38 +02:00
Cheng Zhao
595b0663b2 WebContents may be managed by multiple owners 2018-05-21 10:53:09 +09:00
Cheng Zhao
3b81312cf7 clear pointer when WebContents is closed 2018-05-21 10:53:09 +09:00
Cheng Zhao
51db1efb8a prevent double-adding a WebContents to view 2018-05-21 10:53:09 +09:00
Cheng Zhao
fd4a0626c5 destroy WebContents when view is destroyed 2018-05-21 10:53:08 +09:00
Zhuo Lu
d2653e8192 Fix: Prevent menu update while it's open (#12809)
* Update application menu on default runloop

Menu change should be prevented while the menu is open

* Fix code style

* Memory safety
2018-05-17 11:19:28 +10:00
Jeremy Apthorp
da0fd10423 refactor: chromium-style warnings in linux code (#12949) 2018-05-16 14:12:45 -05:00
John Kleinschmidt
9488ef4867
Merge pull request #12496 from mikeykhalil/8952-ignore-tray-double-click-events
8952 option to ignore tray double click events
2018-05-16 10:17:36 -04:00
Milan Burda
211d7825d3 feat: DIP <-> screen coordinate conversions (#12879) 2018-05-16 18:34:09 +09:00
Cheng Zhao
bb2715e7a5 feat: add TopLevelWindow.setContentView API 2018-05-15 14:12:47 +09:00
Cheng Zhao
2b24b26e59 refactor: do not pass WebContents to NativeWindow 2018-05-15 14:03:21 +09:00
Cheng Zhao
640877ebf8 attach native view after widget is created 2018-05-15 14:03:21 +09:00
Cheng Zhao
5a320222e2 feat: add WebContentsView API 2018-05-15 14:03:21 +09:00
Cheng Zhao
e058d11657 feat: add View API 2018-05-15 14:03:21 +09:00
Jeremy Apthorp
cc386f2345
Merge pull request #12884 from nornagon/views-defines
Require !OS_MACOSX as well as TOOLKIT_VIEWS for views code
2018-05-10 14:13:19 -07:00
Jeremy Apthorp
72057bf7ef clang-format atom_api_web_contents.cc 2018-05-10 14:11:19 -07:00
Jeremy Apthorp
87d0175c76 Require !OS_MACOSX as well as TOOLKIT_VIEWS for views code 2018-05-10 14:11:19 -07:00
Jeremy Apthorp
73ac019882 Fix up #includes to work with both GYP and GN 2018-05-10 13:38:40 -07:00
Samuel Attard
5b5c161601
feat: new makeSingleInstance API (#12782)
* Refactor app.makeSingleInstance
* new API `app.isPrimaryInstance()`
* new API `app.isSingleInstance()`
* new event `app.on('second-instance')`
* deprecated old syntax `app.makeSingleInstance(cb)`
* deprecated old syntax of `app.makeSingleInstance() --> bool` in favor
of `app.isPrimaryInstance()`
* Fix spec, we don't need process.nextTick hacks any more
* Make deprecation TODO for the return value of makeSingleInstance
* Refactor makeSingleInstance to requestSingleInstanceLock and add appropriate deprecation comments
* I swear this isn't tricking the linter
* Make const
* Add deprecation warnings for release, and add to planned-breaking-changes

BREAKING CHANGE
2018-05-08 01:29:18 +10:00
Jeremy Apthorp
b280ea5579 chromium-style fixes (#12826) 2018-05-03 23:45:12 -07:00
mikeykhalil
94ffd4bfc0 add getter for ignoreDoubleClickEvents field 2018-05-03 13:49:33 -07:00
mikeykhalil
208374afa4 clean up ignore double click event implementation 2018-05-03 13:49:33 -07:00
mikeykhalil
1f29124d11 updated Tray API to ignore double click events on macOS (#8952) 2018-05-03 13:49:32 -07:00
Jeremy Apthorp
cdc5022305 Fix chromium-style errors (#12802) 2018-05-03 09:04:22 -05:00
bughit
55a7f6f0ce add did-frame-navigate event to WebContents (#12723)
* add did-frame-navigate event to WebContents, pass http response code to it and did-navigate

* docs for frame routing id related api changes on WebFrame and WebContents
2018-05-01 13:34:41 +09:00
Samuel Attard
338a816ffd
Screen Lock / Unlock events (#12714)
* initial lock-screen and unlock-screen event implementation for macOS

* Implementation of lock-screen and unlock-screen on windows
2018-05-01 02:04:27 +10:00
Zeke Sikelianos
cc98bd6b6d
Merge pull request #12662 from electron/prevent-default
Stop overwriting prevent_default if default wasn't prevented
2018-04-26 12:12:18 -07:00
bughit
4fcd178c36 expose WebFrame#routingId (#12614)
* expose WebFrame#routingId and pass it to WebContents frame specific events along with frameProcessId; add WebContets.did-start-navigation event
* fix compilation error on ia32 Windows
2018-04-26 19:17:55 +09:00
Nitish Sakhawalkar
2579071b98 Deprecate did-get-response-details and did-get-redirect-request (#12615)
* Deprecate webContents events did-get-response-details and did-get-redirect-request.

* Update guest view files

* Update webview tag docs and update specs

* Update deprecate.event function

* Update comment

* Update more

* Update documentation for other deprecated event
2018-04-23 14:46:12 -05:00
Shelley Vohr
12a57ff1c2 clang-format objc files (#12673) 2018-04-20 11:47:04 -07:00
Robo
ff571f3b5d Part I: Move from base::Bind to base::BindOnce and remove unneeded base::Passed (#12661) 2018-04-20 19:55:05 +09:00
deepak1556
30f1d0991b enable chromium style checker plugin for electron and brightray targets 2018-04-19 11:12:58 -07:00
Jeremy Apthorp
f1587da480 [chromium-style] out-of-line default constructors and destructors 2018-04-19 11:12:58 -07:00
Jeremy Apthorp
e6695cf2ec [chromium-style] override / virtual warnings 2018-04-19 11:12:10 -07:00
Jeremy Apthorp
a635f078c6 [chromium-style] auto variable type must not deduce to a raw pointer type 2018-04-19 11:10:52 -07:00
Birunthan Mohanathas
cd407d1c3f Stop overwriting prevent_default if default wasn't prevented
This didn't actually cause any issues because there is only one listener
for the affected methods right now. Should we have added more, the last
called observer would have overwritten `prevent_default`. Lets only set
it when necessary to avoid this footgun in the future.
2018-04-19 12:45:21 +02:00
Cheng Zhao
7473b612c5 Make Menu API accept TopLevelWindow 2018-04-19 13:08:37 +09:00
Cheng Zhao
1340b17424 Do not return TopLevelWindow in BrowserWindow.getAllWindows 2018-04-19 13:08:37 +09:00
Cheng Zhao
e38f511737 Make BrowserWindow inheirt TopLevelWindow in JS 2018-04-19 13:08:37 +09:00
Cheng Zhao
71ebd99dfa Expose TopLevelWindow to JavaScript 2018-04-19 13:08:36 +09:00
Cheng Zhao
cfed9fa4b9 Make sure we append parent->child_windows after InitWith 2018-04-19 12:45:48 +09:00
Shelley Vohr
c6f4bbd143
also format missing .cc files 2018-04-18 20:48:45 -04:00
Shelley Vohr
53bdf22c85
clang-format atom files 2018-04-18 20:48:45 -04:00
Zeke Sikelianos
40ff17c9f9
Merge pull request #12619 from electron/add-before-update-event
add new event to auto-updater
2018-04-16 12:43:15 -07:00
Shelley Vohr
06892775d4
add new event to auto-updater 2018-04-14 21:29:36 -04:00
Cheng Zhao
858828d343
Refactor NativeWindow (Part 6): Move NativeWindow bindings to api::TopLevelWindow (#12596)
* Add atom::api::TopLevelWindow

* Make BrowserWindow inherit TopLevelWindow

* Fix reading from wrong weak map

* Read options after setting content view

* OnWindowClosed is not guarenteed to run now

* Fix the offscreen hack in BrowserWindow

* Fix building on Linux

* Fix tests on Linux

* Fix building on Windows
2018-04-14 11:04:23 +09:00
Zhuo Lu
a0cac05555 Clear cache storage data (#12546) 2018-04-13 13:03:16 -04:00
Shelley Vohr
d722008367
remove unnecessary ptr_util.h include 2018-04-12 22:34:26 -04:00
Shelley Vohr
b05932310b
replace base::MakeUnique with std::make_unique 2018-04-12 08:48:32 -04:00
Cheng Zhao
56735d4ff5 Add NativeWindow::SetContentView 2018-04-11 15:12:53 +09:00
Nitish Sakhawalkar
6fc819dae1 Fix transparency in capturePage (#12561)
* Fix transparent window capture. Transparency is preserved and not converted to black pixels anymore

* Add test to make sure aplha channel exists in captured image
2018-04-10 19:07:15 +09:00
Andrew MacDonald
6bfb122cd1 Add a display_id parameter to the desktopCapturer API. (#12417)
* Add a screen_api_id parameter to the desktopCapturer API.

When using the DirectX capturer on Windows, there was previously no way
to associate desktopCapturer/getUserMedia and electron.screen API
screens. This new parameter provides the association.

* Fix non-Windows build.

* Fix Mac.

* Fix Mac harder.

* JS lint

* clang-format C++ code.

* IWYU

* display_id, Linux comment, better test

* lint

* Fix tests on Linux.

* Add display_id documentation.
2018-04-09 14:43:35 +09:00
Robo
65e8199a93 Enable plznavigate aka browser side navigation (#12535)
* enable plznavigate code path

* AtomBrowserClient::GetGeolocationApiKey returns the right default

* use IsLoadingToDifferentDocument to identify top level navigation in mainFrame

* use candidate site instance when available

* spec: don't test httpReferrer option for file origin

* update libcc ref

* affinity: only group same site in this mode

* plznavigate: don't emit did-get-response-details event for blob scheme
2018-04-06 16:22:52 +09:00
Jeremy Apthorp
f0d08f4da1 Propagate referrer to new windows (#12397)
* Propagate referrer to new windows

Fixes #9205

* Rearrange -new-window event arguments for backwards-compatibility

* Plumb referrer policy through guest-window-manager

* Document the Referrer structure and its uses

* Add tests for referrer in new windows

* Docs nits
2018-04-05 18:13:24 -05:00
Adrien Fery
5486a65702 Improve in-app purchase for MacOS (#12464)
* Add methods to finish transactions

* Add a method to get the product descriptions from the App Store

* Improve the documentation of a transaction structure

* Add a tutorial for In App Purchase

* Fix typo in In-App Purchase tutorial

* Fix style of In-App Purchase files

* Fix In-App-Purchase product structure conversion in amr64

* Fix code style in In-App Purchase tutorial documentation

* Fix typos in In-App Purchase documentation

* Fix typo in In-App Purchase spec

* Slight style fixes
2018-04-05 15:33:13 +09:00
Heilig Benedek
52b1065b3b Focus webview directly in offscreen mode (#12507) 2018-04-05 15:14:42 +09:00
Robo
c1404ff2c1 vendor: Update native mate to fix v8 DCHECK crash (#12534)
* update native_mate ref

* Remove MarkHighMemoryUsage api
2018-04-05 00:47:18 -05:00
Cheng Zhao
c75dd93b92
Move AutofillPopup from NativeWindow to WebContents (#12514) 2018-04-05 09:53:51 +09:00
Aleš Pergl
3a45d541f3 Expose IsOffScreen method always to JS. (#12530) 2018-04-04 12:19:08 -05:00
MadfishDT
200388ff96 add moveTop API to move window z-oder to top for win32, mac (#12485)
* add moveTop API to move window z-oder to top for win32, mac

* BrowserWindow::MoveTop SetMethod bug fix
2018-04-03 08:04:32 -05:00
Cheng Zhao
8fc5c6c862
Refactor NativeWindow (Part 3): Remove is_offscreen_dummy from NativeWindow (#12503)
* Don't use is_offscreen_dummy in MessageBox

* Don't use is_offscreen_dummy in DownloadManagerDelegate

* Don't use is_offscreen_dummy in CommonWebContentsDelegate

* Remove is_offscreen_dummy from NativeWindow
2018-04-03 12:19:35 +09:00
Nitish Sakhawalkar
fbff355742 Support for navigator.languages (#12419) 2018-04-02 12:47:00 +09:00
Robo
171230e45d Cleanup destruction of URLRequestContextGetter (#12305)
- Add Leak detector
 - Indicate shutdown of request context from Browser Context
 - Change stored references to URLRequestContextGetter to use BrowserContext
 - Destroy session properties explicitly
2018-03-30 08:24:55 -05:00
Clément Beffa
642f5a84d4 Workspace notifications support on macOS (#12093) 2018-03-22 18:41:03 +09:00
Cheng Zhao
887bc12350 Add WebContentsPreferences::From that checks parameter 2018-03-22 15:16:26 +09:00
Cheng Zhao
9772777919 web_prefrences() => dict()
Having property name being the same with class name is making code
harder to understand, and dict is much shorter.
2018-03-22 15:15:30 +09:00
John Kleinschmidt
060b592fc8
Merge pull request #12348 from electron/fix-browser-view-draggable-region
Update draggable regions when changing BrowserView
2018-03-20 10:40:27 -04:00
Cheng Zhao
2e94a730cc Isolate the code using content::WebContentsImpl 2018-03-20 10:13:17 +03:00
Gellert Hegyi
0ad8815bbc fixes offscreen rendering issues 2018-03-20 10:13:17 +03:00
Cheng Zhao
d4969783d7 Avoid including web_contents_impl.h
This can fix the build error caused by duplicate typedefs.
2018-03-20 10:13:17 +03:00
Cheng Zhao
76ef6e3ecc CertificateList => ScopedCERTCertificateList 2018-03-20 10:13:16 +03:00
deepak1556
719980a948 REVIEW: remove device emulation ipc dependecny on rvh 2018-03-20 10:13:15 +03:00
deepak1556
5684f8886f REVIEW: move ipc use from rvh to rfh 2018-03-20 10:13:15 +03:00
deepak1556
1f2d229862 re-use title information from NavigationEntry 2018-03-20 10:13:15 +03:00
deepak1556
007ea500d0 REVIEW: Re-use devtools network throttling from content layer
https://chromium-review.googlesource.com/c/chromium/src/+/664356
2018-03-20 10:13:15 +03:00
Samuel Attard
8269a6dc37 Temporarily disable OnCursorChange
ScopedProfile is removed
https://chromium-review.googlesource.com/c/chromium/src/+/655147
2018-03-20 10:13:15 +03:00
Samuel Attard
7c8be94a6e IPC fixes for WebContents 2018-03-20 10:13:14 +03:00
Samuel Attard
a8e013dcb6 GetRenderProcessHost() has been removed for OOPI support, should use #include GetMainFrame()->GetProcess() 2018-03-20 10:13:14 +03:00
Samuel Attard
41b9825f00 WebContents are no longer IPC Sender's 2018-03-20 10:08:58 +03:00
Samuel Attard
12066a60f3 make_scoped_refptr --> WrapRefCounted 2018-03-20 10:08:58 +03:00
Samuel Attard
4666879f94 WebContentsObserver no longer provides explicit_set, we can calculate it 2018-03-20 10:08:57 +03:00
Samuel Attard
fb55db665c AllowCertificateError no longer sends overridable 2018-03-20 10:08:57 +03:00
Samuel Attard
7f50c3d08e TracingController -> Coordinator -- content tracing now uses 'endpoints' instead of 'sinks' 2018-03-20 10:08:57 +03:00
Samuel Attard
0ac883c6d4
Remove the race condition between new process creation and context release (#12342)
* Remove the race condition between new process creation and old process releasing remote context

Previously there was a race condition where the getId() method would return the new context ID even
though the release was for the old context.  This changes it to send the "initial" context ID with
the release message to ensure there is no race.

* fetch context ID from remote in sandbox mode
2018-03-20 15:54:47 +11:00
Birunthan Mohanathas
20a0508a16 Update draggable regions when changing BrowserView
Fixes #12150.
2018-03-19 20:45:42 +02:00
Birunthan Mohanathas
377e6c3210 Rename system_drag_exclude_areas => drag_exclude_rects 2018-03-19 20:44:05 +02:00
Birunthan Mohanathas
61160ff9e5 Store InspectableWebContents instead of InspectableWebContentsView in NativeBrowserView 2018-03-19 20:44:05 +02:00
Birunthan Mohanathas
6f6f388f38 Fix non-draggable regions on macOS (#12327)
This was a regression in 503b0ba1.
2018-03-17 06:49:11 +09:00
Charles Kerr
c2673aa970 Set appropriate defaults for webview options (#12271)
* Persist defaults to webPreferences object to JS land can read the inferred values instead of just user defined values

* Test inherited default propogation

* Refactor to remove coupling from fetching values and defaults

* Test description type

* Fix up tests
2018-03-15 13:56:46 +09:00
OJ Kwon
e7181eb89c feat(powerMonitor): expose interface to query system idle state (#11807)
* feat(BrowserWindow): expose interface to query system idle state

* test(BrowserWindow): update test cases for querySystemIdle interface

* docs(BrowserWindow): add querySystemIdle interface documentation

* refactor(powerMonitor): move querySystemIdle into powerMonitor

* test(powerMonitor): split test cases for all platform
2018-03-14 14:42:08 +09:00
Robo
e741bc0577 fix crash when using getWebPreferences api with devtools webContents (#12254) 2018-03-14 11:19:22 +09:00
deepak1556
3cfe66e4c3 move ipc use from rvh to rfh 2018-03-09 15:01:09 +05:30
Aleš Pergl
0937b84b01 Use content origin in screen coordinates for calculating popup menu position (#12180) 2018-03-09 05:48:35 +09:00
Cheng Zhao
cc6bcb6c81 Fix some flaky tests in CI (#12153)
* Guard whole InitPrefs with ScopedAllowIO

Saw a crash:
0 0x7f8d2f7d918d base::debug::StackTrace::StackTrace()
1 0x7f8d2f7d755c base::debug::StackTrace::StackTrace()
2 0x7f8d2f867caa logging::LogMessage::~LogMessage()
3 0x7f8d2fa157c7 base::ThreadRestrictions::AssertIOAllowed()
4 0x7f8d2f83453a base::OpenFile()
5 0x7f8d2f82a967 base::ReadFileToStringWithMaxSize()
6 0x7f8d2f82ad44 base::ReadFileToString()
7 0x7f8d2f846f73 JSONFileValueDeserializer::ReadFileToString()
8 0x7f8d2f84738c JSONFileValueDeserializer::Deserialize()
9 0x7f8d35a5d1f6 <unknown>
10 0x7f8d35a5c217 JsonPrefStore::ReadPrefs()
11 0x7f8d35a87d3e PrefService::InitFromStorage()
12 0x7f8d35a87c60 PrefService::PrefService()
13 0x7f8d35a91a10 PrefServiceFactory::Create()
14 0x000000e86e1b brightray::BrowserContext::InitPrefs()
15 0x000000c2bd64 atom::AtomBrowserContext::AtomBrowserContext()
16 0x000000c320db atom::AtomBrowserContext::From()
17 0x000000b4b8b5 atom::api::Session::FromPartition()

* Fix done being called twice in setInterval test

The callback passed to browser process is called asyncly, so it is
possible that multiple callbacks has already been scheduled before we
can clearInternval.

* Fix failing test when dir name has special chars

The pdfSource is not escaped while parsedURL.search is.

* Call done with Error instead of string

* Fix crash caused by not removing input observer

Solve crash:
0 libcontent.dylib content::RenderWidgetHostImpl::DispatchInputEventWithLatencyInfo(blink::WebInputEvent const&, ui::LatencyInfo*) + 214
1 libcontent.dylib content::RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(blink::WebMouseEvent const&, ui::LatencyInfo const&) + 1350
2 libcontent.dylib content::RenderWidgetHostViewMac::ProcessMouseEvent(blink::WebMouseEvent const&, ui::LatencyInfo const&) + 44
3 libcontent.dylib content::RenderWidgetHostInputEventRouter::RouteMouseEvent(content::RenderWidgetHostViewBase*, blink::WebMouseEvent*, ui::LatencyInfo const&) + 1817

* Print detailed error

* Run tests after server is ready
2018-03-07 14:40:27 +09:00
Cheng Zhao
78468098c5 Don't store WebContents in NativeWindow 2018-03-06 16:21:18 +09:00
Cheng Zhao
413fdc6f0d views: Show menu on window's content view 2018-03-06 16:21:18 +09:00
Cheng Zhao
bf862d1d07 views: Focus webContents in BrowserWindow 2018-03-06 16:21:17 +09:00
Cheng Zhao
eea4e60b73 Remove NativeWindow's webview APIs 2018-03-06 16:20:37 +09:00
Cheng Zhao
3b3e69f8b2 Save browser_view_ in the NativeWindow
No need to store it separately in subclasses.
2018-03-06 16:20:37 +09:00
Cheng Zhao
503b0ba1b1 mac: Move draggable region code to BrowserWindow
On macOS current draggable region implementation highly relies on
WebContents, the code is only meaningful for BrowserWindow.
2018-03-06 16:20:37 +09:00
Cheng Zhao
bc34ca9e25 mac: Call setMouseDownCanMoveWindow in BrowserWindow 2018-03-06 16:20:37 +09:00
Cheng Zhao
7d4ff3b061 mac: Call SetBackgroundOpaque in BrowserWindow 2018-03-06 16:20:37 +09:00
Cheng Zhao
e7f175d578 Only mac needs to call SetActive 2018-03-06 16:20:37 +09:00
Cheng Zhao
1681ee35db Set WebContents background color in BrowserWindow 2018-03-06 16:20:37 +09:00
Cheng Zhao
2eaa6d0874 Move StoreFocus/RestoreFocus to BrowserWindow 2018-03-06 16:20:37 +09:00
Cheng Zhao
cad3d694ab mac: Remove access to webContents in windowWillUseStandardFrame 2018-03-06 16:20:37 +09:00
Shelley Vohr
199cf31b9e
deprecate screen.getMenuBarHeight 2018-03-05 19:45:51 -05:00
Shelley Vohr
bf491de9fe
fix styling and add spec 2018-02-28 00:22:42 -08:00
Shelley Vohr
2abc69780e
move native-mate back into the api layer 2018-02-27 13:00:42 -08:00
Shelley Vohr
837a2d4bbd
appease the linter 2018-02-26 22:25:09 -08:00
Samuel Attard
b722150d87 Don't cast manually for NativeWindow* 2018-02-27 16:13:17 +11:00
Samuel Attard
5336b4a89c Pass arguments instance through the chain in order to throw error 2018-02-27 16:11:58 +11:00
Cheng Zhao
53229e3d6c Fix network delegate race condition (#12044)
* Fix race condition when getting network delegate

* Remove the evil URLRequestContextGetter::network_delegate

* Move the arguments instead of const referrencing

Safer and more efficient.
2018-02-26 06:23:59 -08:00
Cheng Zhao
39e0433570 Fix build error after rebasing 2018-02-23 10:22:00 +09:00
shelley vohr
0e5b6f9300 Upgrade to node v9.3.0 (#11507)
* update submodule refs for node v9.3.0

* Define "llvm_version" for Node.js build

* NODE_MODULE_CONTEXT_AWARE_BUILTIN -> NODE_BUILTIN_MODULE_CONTEXT_AWARE

* update NodePlatform to MultiIsolatePlatform

* fix linting error

* update node ref

* REVIEW: Explicitly register builtin modules

https://github.com/nodejs/node/pull/16565

* update libcc ref

* switch libcc to c62

* REVIEW: Address node api changes

- Always start the inspector agent for https://github.com/nodejs/node/pull/17085
- Set the tracing controller for node https://github.com/nodejs/node/pull/15538
- Isolate data creation now requires plaform https://github.com/nodejs/node/pull/16700
2018-02-23 10:22:00 +09:00
deepak1556
5eb0a89579 REVIEW: let browser context manage cookie change sub list 2018-02-23 10:21:24 +09:00
deepak1556
248d572077 REVIEW: Subscribe to cookie store for changes in place of CookieMonsterDelegate 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
8f78bd3307 Remove was_ignored_by_handler from frame_messages.h
https://chromium-review.googlesource.com/587701
2018-02-23 10:21:23 +09:00
Shelley Vohr
128cb7f5b2 updates to build flags and comp errors 2018-02-23 10:21:23 +09:00
Cheng Zhao
3be92f550c Better clarity and fix typo 2018-02-23 09:15:13 +09:00
Cheng Zhao
816a96c2cc Update font settings in api::WebContents 2018-02-22 19:01:45 +09:00
Cheng Zhao
c87fc2426d Handle transparent WebContents in api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
c611eb061d Move InputEventObserver to api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
aa3eafcea1 Move closing logic to api::BrowserWindow
Closing a BrowserWindow is essentially closing a WebContents, the logic
should not be in NativeWindow.
2018-02-22 19:01:45 +09:00
Cheng Zhao
66fab65a1a Add NativeWindowObserver::OnCloseButtonClicked 2018-02-22 19:01:45 +09:00
Cheng Zhao
a25b49a127 Add ExtendedWebContentsObserver 2018-02-22 19:01:45 +09:00
Cheng Zhao
a3124e8873 Use observer to provide OnRendererUnresponsive 2018-02-22 19:01:45 +09:00
Cheng Zhao
bffb31c337 Remove OnMessageReceived from NativeWindow 2018-02-22 19:01:45 +09:00