Compare commits

...

4771 Commits

Author SHA1 Message Date
Electron Bot
6c42564337 Bump v8.2.5 2020-04-30 10:03:43 -07:00
Samuel Attard
479fc57cef fix: do not leak IPC or context bridge promises (#23321) (#23339) 2020-04-30 09:51:51 -07:00
Samuel Attard
b2fb14fd48 fix: backport fix for zero-size pixels in blink (#23336) 2020-04-30 08:26:48 -07:00
Electron Bot
d8f90444aa Bump v8.2.4 2020-04-27 18:07:21 -07:00
Samuel Attard
045331666c refactor: port window-setup to use ctx bridge instead of being run in the main world (#23302)
* refactor: port parts of window-setup to use ctx bridge instead of being run in the main world (#23194)

* refactor: port parts of window-setup to use ctx bridge instead of being run in the main world

* chore: update ctx bridge specs for new base numbers

* refactor: port window.open and window.opener to use ctx bridge instead of hole punching (#23235)

* refactor: port window.open and window.opener to use ctx bridge instead of hole punching

* refactor: only run the isolated init bundle when webview is enabled

* s/gin/mate

* fix: do not inject in content scripts and do not override window.history because it does not work
2020-04-27 18:05:15 -07:00
Samuel Attard
0ac42125d2 style: use build/include_directory for NOLINT (#23266) (#23303)
build/include linter was splitted to build/include_directory at
depot_tools upstream.

https://crrev.com/c/2159690
https://crbug.com/1073191

Co-authored-by: Sorah Fukumori <sora134@gmail.com>
2020-04-27 14:35:34 -07:00
Charles Kerr
ce04014739 fix: use Node's microtasks policy in node_main.cc (#23234) 2020-04-23 11:00:33 -07:00
trop[bot]
19bd97d80c ci: robustify doc only change check (#23258) 2020-04-23 10:55:36 -07:00
Electron Bot
ea2e34c4c3 chore: bump chromium to 80.0.3987.165 (8-x-y) (#23217)
* chore: bump chromium in DEPS to 80.0.3987.165

* update patches

Co-authored-by: Electron Bot <anonymous@electronjs.org>
2020-04-23 10:50:40 -07:00
Samuel Attard
5f6498d13a fix: do not mutate ipc instances across contexts (#23240) 2020-04-22 17:36:45 -07:00
Jeremy Apthorp
e3c1292548 fix: block custom window.open when nativeWindowOpen is true (#23188) (#23225) 2020-04-22 17:05:42 -07:00
Samuel Attard
b3e53839a4 fix: do not allow child windows to specify their own preload script (#23230) 2020-04-22 16:02:31 -07:00
Samuel Attard
f3e9f10cad fix: ensure that functions are not retained beyond their context being released (#23207) (#23231) 2020-04-22 15:54:19 -07:00
shelley vohr
2c8927a9a2 test: fix type errors in devToolsWebContents (#23206) 2020-04-22 09:23:21 -07:00
trop[bot]
c6786aed26 build: improve patch filename remembering (#23093)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-04-21 14:06:29 -07:00
Jeremy Apthorp
5b3b09fb7f fix: heap-use-after-free in tray.popUpContextMenu (#22842) (#23181) 2020-04-21 13:27:06 -07:00
Samuel Attard
9f5924c5ea fix: backport V8 promise context fix (#23177) 2020-04-20 18:01:16 -07:00
Shelley Vohr
25f5d764ac fix: wasm codegen in script.runInNewContext (#23147) 2020-04-20 15:29:13 -04:00
trop[bot]
941c72fcfe docs: fix devToolsWebContents union type (#23172)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-04-20 11:35:54 -07:00
Electron Bot
663d389925 Bump v8.2.3 2020-04-16 14:16:08 -07:00
Samuel Attard
b8e3477092 Merge pull request from GHSA-h9jc-284h-533g 2020-04-16 14:10:18 -07:00
trop[bot]
035c784b6c docs: explain the swipe event on macOS (#23133)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-04-16 10:55:37 -07:00
Electron Bot
8faf8a3535 Bump v8.2.2 2020-04-13 11:31:46 -07:00
trop[bot]
331125d35a fix: don't assign NSAlert to window which is not visible (#23088)
* fix: don't assign NSAlert to window which is not visible

Without this change it's possible to create message box which can't
be dismissed on mac.

* fixup! fix: don't assign NSAlert to window which is not visible

* fixup! fix: don't assign NSAlert to window which is not visible

Co-authored-by: Cezary Kulakowski <cezary@openfin.co>
2020-04-13 11:28:01 -07:00
trop[bot]
7316ebde79 fix: reset node env earlier during shutdown (#23069)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-04-13 11:25:37 -07:00
Jeremy Apthorp
c3340ad21c chore: cherry-pick 85f708fa7ab8 from chromium (#23047)
* chore: cherry-pick 85f708fa7ab8 from chromium

* additionally backport 3626b1f19e
2020-04-13 09:17:18 -04:00
trop[bot]
1e84816c96 fix: persist maximizable state when toggling fullscreen (#23020)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-04-10 09:40:29 -07:00
Jeremy Apthorp
58c6ea5de8 ci: auto-3way patches and detect changes (#23032) 2020-04-08 15:31:00 -07:00
trop[bot]
34be80602c fix: nullptr check when closing windows (#23022) 2020-04-07 22:10:41 -07:00
Shelley Vohr
ce40be475b fix: webframe crashes for removed render frame (#22975)
* fix: webframe crashes for removed render frame

* Make errors more descriptive
2020-04-07 21:54:56 -07:00
trop[bot]
5f7bd36119 build: set merge=union for .patches (#22992)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-04-07 09:55:24 -07:00
Electron Bot
0f19193afd Bump v8.2.1 2020-04-06 14:12:11 -07:00
Samuel Attard
06b3b0ea15 Revert "Bump v8.2.1"
This reverts commit 32f973b010.
2020-04-06 12:43:27 -07:00
Electron Bot
32f973b010 Bump v8.2.1 2020-04-06 12:17:38 -07:00
Samuel Attard
ad2c2a055b Revert "Bump v8.2.1"
This reverts commit d70b1c68fe.
2020-04-06 12:16:21 -07:00
Electron Bot
3069ef3827 chore: bump chromium in DEPS to 80.0.3987.163 (#22931) 2020-04-03 09:20:45 -07:00
Electron Bot
d70b1c68fe Bump v8.2.1 2020-04-02 11:16:28 -07:00
Samuel Attard
3ba4a35c9c fix: propagate preferred color scheme to the renderer (#22896) (#22901)
* fix: propagate preferred color scheme to the renderer (#22896)

* fix: do not crash if the window is closed syncronously with a nativeTheme change

* fix: propogate preferred color scheme to the renderer and keep it up to date

* chore: update native theme source patch for linux
2020-04-01 22:12:14 -07:00
trop[bot]
2c4c1a3dd9 fix: screen module should still be creatable if the first create is before the ready event (#22913)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-04-01 11:37:15 -07:00
John Kleinschmidt
a4d8974556 fix: revive offscreen rendering support (#22431)
* fix: revive offscreen rendering support (#22160)

(cherry picked from commit 36f982aee2)

* Fixup compile issues

* skip offscreen tests on 32-bit linux
2020-03-31 17:32:52 -04:00
Electron Bot
b7d4759c19 chore: bump chromium in DEPS to 80.0.3987.162 (#22905) 2020-03-31 17:32:30 -04:00
trop[bot]
d6ecc65df3 fix: dialog fails to show after modal close (#22889)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-03-30 16:29:31 -04:00
Electron Bot
98b67cdb69 chore: bump chromium in DEPS to 80.0.3987.159 (#22847) 2020-03-30 15:58:17 -04:00
John Kleinschmidt
eb37822e03 ci: Add goma to older branches (#22784)
* ci: use goma for windows and linux builds (#21868)

* ci: use goma for windows and linux builds

(cherry picked from commit dc2fcff01c)

* ci:  enable goma for all testing builds (#21992) (#22203)

(cherry picked from commit e7982623ec)
(cherry picked from commit 0e9727e8d5)
2020-03-25 15:28:15 -04:00
trop[bot]
8751f485c5 fix: workaround for hang when preventDefault-ing nativeWindowOpen (#22749)
* fix: enable workaround for nativeWindowOpen hang

* add test

* test: ensure window doesn't leak into other test

* update to use new webcontents delegate methods

Co-authored-by: Andy Locascio <andy@slack-corp.com>
2020-03-25 10:40:26 +09:00
Electron Bot
bfef6a54f0 Bump v8.2.0 2020-03-24 08:54:06 -07:00
Electron Bot
5fd403b571 Revert "Bump v8.2.0"
This reverts commit abe8c7168a.
2020-03-23 20:25:40 -07:00
Electron Bot
abe8c7168a Bump v8.2.0 2020-03-23 19:40:00 -07:00
Samuel Attard
5c32d18248 Revert "fix: better window hierarchy checks"
This reverts commit 7ba879711a.
2020-03-23 19:35:54 -07:00
Samuel Attard
c1da7b5238 Revert "Bump v8.2.0"
This reverts commit 5b75a4a4be.
2020-03-23 19:35:44 -07:00
Electron Bot
5b75a4a4be Bump v8.2.0 2020-03-23 14:47:36 -07:00
Electron Bot
57e36afc7e Revert "Bump v8.2.0"
This reverts commit a4ea27de36.
2020-03-23 14:46:14 -07:00
Electron Bot
a4ea27de36 Bump v8.2.0 2020-03-23 14:20:03 -07:00
Samuel Attard
7ba879711a fix: better window hierarchy checks 2020-03-23 14:12:48 -07:00
Samuel Attard
f057b0e494 feat: add support for net requests to use the session cookie store (#22807)
* chore: refactor all the net specs to be async with better error handling (#22731)

* chore: fix net specs when rerunning locally (#22745)

* feat: add support for net requests to use the session cookie store (#22704)

* fix: allow net requests to use Same-Site cookies (#22788)

* build: fix merge conflict

* Update extensions-spec.ts

* Update extensions-spec.ts
2020-03-23 13:38:46 -07:00
Samuel Attard
fa01a20f9b build: enable JS semicolons (#22786) 2020-03-23 09:18:39 -07:00
trop[bot]
579f7a1899 fix: prevent crash in ListValue v8 converter when conversion fails (#22758)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-03-19 10:48:26 -04:00
Electron Bot
920a82a4de chore: bump chromium in DEPS to 80.0.3987.158 (#22742) 2020-03-19 10:36:17 -04:00
trop[bot]
b501c40bd6 build: auto-generate the codesigning cert used for macOS CI testing runs (#22763)
* build: auto-generate the codesigning cert used for macOS CI testing runs

* build: give the cert ALL the trust values

* chore: also import public key

* idek

Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-03-19 16:34:47 +09:00
trop[bot]
672aa1c67f test: no need to loadURL in menu test (#22766)
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
2020-03-19 16:34:08 +09:00
Сковорода Никита Андреевич
b305784aa3 feat: add disableDialogs option to WebPreferences (#22665)
Allows to disable dialogs completely in a similar way of how safeDialogs option can be used. Overrides safeDialogs option.
2020-03-18 20:01:55 -04:00
trop[bot]
c4efeef92c fix: remove bad usages of for-in and guard against it (#22728)
* fix: remove bad usages of for-in and guard against it

* Apply suggestions from code review

Co-Authored-By: Samuel Maddock <samuel.maddock@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>

* Update remote.js

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com>
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
2020-03-18 09:38:11 +09:00
Shelley Vohr
96b41d0930 fix: crash on invalid zoomFactor (#22709) 2020-03-18 09:32:19 +09:00
Electron Bot
1f652f08f8 chore: bump chromium in DEPS to 80.0.3987.156 (#22718) 2020-03-17 13:09:13 -04:00
Electron Bot
d12c157242 chore: bump chromium to 80.0.3987.148 (8-x-y) (#22680) 2020-03-16 23:19:00 -07:00
Electron Bot
68873fbadb chore: bump chromium in DEPS to 80.0.3987.144 (#22669) 2020-03-12 13:42:41 -04:00
Erick Zhao
526d748b7e fix: guard against duplicate TouchBarItem IDs (#22645) 2020-03-12 10:48:26 +09:00
Electron Bot
54109cb04d chore: bump chromium in DEPS to 80.0.3987.143 (#22648) 2020-03-11 17:20:28 -04:00
trop[bot]
542f30b54b test: test setPath for errors thrown (#22638)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-03-11 16:02:02 +09:00
Electron Bot
07ea340314 chore: bump chromium in DEPS to 80.0.3987.142 (#22635) 2020-03-10 21:51:34 -04:00
trop[bot]
524d6a5d79 chore: don't delete nightly tag after draft (#22623)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-03-10 17:04:11 +09:00
Alexey Kuzmin
a0431e1265 build: fix build without built-in spellchecker (#22608) 2020-03-10 16:59:51 +09:00
Electron Bot
647299fa9f Bump v8.1.1 2020-03-09 16:26:54 -07:00
trop[bot]
ee5d52440b build: upload sentry src bundles to symbol S3 bucket (#22619)
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
2020-03-09 16:24:37 -07:00
Electron Bot
d4a79bc4c0 chore: bump chromium to 80.0.3987.141 (8-x-y) (#22593)
* chore: bump chromium in DEPS to 80.0.3987.139

* chore: bump chromium in DEPS to 80.0.3987.140

* chore: bump chromium in DEPS to 80.0.3987.141
2020-03-09 10:55:54 -07:00
Electron Bot
e37f69c467 chore: bump chromium in DEPS to 80.0.3987.138 (#22583) 2020-03-06 12:17:59 -05:00
Erick Zhao
df6faec72e fix: allow persistent media salts (#22386) (#22569) 2020-03-05 19:39:23 -08:00
Electron Bot
691ddb3f67 Bump v8.1.0 2020-03-05 17:09:17 -08:00
Samuel Attard
b4e1b840cd feat: programmatically modify traffic light positioning (#22533) (#22564)
* setter

* getter

* specs and docs

* fixup

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-03-05 17:07:51 -08:00
Samuel Attard
6f12b67582 feat: add events for spellcheck dictionary downloads (#22449) (#22558) 2020-03-05 17:07:44 -08:00
Samuel Attard
33f5fa3c56 feat: allow http-parser NODE_OPTION in packaged apps (#21694) (#22539) 2020-03-05 17:07:37 -08:00
Samuel Attard
6f88108132 fix: disable contextBridge object identity caching (#21803) (#22557)
* fix: disable contextBridge object identity caching (#21803)

* fix: disable contextBridge object identity caching

* cleanup

* chore: make non-const references raw pointers

* fix: zero-param constructors are not explicit

* refactor: use base::LinkedList

Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>

* Update electron_api_context_bridge.h

* Update electron_api_context_bridge.cc

Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-03-05 17:02:54 -08:00
Samuel Attard
05a7f5f492 docs: clean up dark mode related docs (#22563)
Backport of #22489

Electron 8 uses macOS 10.14 SDK, so we can remove paragraphs from the
systemPreferences API docs.
2020-03-05 14:02:58 -08:00
Samuel Attard
b878a5ea4c fix: reposition traffic lights on theme change (#22559)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-03-05 14:02:19 -08:00
Jeremy Apthorp
8756ff0349 chore: bump chromium to 80.0.3987.137 (8-x-y) (#22548) 2020-03-05 13:11:01 -08:00
Cheng Zhao
20c5a3b9e1 fix: destroy node platform after destroying wrappers (#22537)
Co-authored-by: Cheng Zhao <zcbenz@electronjs.org>
2020-03-05 13:07:58 +09:00
Samuel Attard
ddb62e8d7c fix: do not reposition traffic lights when fullscreened (#22508)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-03-04 16:52:25 -08:00
Electron Bot
077e35c576 chore: bump chromium in DEPS to 80.0.3987.136 (#22529) 2020-03-04 12:34:07 -05:00
trop[bot]
eb63062889 fix: properly forward properties to webview (#22510)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-03-04 16:22:27 +09:00
trop[bot]
cac6db76a0 fix: bail early if no printers on the network (#22518)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-03-04 16:19:05 +09:00
Electron Bot
9257c315ac chore: bump chromium in DEPS to 80.0.3987.135 (#22505) 2020-03-03 16:21:22 -08:00
Cheng Zhao
031480c3db fix: add patch to fix os_metrics_mac with 10.15 SDK (#22496) 2020-03-03 15:51:26 +09:00
trop[bot]
9f9d3e98bf docs: add documentation on case insensitive dictionary hosting (#22486)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-03-03 15:10:09 +09:00
trop[bot]
ae639186e3 fix: check WebContents in OnGetDefaultPrinter (#22475)
Co-authored-by: Cheng Zhao <zcbenz@electronjs.org>
2020-03-03 15:05:21 +09:00
Shelley Vohr
6e4690574d fix: prevent potential modal window close segfault (#22481) 2020-03-03 15:04:59 +09:00
trop[bot]
c83dc5be92 fix: Add ContentsView to AXChildren (#22470)
Co-authored-by: Felix Rieseberg <felix@felixrieseberg.com>
2020-03-02 22:02:20 +00:00
Electron Bot
63cb360df0 Bump v8.0.3 2020-03-02 11:30:38 -08:00
Samuel Attard
b311235165 Revert "Bump v8.0.3"
This reverts commit 6cd2623a87.
2020-03-02 11:26:00 -08:00
Electron Bot
6cd2623a87 Bump v8.0.3 2020-03-02 11:15:24 -08:00
Electron Bot
9aa81de83d Revert "Bump v8.0.3"
This reverts commit 0f246b6be7.
2020-03-02 11:10:57 -08:00
Electron Bot
0f246b6be7 Bump v8.0.3 2020-03-02 11:08:50 -08:00
Samuel Attard
5be76fd4ea Revert "Bump v8.0.3"
This reverts commit 7fe2cad354.
2020-03-02 11:03:36 -08:00
Samuel Attard
a315283f88 chore: update g_swizzle_imk_input_session for new SDK 2020-03-02 11:03:28 -08:00
Electron Bot
b741cbf3d7 chore: bump chromium to 80.0.3987.134 (8-x-y) (#22463) 2020-03-02 11:02:17 -08:00
loc
031c0d6951 fix: port CL that fixes ARIA tree impl for macOS (#22423) 2020-03-02 18:25:37 +00:00
Electron Bot
3639a82915 chore: bump chromium to 80.0.3987.132 (8-x-y) (#22441)
* chore: bump chromium in DEPS to 80.0.3987.129

* chore: bump chromium in DEPS to 80.0.3987.132
2020-02-29 13:37:12 -08:00
Electron Bot
7fe2cad354 Bump v8.0.3 2020-02-28 16:02:00 -08:00
trop[bot]
de2e12343e fix: dictionaries download path should be in userdata (#22448)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-28 15:58:33 -08:00
John Kleinschmidt
69598ae5c6 build: try using newer version of xcode/macOS sdk (#22104) 2020-02-28 15:54:30 -08:00
Samuel Attard
0f0a7e6b1e Revert "Bump v8.0.3"
This reverts commit a0dcb55d6c.
2020-02-28 15:48:57 -08:00
Electron Bot
a0dcb55d6c Bump v8.0.3 2020-02-27 20:30:36 -08:00
Samuel Attard
ee35482d97 Revert "fix: backport v8 patch for type inference issue (#22434)"
This reverts commit cfe350a534.
2020-02-27 16:44:49 -08:00
Electron Bot
8317553cd4 Revert "Bump v8.0.3"
This reverts commit ebf98e8af4.
2020-02-27 16:37:02 -08:00
Electron Bot
ebf98e8af4 Bump v8.0.3 2020-02-27 16:06:52 -08:00
trop[bot]
cfe350a534 fix: backport v8 patch for type inference issue (#22434)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-27 15:52:48 -08:00
Jeremy Apthorp
854dcb3247 chore: bump chromium to 80.0.3987.128 (#22419) 2020-02-27 14:42:39 -08:00
trop[bot]
882ce295ee docs: improve documentation on spellchecker download URL (#22403)
* docs: improve documentation on spellchecker download URL

* Update session.md

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-26 23:09:40 -08:00
trop[bot]
1ac31e18b7 test: disable clipboard tests for WOA (#22388)
Co-authored-by: Cheng Zhao <zcbenz@github.com>
2020-02-26 16:47:03 +09:00
Electron Bot
957717e483 Bump v8.0.2 2020-02-25 17:25:00 -08:00
trop[bot]
d1ccfea882 fix: add patch to set the base download URL rather than override it completely (#22384)
* fix: add patch to set the base download URL rather than override it completely

* test

* test

* test

* test

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-25 17:23:37 -08:00
trop[bot]
232ca04edd fix: pass safeDialogs preference properly (#22377)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-02-25 20:42:53 +00:00
trop[bot]
2888e46b7a chore: allow custom node-spec-runner options (#22332)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-02-25 11:09:51 +09:00
Jeremy Apthorp
4464a04f35 fix: emit will-navigate for sandboxed contents (#22188) (#22328) 2020-02-24 11:43:35 -08:00
trop[bot]
37baff1e31 fix: typo in crash reporter constructor (#22344)
Co-authored-by: Syed Umair <31096792+Syed-Umair@users.noreply.github.com>
2020-02-24 17:52:37 +09:00
Jeremy Apthorp
dde19b0583 fix: revert {Atom => Electron}Application rename (#22206) (#22326) 2020-02-24 12:29:35 +09:00
trop[bot]
e2b9cd7b7c docs: clean up protocol docs (#22309)
* docs: clean up protocol docs

* Fix capitalization

Co-authored-by: Mark Lee <malept@users.noreply.github.com>
2020-02-24 12:28:37 +09:00
Cheng Zhao
ecd398f8bd fix: disable remote layer APIs in MAS build (8-x-y) (#22298)
* fix: add patch to disable remote layer APIs

* fix: use --disable-gpu-memory-buffer-compositor-resources for MAS build
2020-02-24 12:09:12 +09:00
trop[bot]
21f544392b chore: remove libcc from release not generator (#22295)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-02-20 10:19:28 -05:00
John Kleinschmidt
5c93682a89 build: only strip binaries on linux (#22282) 2020-02-19 14:32:32 -05:00
trop[bot]
1db64c9e51 doc: remove accidental deprecation (#22265)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-02-19 13:44:36 +09:00
Samuel Attard
3a747eddbb fix: add patch to route mouse event navigations through the WebContentsDelegate (#22205) 2020-02-18 15:22:26 -08:00
John Kleinschmidt
51504aee64 build: preserve timestamps when stripping files (#22094) (#22257)
* build: preserve timestamps when stripping files

Resolves an issue where the binaries in mksnapshot.zip were not getting stripped.

Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
(cherry picked from commit 5e49aafe55)
2020-02-18 13:56:10 -05:00
trop[bot]
360e8a2eb8 fix: don't include breakpad_symbols dir in dsym.zip (#22218)
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
2020-02-18 12:00:16 -05:00
Electron Bot
4447a63f20 Bump v8.0.1 2020-02-14 06:02:51 -08:00
trop[bot]
ceb3b0cf54 fix: no-arg console.log is undefined (#22172)
Co-authored-by: Shelley Vohr <codebytere@github.com>
2020-02-14 15:32:13 +09:00
Shelley Vohr
89607e647d fix: crash on custom printing margins (#22186) 2020-02-13 21:03:23 +00:00
Shelley Vohr
c8e2a6261e refactor: use NSVisualEffectMaterial* constants directly (#22149) 2020-02-12 12:01:38 -05:00
trop[bot]
e9814e016b fix RTL bug when used with traffic light repositioning (#22162)
Co-authored-by: tonyfwoo <55114329+tonyfwoo@users.noreply.github.com>
2020-02-12 16:26:34 +00:00
Cheng Zhao
dc9654c03c fix: make webRequest work with WebSocket (#22134) 2020-02-12 11:44:39 +09:00
trop[bot]
fce3426675 build: fix spellchecker deps (#22154)
Co-authored-by: Alexey Kuzmin <alex.s.kuzmin@gmail.com>
2020-02-11 23:47:55 +00:00
Jeremy Apthorp
637cf8a02b fix: don't crash on invalid certs (#22124)
* test: add test for app.on('certificate-error') event (#21978)

* types

* fix: don't crash on invalid certs (#21976)
2020-02-11 23:46:40 +00:00
Alexey Kuzmin
daab432fb6 ci: strip mksnapshot binaries on Linux (#22145)
Related to #21086.
2020-02-11 13:13:10 -05:00
trop[bot]
50dac1d908 ci: fix build failure on doc only changes (#22088)
* ci: fix build failure on doc only changes

* ci: fix doc-only check when CI fires on branch before PR is created

Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
2020-02-10 17:10:07 +09:00
trop[bot]
d4f915e428 fix: flash plugin (#22110)
* fix: flash plugin

Fixes https://github.com/electron/electron/issues/20744

* cleanup

* fix linting issue

Co-authored-by: t57ser <seve@live.at>
2020-02-10 10:50:26 +09:00
trop[bot]
72bccd1305 fix: use a WeakPtr so we do not UAF the store in FunctionLifetimeMonitor (#22114)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-10 10:46:54 +09:00
Shelley Vohr
9439388b7b chore: wrap cb with default invocation (#22036) 2020-02-05 18:24:41 +00:00
Jeremy Apthorp
b0fee4b067 ci: fix ELECTRON_OUT_DIR (#21994) (#22019) 2020-02-05 10:30:47 +09:00
Jeremy Apthorp
7c33fc0c5c chore: rename atom -> electron (#21987) 2020-02-04 13:50:17 -08:00
Shelley Vohr
f263a3f755 fix: default printer if none is provided (#21956) (#22011) 2020-02-04 11:59:45 -05:00
Electron Bot
1af3a71fdb Bump v8.0.0 2020-02-03 13:17:36 -08:00
trop[bot]
9f2371fc4e fix: bind spellchecker receivers correctly in the renderer (#22015)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-03 11:48:01 -08:00
trop[bot]
f658c1aeb4 fix: use the new MediaPlayPause key listener for internal chrome logic (#21998)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-02-03 10:28:32 -08:00
Samuel Attard
c196121467 Revert "Bump v8.0.0-beta.10"
This reverts commit a326408bce.
2020-02-03 10:24:51 -08:00
Electron Bot
133ac9a323 chore: bump chromium to 80.0.3987.86 (8-x-y) (#22000)
* chore: bump chromium in DEPS to 80.0.3987.84

* chore: bump chromium in DEPS to 80.0.3987.85

* chore: bump chromium in DEPS to 80.0.3987.86
2020-02-03 11:20:30 -05:00
Electron Bot
a326408bce Bump v8.0.0-beta.10 2020-01-31 15:19:09 -08:00
Samuel Attard
2085111c43 Revert "Bump v8.0.0-beta.10"
This reverts commit 7ae8d54265.
2020-01-31 15:17:13 -08:00
Electron Bot
7ae8d54265 Bump v8.0.0-beta.10 2020-01-31 13:39:41 -08:00
Samuel Attard
c5574c8667 feat: custom positioning for traffic light buttons (#21990)
* feat: custom positioning for traffic light buttons (#21781)

* feat: custom positioning for traffic light buttons

* remove NSLog and unnecessary call-site in IsVisible()

* no longer need to check if entering fullscreen

* change API to take a point object

Co-authored-by: tonyfwoo <55114329+tonyfwoo@users.noreply.github.com>

* chore: add safety checks to RepositionTrafficLights

Co-authored-by: Tony <TonyWuu@users.noreply.github.com>
Co-authored-by: tonyfwoo <55114329+tonyfwoo@users.noreply.github.com>
2020-01-31 13:35:47 -08:00
trop[bot]
6cf8abc3b3 fix: return path from netLog.stopLogging (#21989)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-01-31 11:22:14 -08:00
LuoJinghua
46a4864b08 feat: Exposing methods required by capturing a hidden webContents (#21895) 2020-01-31 11:21:42 -08:00
Electron Bot
7956b45323 chore: bump chromium in DEPS to 80.0.3987.82 (#21984) 2020-01-31 11:50:10 -05:00
trop[bot]
63bcbd4ff5 fix: prevent print crash on bad deviceName (#21982) 2020-01-31 16:26:19 +00:00
Electron Bot
3b5ca91a40 chore: bump chromium to 80.0.3987.79 (8-x-y) (#21953)
* chore: bump chromium in DEPS to 80.0.3987.78

* Update patches

* chore: bump chromium in DEPS to 80.0.3987.79

Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
2020-01-30 15:55:47 -05:00
Electron Bot
80282ba972 Bump v8.0.0-beta.9 2020-01-29 18:23:35 -08:00
Erick Zhao
7ddb3dd184 fix: add executable to ChromeDriver's rpath for electron 8+ (#21966) 2020-01-29 18:14:12 -08:00
trop[bot]
0cee5cc1c1 fix: ensure web_contents is not nullptr in UpdateDraggableRegions (#21965)
* fix: ensure web_contents is not nullptr in UpdateDraggableRegions

This is a speculative fix for a crash in `UpdateDraggableRegions` that we've noticed

* Update atom_api_browser_window_mac.mm

* Update atom_api_browser_window_mac.mm

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-01-29 17:43:55 -08:00
Jeremy Apthorp
048d770a0e fix: show module name in deprecation warning for context-aware modules (#21958) 2020-01-29 17:29:06 -08:00
Robo
b3fdb242f0 fix: compilation of native modules on windows with older msvc versions (#21950) (#21960) 2020-01-29 17:13:07 -08:00
Electron Bot
38d908ee6a Bump v8.0.0-beta.8 2020-01-29 11:22:54 -08:00
Alexey Kuzmin
416b850dd2 chore: fix linter errors in .mm files (#21933) 2020-01-29 17:04:14 +00:00
Erick Zhao
714e068cba refactor: try just using regular [Sync] for MessageSync (#20797) (#21948)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-01-29 07:11:32 -05:00
trop[bot]
0a0689587a chore: update build_bring_back_node_with_ltcg_configuration.patch (#21947)
* chore: update build_bring_back_node_with_ltcg_configuration.patch

set default value for node_with_ltcg=true

* fix: move ltcg definition to Release configuration

Co-authored-by: Robo <hop2deep@gmail.com>
2020-01-28 22:42:53 -08:00
trop[bot]
83c4633b21 fix: use powerMonitor.on() only after app is ready (#21942) 2020-01-28 22:13:19 +00:00
Electron Bot
a33063c8a7 chore: bump chromium in DEPS to 80.0.3987.75 (#21932) 2020-01-28 15:15:07 -05:00
trop[bot]
c478d45713 fix: ensure tray icon is the proper size on linux (#21936) 2020-01-28 18:15:22 +00:00
trop[bot]
74686a9cb3 fix: About Panel credits should be dark mode aware (#21926)
* fix: about panel credits should be dark mode aware

* use textColor for automatic adaptability

Co-authored-by: Shelley Vohr <codebytere@github.com>
2020-01-28 17:05:04 +09:00
Shelley Vohr
473a90f99f fix: window.print() only working once (#21908) 2020-01-28 02:11:05 +00:00
trop[bot]
15e9f22fda docs: clean up context bridge API docs (#21917) 2020-01-28 02:01:44 +00:00
Electron Bot
ee44155f7a chore: bump chromium to 80.0.3987.74 (8-x-y) (#21886) 2020-01-27 23:08:46 +00:00
Shelley Vohr
bf64b34475 fix: recursive printing crash (#21905) 2020-01-27 21:18:02 +00:00
trop[bot]
26dbd2218e fix: menu not updating with Tray.setContextMenu (#21902)
Co-authored-by: Cheng Zhao <zcbenz@github.com>
2020-01-27 15:48:02 +09:00
trop[bot]
38e46abf0b Update browser-window.md (#21901)
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-01-27 14:56:03 +09:00
Electron Bot
67f7bf4a23 chore: bump chromium to 80.0.3987.69 (8-x-y) (#21863)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-01-23 10:38:06 -08:00
trop[bot]
02f040c765 docs: added info on bookmark return values for securityScopedBookmarks (#21874) 2020-01-22 18:37:32 -08:00
trop[bot]
9b841e4594 fix: Windows checkboxChecked edge case (#21861) 2020-01-22 18:36:03 -08:00
trop[bot]
a40957f2bc fix: some websites using WebComponents V0 not loading (#21866)
Co-authored-by: Shelley Vohr <codebytere@github.com>
2020-01-23 09:38:21 +09:00
trop[bot]
a6121f527c fix: call SetCanActivate in setFocusable (#21854)
Co-authored-by: Cheng Zhao <zcbenz@github.com>
2020-01-22 14:45:27 +09:00
Cheng Zhao
71a31d553f fix: crash when doing redirect navigation with webRequest listener (8-x-y) (#21841)
* fix: pass navigation_ui_data to proxying factory

* fix: clone response instead of move in redirect
2020-01-22 10:31:19 +09:00
Electron Bot
1a309fd55f chore: bump chromium in DEPS to 80.0.3987.64 (#21848) 2020-01-21 11:41:13 -08:00
Electron Bot
73527e54c5 chore: bump chromium to 80.0.3987.63 (8-x-y) (#21832) 2020-01-20 19:09:53 +00:00
trop[bot]
2ef0827767 fix: crash when restoring minimized hidden window (#21821)
Co-authored-by: Cheng Zhao <zcbenz@github.com>
2020-01-20 15:43:32 +09:00
Electron Bot
76bcab07e6 chore: bump chromium in DEPS to 80.0.3987.61 (#21826) 2020-01-18 17:45:23 +00:00
Electron Bot
5a5b6abd2c chore: bump chromium in DEPS to 80.0.3987.60 (#21817) 2020-01-17 10:27:43 -08:00
Electron Bot
4ce5a48076 Bump v8.0.0-beta.7 2020-01-16 09:55:43 -08:00
Electron Bot
7b61e6044a chore: bump chromium in DEPS to 80.0.3987.59 (#21800) 2020-01-16 12:08:28 -05:00
trop[bot]
048f06c7f5 feat: add session.addWordToSpellCheckerDictionary to allow custom words in the dictionary (#21297)
* feat: add session.addWordToSpellCheckerDictionary to allow custom words in the dictionary

* Update session.md

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-01-16 09:47:58 -05:00
trop[bot]
06868c938f fix: printToPDF failing to generate PDF (#21797)
Co-authored-by: Shelley Vohr <codebytere@github.com>
2020-01-16 09:39:26 -05:00
Electron Bot
22e8fc6379 chore: bump chromium in DEPS to 80.0.3987.58 (#21789) 2020-01-15 19:04:45 -05:00
trop[bot]
427c139eff fix: pass full response headers in net module (#21769)
* fix: pass full response headers in net module

* chore: put helper classes in annoymouse namespace

* fix: use hasOwnProperty to test key

* chore: shorter class name

Co-authored-by: Cheng Zhao <zcbenz@github.com>
2020-01-15 13:38:09 +09:00
Electron Bot
6a881520ee chore: bump chromium in DEPS to 80.0.3987.55 (#21765) 2020-01-14 06:56:22 -08:00
trop[bot]
5a2c451c0b fix: stream protocols not completing (#21759)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-01-14 16:09:46 +09:00
Robo
f47fbccf1a Fix memory leak in generator functions (#21760)
Backports https://chromium-review.googlesource.com/c/v8/v8/+/1967317
2020-01-14 16:08:41 +09:00
Electron Bot
eb419946ad Bump v8.0.0-beta.6 2020-01-13 10:25:18 -08:00
Electron Bot
1b204a4369 chore: bump chromium to 80.0.3987.51 (8-x-y) (#21738)
* chore: bump chromium in DEPS to 80.0.3987.49

* chore: bump chromium in DEPS to 80.0.3987.50

* chore: bump chromium in DEPS to 80.0.3987.51
2020-01-13 13:13:02 -05:00
Cheng Zhao
ee2de310f5 fix: disable private macOS APIs in MAS build except for CAContext/CALayerHost (8-x-y) (#21574)
* fix: add patch to disable remote accessibility APIs

* fix: add patch to disable private window frame APIs
2020-01-13 09:06:13 -05:00
trop[bot]
e81aa83a14 fix: don't fallback to OpenFolderViaShell (#21748)
Co-authored-by: Shelley Vohr <codebytere@github.com>
2020-01-13 14:56:19 +09:00
trop[bot]
96cae44f32 fix: prefer occluded rather than unloading layout info (#21751)
Co-authored-by: loc <andy@slack-corp.com>
2020-01-13 14:55:05 +09:00
Milan Burda
757e7a91a9 fix: load window-setup in sandboxed renderer (#21416) (#21431) 2020-01-13 11:04:10 +09:00
trop[bot]
6faef05095 docs: responseHeaders should be Record<string, string[]> (#21743)
Co-authored-by: Milan Burda <milan.burda@gmail.com>
2020-01-13 09:51:59 +09:00
Shelley Vohr
ee65a190fa chore: deprecate visibleOnFullScreen option (#21732) 2020-01-13 09:48:16 +09:00
trop[bot]
da45f0341a fix: avoid contextBridge double free on garbage collection (#21735)
* fix: reset next/prev pointers for life-monitored nodes

* fix: don't double-delete nodes in a linked list

Co-authored-by: loc <andy@slack-corp.com>
2020-01-10 16:56:40 -08:00
Electron Bot
c6517c0b7f chore: bump chromium in DEPS to 80.0.3987.48 (#21728) 2020-01-10 11:47:38 -08:00
trop[bot]
2c92573978 fix: don't unnecessarily copy draggable regions (#21722) 2020-01-10 09:09:26 -08:00
trop[bot]
fa7326af64 fix: Notification crash in before-quit (#21720) 2020-01-10 09:08:24 -08:00
Electron Bot
aca96553fc chore: bump chromium to 80.0.3987.47 (8-x-y) (#21651)
* chore: bump chromium in DEPS to 80.0.3987.32

* chore: bump chromium in DEPS to 80.0.3987.33

* chore: bump chromium in DEPS to 80.0.3987.34

* chore: bump chromium in DEPS to 80.0.3987.36

* chore: bump chromium in DEPS to 80.0.3987.37

* chore: bump chromium in DEPS to 80.0.3987.38

* chore: bump chromium in DEPS to 80.0.3987.39

* chore: bump chromium in DEPS to 80.0.3987.40

* chore: bump chromium in DEPS to 80.0.3987.43

* chore: bump chromium in DEPS to 80.0.3987.47
2020-01-09 08:22:19 -08:00
trop[bot]
37592cdaee refactor: throw error for getLastCrashReport if crashReporter not started (#21685) 2020-01-07 09:15:50 -05:00
trop[bot]
64e48ad0e6 fix: SimpleURLLoaderWrapper redirects (#21566) (#21644) 2020-01-01 09:31:38 +09:00
trop[bot]
68566583f0 fix: highlight defaulted button correctly (#21653) 2019-12-31 08:42:07 -08:00
Electron Bot
6a56aa2240 chore: bump chromium to 80.0.3987.31 (8-x-y) (#21557)
* chore: bump chromium in DEPS to 80.0.3987.16

* chore: bump chromium in DEPS to 80.0.3987.18

* chore: bump chromium in DEPS to 80.0.3987.20

* chore: bump chromium in DEPS to 80.0.3987.21

* chore: bump chromium in DEPS to 80.0.3987.22

* chore: bump chromium in DEPS to 80.0.3987.23

* chore: bump chromium in DEPS to 80.0.3987.24

* chore: bump chromium in DEPS to 80.0.3987.25

* chore: bump chromium in DEPS to 80.0.3987.26

* chore: bump chromium in DEPS to 80.0.3987.27

* chore: bump chromium in DEPS to 80.0.3987.28

* chore: bump chromium in DEPS to 80.0.3987.29

* chore: bump chromium in DEPS to 80.0.3987.30

* chore: bump chromium in DEPS to 80.0.3987.31
2019-12-30 08:53:24 -08:00
trop[bot]
7e8c1108e0 fix: set enable_negotiate_port to false in allowNTLMCredentialsForDomains (#21580)
* fix: set enable_negotiate_port to false in allowNTLMCredentialsForDomains

* read commandline switch

Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2019-12-19 19:26:46 -08:00
trop[bot]
f5ce5f8218 build: free up macos disk space on Mac publish (#21570) 2019-12-18 16:40:09 -08:00
Electron Bot
28e44b31ca Bump very far --> this is electron bot fixing the release 2019-12-18 14:04:34 -08:00
Samuel Attard
606ca98df0 build: handle origin/X branch formats 2019-12-18 14:02:38 -08:00
Electron Bot
acd2eabdfd Bump v8.0.0-beta.5 2019-12-17 16:05:21 -08:00
Shelley Vohr
07972c2892 Revert "Bump v8.0.0-beta.6"
This reverts commit 70079d1c8a.
2019-12-17 15:47:28 -08:00
Electron Bot
70079d1c8a Bump v8.0.0-beta.6 2019-12-17 15:16:32 -08:00
trop[bot]
4def69876f fix: enforce parent-child relationship in custom postMessage() handler (#21512) 2019-12-17 15:08:36 -08:00
John Kleinschmidt
61a2c7bd16 Revert "Bump v8.0.0-beta.5"
This reverts commit 6c1eb46f68.
2019-12-17 13:52:56 -08:00
Shelley Vohr
f53262d58f fix: MediaKey globalShortcuts not working on macOS (#21547) 2019-12-17 13:36:47 -08:00
trop[bot]
8c15619905 docs: update webContents.printToPDF() example for promisified API (#21549) 2019-12-16 21:29:03 -08:00
trop[bot]
4a66bed930 refactor: export internalWindowOpen from guest-window-manager (#21530) 2019-12-16 13:55:17 -08:00
trop[bot]
8dabb3fe33 docs: update installation docs to reflect latest @electron/get changes (#21540) 2019-12-16 13:53:43 -08:00
Electron Bot
3f88934025 chore: bump chromium to 80.0.3987.14 (8-x-y) (#21520)
* chore: bump chromium in DEPS to 80.0.3987.12

* chore: bump chromium in DEPS to 80.0.3987.13

* chore: bump chromium in DEPS to 80.0.3987.14
2019-12-16 12:43:29 -05:00
trop[bot]
296dcc3405 fix: avoid contextBridge crash when RenderFrame address is reused (#21513)
* fix: avoid contextBridge crash when RenderFrame address is reused

Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>

* make routing_id_ const
2019-12-16 11:01:20 +09:00
trop[bot]
5f6de7053a fix: quit after Chromium is fully started (#21507)
* fix: quit when chromium is fully started

* test: remove hacks on app.quit

* chore: RunUntilIdle is unnecessary
2019-12-16 09:45:45 +09:00
Electron Bot
6c1eb46f68 Bump v8.0.0-beta.5 2019-12-14 08:10:53 -08:00
Electron Bot
05cde0d945 chore: bump chromium to 80.0.3987.6 (8-x-y) (#21061) 2019-12-13 12:13:29 -08:00
trop[bot]
696c94c08a fix: sourcemaps not loading with network service (#21493)
Backports https://chromium-review.googlesource.com/c/chromium/src/+/1525270
Backports https://chromium-review.googlesource.com/c/chromium/src/+/1852212
2019-12-12 18:55:44 -08:00
trop[bot]
4284691cb3 fix: avoid Electron.dsym files in the main app bundle (#21484)
* ci: CHECK_DIST_MANIFEST in release builds

* fix: skip Electron.dSYM on macOS app zip
2019-12-11 13:16:56 -08:00
trop[bot]
2ab56802cb fix: restore POST forms that open a new window with target=_blank (#21474)
* fix: restore parts of original ResourceRequestBody V8 conversion

Restore some of the original conversion logic in order to fix target=_blank post form submissions.

* test: add test for POST form submission
2019-12-11 19:36:01 +09:00
Cheng Zhao
353d12b231 fix: name and expirationDate should be optional when setting cookie (#21454) (#21477)
* fix: correctly set cookie date

* fix: name is not required for setting cookie

* test: clear cookie after each cookie test

* test: should test session property

* chore: style fixes
2019-12-11 19:34:23 +09:00
trop[bot]
cbd734faf9 fix: restore accessibility window title on macOS (#21467)
Electron's `AtomNSWindow` implements `accessibilityAttributeValue` to
provide various accessibility info to the OS, including window titles.

Chromium 75 changed to Apple's newer accessibility API for window titles
in the super class that `AtomNSWindow` inherits from. macOS still
supports both the old and new style APIs, but it will prefer the new
style if it is implemented.  This means the Electron window title is
being ignored because the newer API at the Chromium level has taken
precedence.

By implementing the newer accessibility API in `AtomNSWindow`, this
restores correct accessibility window titles in macOS Electron apps.

This is a regression has been present since Electron 6.0.0 (the first
release including the Chromium change above).
2019-12-10 18:45:18 -08:00
trop[bot]
cf282c177f fix: window menu should handle keys correctly (#21452) 2019-12-10 10:08:15 -08:00
trop[bot]
e8c8afb1b4 fix: Fix compositor recycling when creating new BrowserView (#21399)
In #20829, we fixed compositor recycling when switching between
BrowserViews, but it turns out that there is one additional case that we
need to handle. When we create a completely new BrowserView instance, it
starts of as visible (even when it hasn't been added to the window),
which means that it will need its own compositor instead of using the
recycled compositor.

To fix this, lets make BrowserViews hidden by default until they're
added to the window. See also #19988. This is a potentially breaking
change given that the initial value of `document.visibilityState` will
now be `hidden`, but given the experimental status of BrowserViews, I
think this is a fine change to make. The old behavior can be restored
with `webPreferences: { show: true }`.

Notes: Fix compositor recycling when creating new BrowserView
2019-12-10 10:05:10 +09:00
trop[bot]
dd0d06448c fix: hiding window menu should work on startup (#21443)
* fix: menu visibility should not be overwritten on startup

* fix: removing menu for window without global menubar

* test: setMenu tests are not for mac
2019-12-10 09:29:00 +09:00
trop[bot]
3527fdc291 chore: workflows and pipeline state were split in the circle API (#21444) 2019-12-09 11:32:55 -08:00
trop[bot]
a6b9d68897 fix: fix ClientRequest.getUploadProgress (#21424) 2019-12-09 11:18:39 -08:00
trop[bot]
e1e7ec737f fix: pass noLink correctly on Windows (#21405) 2019-12-08 10:39:35 -08:00
trop[bot]
4fd03f59f4 docs: fix return type of getPrinters (#21421) 2019-12-08 10:38:17 -08:00
trop[bot]
e64e0f00ca fix: do not use messages after move (#21420) 2019-12-06 14:41:29 -08:00
trop[bot]
1bfead2f6b fix: ensure persistence store still exists when GC runs (#21418)
Fix a bad access crash that happens when a render frame is deleted (window closed) and garbage collection runs afterward.
2019-12-06 12:35:32 -08:00
Jacob
c79f1ee720 fix: prevent silent failure when DOM storage quota exceeded (#20899) (#21380)
* test: update DOM storage quota limits test

* fix: update dom_storage_limits.patch (fixes #13465)

The previous version of this patch did not include
changes required to circumvent the quota enforcement
performed by StorageAreaImpl. Consequently when
the quota was exceeded, things still "appeared to
work" at first but then would later fail silently.
That is, the cache would be updated but the backing
store would not.

This could be fixed by disabling the code below
(from `content/browser/dom_storage/storage_area_impl.cc`)
```
  // Only check quota if the size is increasing, this allows
  // shrinking changes to pre-existing maps that are over budget.
  if (new_item_size > old_item_size && new_storage_used > max_size_) {
    if (map_state_ == MapState::LOADED_KEYS_ONLY) {
      receivers_.ReportBadMessage(
          "The quota in browser cannot exceed when there is only one "
          "renderer.");
    } else {
      std::move(callback).Run(false);
    }
    return;
  }
```

However, since this seems to have some unintended side-effects
(see updated notes in dom_storage_limits.patch) it seems
more prudent to simply increase the quota to a larger
yet still reasonable size rather than attempt to circumvent
the storage quota altogether.
2019-12-04 12:27:43 -08:00
trop[bot]
e18c369e4a fix: deprecate setLayoutZoomLevelLimits (#21360) 2019-12-04 08:46:15 -08:00
trop[bot]
1953ab3bf2 chore: remove unused shell/common/crash_reporter/win/crash_service.cc (#21376) 2019-12-04 16:40:40 +09:00
Electron Bot
d998bf9fed Bump v8.0.0-beta.4 2019-12-03 16:37:39 -08:00
Electron Bot
40eff3a778 Revert "Bump v8.0.0-beta.4"
This reverts commit 9dd089fc56.
2019-12-03 16:17:17 -08:00
Electron Bot
9dd089fc56 Bump v8.0.0-beta.4 2019-12-03 16:11:22 -08:00
Electron Bot
5e2bd0e55f Revert "Bump v8.0.0-beta.4"
This reverts commit 95b8be4cc4.
2019-12-03 13:31:30 -08:00
Electron Bot
95b8be4cc4 Bump v8.0.0-beta.4 2019-12-03 13:28:04 -08:00
Jeremy Apthorp
d48f99fd6e ci: generate debug symbols on Linux (#21278)
* ci: generate debug symbols on Linux (#18676)

* kick ci
2019-12-03 11:03:51 -05:00
trop[bot]
3a9b934cc5 fix: backgroundThrottling rwh assignment (#21358)
* fix: backgroundThrottling rwh assignment

* fix: disable DOM timer throttling

* chore: fix typo
2019-12-02 15:42:44 -08:00
Electron Bot
768f372675 Revert "Bump v8.0.0-beta.4"
This reverts commit 9e3f0d5190.
2019-12-02 13:55:49 -08:00
Electron Bot
9e3f0d5190 Bump v8.0.0-beta.4 2019-12-02 13:53:37 -08:00
Electron Bot
5a297f409f Revert "Bump v8.0.0-beta.4"
This reverts commit 57335cea69.
2019-12-02 12:32:55 -08:00
Electron Bot
57335cea69 Bump v8.0.0-beta.4 2019-12-02 12:30:44 -08:00
trop[bot]
3331f51571 fix: ensure no node globals passively leak when nodeIntegration is disabled (#21355) 2019-12-02 12:27:51 -08:00
Robo
f122268ca8 fix: focus with OOPIF embedded inside <webview> (#21343)
Backports https://chromium-review.googlesource.com/c/chromium/src/+/1922650
2019-12-02 10:26:35 -08:00
Robo
bfc817fd28 build: fix building with enable_builtin_spellchecker = false (#21334) (#21341) 2019-11-30 16:22:50 -08:00
trop[bot]
2bd83d0e89 fix: correctly plumb checkboxChecked on win (#21312)
* fix: correctly plumb checkboxChecked on win

* address final style comment
2019-11-29 17:23:43 +09:00
Jeremy Apthorp
f29f3418ed refactor: rewrite the net module to simplify state tracking (#21303)
* refactor: rewrite the net module to simplify state tracking (#21244)

* fix build

* Update atom_api_net.cc
2019-11-29 17:22:45 +09:00
trop[bot]
c87a0077dd build: disable strip_absolute_paths_from_debug_symbols on debug.gn (#21316) 2019-11-29 17:22:17 +09:00
Jeremy Apthorp
23c1dcea46 fix: restore --ignore-connections-limit functionality (#21286) (#21298) 2019-11-27 16:41:44 +09:00
Samuel Attard
41e64d2469 chore: add deprecation warning for the default of allowRendererProcessReuse (#21287)
* chore: add deprecation warning for the default of allowRendererProcessReuse

* Update web-contents.js
2019-11-26 15:48:35 -08:00
Jeremy Apthorp
5fdc24d3bf fix: record cpu_profiler data for main process (#21187) (#21276)
* fix: record cpu_profiler data for main process

* kick ci
2019-11-26 13:20:15 -08:00
Samuel Attard
64dc86c8c2 fix: allow reading body from non-2xx responses in net.request (#21055) (#21285)
* fix(urlrequest): allow non-2xx repsponse results

- closes #21046

* test(net): add test cases to verify non-2xx body

* test(session): update spec to match clientrequest behavior

* test(net): update test cases to match clientrequest behavior

* spec: clean up async net spec
2019-11-26 13:10:07 -08:00
Jeremy Apthorp
9d1ec6b0eb fix: implement 'login' event for net.ClientRequest (#21133)
* fix: implement 'login' event for net.ClientRequest (#21096)

* lint

* more lint

* whoops forgot patch

* fix compile

* fix ts

* i swear to god i already fixed this

* ugh

* asfdsafd

* disambiguate callback converter (i hope)

* Update atom_api_url_request_ns.cc

* use gin, not mate
2019-11-26 11:32:28 -08:00
trop[bot]
8919480ebc fix: reloadIgnoringCache() should ignore the cache (#21283) 2019-11-25 12:51:02 -08:00
trop[bot]
bb9e68beee fix: add missing early return (#21282) 2019-11-25 12:50:52 -08:00
trop[bot]
88c1f2caf7 feat: expose executeJavaScriptInIsolatedWorld on webContents (#21267)
* feat: expose executeJavaScriptInIsolatedWorld on webContents

* Apply suggestions from code review

Co-Authored-By: loc <andy@slack-corp.com>
2019-11-22 20:44:39 -08:00
Shelley Vohr
88375be2b2 fix: conversion of NativeImage from path (#21241) 2019-11-22 10:26:13 -08:00
trop[bot]
2aa69505f9 docs: remove string literal type from window events (#21245) 2019-11-21 14:50:02 -08:00
Electron Bot
e78fe7c8da Bump v8.0.0-beta.3 2019-11-20 11:24:28 -08:00
trop[bot]
7a7b944c74 build: update release build endpoint from /jobs to /job (#21233) 2019-11-20 14:23:13 -05:00
Electron Bot
09f5a2b741 Revert "Bump v8.0.0-beta.3"
This reverts commit cbf50eabd9.
2019-11-20 11:16:26 -08:00
Electron Bot
cbf50eabd9 Bump v8.0.0-beta.3 2019-11-20 11:14:52 -08:00
trop[bot]
90a74139c1 build: delete unneeded files when running a release (#21230)
* build: delete unneeded files when running a release

Needed to free up disk space on MacOS.

* Delete all the .git directories

* Update comment

* Run gn gen after deleting .git dirs
2019-11-20 14:04:25 -05:00
Cheng Zhao
3a6cc1b786 fix: menu should not be garbage-collected when popuping (8-x-y) (#21224)
* fix: retain menu when popuping

* test: menu should not be garbage-collected when popuping
2019-11-20 11:19:21 -05:00
trop[bot]
f5fde13b14 spec: skip flaky <webview>.capturePage() test on Windows (#21212) 2019-11-20 11:00:52 -05:00
John Kleinschmidt
c6d429d533 Revert "Bump v8.0.0-beta.3"
This reverts commit 269f4ba2bb.
2019-11-19 16:53:29 -05:00
Charles Kerr
73df925241 docs: document webkitdirectory breaking change (#21209) 2019-11-19 15:31:06 -05:00
Electron Bot
269f4ba2bb Bump v8.0.0-beta.3 2019-11-19 11:41:06 -08:00
Electron Bot
9b304beb54 Revert "Bump v8.0.0-beta.3"
This reverts commit 5ffad09e91.
2019-11-19 11:34:24 -08:00
Electron Bot
5ffad09e91 Bump v8.0.0-beta.3 2019-11-19 11:32:01 -08:00
John Kleinschmidt
b694315cd3 Revert "Bump v8.0.0-beta.3" (#21207)
This reverts commit 7fe2f25341.
2019-11-19 14:21:25 -05:00
trop[bot]
8566315902 fix: allow chromium to handle WM_NCCALCSIZE for frameless windows (#21201) 2019-11-19 14:18:50 -05:00
trop[bot]
cd94ab9de3 build: use python3 to download external binaries (#21202)
* build: use python3 to download external binaries

* Update config.py
2019-11-19 08:40:51 -08:00
trop[bot]
09ebadaf5b build: use symbol_level 1 for 32bit linux releases (#21204)
* build: use symbol_level 1 for 32bit linux releases

* Add comment
2019-11-19 08:14:34 -08:00
trop[bot]
990189ab35 fix: stream protocols sometimes flake out (#21180) 2019-11-19 06:31:07 -08:00
trop[bot]
049e536c5f docs: fix isMactemplateImage type definition (#21182) 2019-11-18 21:04:01 -08:00
Electron Bot
7fe2f25341 Bump v8.0.0-beta.3 2019-11-18 10:41:07 -08:00
Charles Kerr
c79809ddb9 build: missing include in windows release builds (#21132)
* fix: add missing `#include <algorithm>` as needed

Manual backport of #21045

* fix: add missing `#include <algorithm>` as needed

Manual backport of #21045

* chore: add patch to include missing `#include <memory>`

* chore: add another `#include <memory>` needed

* chore: regenerate patches w/correct breakpad root

* chore: regenerate breakpad include failure patches

* refactor: use --keep-cr in the git am patch script

We need something like this to patch files that have crlf endings. See
https://stackoverflow.com/questions/6289001/git-am-format-patch-control-format-of-line-endings

* chore: regenerate node patches

The udpated crlf support in git-{import,export}-patches caused a new
warning when applying patches from `electron/patches/nodes`, so refresh
the patches.

* chore: no need to regenerate node patches

* chore: silence whitespace warnings

* chore: fix FTBFS from stl features used but not included

* fixup! refactor: use --keep-cr in the git am patch script
2019-11-18 10:39:59 -08:00
Robo
b3edf86914 fix: incorrect size of windows on differently scaled monitors (#21139)
* Revert "fix: handle WM_GETMINMAXINFO instead of letting chromium do it (#19928)"

This reverts commit 27ce6a9cd3.

* fix: don't reset the width and height when correcting window placement
2019-11-15 09:28:47 -08:00
John Kleinschmidt
7044122f5d chore: Reset version for 8-x-y (#21134)
* Revert "Bump v8.0.0-beta.4"

This reverts commit 2560776888.

* Revert "Bump v8.0.0-beta.3"

This reverts commit d5d5fef931.
2019-11-14 16:34:57 -08:00
Jeremy Apthorp
b7bcce9576 fix: implement login event for WebContents (#21098)
* fix: implement login event for WebContents

* fix gin header path

* use mate

* correct path to native_mate/dictionary.h

* use BindRepeating bc apparently no BindOnce converter...?
2019-11-14 16:18:28 -08:00
Electron Bot
2560776888 Bump v8.0.0-beta.4 2019-11-14 10:20:46 -08:00
Electron Bot
d5d5fef931 Bump v8.0.0-beta.3 2019-11-14 09:50:16 -08:00
Cheng Zhao
6b158872fc fix: webRequest should be able to modify CORS headers (#21099) (#21122) 2019-11-14 12:45:25 -05:00
Andrew MacDonald
a4ef2d4356 feat: add app.getApplicationNameForProtocol API (#20399) (#21117)
* Add GetApplicationNameForProtocol.

* Fix Windows implementation.

* Fix up test.

* Add documentation.

* Implement for real on Linux using xdg-mime.

Also ensure we allow blocking calls here to avoid errant DCHECKing.

* Improve docs for Linux.

* Clean up tests.

* Add a note about not relying on the precise format.

* Update docs/api/app.md

Co-Authored-By: Shelley Vohr <codebytere@github.com>

* Remove needless `done()`s from tests.

* Use vector list initialization.

* Add a simple test for isDefaultProtocolClient.

* Remove unneeded include and skip a test on Linux CI.

* We no longer differentiate between CI and non-CI test runs.
2019-11-14 12:38:54 -05:00
Milan Burda
14cc902ad8 feat: add 'screen' to systemPreferences.getMediaAccessStatus() (#21116) 2019-11-14 15:15:24 +00:00
Milan Burda
a62a367b9f fix: NativeImage serialization of <webview>.capturePage() result (#21103)
* refactor: add Error to isSerializableObject() (#20886)

* fix: NativeImage serialization of <webview>.capturePage() result (#20825)
2019-11-14 10:36:22 +00:00
Shelley Vohr
8d67f16512 fix: refactor printing for mojo (#21059) 2019-11-13 17:43:38 +00:00
loc
59cb78e9aa fix: allow iframe-initiated HTML fullscreen to exit while in macOS fullscreen (8-x-y) (#21042)
* fix: explicitly resize the contents when exiting html fullscreen while in OS fullscreen

* test: ensure HTML fullscreen toggles while in OS fullscreen
2019-11-13 14:33:31 +09:00
Samuel Attard
032552df57 build: depend on chromium version not SHA (#20839) 2019-11-08 16:35:10 -08:00
trop[bot]
1913926ebc feat: deprecate <webview>.getWebContents() (#21039) 2019-11-07 15:31:54 -05:00
trop[bot]
dc979388ba fix: check for validity of guest webcontents (#21035) 2019-11-07 13:37:14 -05:00
trop[bot]
bcabc25b93 fix: Fix broken globalShortcuts.registerAll() on non-macOS platforms (#20984)
This was a regression in #16125, which unintentionally put
`GlobalShortcutListener::RegisterAccelerator` into a
`#if defined(OS_MACOSX)` block.

Notes: Fix broken `globalShortcut.registerAll()` on Windows and Linux
2019-11-06 23:01:51 -08:00
trop[bot]
ab6d22c958 docs: fix win.setIcon ts type (#20981)
* docs: fix win.setIcon ts type

* test: update smoke tests
2019-11-06 16:25:26 -08:00
trop[bot]
806925ee79 fix: proper i18n of recentDocuments item (#20956) 2019-11-06 13:57:42 -08:00
Samuel Attard
a46b50fc7b fix: correctly emplace optional values in the value converter (#20985)
* fix: correctly emplace optional values in the value converter

* chore: replace optional with nullopt when the conversion failed
2019-11-06 10:34:29 -08:00
trop[bot]
517a5915d7 chore: emit the document-start and document-end events in a sandboxed renderer (#20992) 2019-11-05 19:25:10 -08:00
trop[bot]
1de38af8cc chore: upgrade ts generator for better type safety (#20976)
* chore: upgrade ts generator for better type safety

* spec: fix tests
2019-11-05 15:20:08 -08:00
trop[bot]
66a95db3df docs: update installation instructions for proxies (#20979) 2019-11-05 13:45:14 -08:00
trop[bot]
7b779c6e6a fix: cannot access nativeTheme via electron.remote (#20953) 2019-11-04 16:00:28 -08:00
trop[bot]
429dfd7054 fix: don't export __esModule = true by electron.ts (#20952) 2019-11-04 16:00:03 -08:00
Samuel Attard
03f7a85cfb fix: capture the promise global to avoid userland mutation (#20925) (#20946) 2019-11-04 15:58:28 -08:00
trop[bot]
2d2a753dd9 fix: don't copy tray image when it's set (#20936) 2019-11-04 14:17:18 -08:00
trop[bot]
028e3889f0 fix: use Unicode version of ShellExecute() in OpenExternalOnWorkerThread() (#20906) 2019-11-01 18:25:29 -07:00
trop[bot]
47eb123649 build: lengthen wait times and retries for CircleCI releases (#20894)
* build: lengthen wait times and retries for CircleCI releases

* Review suggestions

* build: allow CircleCI timeout and retry to be set via env variables (#20896)

* build: allow circleci timeout and retry to be set via env variables

* check for more statuses and run indefinitely

(cherry picked from commit 4240017cb6)
2019-11-01 14:17:24 -04:00
trop[bot]
45ab098079 build: enable sccache on windows (#20898)
* build: enable sccache on windows

* chore: temporarily disable the docs only check

* build: fix escaping in sccache path on windows

* Update appveyor.yml

* Update appveyor.yml

* Use sccache settings from CI

* Use Azure enabled sccache for Windows
2019-11-01 11:46:10 -04:00
Electron Bot
6cfc05ded2 Bump v8.0.0-beta.2 2019-10-31 14:37:20 -07:00
Samuel Attard
40e0e8e499 feat: enable builtin spellchecker (#20897)
* feat: enable builtin spellchecker (#20692)

* chore: add code required to use chromes spellchecker

* chore: fix linting

* chore: manifests needs buildflags now

* chore: add dictionarySuggestions to the context menu event when the spellchecker is active

* chore: enable by default for windows builds

* chore: add patch to remove incognito usage in the spellchecker

* chore: add dependencies on spellcheck common and flags

* chore: conditionally include spell check panel impl

* chore: fix deps for spellcheck feature flags

* chore: add patch for electron resources

* chore: add dependency on //components/language/core/browser

* chore: patches to make hunspell work on windows

* build: collect hunspell dictionaries into a zip file and publish

* chore: clean up patches

* chore: add docs and set spell checker url method

* chore: fix error handling

* chore: fix hash logic

* build: update hunspell filename generator

* fix: default spellchecker list to the current system locale if we can

* docs: document the language getter

* chore: patch IDS_ resources for linux builds

* feat: add spellcheck webpref flag to disable the builtin spellchecker

* chore: fix docs typo

* chore: clean up spellchecker impl as per feedback

* remove unneeded deps

* chore: disable spellcheck by default in web prefs
2019-10-31 14:35:38 -07:00
trop[bot]
beff8b8b51 docs: clean up performance checklist formatting (#20888)
* docs: fix list formatting in performance checklist

* docs: remove unused link ref
2019-10-31 09:52:36 -07:00
trop[bot]
311723396a fix: swapped labels on open/save gtkdialog (#20883) 2019-10-31 08:42:37 -07:00
trop[bot]
d39d75321a build: do not try to run non existent VSTS release builds (#20878) 2019-10-31 10:53:44 -04:00
Birunthan Mohanathas
55201d7db6 fix: Disable compositor recycling only for attached views (8-x-y) (#20847)
Backport of #20829

Notes: Fix flicker when switching between `BrowserView`s
2019-10-30 16:52:33 -04:00
trop[bot]
ac46d5b16e fix: devtools extensions not loading (#20842) 2019-10-30 09:16:32 -07:00
Milan Burda
a1fb069624 fix: pass frameId to v8Util.setRemoteCallbackFreer() (#20732) (#20813) 2019-10-30 14:35:18 +09:00
trop[bot]
3aa33dd220 fix: do not DCHECK production-necessary methods (#20836) 2019-10-29 14:49:12 -07:00
trop[bot]
9b74d0d54a fix: properly generate requestID in webContents.printToPDF() (#20802) 2019-10-29 15:39:41 +09:00
trop[bot]
018fc2ca46 fix: deprecation warnings in Electron code (#20805) 2019-10-29 15:38:25 +09:00
trop[bot]
e286b78df7 docs: the ipc main listener being removed can have args (#20807) 2019-10-29 15:34:44 +09:00
Shelley Vohr
f77bd19a70 fix: prevent menu gc during popup (#20785) 2019-10-29 13:21:08 +09:00
trop[bot]
cff63d32a0 chore: fix formatting of a few Python files (#20778) 2019-10-28 15:36:53 -04:00
trop[bot]
a8e7696674 ci: skip build on doc only changes (#20717)
* ci: skip build on doc only changes

* Try using exit codes on doc-only-change

* Fixup

* Fixup circleci doc-only check

* Update appveyor.yml

Co-Authored-By: Samuel Attard <sattard@slack-corp.com>

* Properly detect doc only change on Windows

* Flip exit code per review

* build: fix doc only change when there isn't a PR (#20749)

* build: fix doc only change when there isn't a PR

Fixes issue where CI was mistakenly marking a PR as a doc only change because the CI was kicked off before the PR was created.

(cherry picked from commit 73da4b7215)
2019-10-28 11:14:50 -04:00
trop[bot]
5fc689dc4e docs: fix process.getSystemVersion() type (#20767) 2019-10-27 11:21:00 -07:00
Electron Bot
895bdc0ee0 Bump v8.0.0-beta.1 2019-10-24 12:05:38 -07:00
Electron Bot
c99f1d317e Revert "Bump v8.0.0-beta.1"
This reverts commit 315e3e325d.
2019-10-23 16:07:43 -07:00
Electron Bot
315e3e325d Bump v8.0.0-beta.1 2019-10-23 16:04:33 -07:00
Samuel Attard
8acce4279b Revert "Bump v8.0.0-beta.1"
This reverts commit c8943cdc3c.
2019-10-23 16:03:04 -07:00
Electron Bot
c8943cdc3c Bump v8.0.0-beta.1 2019-10-23 13:15:01 -07:00
trop[bot]
f74f009648 build: handle -x-y format for getCurrentBranch (#20711) 2019-10-23 13:03:50 -07:00
John Kleinschmidt
467409458e build: add support for automated minor releases (#20620)
* build: add support for automated minor releases

* Add test for minor bump
2019-10-23 11:07:09 -07:00
Sofia Nguy
f5e5bcd943 [WIP] docs: update electron 8.0 dates (#20621) 2019-10-23 12:39:47 -04:00
Shelley Vohr
db4d01c517 refactor: move CompileAndCall to a helper (#20675) 2019-10-23 09:26:32 -07:00
Shelley Vohr
5abce7ec08 fix: call InitializeContextRuntime in InitializeContext (#20684) 2019-10-23 09:25:14 -07:00
Electron Bot
18907389da Bump v8.0.0-nightly.20191023 2019-10-23 08:32:02 -07:00
Milan Burda
ba8f80267c fix: send ELECTRON_BROWSER_CONTEXT_RELEASE asynchronously (#20632)
* fix: send ELECTRON_BROWSER_CONTEXT_RELEASE asynchronously

* test: remote references should be able to be cleared for all cases
2019-10-23 13:44:21 +09:00
Jeremy Apthorp
2abea22b4b fix: explicitly cancel redirects when mode is 'error' (#20686) 2019-10-23 09:10:37 +09:00
Jeremy Apthorp
cde2aae6b5 fix: properly free remote objects (#20671) 2019-10-22 16:54:38 -07:00
Sofia Nguy
97fa8c824c docs: update currently supported versions for 7.0.0 release (#20622)
* [WIP] docs: update currently supported versions for 7.0.0 release

* oops
2019-10-22 15:26:07 -07:00
Electron Bot
2658cae3ea Bump v8.0.0-nightly.20191022 2019-10-22 08:31:48 -07:00
Shelley Vohr
e3b30a825c chore: remove unnecessary crypto patch (#20669) 2019-10-22 09:14:21 +09:00
Shelley Vohr
aa26e8b946 fix: macOS getColor inconsistencies (#20611) 2019-10-21 14:31:03 -07:00
Shelley Vohr
9a5cd4c8d2 fix: use xib file to construct macOS Menu (#20615) 2019-10-21 14:11:09 -07:00
Electron Bot
138af75ff8 chore: bump node in DEPS to v12.13.0 (#20657)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2019-10-21 13:45:14 -07:00
Felix Rieseberg
13cb21a684 docs: Performance checklist (#20230)
* docs: First draft of perf checklist

* docs: More words

* docs: Use standard in code example

* docs: fix broken link

* Update docs/tutorial/performance.md

Co-Authored-By: Charles Kerr <ckerr@github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: Charles Kerr <ckerr@github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: loc <andy@slack-corp.com>

* Update docs/tutorial/performance.md

Co-Authored-By: loc <andy@slack-corp.com>

* docs: Implement suggestions

* docs: Include VSCode talk

* chore: Pass linter

* Update docs/tutorial/performance.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/tutorial/performance.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update performance.md

* fix: The process link
2019-10-21 13:39:54 -07:00
Arjit Chauhan
620ac9c2b4 docs: update README.md (#20644) 2019-10-21 12:14:42 -07:00
Electron Bot
417f9e27e1 Bump v8.0.0-nightly.20191021 2019-10-21 08:32:10 -07:00
Shelley Vohr
0abbb35c4e chore: reduce crypto patch surface (#20646)
* reduce oaeplabel_option patch

* remove now-compatible patch

* note upstream
2019-10-21 08:02:23 -07:00
Kristof Kalocsai
7b28cd33cb docs: Added Native User Interface -> Open path in file manager Fiddle example (#20589)
* docs: Added Native User Interface -> Open path in file manager Fiddle example from electron-api-demos

* removed classname from button
2019-10-21 16:16:11 +09:00
Yaser
4e88633d89 docs: Added Drag and drop files Fiddle example (#20472) 2019-10-21 16:14:35 +09:00
Cheng Zhao
eb0e55c514 chore: remove native_mate (Part 9) (#20645)
* refactor: remove a few uses of native_mate/gfx_converter.h

* refactor: deprecate mate::EventEmitter

* refactor: add gin_helper::EventEmitter

* refactor: convert a few classes to use gin_helper::EventEmitter

* refactor: get rid of native_mate_converters/gfx_converter.h

* fix: follow native_mate on reporting errors

* fix: gin is weak at guessing parameter types

* fix: incorrect full class name

* fix: gin::Handle does not accept null
2019-10-21 16:05:40 +09:00
Jeremy Apthorp
b155ebeeb3 fix: don't overwrite global constructor names in remote (#20637)
* fix: don't overwrite global constructor names in remote

* fake constructor names better, and improve error serialization
2019-10-21 15:48:03 +09:00
Electron Bot
820dab295f Bump v8.0.0-nightly.20191020 2019-10-20 08:31:06 -07:00
Electron Bot
956127ee5e Bump v8.0.0-nightly.20191019 2019-10-19 08:31:24 -07:00
Electron Bot
43fa9166c9 chore: bump node to v12.12.0 (master) (#20584)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2019-10-18 16:52:15 -07:00
Jeremy Apthorp
9f23bb581e test: fix BrowserWindow spec to await its result (#20612) 2019-10-18 16:23:33 -07:00
Samuel Attard
2b890827ef docs: mark contextBridge as experimental (#20638)
* docs: mark contextBridge as experimental

This commit didn't make it to the original PR, quick addition here

* Update context-bridge.md
2019-10-18 13:46:03 -07:00
Electron Bot
3ac3fbdbfb chore: bump chromium to e049d599a8332b9b2785b0178be74 (master) (#20314) 2019-10-18 12:57:34 -07:00
Samuel Attard
0090616f7b feat: add a new contextBridge module (#20307)
* feat: add a new contextBridge module

* chore: fix docs linting

* feat: add support for function arguments being proxied

* chore: ensure that contextBridge can only be used when contextIsolation is enabled

* docs: getReverseBinding can be null

* docs: fix broken links in md file

* feat: add support for promises in function parameters

* fix: linting failure for explicit constructor

* Update atom_api_context_bridge.cc

* chore: update docs and API design as per feedback

* refactor: remove reverse bindings and handle GC'able functions across the bridge

* chore: only expose debugGC in testing builds

* fix: do not proxy promises as objects

* spec: add complete spec coverage for contextBridge

* spec: add tests for null/undefined and the anti-overwrite logic

* chore: fix linting

* spec: add complex nested back-and-forth function calling

* fix: expose contextBridge in sandboxed renderers

* refactor: improve security of default_app using the new contextBridge module

* s/bindAPIInMainWorld/exposeInMainWorld

* chore: sorry for this commit, its a big one, I fixed like everything and refactored a lot

* chore: remove PassedValueCache as it is unused now

Values transferred from context A to context B are now cachde in the RenderFramePersistenceStore

* chore: move to anonymous namespace

* refactor: remove PassValueToOtherContextWithCache

* chore: remove commented unused code blocks

* chore: remove .only

* chore: remote commented code

* refactor: extract RenderFramePersistenceStore

* spec: ensure it works with numbered keys

* fix: handle number keys correctly

* fix: sort out the linter

* spec: update default_app asar spec for removed file

* refactor: change signatures to return v8 objects directly rather than the mate dictionary handle

* refactor: use the v8 serializer to support cloneable buffers and other object types

* chore: fix linting

* fix: handle hash collisions with a linked list in the map

* fix: enforce a recursion limit on the context bridge

* chore: fix linting

* chore: remove TODO

* chore: adapt for PR feedback

* chore: remove .only

* chore: clean up docs and clean up the proxy map when objects are released

* chore: ensure we cache object values that are cloned through the V8 serializer
2019-10-18 12:57:09 -07:00
Shelley Vohr
8099e6137d chore: remove some trop permissions (#20636) 2019-10-18 11:24:52 -07:00
Electron Bot
e74b21bff5 Bump v8.0.0-nightly.20191018 2019-10-18 08:31:50 -07:00
Alecyrus
825e67140e feat: support fitToPageEnabled and scaleFactor (#20436)
* fix: support fitToPageEnabled and scaleFactor

Support fitToPageEnabled and scaleFactor in  `WebContents.printToPDF()`

* fix: change default value of scaleFactor
2019-10-18 09:40:19 +09:00
Cheng Zhao
19223952a8 chore: remove native_mate (Part 8) (#20598)
* refactor: convert methods of AutoUpdater to gin

* refactor: converter in map_converter.h is no more needed

* refactor: use gin in crash_reporter

* refactor: remove native_mate_converters/map_converter.h

* refactor: implement gfx_converter with gin

* refactor: convert methods of NativeImage to gin

* refactor: add gin_helper::Arguments

* fix: use gin_helper::Arguments to parse multi-type parameters
2019-10-18 09:31:29 +09:00
Robo
58115c1cae fix: add patch to node for native module size issue on windows (#20614) 2019-10-17 17:10:42 -04:00
Electron Bot
86258c6cff Bump v8.0.0-nightly.20191017 2019-10-17 08:33:48 -07:00
Milan Burda
b29f0b9348 refactor: use Map for windowProxies in window-setup.ts (#20600) 2019-10-17 15:07:27 +02:00
Electron Bot
e06b0aa73b Bump v8.0.0-nightly.20191016 2019-10-16 08:31:19 -07:00
Harendra Singh
db91673f23 docs: add example for taking screenshot (#20531) 2019-10-16 08:17:50 -07:00
Vlad Hashimoto
c73e34fb9e docs: remove class names from fiddle examples (#20596)
* docs: remove original class names in customize menus example

* docs: remove original class names in shortcuts example

* lint: run standard
2019-10-16 08:17:09 -07:00
Jeremy Apthorp
221ce70699 test: remove remote usage from chromium spec (#20568)
* test: move & expand webview -> window.open() opener tests

* remove remaining usage of 'protocol' from chromium-spec.js

* remove final usages of remote from chromium-spec

* remove import of window-helpers
2019-10-16 11:12:31 -04:00
Jeremy Apthorp
9055b5cf6d test: simplify node setInterval test (#20594) 2019-10-15 17:10:28 -07:00
Harendra Singh
93788e76e0 docs: add notification examples (#20528)
Refs #20442

Adds the basic notification and notification with custom image examples from electron-api-demos into runnable Fiddle examples.

Gist links to Fiddles (same as code submitted in this PR):
Basic Notification: https://gist.github.com/102945f83f559e7944797175d8fd8af4
Notification with image: https://gist.github.com/2688bf4bfc27ce02f5d74224828eb928

Co-Authored-By: Erick Zhao <erick@hotmail.ca>
2019-10-15 14:06:58 -07:00
Rik Theunis
16d4ace800 docs: add system get version info Fiddle example (#20536) 2019-10-15 11:17:04 -07:00
Milan Burda
5273930f76 refactor: use Map for callbacks in CallbacksRegistry (#20565) 2019-10-15 09:14:41 -07:00
Electron Bot
dceabf231b Bump v8.0.0-nightly.20191015 2019-10-15 08:31:28 -07:00
Cheng Zhao
1ecfcc8c70 chore: remove native_mate (Part 7) (#20561)
* refactor: use gin converters in api::Protocol

* refactor: convert JS constructor impl to gin

* refactor: use InitWithArgs helper

* fix: gin_helper::Dictionary should behave the same with mate

* fix cpplint warnings

* refactor: no more need to patch gin/dictionary.h
2019-10-15 10:15:23 +09:00
Electron Bot
6c6bff81ac chore: bump node to v12.10.0 (master) (#20129)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2019-10-14 15:46:10 -07:00
Jeremy Apthorp
8dad0c7aaa test: move crashReporter specs to the main process (#20417) 2019-10-14 14:38:54 -07:00
Milan Burda
eb100cdf9e test: skip desktopCapturer / remote module tests when the features are disabled (#20566) 2019-10-14 13:49:21 -07:00
Alexey Kuzmin
b085dac15b spec: allow "Yu Gothic" as a Japanese sans-serif font on Windows (#20564) 2019-10-14 14:30:18 -04:00
Erick Zhao
a7e26fdc61 docs: Update Issue Closure in CONTRIBUTING.md (#20545) 2019-10-14 09:40:01 -07:00
Jeremy Apthorp
d67f25ce43 test: expand window.opener test and move to main process (#20549) 2019-10-14 09:00:34 -07:00
Electron Bot
dfac05805d Bump v8.0.0-nightly.20191014 2019-10-14 08:30:58 -07:00
Jeremy Apthorp
6025ae7b12 fix: generate breakpad symbols before stripping (#20530)
* fix: generate breakpad symbols before stripping

* store symbols as circleci artifacts
2019-10-14 10:58:05 -04:00
Kerollos Magdy
8efa45d12d docs: fix minor grammar mistakes (#20521) 2019-10-14 14:35:52 +09:00
Jeremy Apthorp
1f44f47de1 test: move debugger spec to main process (#20514) 2019-10-14 14:32:11 +09:00
Robo
5c2c30142c fix: append network switches to network service process (#20546) 2019-10-13 18:21:41 -07:00
Electron Bot
5bd7b6ad50 Bump v8.0.0-nightly.20191013 2019-10-13 08:31:09 -07:00
Electron Bot
2cf64d0200 Bump v8.0.0-nightly.20191012 2019-10-12 08:32:39 -07:00
Jeremy Apthorp
2aa7ab821c test: remove some remote usage from chromium specs (#20121)
* test: remove remote usage from chromium specs

* disable tts test

* port navigator.mediaDevices tests

* fake camera and microphone

* Update spec-main/chromium-spec.ts

Co-Authored-By: John Kleinschmidt <jkleinsc@github.com>
2019-10-11 13:55:50 -07:00
Cheng Zhao
1b2c6a33b3 fix: do not manually parse content-type (#20538) 2019-10-11 14:54:50 -04:00
Jeremy Apthorp
67642312f4 test: remove remote usage from webFrame test (#20512) 2019-10-11 10:20:08 -07:00
Jeremy Apthorp
032353b14f test: remove remote usage from asar spec (#20513) 2019-10-11 09:56:51 -07:00
Electron Bot
d21519ed2e Bump v8.0.0-nightly.20191011 2019-10-11 08:31:51 -07:00
Jeremy Apthorp
50178d4836 test: remove more unused files (#20529) 2019-10-10 15:20:04 -07:00
Jeremy Apthorp
5d696c5c69 fix: return type of webview.printToPDF is now Uint8Array (#20505) 2019-10-10 11:25:11 -07:00
Jeremy Apthorp
01448e1235 chore: delete some unreferenced test files (#20511) 2019-10-10 11:24:06 -07:00
Shelley Vohr
812de5d3bf fix: properly register custom url evt handling (#20518) 2019-10-10 08:54:03 -07:00
Electron Bot
ec2c1db0e4 Bump v8.0.0-nightly.20191010 2019-10-10 08:31:27 -07:00
Milan Burda
b92163d226 refactor: take advantage of structured clone algorithm in the remote module (#20427) 2019-10-10 09:59:08 -04:00
Erick Zhao
c2e77e4429 docs: add Asynchronous Messages Fiddle example (#20441)
* docs: add Asynchronous Messages Fiddle example

* Update docs/fiddles/communication/two-processes/asynchronous-messages/main.js

Co-Authored-By: John Kleinschmidt <jkleinsc@github.com>

* Update docs/fiddles/communication/two-processes/asynchronous-messages/index.html

Co-Authored-By: John Kleinschmidt <jkleinsc@github.com>
2019-10-10 09:49:07 -04:00
Rik Theunis
ec87917f58 docs: add clipboard Fiddle examples (#20445)
* docs: add clipboard paste Fiddle example

* docs: add clipboard copy Fiddle example

* docs: add appropriate title to Fiddles

Co-Authored-By: John Kleinschmidt <jkleinsc@github.com>
2019-10-10 09:48:33 -04:00
Yaser
d1c5c760d0 docs: add Menu Shortcuts Fiddle example (#20466) 2019-10-10 09:47:50 -04:00
Yaser
9b4ba7993c docs: Adds Customize Menu section Fiddle example (#20468) 2019-10-10 09:47:34 -04:00
Jeremy Apthorp
1dc1ef6091 test: ensure cleanup of net requests in tests (#20510)
ref #19389
2019-10-10 14:14:41 +02:00
Jeremy Apthorp
8de925c4c2 test: move module tests to main process (#20419) 2019-10-09 16:33:15 -07:00
Jeremy Apthorp
df1d3156a0 docs: remove outdated document about updating chromium (#20490) 2019-10-09 16:07:15 -07:00
Jeremy Apthorp
c75c3ef616 docs: add a dev doc describing the patch system (#20489) 2019-10-09 14:48:09 -07:00
Milan Burda
bb2ab01f99 fix: when building with enable_plugins=false (#20354)
* fix: when building with enable_plugins=false

* build: exclude printing service to avoid patch

* build: update plugins patch from upstream
2019-10-09 19:59:37 +02:00
Jeremy Apthorp
2fad53e66b refactor: use v8 serialization for ipc (#20214)
* refactor: use v8 serialization for ipc

* cloning process.env doesn't work

* serialize host objects by enumerating key/values

* new serialization can handle NaN, Infinity, and undefined correctly

* can't allocate v8 objects during GC

* backport microtasks fix

* fix compile

* fix node_stream_loader reentrancy

* update subframe spec to expect undefined instead of null

* write undefined instead of crashing when serializing host objects

* fix webview spec

* fix download spec

* buffers are transformed into uint8arrays

* can't serialize promises

* fix chrome.i18n.getMessage

* fix devtools tests

* fix zoom test

* fix debug build

* fix lint

* update ipcRenderer tests

* fix printToPDF test

* update patch

* remove accidentally re-added remote-side spec

* wip

* don't attempt to serialize host objects

* jump through different hoops to set options.webContents sometimes

* whoops

* fix lint

* clean up error-handling logic

* fix memory leak

* fix lint

* convert host objects using old base::Value serialization

* fix lint more

* fall back to base::Value-based serialization

* remove commented-out code

* add docs to breaking-changes.md

* Update breaking-changes.md

* update ipcRenderer and WebContents docs

* lint

* use named values for format tag

* save a memcpy for ~30% speedup

* get rid of calls to ShallowClone

* extra debugging for paranoia

* d'oh, use the correct named tags

* apparently msstl doesn't like this DCHECK

* funny story about that DCHECK

* disable remote-related functions when enable_remote_module = false

* nits

* use EnableIf to disable remote methods in mojom

* fix include

* review comments
2019-10-09 13:59:08 -04:00
Electron Bot
c250cd6e7c Bump v8.0.0-nightly.20191009 2019-10-09 08:33:39 -07:00
Shelley Vohr
f80a17c5be feat: allow Linux/Windows users to set notification timeout (#20153)
* feat: allow Linux users to set notification timeout

* implement on windows
2019-10-09 11:22:21 -04:00
Cheng Zhao
5e11be6898 fix: cookies.get should be able to filter domain (#20471)
* fix: use GetAllCookies when url is empty

* test: get cookie without url
2019-10-09 15:57:40 +09:00
Jeremy Apthorp
ebd55c1147 fix: fix crash in crashReporter.getUploadedReports (#20428) 2019-10-08 16:35:28 -07:00
Richard Townsend
2ce90f8806 docs: add WoA cross-compilation instructions (#20244)
* docs: add WoA cross-compilation instructions

* docs: fixing lint issues

* docs: minor corrections

* style: Ssubstitute -> Substitute
2019-10-08 14:54:03 -07:00
Felix Rieseberg
b3e7657159 docs: Update the sccache name (#20462) 2019-10-08 17:46:01 -04:00
John Kleinschmidt
23066f8cce ci: verify CircleCI job number before returning job url (#20483) 2019-10-08 17:45:07 -04:00
Jaime Bernardo
de3c1fae7f build: fix build with Visual Studio 2019 (#20465) 2019-10-08 12:49:38 -07:00
Electron Bot
94ec4ecabe Bump v8.0.0-nightly.20191008 2019-10-08 08:32:37 -07:00
Shelley Vohr
c16a186de0 feat: improve TouchBarButton accessibility (#20454) 2019-10-08 11:13:57 -04:00
dependabot[bot]
8da9a3c416 build(deps): bump eslint-utils from 1.3.1 to 1.4.2 (#20481)
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.3.1...v1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-08 11:06:52 -04:00
Shelley Vohr
8d9ba87e05 fix: properly free IsolateData in node_main (#20446) 2019-10-08 09:03:04 +02:00
Robo
c85648a8a1 fix: fs.watch() behavior change in node >= 10.16.0 (#20408)
This reverts the patch from https://github.com/electron/node/pull/100
which never got merged due to reasons outlined in https://github.com/libuv/libuv/pull/2313

* Adds new patches that backports https://github.com/libuv/libuv/pull/2459
  and https://github.com/libuv/libuv/pull/2460

Based on https://github.com/nodejs/node/issues/29460
2019-10-07 13:04:15 -07:00
ryanomor
0c87471c12 Fix typo (#20450) 2019-10-07 12:26:38 -04:00
Electron Bot
f3cf2566c1 Bump v8.0.0-nightly.20191007 2019-10-07 08:32:42 -07:00
Shelley Vohr
9b534e9aab fix: enable worker threads (#20416) 2019-10-07 11:30:10 +02:00
John Kleinschmidt
3f72f07a7f test: remove unneeded console.log (#20424)
(cherry picked from commit 4945a9fce9)
2019-10-06 22:00:38 +02:00
Electron Bot
e26fa9090d Bump v8.0.0-nightly.20191006 2019-10-06 08:33:20 -07:00
Stian Jørgensrud
39d19d23d1 Add unsafe-inline (#20414)
Versions didn't show and I was getting errors in the Developer Tools: `Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'"`. The cause is probably that Chrome has implemented extra security since this tutorial was created. Added 'unsafe-inline' and it works.
2019-10-06 12:24:24 +02:00
Erick Zhao
0a09f27735 chore: empty folder structure (#20439) 2019-10-05 12:46:01 -05:00
Electron Bot
8dae38639a Bump v8.0.0-nightly.20191005 2019-10-05 08:31:32 -07:00
Jeremy Apthorp
87bd0501c4 test: remove 'remote' usage from process tests (#20418) 2019-10-04 13:58:44 -07:00
Milan Burda
ccff140046 feat: add --enable-api-filtering-logging commandline switch (#20335) 2019-10-04 10:49:09 -07:00
Electron Bot
e1eb9519f5 Bump v8.0.0-nightly.20191004 2019-10-04 08:31:45 -07:00
John Kleinschmidt
ad34d7fc32 Revert "test: remove unneeded console.log"
This reverts commit 4945a9fce9.
2019-10-04 11:17:58 -04:00
John Kleinschmidt
4945a9fce9 test: remove unneeded console.log 2019-10-04 11:05:49 -04:00
Andrew MacDonald
7f320eef0e docs: Minor fixes to build instructions (#20338)
* Minor fixes to build instructions

* Direct folks to the unit testing page.
2019-10-04 10:11:51 -04:00
Shelley Vohr
513c8536c0 refactor: implement sublabel fns in MenuModel (#20150) 2019-10-04 08:58:54 +02:00
Shelley Vohr
82ff142f9c chore: remove unused l10n_util includes (#20412) 2019-10-04 09:31:38 +09:00
Cheng Zhao
509587eb81 test: close window before destroying browserView (#20411) 2019-10-04 09:30:44 +09:00
Shelley Vohr
80af35e0cd chore: enable native unittesting (#20293) 2019-10-03 22:21:30 +02:00
Shelley Vohr
f054d5862c chore: remove upstreamed node_crypto CHECK patch (#20406) 2019-10-03 21:11:04 +02:00
Electron Bot
8a2ba597bb Bump v8.0.0-nightly.20191003 2019-10-03 08:32:50 -07:00
Shelley Vohr
e543fe702c fix: recentDocuments menu role on macOS (#20398) 2019-10-03 14:25:14 +09:00
Jeremy Apthorp
2470ef2e91 ci: enable crashReporter tests on mac (#19582) 2019-10-02 17:53:51 -07:00
Jeremy Apthorp
fe956f87ec ci: save pdb files for testing builds (#20407) 2019-10-02 14:52:55 -07:00
Electron Bot
1c0a21a8bc Bump v8.0.0-nightly.20191002 2019-10-02 08:32:04 -07:00
Milan Burda
2f03d393c3 feat: allow inspection of specific shared workers (#20389) 2019-10-02 14:38:27 +02:00
CezaryKulakowski
712d77dc8b fix: remove unnecessary patch (#20390)
Patch which this pr removes adds new version of
BrowserCompositorMac::GetCompositor. There is this function in
BrowserCompositorMac with specifier const. Chromium's function
returns parent's compositor if parent is set. Electron's version
doesn't and - as a result - constrained dialogs won't be displayed
correctly if they don't have its own compositor.
2019-10-02 13:59:42 +02:00
Milan Burda
bf978e09e4 fix: allow paths to asar archives to contain the .asar extension in directories (#20342) 2019-10-02 13:33:07 +09:00
Cheng Zhao
4ac4b34ae9 chore: remove native_mate (Part 6) (#20391) 2019-10-02 09:30:55 +09:00
bughit
01ed55ff02 docs: WebContents console-message event is emitted for offscreen windows (#20386)
since c3d11a51cc
2019-10-01 14:32:59 -04:00
Cheng Zhao
ef690c035d fix: correctly crash when there is no crashReporter (#20388)
* fix: correctly crash when there is no crashReporter

* test: correctly crash when there is crashReporter
2019-10-01 13:20:21 -04:00
Electron Bot
969b4d1dd3 Bump v8.0.0-nightly.20191001 2019-10-01 08:31:25 -07:00
Jeremy Apthorp
a9e695d05f test: move more web contents specs (#20099) 2019-09-30 15:00:47 -07:00
Jeremy Apthorp
b7b0992768 refactor: convert some more remote stuff to typescript (#20324) 2019-09-30 15:00:22 -07:00
Birunthan Mohanathas
d3922f95e6 fix: Make the --disable-color-correct-rendering switch work again (#20356)
This broke in Electron 6 due to some Chromium changes.

Test Plan:

- Confirm that test case from
  https://github.com/electron/electron/pull/15898#issuecomment-443191770
  now works

Notes: Fix disabling color correct rendering with `--disable-color-correct-rendering`
2019-09-30 10:46:03 -07:00
Chris Hawkes
9457c796b1 Update application-architecture.md (#20370)
Updated the period to a comma.   Appears to be a number typo.
2019-09-30 13:41:58 -04:00
Electron Bot
37e34395de Bump v8.0.0-nightly.20190930 2019-09-30 08:32:02 -07:00
Electron Bot
4f815d8469 Bump v8.0.0-nightly.20190929 2019-09-29 08:31:20 -07:00
Electron Bot
e099edc2c2 Bump v8.0.0-nightly.20190928 2019-09-28 08:31:51 -07:00
Electron Bot
5e942cea8d Bump v8.0.0-nightly.20190927 2019-09-27 08:33:09 -07:00
Milan Burda
ead8f2bbcd fix: BrowserWindow.fromWebContents() can return null (#19983) 2019-09-27 13:07:55 +02:00
Electron Bot
efe6e7b04d Bump v8.0.0-nightly.20190926 2019-09-26 08:33:14 -07:00
Jeremy Apthorp
cc0312567e chore: update strip-binaries for moved swiftshader.so (#20341) 2019-09-26 10:48:53 -04:00
Jeremy Apthorp
593f1774e9 fix: backport Node nested microtask fix (#20303) 2019-09-25 17:38:50 -04:00
Electron Bot
0653e31767 Revert "Bump v8.0.0-nightly.20190925"
This reverts commit b18fb96ecf.
2019-09-25 08:37:31 -07:00
Electron Bot
b18fb96ecf Bump v8.0.0-nightly.20190925 2019-09-25 08:32:11 -07:00
Daniel Zwelling
26d9ef9403 docs: update selenium docs (#20336) 2019-09-24 13:36:09 -07:00
Samuel Attard
c32bea5ae0 build: run publish jobs in the secure context and enable sccache (#20326) 2019-09-24 13:52:06 -04:00
Mike Pelley
7f0ec3091e Replace workspaceRoot with workspaceFolder. (#20306)
workspaceRoot has been deprecated as per https://code.visualstudio.com/docs/editor/variables-reference#_why-isnt-workspaceroot-documented
2019-09-24 13:49:04 -04:00
Electron Bot
597a8b5ec7 Bump v8.0.0-nightly.20190924 2019-09-24 08:31:12 -07:00
Electron Bot
c25f0a1779 Bump v8.0.0-nightly.20190923 2019-09-23 08:31:45 -07:00
Electron Bot
bac15ef86f Bump v8.0.0-nightly.20190922 2019-09-22 08:32:05 -07:00
Electron Bot
297b81fa1d Bump v8.0.0-nightly.20190921 2019-09-21 08:31:38 -07:00
Electron Bot
913ec1e0d0 chore: bump chromium to 0239d631f03d0111f77b0b98c7765 (master) (#20285) 2019-09-21 10:51:28 -04:00
Milan Burda
d090b0cd2d perf: only access remote module when <webview>.getWebContents() is called (#20272) 2019-09-20 08:54:16 -07:00
Electron Bot
1e0b87732f Bump v8.0.0-nightly.20190920 2019-09-20 08:32:01 -07:00
Jeremy Apthorp
9abdfc11a9 test: remove usage of remote module from node tests (#20103)
* test: remove usage of remote module from node tests

* isTTY is undefined in the renderer process on all platforms

* Update spec/node-spec.js

* Update node-spec.js
2019-09-20 10:41:40 -04:00
Shelley Vohr
ae6f08d56e fix: correct 'Entire screen' to ' Entire Screen' (#20276) 2019-09-20 10:16:47 -04:00
Felix Rieseberg
26014d19e1 docs: Add Notification API to docs (#20290) 2019-09-19 23:30:01 -07:00
Jeremy Apthorp
e83c299454 test: move ipcRenderer spec to main runner (#20093) 2019-09-19 16:35:05 -04:00
Milan Burda
b136819371 refactor: move GetCursorBlinkInterval() to a helper function (#20060) 2019-09-19 11:43:21 -07:00
John Kleinschmidt
c46a386970 ci: Fix build failures on linux nightly release tests (#20287) 2019-09-19 12:37:54 -04:00
John Kleinschmidt
6f2fe7560a ci: actually kill leftover processes on WOA testing (#20286) 2019-09-19 11:35:31 -04:00
Electron Bot
e459114149 Bump v8.0.0-nightly.20190919 2019-09-19 08:31:13 -07:00
Cheng Zhao
624ba4f642 chore: remove native_mate (Part 5) (#20264)
* deprecate native_mate/native_mate/object_template_builder.h

* add gin_helper/object_template_builder.h

* add patch to avoid ambiguous error

* remove usage of object_template_builder_deprecated.h in a few files

* add note we should remove gin_helper/object_template_builder.h in future
2019-09-19 08:09:15 -07:00
Charles Kerr
63f08fcdb0 fix: use coordinate offsets in ShowAutofillPopup (#20232)
* fix: use coordinate offsets in ShowAutofillPopup

* fix: silence coord int->float narrowing conversion

Minor fix to silence clang-tidy warning about implicit range narrowing.
Not a huge deal but the revision is also easier to read.

clang-tidy: bugprone-narrowing-conversions
2019-09-19 08:05:57 -07:00
Gellert Hegyi
3f5833ce5d fixes widget host fetching from render view host (#20239) 2019-09-19 05:47:12 -04:00
Shelley Vohr
ffe2182883 feat: set urgency on linux notifications (#20152) 2019-09-18 22:35:20 -07:00
Shelley Vohr
e510af77b2 docs: improve and add examples for clipboard (#20224)
* docs: improve and add examples for clipboard

* address feedback from jkleinsc review
2019-09-18 16:00:43 -07:00
John Kleinschmidt
afc59aefb7 ci: only kill WOA processes if they are running (#20274) 2019-09-18 16:44:48 -04:00
Shelley Vohr
b0fe3e20e6 fix: reset capturers at the very end (#20270) 2019-09-18 16:20:41 -04:00
Electron Bot
eb2d2264d0 chore: bump chromium to 63be48daea281d4f8c834c2e707a7 (master) (#19923) 2019-09-18 15:58:00 -04:00
John Kleinschmidt
104088b86b ci: Fix triggering CircleCI release builds (#20275)
* ci: fix circleCI handling of booleans

* Explicitly specify 2.1
2019-09-18 15:53:54 -04:00
Milan Burda
11cd0db86b build: add enable_remote_module build flag (#19821) 2019-09-18 09:52:06 -07:00
Electron Bot
8bf74164e2 Bump v8.0.0-nightly.20190918 2019-09-18 08:31:27 -07:00
John Kleinschmidt
eaa18041e1 ci: use CircleCI 2.1 config and v2 APIs (#20245)
* ci: use circleci 2.1

* Check for pipeline status and add comments
2019-09-17 14:48:02 -04:00
loc
d2a94e6b13 fix: free screen and window capturers immediately after we're finished with them (#20156)
fix #17937, #19908
2019-09-17 09:48:31 -07:00
John Kleinschmidt
42999f42f2 build: add WOA node headers to checksum file (#20255) 2019-09-17 12:38:36 -04:00
Electron Bot
dfd2135647 Bump v8.0.0-nightly.20190917 2019-09-17 08:32:25 -07:00
Tony Stark
7c45c2fdef fix: strip chrome-sandbox typo (#20227) 2019-09-17 10:51:25 -04:00
Erick Zhao
2cac40444b docs: clarify VS installation instructions for Windows builds (#20236)
* docs: note required step for VS in Windows build

* docs: add instructions for custom VS location

* lint?

* link chromium docs
2019-09-17 10:23:56 -04:00
Samuel Attard
f566e562a3 build: remove .only 2019-09-16 16:08:41 -07:00
Samuel Attard
0e61709fa7 fix: emit updated on NativeTheme on the UI thread to avoid DCHECK (#20137)
* fix: emit updated on NativeTheme on the UI thread to avoid DCHECK

* Update atom_api_native_theme.cc

* spec: wait a few ticks for async events to emit so that test events do not leak into each other
2019-09-16 16:08:01 -07:00
Charles Kerr
2b316f3843 refactor: run clang-tidy (#20231)
* refactor: clang-tidy modernize-use-nullptr

* refactor: clang-tidy modernize-use-equals-default

* refactor: clang-tidy modernize-make-unique

* refactor: omit nullptr arg from unique_ptr.reset()

As per comment by @miniak
2019-09-16 18:12:00 -04:00
Samuel Attard
660e566201 fix: don't expose nativeTheme in the renderer process (#20139)
Exposing these in the renderer didn't make sense as they weren't backed
by the same instance / value store.  This API should be browser only
especially now that we have nativeTheme.themeSource.  Exposing in
//common was a mistake from the beginning.
2019-09-16 14:23:13 -07:00
Samuel Attard
999f7df158 build: speed up linux CI even more (#20241)
* build: yolo a theoretical speed improvement

* chore: persist src/electron and friends for testing purposes

* build: do not generate dist.zip on debug builds

* chore: ensure licenses and version file exist for zip-symbols script
2019-09-16 09:31:08 -07:00
Electron Bot
816bc5c8a7 Bump v8.0.0-nightly.20190915 2019-09-15 08:31:55 -07:00
Electron Bot
99f1b96c4f Bump v8.0.0-nightly.20190914 2019-09-14 08:31:07 -07:00
Felix Rieseberg
334ea36f38 docs: Add recent Electron version to security checklist (#20206)
* docs: Add recent Electron version to security checklist

* Update docs/tutorial/security.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/tutorial/security.md

Co-Authored-By: Pedro Pontes <pepontes@microsoft.com>

* Update docs/tutorial/security.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
2019-09-13 21:12:14 -04:00
Electron Bot
c485c1e4b0 Bump v8.0.0-nightly.20190913 2019-09-13 08:31:01 -07:00
Charles Kerr
b2652beceb refactor: apply some 'clang-tidy -fix' changes (#20172)
* refactor: fix clang-tidy vector operation warnings

Fix vector population performance-inefficient-vector-operation warnings
generated by clang-tidy

* refactor: fix clang-tidy emplace_back warnings

In cases where a temporary is created to be passed
to push_back(), replace it with emplace_back().

Warning: modernize-use-emplace

* refactor: fix clang-tidy loop iteration warnings

When practical, use range-based for loops instead of C-style for loops.

clang-tiny check: modernize-loop-convert

* refactor: fix clang-tidy string initialize warning

Remove redundant empty string initialization.

clang-tidy check: readability-redundant-string-init
2019-09-13 10:26:59 -04:00
Shelley Vohr
3ec17a88ba fix: crash when exiting simple fullscreen on macOS (#20144) 2019-09-12 13:38:16 -04:00
Electron Bot
5dee8a5717 Bump v8.0.0-nightly.20190912 2019-09-12 08:32:04 -07:00
Electron Bot
ace0284eef Bump v8.0.0-nightly.20190911 2019-09-11 08:31:12 -07:00
John Kleinschmidt
5ccc043d86 build: handle arm64 node headers (#20192)
* build: handle arm64 node headers

(cherry picked from commit ff1f224d96)

* node.lib for arm64 needs to go to specific dir
2019-09-10 14:14:58 -07:00
John Kleinschmidt
fd31a99ef0 Revert "build: handle arm64 node headers"
This reverts commit ff1f224d96.
2019-09-10 15:18:55 -04:00
John Kleinschmidt
ff1f224d96 build: handle arm64 node headers 2019-09-10 15:15:20 -04:00
Electron Bot
0b26d7a0e2 Bump v8.0.0-nightly.20190910 2019-09-10 08:31:47 -07:00
Electron Bot
5f59c6ddfe Bump v8.0.0-nightly.20190909 2019-09-09 08:32:20 -07:00
Shelley Vohr
a9f2a52ce0 build: specific line with trailing whitespace (#20155) 2019-09-09 06:15:24 -07:00
Electron Bot
d84e2e3972 Bump v8.0.0-nightly.20190908 2019-09-08 08:31:31 -07:00
Cheng Zhao
49bd74ff0e chore: remove native_mate (Part 4) (#20146)
* avoid patching gin::Dictionary by using our wrapper

* remove SetHidden from mate::Dictionary
2019-09-09 00:10:18 +09:00
Samuel Attard
d395799917 build: get all the release assets when looking for one to delete (#20157)
* build: get all the release assets when looking for one to delete

yeah we totally have more than 30....

* Update upload-to-github.js
2019-09-07 14:48:35 -07:00
Electron Bot
6e9a23a884 Bump v8.0.0-nightly.20190907 2019-09-07 08:33:10 -07:00
Electron Bot
0979fb7eee Bump v8.0.0-nightly.20190906 2019-09-06 13:07:01 -07:00
Samuel Attard
9ab06af786 Revert "Bump v8.0.0-nightly.20190906"
This reverts commit 432ae81823.
2019-09-06 13:05:43 -07:00
Shelley Vohr
6087f89aac refactor: use base::StringPiece over std::string (#20119) 2019-09-06 09:05:12 -07:00
Electron Bot
432ae81823 Bump v8.0.0-nightly.20190906 2019-09-06 08:31:28 -07:00
Cheng Zhao
2c23e44ed9 chore: remove native_mate (Part 3) (#20131)
* use gin converter in atom_api_menu

* please only put necessary includes in header

Having include in header means they have dependency relationship,
putting arbitrary includes really really really really really makes
refacoring much harder.

* remove some simple uses of callback_converter_deprecated.h

* use gin callback converter in file_dialog code

* use gin in ErrorThrower

* use gin in atom_bundle_mover

* fix mistake in node stream

* deprecate native_mate version of event_emitter_caller

* use gin in node_bindings

* remove usages of native_mate event_emitter_caller.h except for EventEmitter

* fix compilation on Windows

* gin::Arguments behaves differently on GetNext

* just use StringToV8
2019-09-06 14:52:54 +09:00
John Kleinschmidt
7be1905023 fix: resolve crash loading file based serviceworkers (#20132) 2019-09-06 10:01:22 +09:00
Shelley Vohr
20e3c519dd fix: ensure popup and closepopup are posted in order (#20114) 2019-09-05 16:37:09 -04:00
Charles Kerr
8a0a41b9ef docs: fix BrowserWindow options.hasShadow platform (#20038)
The docs claimed this is only available on macOS; however, Linux and Win
got this feature in 239bfe970c
2019-09-05 16:04:07 -04:00
Steven Barbaro
93da8e2b3d fix: Debug builds on Windows. (#20117) 2019-09-05 12:38:56 -07:00
John Kleinschmidt
196fceabdb build: don't wait until job requests return in case some jobs fail to return (#20133) 2019-09-05 13:57:47 -04:00
Samuel Attard
0d16be9560 feat: add nativeTheme.themeSource to allow apps to override Chromiums theme choice (#19960)
* feat: add nativeTheme.shouldUseDarkColorsOverride to allow apps to override Chromiums theme choice

* spec: add tests for shouldUseDarkColorsOverride

* chore: add missing forward declarations

* refactor: rename overrideShouldUseDarkColors to themeSource

* chore: only run appLevelAppearance specs on Mojave and up

* chore: update patch with more info and no define

* Update spec-main/api-native-theme-spec.ts

Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>

* Update api-native-theme-spec.ts

* Update api-native-theme-spec.ts

* Update api-native-theme-spec.ts
2019-09-05 10:57:04 -07:00
Samuel Attard
137622931b fix: ensure document.visibilityState aligns with the visibility of the TopLevelWindow (#19988)
* fix: ensure document.visibilityState aligns with the visibility of the
TopLevelWindow

* chore: disable the specs on linux on CI
2019-09-05 10:56:06 -07:00
Electron Bot
cd096289e9 Bump v8.0.0-nightly.20190905 2019-09-05 08:37:04 -07:00
Jeremy Apthorp
88e32ef231 test: move robotjs-based devtools paste test to main runner (#20095) 2019-09-04 14:44:13 -07:00
Cem Schemel
bff16e027a docs: Improve wording of setBrowserView and getBrowserView (#20065)
* Improve wording of setBrowserView and getBrowserView

* Update wording based on feedback
2019-09-04 14:19:49 -07:00
Jeremy Apthorp
a453f2ae6c test: fix test for desktopCapturer preventDefault (#20100) 2019-09-04 13:54:40 -07:00
Samuel Attard
8b523cf88a fix: ensure modeL_ exists before calling delegate methods (#20111)
This is a speculative fix for a crash we are seeing in `menuDidClose`.  We
can't repro the crash but the traces have it happening in this method
and just by reading through the impl the only part that jumps out as
Might Crash is this `model_` call.  Other methods in the menu controller
check `model_` before using it so it probably makes sense to do that here
as well.
2019-09-04 13:42:23 -07:00
John Kleinschmidt
65ebb6e547 build: add WOA release to list of releases (#20094)
* build: add WOA release to list of releases

* Add job count info for sudowoodo

* Add verification of all assets

* Fix linting and add logic to wait before printing out results
2019-09-04 14:24:46 -04:00
Jeremy Apthorp
c29e4b096d test: tsify deprecate spec (#20089) 2019-09-04 11:13:37 -07:00
Jeremy Apthorp
8cdfd30ba5 test: remove usage of remote in shell.openExternal test (#20101) 2019-09-04 11:12:31 -07:00
Cheng Zhao
81ae154714 chore: remove native_mate (Part 2) (#20106)
* add notice to files being removed

* add gin version of function_template.h

* rename callback.h to avoid confliction

* add gin version of callback_converter

* add gin converter for OnceCallback

* remove callback_converter_gin_adapter.h

* remove gin_util.h and gin_utils.h

* fix lint warning

* add helper for setting methods
2019-09-04 08:45:25 -07:00
Electron Bot
504cdb13f0 Bump v8.0.0-nightly.20190904 2019-09-04 08:32:24 -07:00
Cheng Zhao
b601f3a031 chore: remove native_mate (Part 1) (#20085)
* move Destroyable utilities out of native_mate

* do not set "destroy" in ObjectTemplateBuilder

* remove ObjectTemplateBuilder::MakeDestroyable

* do not pollute gin namespace

* add more comments

* remove hack of Arguments
2019-09-04 11:14:16 +09:00
Cheng Zhao
96b42bddb8 fix: implement ses.getBlobData() for NetworkService (#20041)
* pass data pipe to JS

* implement reading buffer

* re-enable ses.getBlobData test

* remove AtomBlobReader
2019-09-04 07:54:14 +09:00
Samuel Attard
cc9436f288 chore: add SetGTKDarkThemeEnabled(enabled) internal helper to allow dynamic theme selection on linux (#19964)
This is just a after-creation setter for the `darkTheme` constructor option.  This is delibrately
a method and not a property as there is no getter.
2019-09-03 12:59:48 -07:00
John Kleinschmidt
bedc5f7da9 ci: run tests on WOA hardware (#20031)
* ci: run tests on WOA hardware

* Temporarily disable test until #20008 is resolved

* deterministically run tests in sorted order
2019-09-03 13:13:06 -04:00
Jeremy Apthorp
96c3fec855 test: remove usage of 'remote' module from webview spec (#20048) 2019-09-03 10:10:58 -07:00
Jeremy Apthorp
cad73732c0 test: move chrome extensions spec to main runner (#20030) 2019-09-03 10:10:33 -07:00
Electron Bot
39475f9404 Bump v8.0.0-nightly.20190903 2019-09-03 08:32:24 -07:00
Jeremy Apthorp
8589ab27a4 fix: strip chrome_sandbox executable (#20049) 2019-09-03 16:17:18 +09:00
Jeremy Apthorp
f537366387 test: move security warnings spec to main runner (#20055) 2019-09-03 16:02:22 +09:00
Jeremy Apthorp
d7161742d2 test: move content-script tests to main runner (#20056) 2019-09-03 16:01:42 +09:00
Jeremy Apthorp
6e88b6b445 test: move desktopCapturer spec to main runner (#20057) 2019-09-03 15:59:54 +09:00
Electron Bot
614079654c Bump v8.0.0-nightly.20190902 2019-09-02 08:34:32 -07:00
Electron Bot
51015c5b48 Bump v8.0.0-nightly.20190901 2019-09-01 08:31:00 -07:00
Samuel Attard
c621a36320 fix: ensure that the "top" coordinate of the inner frame is correct (#20051)
On multi-monitor setups where the monitors are not all origined at 0 on
the Y coordinate (E.g. vertical stacked monitors) the maximize
calculation was incorrect as it assumed top was "0".  This instead
adjusts the math to calculate the correct top value.
2019-08-30 15:45:59 -07:00
ipoint-pgerhard
e37ad09330 docs: Update boilerplates-and-clis.md (#19975)
Updated boilerplates-and-clis.md in order to more accuratly represent the current availability of templates in electron forge
2019-08-30 15:40:37 -05:00
Shelley Vohr
bfe256891c build: add gn-check to precommit linting (#19850) 2019-08-30 10:37:02 -07:00
Dave Jeffery
0f5ff1f5bb docs: clarify app.setName() effects (#19893)
* Document that `app.setName()` has no effect in Mac environments

* docs: add note to clarify `app.setName()` functionality

* Update app.md
2019-08-30 10:30:38 -07:00
Electron Bot
e96a042223 Bump v8.0.0-nightly.20190830 2019-08-30 08:32:04 -07:00
Shelley Vohr
5cbbd489d5 fix: honor cursor blink rate (#20020)
* fix: honor cursor blink rate on macOS

* fix: honor cursor blink rate on Linux

* fix: honor cursor blink rate on Windows

* refactor: clean up os_win cursor blink logic

* remove unneeded include
2019-08-30 09:39:46 -05:00
Jeremy Apthorp
805a55099b test: tsify more web contents specs (#19969)
* test: tsify more WebContents specs

* getFocusedWebContents

* setDevToolsWebContents, isFocused, isCurrentlyAudible

* getWebPreferences, openDevTools

* before-input-event

* zoom-changed

* sendInputEvent

* insertCSS

* startDrag

* focus, getOSProcessId

* zoom api

* more closeAllWindows

* fix detached dev tools test

* fix zoom-changed test

* compare the correct kind of id 🤦‍♂️

* 'fix' openDevTools test to wait for multiple focus events

* fix tests? 🤞

* use request instead of blur to detect openExternal success

* try not timing out the keychain for testing

* use blur event on mac, sigh

* oh, right, still gotta open an actual url
2019-08-29 19:45:41 -05:00
Samuel Attard
654338693f fix: Revert "fix: make sure that menu bar gets focus even when you click an item to focus it first (#19710)" (#20019)
This reverts commit 27b2747b61.
2019-08-29 15:06:39 -07:00
Shelley Vohr
a9e3dabc8a build: accidentally inverted a bool (#20029) 2019-08-29 11:11:10 -07:00
Jeremy Apthorp
609403fba6 test: tsify affinity spec (#19961) 2019-08-29 09:59:27 -07:00
Electron Bot
6b55584923 Bump v8.0.0-nightly.20190829 2019-08-29 08:31:27 -07:00
Shelley Vohr
81e6f317c9 chore: improve smoke test for tray (#19991) 2019-08-29 08:07:02 -07:00
Shelley Vohr
7d4e0ad7b0 build: simplify unicode console output (#20017) 2019-08-29 10:46:54 -04:00
Tomáš Hübelbauer
35ebbb5f6e docs: add a CSP meta tag to make the tutorial compliant with the security checklist (#19819)
I've asked #19775 because I was frustrated with how hard it was to find a way to fix (instead of hide) the CSP warning in Electron and I complained that even the official quick start guide wasn't compliant with the security checklist at https://electronjs.org/docs/tutorial/security. Someone helped me out with a CSP meta tag which I have later noticed is indeed mentioned in the checklist, too: https://electronjs.org/docs/tutorial/security#csp-meta-tag. I have not used the checklist one verbatim because it prevents a `script` tag from working when serving `index.html` through the `file:` protocol as the quick start does. I instead used the one the person in my issue recommended which seems to work well to me. I am not that well versed in CSP so there might be a better policy to include with the quick start, but this is what I've got for now.
2019-08-29 17:06:51 +09:00
Jeremy Apthorp
c819fbe852 test: move WebContentsView spec (#19990) 2019-08-29 16:17:44 +09:00
Alexey Kuzmin
c03288f458 chore: add missing includes (#20003) 2019-08-29 15:57:11 +09:00
Jeremy Apthorp
90d62e5b98 fix: nws13n: make ses.setUserAgent work (#20014)
* refactor tests to better control window creation

* fix: nws13n: make ses.setUserAgent work
2019-08-29 15:50:14 +09:00
Cheng Zhao
b3947d6a83 chore: cache URLLoaderFactory per-session (#19998)
* cache the URLLoaderFactory in AtomBrowserContext

* use cached loader factory in AtomURLLoaderFactory
2019-08-29 15:07:46 +09:00
Milan Burda
eed72c35d7 feat: add session.downloadURL() (#19889) 2019-08-28 20:27:20 -07:00
Jeremy Apthorp
79e936aea8 test: fix clearAuthCache test (#20015) 2019-08-28 17:43:12 -07:00
Milan Burda
01fdb80f7c refactor: implement isRemoteModuleEnabled via getLastWebPreferences() (#19220) 2019-08-28 15:57:03 -07:00
Shelley Vohr
04debd5890 build: add test runner parameter checks (#19994) 2019-08-28 15:19:52 -07:00
Jeremy Apthorp
af138dab55 test: move webRequest spec to main runner (#19992) 2019-08-28 13:56:15 -07:00
Jeremy Apthorp
f212ed85dd test: tsify sub-frames spec (#19965) 2019-08-28 13:55:01 -07:00
Jeremy Apthorp
99de0975c3 test: tsify powerMonitor spec (#19963) 2019-08-28 13:54:50 -07:00
Jeremy Apthorp
41d8247ffc test: tsify internal-spec (#19962) 2019-08-28 13:54:42 -07:00
Charles Kerr
217ed9aabc fix: gtk_init() called 2x in AtomBrowserMainParts (#19986)
Fixes #19984.
2019-08-28 12:36:03 -05:00
Shelley Vohr
538c4763cf chore: remove unused config files (#19997) 2019-08-28 09:18:49 -07:00
Electron Bot
3bc5302d78 Bump v8.0.0-nightly.20190828 2019-08-28 08:31:11 -07:00
Charles Kerr
987300c97a refactor: omit redundant map searches (#19929)
* refactor: don't walk maps twice to remove elements

* refactor: don't walk maps twice to read elements

* refactor: don't walk maps twice to insert elements

* refactor: don't walk map 3x on UvTaskRunner timeout

* refactor: more don't-walk-maps-twice cleanup

* fixup! refactor: don't walk maps twice to insert elements

* refactor: don't walk containers twice when erasing

* refactor: omit excess lookups in RemoteObjectFreer
2019-08-28 09:39:21 -05:00
Heilig Benedek
27ce6a9cd3 fix: handle WM_GETMINMAXINFO instead of letting chromium do it (#19928)
* fix: remove WM_GETMINMAXINFO workaround since it's no longer needed

* fix: handle WM_GETMINMAXINFO ourselves

* fix: remove part of the chromium WM_GETMINMAXINFO handler
2019-08-28 09:34:34 +09:00
Jeremy Apthorp
832c926712 fix: allow unsandboxed renderers to request new privileges (#19953)
* fix: allow unsandboxed renderers to request new privileges

* add test
2019-08-27 18:35:46 -04:00
Marat Abdullin
ae9424d93a feat: add "accessibleTitle" property to a BrowserWindow instance (#19698)
Sometimes it's necessary to convey more information about the window to screen reader users only (simply putting everything to the window title might be unnecessarily noisy).

For example, Chromium uses that technique to tell screen reader users that the window is in incognito mode (the incognito window looks differently and doesn't have «incognito» in the title, but for blind users the screen reader will announce that it's incognito).
2019-08-28 00:35:34 +02:00
Jeremy Apthorp
1dcda7b809 chore: DCHECK for correct thread in EventEmitter::EmitWithSender (#19959) 2019-08-27 15:15:52 -07:00
Jeremy Apthorp
bdc84d0bfb test: tsify session spec (#19604) 2019-08-27 14:55:19 -07:00
Jeremy Apthorp
4b8e1588b4 fix: remove unused header from extensions-only file (#19947) 2019-08-27 10:59:22 -07:00
Cheng Zhao
4eee71ffbf feat: migrate webRequest module to NetworkService (Part 9) (#19976)
* no need to get WebContents for URLLoaderFactory

* consult embedder for network_factory created in net module

* set disable_web_security to false

* re-enable webRequest tests in net module
2019-08-27 09:12:33 -07:00
Electron Bot
bdb20d53cb Bump v8.0.0-nightly.20190827 2019-08-27 08:31:13 -07:00
Charles Kerr
7e61cd0dfb fix: i18n of gtk msgbox buttons (#19904)
* fix: i18n of gtk msgbox buttons

similar to #19756 (12df0e8) but for messageboxes

* refactor: DRY the gtk+ button mnemonics

* fix: don't compile gtk_util on non-Linux platforms

rename from `gtk_util.[cc,h]` to `util_gtk.[cc,h]` so that it gets
picked up by the `extra_source_filters` rule in `BUILD.gn`.

* fix: make linter happy

It really shows that I cannot build locally atm... :P
2019-08-27 09:57:12 -05:00
Electron Bot
2542c51c48 chore: bump node in DEPS to v12.9.1 (#19980) 2019-08-27 07:51:28 -07:00
Jeremy Apthorp
92c3a4e4c2 test: tsify spec for experimental views api (#19966) 2019-08-27 16:37:30 +09:00
Samuel Attard
4e809f0048 fix: ensure that reloads retain modified window background colors (#19967) 2019-08-26 23:14:23 -07:00
Heilig Benedek
d04072d1eb fix: don't call SetBounds on restore (#19886) 2019-08-26 14:04:20 -07:00
Kuts Alexey
cddbddc543 feat: HTTP preconnect feature minimal for electronjs (#18671) 2019-08-26 09:47:32 -07:00
Electron Bot
c57db7f163 Bump v8.0.0-nightly.20190826 2019-08-26 08:32:02 -07:00
Milan Burda
94c6b256de refactor: simplify ShowSaveDialog, make consistent with ShowOpenDialog (#19924) 2019-08-26 13:12:09 +02:00
Heilig Benedek
f6c523db13 fix: adjust window size in NCCALCSIZE instead of adding insets (#19883) 2019-08-26 10:03:57 +09:00
Charles Kerr
080fdb3817 fix: command-line scheme switch values' spillover (#19912)
* fix: command-line scheme switch values' spillover

The value of one of the scheme command-line switches
shouldn't spill over into other switches.

Fixes #19911

* chore: make linter happy
2019-08-26 09:40:44 +09:00
Milan Burda
181f663cf1 refactor: use C++11 member initializers in native_mate (#19925) 2019-08-26 09:16:28 +09:00
Electron Bot
1eda92859f Bump v8.0.0-nightly.20190825 2019-08-25 08:31:03 -07:00
Electron Bot
f54bc1cb2e Bump v8.0.0-nightly.20190824 2019-08-24 08:31:28 -07:00
Electron Bot
b7d25ccb77 chore: bump chromium to 62327c655093c821aa0fcfc6db53f5fd943e08c7 (master) (#19792)
* chore: bump chromium in DEPS to f3bf493731e868e1f5f48e7e1adc02ea5eccfbbd

* chore: bump chromium in DEPS to 4db0c87d4aa6f27ffa0b5fc77d20e10047962484

* chore: bump chromium in DEPS to d933a504c264dc8fe85267f47aef3588531875b5

* chore: bump chromium in DEPS to 34afdb68980f581ae911b85b727bc17e126cf5f9

* update disable-redraw-lock.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1600387

* update desktop_media_list.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1729156

* update notification_provenance.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1742779

* update printing.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1646772

* update verbose_generate_bpad_syms.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1745986

* update patch metadata

* remove printing_compositor manifests

https://chromium-review.googlesource.com/c/chromium/src/+/1742734

* update for URLLoaderFactoryType enum

https://chromium-review.googlesource.com/c/chromium/src/+/1754716

* remove gin string16 converter

https://chromium-review.googlesource.com/c/chromium/src/+/1750093

* ClearCompositorFrame() has been removed

https://chromium-review.googlesource.com/c/chromium/src/+/1746301

* message_loop -> message_loop_current

https://chromium-review.googlesource.com/c/chromium/src/+/1738552

* include resource_response header

* pdf compositor no longer uses service manager

https://chromium-review.googlesource.com/c/chromium/src/+/1742734

* chore: bump chromium in DEPS to 00d5933101d8d8dc9546eadbe7ee1b41077e6db1

* pane focus fns aren't pure virtual anymore

https://chromium-review.googlesource.com/c/chromium/src/+/1708767

* fix: make std::hash value-non-const

broken by https://chromium-review.googlesource.com/c/chromium/src/+/1711202

* update swiftshader in zip_manifests

https://swiftshader-review.googlesource.com/c/SwiftShader/+/34911

* address feedback from @deepak1556

* don't enable kLegacyWindowsDWriteFontFallback

https://chromium-review.googlesource.com/c/chromium/src/+/1753006

* chore: bump chromium in DEPS to 84497314005e1968da06804f8fde539d9872310e

* update printing.patch

remove bottom diff owing to https://chromium-review.googlesource.com/c/chromium/src/+/1678182 and update for https://chromium-review.googlesource.com/c/chromium/src/+/1678182

* convert CookieChangeListener to new Mojo types

https://chromium-review.googlesource.com/c/chromium/src/+/1753371

* rename ui::ClipboardType -> ui::ClipboardBuffer

https://chromium-review.googlesource.com/c/chromium/src/+/1758730

* logging::LoggingSettings log_file -> log_file_path

https://chromium-review.googlesource.com/c/chromium/src/+/1699477

* roll DEPS to latest lkgr

* fix: override GetFontLookupTableCacheDir()

When Chromium goes to use its fallback font table creation code paths,
it creates the cache directory it uses by calling
GetFontLookupTableCacheDir() with a path that doesn't exist in Electron.
To ensure that a legitimate file path is created, we need to override it
with Electron's DIR_USER_DATA so it doesn't use chrome::DIR_USER_DATA.

* chore: bump chromium in DEPS to 6758a0879931bc4df630a80a36c82d7855ae3155

* update pthread_fchdir patch

https://chromium-review.googlesource.com/c/chromium/src/+/1759149

* update printing patch

* update cookie usage and fn signatures

https://chromium-review.googlesource.com/c/chromium/src/+/1758437

* chore: bump chromium in DEPS to bdaca97e1cc27fb977e56f30f74cdb906da9527e

* remove fix_make_std_hash_value-non-const.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1762335

* Convert enum to enum class for FocusManager::FocusChangeReason

https://chromium-review.googlesource.com/c/chromium/src/+/1767281

* roll DEPS to latest lkgr

* update dom_storage_limits.patch

https://chromium-review.googlesource.com/c/chromium/src/+/1767556
2019-08-23 18:14:23 -07:00
Shelley Vohr
c89debd19a refactor: use Error util when only throwing errors (#19837) 2019-08-23 15:49:54 -07:00
Charles Kerr
ef6d4a46c2 chore: make apply_all_patches.py work in both python2 and python3 (#19872) 2019-08-23 15:48:27 -07:00
Milan Burda
81e9dab52f refactor: replace ipcRendererUtils.invoke() with ipcRendererInternal.invoke() (#19574) 2019-08-23 15:45:50 -07:00
Shelley Vohr
698120daf0 fix: crash on input file handler dialog (#19897)
* fix: crash on input file handler dialog

* invert cancellation logic
2019-08-23 14:18:30 -07:00
Samuel Attard
c61020e9d3 build: use a lower process count for publish builds with no sccache (#19913) 2019-08-23 14:01:12 -07:00
Electron Bot
6144408f3a Bump v8.0.0-nightly.20190823 2019-08-23 08:31:55 -07:00
Milan Burda
7825d043f2 refactor: unify module-list format and exports/electron (#19697) 2019-08-23 11:18:58 +02:00
Shelley Vohr
c6a8b7f959 docs: clarify dock.bounce usage (#19894) 2019-08-23 01:16:18 -07:00
Samuel Attard
6a3922d330 refactor: make util::Promise type safe when chaining in native (#19809)
* refactor: make util::Promise type safe when chaining in native

* fixup! refactor: make util::Promise type safe when chaining in native

* chore: remove spare brackets
2019-08-22 17:03:28 -07:00
loc
f7e3e1f97a fix: mitigate white screen flash after occlusion by disabling compositor recycling (#19873)
* fix: remove white screen flicker by disabling compositor recycling

* chore: disable spec whose flakiness was made obvious by this patch
2019-08-22 15:16:06 -07:00
Cheng Zhao
ab0bf6d238 fix: notify views of content view size change (#19878) 2019-08-22 14:16:56 -07:00
Electron Bot
6667969887 chore: bump node to v12.9.0 (master) (#19863)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2019-08-22 14:12:11 -07:00
Jaime Bernardo
12b00ca942 fix: extern Parse impl for Windows debug builds (#19876)
* fix: extern Parse impl for Windows debug builds

Applies a patch to node.
Externs node::options_parser::Parse implementation for
node::DebugOptions to fix the Windows Debug build.

* fixup: merge extern parse impl patch
2019-08-22 13:16:38 -07:00
Robert Nagy
1f43af5cea feat: add openbsd support in the node module (#19860) 2019-08-22 12:09:15 -07:00
Electron Bot
268094e0ef Bump v8.0.0-nightly.20190822 2019-08-22 08:31:04 -07:00
Heilig Benedek
9ccd6aa0dd feat: enable picture-in-picture mode for video tags (#17686)
* feat: enable picture in picture mode for video tags

* test: add test to verify picture in picture support

* lint: fix indent

* fix: clean up after rebase

* test: update test with 16:9 test video

* fix: .paches after rebase
2019-08-22 19:17:50 +09:00
John Kleinschmidt
46b6bcd99b chore: Update comment for desktop_capturer (#19848)
* chore: Update comment for desktop_capturer

* Guard TopLevelWindow::MoveAbove with ENABLE_DESKTOP_CAPTURER

* Fix lint errors
2019-08-21 15:16:43 -07:00
John Kleinschmidt
4bc7b3b1a4 build: start building Windows on Arm builds (#19780)
* build: add zip manifest for Windows on Arm

* ci: add Windows On Arm testing

(cherry picked from commit 4064e1f4874ff7a37c52c2ad974f92418c7e71c4)

* Fix path to invoke CI on WOA hardware

* Explicitly call 7z.exe to unzip files

* Make sure GCLIENT_EXTRA_ARGS set for WOA builds get prepended on release build

* set proper arch for npm

* Try using Compress-Archive/Expand-Archive

* Revert "Try using Compress-Archive/Expand-Archive"

* disable woa hardware test for now
2019-08-21 17:37:30 -04:00
Shelley Vohr
5e525b3e0f fix: add default media usage strings to info.plist (#19871) 2019-08-21 13:14:25 -07:00
Samuel Attard
612e3f7ff7 build: optimize the CI path where we update the patch files (#19851)
Currently the happy checkout takes 7 minutes and the sad checkout takes
30 minutes.  This updates our CI to run checkout twice for every job to
make the sad checkout take nearer 10 minutes instead.
2019-08-21 14:52:17 -04:00
Shelley Vohr
991a56135d build: dynamically calculate out dir (#19857) 2019-08-21 10:41:35 -07:00
Electron Bot
3bd829aee0 Bump v8.0.0-nightly.20190821 2019-08-21 08:31:24 -07:00
Samuel Attard
674779899e build: ninja count should be 2*cores + 2 (#19852) 2019-08-21 10:25:23 -04:00
Heilig Benedek
3f49f984e6 fix: race condition in NodeStreamLoader (#19811)
* fix: race condition in NodeStreamLoader

* nit: add comments
2019-08-21 12:23:46 +09:00
Cheng Zhao
b7defaaf6a feat: migrate webRequest module to NetworkService (Part 8) (#19841)
* fix: fill uploadData property

* fix: requestHeaders in onBeforeSendHeaders

* fix: responseHeaders in onHeadersReceived

* fix: header keys should not be lowercased

* fix: gin::Dictionary::Get succeeds even though key does not exist...

* fix: throw for invalid filters

* test: re-enable api-web-request-spec

* chore: do not use deprecated base::Value API
2019-08-21 11:14:21 +09:00
Samuel Attard
f10f44acf5 fix: trim branch name before comparing to master (#19853) 2019-08-20 18:10:44 -07:00
John Kleinschmidt
d258797d05 ci: add macOS debug builds (#19831)
* ci: add macOS debug builds

* Fix mac debug builds
2019-08-20 16:11:29 -04:00
Carlos
fb214a599e docs: update documentation under tutorials (#19804) 2019-08-20 09:45:25 -07:00
Electron Bot
a4c0f26f06 Bump v8.0.0-nightly.20190820 2019-08-20 08:32:09 -07:00
Erick Zhao
145b4fae94 feat: implement will-move event on macOS (#19641) 2019-08-20 07:53:43 -07:00
Cheng Zhao
cd1b15a155 feat: migrate webRequest module to NetworkService (Part 7) (#19820)
* fix: gin treats Function as Dictionary when doing convertions

* fix: check if listener exists

* fix: listener callback should be executed in next tick

* feat: make InProgressRequest work

* test: re-enable protocol test that relies on webRequest

* chore: merge conditions
2019-08-20 20:46:20 +09:00
Shelley Vohr
1dc02e6dbc fix: fall back to default logs path in getPath('logs') (#19653) 2019-08-19 15:16:00 -07:00
pi1024e
0851697cb7 docs: fix punctuation errors in native-image.m (#19620)
* Added correct punctuation to sentences in documentation as well as changed lets to consts to pass the docs linter

* Fixed inconsistent indentation
2019-08-19 15:15:13 -07:00
Electron Bot
bd11be98aa chore: bump node to v12.8.1 (master) (#19790)
* chore: bump node in DEPS to v12.8.1

* test: disable parallel/test-http2-reset-flood

Disabled new Worker test owing to a threading issue where the Worker
segfaults on worker.on('message', () => {}). We've disabled failing
worker tests previously as we don't offer first-class support for them
in Electron.
2019-08-19 14:15:04 -07:00
Shelley Vohr
a54d438e18 chore: upgrades-wg owns DEPS (#19830) 2019-08-19 13:56:20 -07:00
Heilig Benedek
b33558d822 refactor: mojofy autofill renderer->browser (#18760)
* re-implement renderer->browser calls with mojo

* lint

* fix: clean up after rebase

* lint

* fix: lazy load autofill drivers
2019-08-19 13:13:24 -07:00
Shelley Vohr
43e6d7fe88 chore: add error throwing utility (#19803)
* chore: add error throwing utility

* feedback from review

* DRY out repeated isolate calls
2019-08-19 09:10:18 -07:00
Electron Bot
8f1c51eaea Bump v8.0.0-nightly.20190819 2019-08-19 08:32:31 -07:00
Electron Bot
090786b037 Bump v8.0.0-nightly.20190818 2019-08-18 08:31:14 -07:00
Electron Bot
dba3927b4e Bump v8.0.0-nightly.20190817 2019-08-17 08:31:36 -07:00
Micha Hanselmann
56d10aeef7 docs: add mising return desc (#19778) 2019-08-16 09:24:17 -07:00
Shelley Vohr
6a76540cb6 fix: return type in open/save dialogs (#19781) 2019-08-16 08:55:01 -07:00
Electron Bot
2c002a3342 Bump v8.0.0-nightly.20190816 2019-08-16 08:32:35 -07:00
Jean-Philippe Morin
42ac64284f docs: MessageBoxOptions.icon should allow type string (#19782)
In the `dialog` documentation (and the generated typings in `electron.d.ts`), it is mentionned that the `icon` property only supports `NativeImage`, but the `nativeImage` documentation says that:

```
In Electron, for the APIs that take images, you can pass either file paths or NativeImage
```
2019-08-16 17:06:02 +02:00
Cheng Zhao
2595cb5698 fix: compilation failure after chromium upgrade (#19787) 2019-08-16 07:55:34 -07:00
Cheng Zhao
c3bb73a711 feat: migrate webRequest module to NetworkService (Part 6) (#19752)
* Implement OnBeforeSendHeaders

* Pass the request

* Handle simple listeners

* Handle response listeners

* Read responses from listener
2019-08-16 10:19:05 +09:00
Micha Hanselmann
e59095423e docs: add exemplary fiddle for launch in fiddle feat (#19759)
* add fit-screen

* new url format

* nit
2019-08-15 15:37:37 -07:00
Electron Bot
db21391156 chore: bump chromium to cbeb16cf544f79c1990f1eae4d4fe (master) (#19610)
Co-authored-by: Erick Zhao <erickzhao@github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by Micha Hanselmann <DeerMichel@github.com>
2019-08-15 13:50:58 -07:00
Shelley Vohr
12df0e8994 fix: use GTK3 stock i18n strings (#19756) 2019-08-15 10:31:07 -07:00
Electron Bot
ca0cf5415e Bump v8.0.0-nightly.20190815 2019-08-15 08:31:20 -07:00
Shelley Vohr
33f2ec6355 fix: ensure child_process.fork() doesn't modify main (#19742) 2019-08-15 08:01:58 -07:00
Julien Isorce
680399f476 feat: Implement BrowserWindow.getMediaSourceId() and BrowserWindow.moveAbove(mediaSourceId) (#18926)
* feat: Implement BrowserWindow.moveAbove(mediaSourceId)

BrowserWindow.{focus,blur,moveTop}() are not enough in some
situations. For example when implementing an overlay that
follows another window that can lose focus. In that case
it is useful to move the overlay above the tracked window.

sourceId is a string in the format of DesktopCapturerSource.id,
for example "window:1869:0".

Notes: Added BrowserWindow.moveAbove(mediaSourceId)

https://github.com/electron/electron/issues/18922

* feat: Implement BrowserWindow.getMediaSourceId

Return the Window id in the format of DesktopCapturerSource's id.
For example "window:1234:0".

https://github.com/electron/electron/issues/16460

Notes: Added BrowserWindow.getMediaSourceId
2019-08-15 15:51:15 +09:00
Micha Hanselmann
d0c7a91a50 move image converter to gin (#19655) 2019-08-15 11:18:34 +09:00
Heilig Benedek
27b2747b61 fix: make sure that menu bar gets focus even when you click an item to focus it first (#19710) 2019-08-14 18:11:41 -07:00
Micha Hanselmann
9b1f698770 docs: mention QuickEdit in Windows troubleshooting (#19701)
* shot a trouble

* change title
2019-08-14 14:23:12 -07:00
Samuel Attard
efa1818cb4 feat: add new nativeTheme API (#19656)
* feat: add new nativeTheme API

* chore: deprecate and clean up old systemPreferences theme APIs in favor of new nativeTheme module

* chore: clean up and deprecate things per feedback

* chore: add tests for deprecate and clean up invert impl

* build: when is a boolean not a boolean???
2019-08-14 13:42:55 -07:00
Electron Bot
246187a20f Bump v8.0.0-nightly.20190814 2019-08-14 08:31:05 -07:00
Micha Hanselmann
4c54cfc692 move net converter to gin (#19734) 2019-08-14 14:15:34 +09:00
Erick Zhao
5d892a557f fix: proper l10n on Linux dialog buttons (#19725)
* fix: proper l10n on linux dialog

* switch string
2019-08-13 20:22:25 -07:00
Cheng Zhao
49fe2604b3 Revert "fix: activate the uv_loop on incoming IPC messages (#19449)" (#19727)
This reverts commit 8028c57b42.
2019-08-13 14:03:25 -07:00
Shelley Vohr
28466a39d8 feat: add property customization to save dialogs (#19672) 2019-08-13 13:40:07 -07:00
Shelley Vohr
e1824c00a9 feat: macOS removal fallback when moveItemToTrash fails (#19700)
* feat: macOS removal fallback when moveItemToTrash fails

* platform_util shouldn't know about mate::Arguments

* pull full_path from args as well
2019-08-13 12:31:53 -07:00
Shelley Vohr
b5798326e8 feat: add dontAddToRecent to windows showOpenDialog (#19669) 2019-08-13 08:48:22 -07:00
Electron Bot
fee84de782 Bump v8.0.0-nightly.20190813 2019-08-13 08:33:27 -07:00
Shelley Vohr
e8fa248571 fix: crash in window.print() (#19690)
* fix: crash in window.print()

* add preliminary tests
2019-08-12 23:44:14 -07:00
Micha Hanselmann
ba5ee79af8 move file dialog converter to gin (#19709) 2019-08-13 14:49:48 +09:00
Cheng Zhao
69eac0d9d2 feat: migrate webRequest module to NetworkService (Part 5) (#19714)
* Pass WebRequest to ProxyingURLLoaderFactory

* Call WebRequestAPI in InProgressRequest

* Store the listeners

* Pass the request and response

* Add stub to handle the events

* Use extensions::WebRequestInfo

* Make sure webRequest is managed by Session

* chore: make creation of WebRequestNS more clear

* fix: check WebContents for service workers
2019-08-13 14:47:35 +09:00
Electron Bot
9713fa09e7 chore: bump node to v12.8.0 (master) (#19521)
* chore: bump node in DEPS to v12.7.0

* chore: update node patches v12.6 to v12.7

Removed patches that are no longer necessary because we've upstreamed few changes already, and 3 way merge others

* fix: update build gn patch

* chore: bump node in DEPS to v12.8.0

* chore: update node patches v12.7 to v12.8

Removed patches that are no longer necessary because we've upstreamed few changes already, and 3 way merge others

* fix: Add patch to revert crypto createhash changes

The original node commit contains changes/calls to functions that are not supported in boringssl.

* disable node tests

* Remove outdated patch, already merged upstream
2019-08-12 17:29:34 -07:00
Erick Zhao
f654da9f56 feat: add about panel customization on Windows (#19420) 2019-08-12 16:32:51 -07:00
Сковорода Никита Андреевич
ef03c4b7bb docs: fix app.on('session-created' example (#19713)
It does not have the 'event' argument.

Refs: https://github.com/electron/electron/pull/12123
Refs: https://github.com/electron/electron/pull/15236
Refs: https://github.com/electron/electron/issues/15203
2019-08-12 14:46:42 -07:00
Samuel Attard
13df748f02 build: fix nightly install command in release notes (#19711) 2019-08-12 13:01:52 -07:00
Cheng Zhao
04dbd5c53f fix: don't handle browser messages before document element is created (#19718)
* fix: don't handle browser messages before document element is created

* fix: bind ElectronApiServiceImpl later

DidCreateDocumentElement is called before the ElectronApiServiceImpl
gets bound.

* chore: add comment
2019-08-12 10:38:41 -07:00
Electron Bot
398c5d553d Bump v8.0.0-nightly.20190812 2019-08-12 08:32:19 -07:00
Electron Bot
39f0bd3e82 Bump v8.0.0-nightly.20190811 2019-08-11 08:31:23 -07:00
Cheng Zhao
2dffc9f6eb feat: migrate webRequest module to NetworkService (Part 4) (#19679)
* chore: use gin in WebRequest

* Add stubs for APIs
2019-08-11 13:24:51 +09:00
Electron Bot
bc0a2d1b28 Bump v8.0.0-nightly.20190810 2019-08-10 08:31:20 -07:00
Erick Zhao
1749af9707 fix: avoid losing focus on inputs when opening menu (Windows/Linux) (#19657)
* remove cause of issue

* remove comment
2019-08-09 14:10:11 -07:00
Micha Hanselmann
57507ca37c refactor: move native window gin converter (#19577)
* move native window gin converter

* extract to new file
2019-08-09 13:43:18 -07:00
Shelley Vohr
7861e9f728 feat: allow customization of print page header and footer (#19688)
* feat: allow customization of more print settings

* address feedback from @jkleinsc

* header and footer are optional
2019-08-09 13:16:25 -07:00
Electron Bot
84cbc1d6c0 Bump v8.0.0-nightly.20190809 2019-08-09 08:32:09 -07:00
Milan Burda
03debb4ef9 feat: add tray.focus() (#19548) 2019-08-09 07:43:48 -07:00
Shelley Vohr
ed3b69ffb1 docs: update hasShadow for win and linux (#19675) 2019-08-08 15:49:43 -07:00
Milan Burda
0fb3c8cb7c feat: add new options to tray.displayBalloon() (#19544) 2019-08-08 14:43:33 -07:00
Richard Townsend
58840f39bb docs: document device scaling issue (#19387) 2019-08-08 13:59:44 -07:00
Pedro Pontes
da29ce355f fix: always use new site instance for a new navigation. (#18860) 2019-08-08 11:48:33 -07:00
Electron Bot
7a9e6659f0 Bump v8.0.0-nightly.20190808 2019-08-08 08:32:04 -07:00
Micha Hanselmann
9eb89b4ac7 fix: return correct bounds on will-resize (#19639) 2019-08-07 19:58:56 -07:00
Shelley Vohr
fec54c9c5d test: remove ffi specs (#19661) 2019-08-07 11:41:56 -07:00
Electron Bot
67169a5d0c Bump v8.0.0-nightly.20190807 2019-08-07 08:31:14 -07:00
Robo
eebea63bed chore: remove pre network service classes from shell/browser/net (#19644)
* refactor: rm IOThread class

* chore: rm expose-net-observer-api.patch

* chore: rm unused shell/browser/net/ classes

* chore: mv CertVerifierClient to separate header

* chore: rm url_request_context_getter references
2019-08-07 11:04:09 -04:00
Shelley Vohr
9c7a216814 fix: crash on print cancellation and silent print settings (#19598)
* fix: crash on print cancellation

* fix: update printing patch for new options

* refactor: use DictionaryValue for printBackground
2019-08-07 10:47:24 -04:00
Micha Hanselmann
a8861e6a66 move gurl converter to gin (#19578) 2019-08-07 16:18:26 +09:00
Erick Zhao
8a9a5d69b6 fix: normalize behavior of win.setOpacity() for invalid number values across operating systems (#19535)
* fix: define behavior for out-of-bounds setOpacity

* fix linux issue

* fix getOpacity behaviour

* wrong variable

* normalize more stuff

* docs

* test: use ifdescribe helper

* Update spec-main/api-browser-window-spec.ts

Co-Authored-By: Charles Kerr <ckerr@github.com>

* fixes

* more tests!!!

* Update shell/browser/native_window_views.cc

Co-Authored-By: Charles Kerr <ckerr@github.com>

* Update shell/browser/native_window_mac.mm

Co-Authored-By: Charles Kerr <ckerr@github.com>
2019-08-07 16:17:32 +09:00
Cheng Zhao
761a4deab3 feat: associate InProgressRequest with requests (#19648) 2019-08-07 09:21:53 +09:00
CezaryKulakowski
50cc54e50b fix: keep references to active menus created by api Menu (#19427)
Without this such menus would be destroyed by js garbage collector even
when they are still displayed.
2019-08-06 14:55:00 -07:00
Shelley Vohr
da2401ff39 spec: fix dirtyChai spec failures (#19652) 2019-08-06 10:27:33 -07:00
Electron Bot
c3d0fed9ed Bump v8.0.0-nightly.20190806 2019-08-06 08:31:49 -07:00
András Polgár
c0982d7316 docs: update link to webContents.send (#19608) 2019-08-05 20:58:06 -07:00
Shelley Vohr
f0396c19be fix: clearRecentDocuments role on Windows (#19599)
* fix: clear recent documents on windows

* chore: don't check for version < win 7
2019-08-05 15:11:43 -07:00
Samuel Attard
33a9d898a6 fix: make child windows not crash when ipc messages are received (#19553) 2019-08-05 12:50:51 -07:00
Samuel Attard
cfd230d7f1 docs: remove implicit 'any' and 'Object' types from the docs (#19585)
* docs: remove implicit 'any' and 'Object' types from the docs

* docs: more docs improvements, remove all remaining empty interfaces

* chore: update tests for better types
2019-08-05 10:45:58 -07:00
Milan Burda
ee674acca4 feat: add tray.removeBalloon() (#19547) 2019-08-05 08:52:47 -07:00
Electron Bot
8f043bbdaa Bump v8.0.0-nightly.20190805 2019-08-05 08:32:11 -07:00
Erick Zhao
750005f02b fix: handle edge behavior for about panel on Linux (#19586)
* fix: graceful About dialog fail/exit (Linux)

* Allow current to travel along path with no electrical impedance
2019-08-05 07:53:40 -07:00
Shelley Vohr
0bb227f8a4 fix: crash on window.print() (#19601) 2019-08-05 09:19:01 -04:00
Zach Bloomquist
40d9f828d4 docs: Fix process.enablePromiseAPI typo in promisification.md (#19576)
* Fix `process.enablePromiseAPI` typo in promisification.md

* Update promisification.md
2019-08-05 10:19:48 +09:00
Jeremy Apthorp
49f2071e22 test: tsify netlog spec (#19605) 2019-08-05 09:47:42 +09:00
Jeremy Apthorp
f08be2162a test: tsify callbacks-registry spec (#19606) 2019-08-05 09:46:58 +09:00
Electron Bot
45e452557b Bump v8.0.0-nightly.20190804 2019-08-04 08:32:25 -07:00
Electron Bot
df94cc1b13 Bump v8.0.0-nightly.20190803 2019-08-03 08:31:26 -07:00
Jeremy Apthorp
bd28b876a0 fix: disable 'reopen windows?' dialog after crash (#19584) 2019-08-02 17:04:41 -07:00
Electron Bot
e959137a4b chore: bump chromium to 32e0bab929213da1019992bf31d29 (master) (#19488) 2019-08-02 16:56:46 -07:00
Jeremy Apthorp
d0800aa200 test: report hexadecimal status codes on windows (#19597) 2019-08-02 14:23:11 -07:00
Milan Burda
3011a0f14f refactor: convert ipc-renderer.ts to TypeScript (#19556)
* refactor: convert ipc-renderer.ts to TypeScript

* Update typings/internal-ambient.d.ts

Co-Authored-By: Samuel Attard <sattard@slack-corp.com>
2019-08-02 14:35:04 -05:00
Micha Hanselmann
ee64c6ab86 refactor: move file path gin converter to new file (#19575)
* move file path gin converter to new file

* move string16 gin conv to new file
2019-08-02 14:34:30 -05:00
Electron Bot
79277cc383 Bump v8.0.0-nightly.20190802 2019-08-02 08:31:00 -07:00
Andy Dill
e78b902a7d fix: expose setMenuBarVisibility again (#19557) 2019-08-01 14:01:05 -07:00
Milan Burda
e8c4e6f0b3 fix: use correct constants for tray icon messages (#19549) 2019-08-01 14:00:37 -07:00
Electron Bot
2e785899dd Bump v8.0.0-nightly.20190801 2019-08-01 08:31:16 -07:00
Milan Burda
115b57649e docs: fix TouchBar related documentation (#19444) 2019-08-01 10:59:26 -04:00
Micha Hanselmann
b80429ab7f refactor: migrate dialog API to //gin (#19482)
* get ShowMessageBoxSync working with gin

* move more dialog methods

* all methods moved

* cleanup

* add util func for template creation
2019-08-01 10:57:41 -04:00
Samuel Attard
c190e64012 build: update the ABI version for electron 8 nightlies (#19551) 2019-08-01 10:54:26 -04:00
John Kleinschmidt
3a6cafaf0a fix: use WeakPtr to detect deletion (#19257) 2019-07-31 19:48:40 -04:00
Milan Burda
c76b0b70c1 refactor: remove content::WebContentsObserver from Event (#19251) 2019-07-31 15:20:28 -07:00
Jeremy Apthorp
c71cdce0b7 chore: disable JS impl when //extensions support is on (#19512) 2019-07-31 14:25:41 -07:00
Shelley Vohr
a5f87cee6b doc: add missing MenuItem roles (#19329) 2019-07-31 14:13:56 -07:00
Samuel Attard
bf66fe51f6 build: fix first beta version choosing logic 2019-07-31 11:04:19 -07:00
Micha Hanselmann
47a38daee2 feat: migrate custom macOS tray view to native one (#18981)
* restore stash

revert

some things work others dont

tracking area for rescue

manual popup

restore drag n drop

cleanup

* fix: make tray not block main process (#18880)

* fix: make tray not block main process

* make AtomMenuModel refcounted

* add support for ansi codes in title

add remove TODOs

* chore: use ScopedPumpMessagesInPrivateModes in tray (#18977)

* chore: use ScopedPumpMessagesInPrivateModes in tray

* revert refcounting of AtomMenuModel

* Prefer WeakPtr for posting tasks to handle unexpected destruction

* cleanup .h

* cleanup .mm

* add imports

add missing include

* fix: crash when tray popup called twice (#18999)

* remove highlightMode and TODOs

* remove unnecessary copy
2019-07-31 10:52:50 -07:00
Electron Bot
cde79501e3 Bump v7.0.0-nightly.20190731 2019-07-31 08:31:25 -07:00
Shelley Vohr
51ce3e5a83 fix: set default dock bounce type (#19523) 2019-07-31 08:20:45 -07:00
Milan Burda
d6605193a1 build: fix with ENABLE_OSR disabled (#19533) 2019-07-31 14:34:04 +02:00
Shelley Vohr
69646f4258 fix: throw better error on getPath('logs') (#19514) 2019-07-30 13:55:04 -07:00
Erick Zhao
e74daf2d19 refactor: move gfx::ImageSkia functions to their own util file (#19460)
* initial refactor

* fix lint

* 🚚🚚🚚🚚🚚

* change year in copyright?

* lint more

* remove bad code

* add missing header

* fix: add missing ifdef guard

* fix variable call
2019-07-30 13:49:24 -07:00
Micha Hanselmann
af3316707f fix invalid lang tags (#19513) 2019-07-30 13:11:56 -07:00
Micha Hanselmann
6e367dab9a patch electron_node (#19436) 2019-07-30 14:08:27 -04:00
Electron Bot
38c918ed5c Bump v7.0.0-nightly.20190730 2019-07-30 08:32:38 -07:00
Milan Burda
9ab3ec080f fix: tray.displayBalloon() does not work with custom icon on Windows (#19330) 2019-07-30 14:06:16 +02:00
Micha Hanselmann
42a483ad27 feat: add getBounds() method for BrowserView (#19370)
* implement getBounds on mac

* add Linux/Win impl

* add test

* add docs
2019-07-29 19:43:05 -07:00
Micha Hanselmann
c06007175f docs: update supported versions section (#19461)
* update support docs

* Update support.md
2019-07-29 15:38:04 -07:00
Shelley Vohr
aaca9011ae fix: [wc|bw]-created events do not emit an event object (#19465)
* fix: emit real Event instead of empty object in [wc|bw]

* chore: add ability to emit empty events
2019-07-29 13:54:37 -07:00
Jeremy Apthorp
33d1e87163 chore: simplify intentional-crash code (#19464) 2019-07-29 11:36:16 -07:00
Jeremy Apthorp
71b1b69339 fix: [extensions] remove InitForIncognitoProfile (#19477)
https://chromium-review.googlesource.com/c/chromium/src/+/1699223
2019-07-29 11:34:57 -07:00
Erick Zhao
ceb64b3b1b docs: BrowserWindow transparency limitation on Windows (#19399)
* docs: BrowserWindow transparency limitation on Win

* fix md link
2019-07-29 11:22:31 -07:00
Micha Hanselmann
9da1251dbc add desc (#19417) 2019-07-29 11:21:56 -07:00
Erick Zhao
c1d7d60ca2 docs: specify macOS-only about panel option (#19439) 2019-07-29 11:21:29 -07:00
Milan Burda
8a33118e36 fix: refactoring regression in LocationProxy (#19495) 2019-07-29 11:20:19 -07:00
Samuel Attard
4838bd7834 fix: use GetAuraColor to get theme dependant menu bg color (#19469) 2019-07-29 10:33:43 -05:00
Electron Bot
5e930bf940 Bump v7.0.0-nightly.20190729 2019-07-29 08:31:07 -07:00
Jeremy Apthorp
2983701c75 fix: remove .pdb from symbol file names (#19483)
* fix: remove .pdb from symbol file names

* Update dump_syms.py
2019-07-29 09:41:58 -04:00
Valentin Hăloiu
0732da1b4a build: remove GConf and dconf dependencies on linux (#19498) 2019-07-29 08:33:47 -04:00
foo bar code
4e0e615406 fix: Expose missing Add/RemoveExtraParameter methods to macOS node child processes (#15790)
* Expose missing crash reporter methods in mac node processes

* Crashpad migration
2019-07-29 09:46:35 +09:00
Electron Bot
c9a455ea49 Bump v7.0.0-nightly.20190728 2019-07-28 08:32:16 -07:00
Electron Bot
00a1f4395b Bump v7.0.0-nightly.20190727 2019-07-27 08:32:00 -07:00
Shelley Vohr
6c9d40ec33 feat: emit always-on-top-changed on macOS (#19462)
* feat: emit always-on-top-changed on macOS

* update event emission test for macos
2019-07-26 22:25:51 -07:00
Milan Burda
50c7eb58a1 refactor: don't use NSClassFromString in TouchBar code (#19445) 2019-07-27 01:20:25 +02:00
Shelley Vohr
c6bcf49acc chore: clean up BrowserView/TopLevelWindow New impl (#19375)
* chore: clean up BrowserView::New impl

* also default TL win options dict
2019-07-26 16:18:13 -07:00
Shelley Vohr
5aa1385cfc doc: fix GPU infoType typings (#19470) 2019-07-26 16:16:38 -07:00
Samuel Attard
db3cf52add docs: add support for readonly,deprecated and platform doc annotations (#19478) 2019-07-26 16:12:59 -07:00
Samuel Attard
12bbbef688 docs: fix type information for contents.sendInputEvent (#19479)
The `event` type and keyword is reserved by the typescript generator, in the future we should throw an error from the generator if someone uses a reserved interface like that.

This also splits and documents the InputEvent type way better so that TS
users get strong type safety.

Fixes electron/typescript-definitions#36
2019-07-26 16:11:50 -07:00
Samuel Attard
48f2807473 docs: fix app.getPath types so that "name" is a string enum (#19480)
* docs: fix app.getPath types so that "name" is a string enum

Fixes https://github.com/electron/typescript-definitions/issues/140

* Update app.md
2019-07-26 16:11:22 -07:00
Shelley Vohr
504407c5df fix: correctly emit BrowserWindow alwaysOnTop status in change event (#19463)
* fix: correctly emit alwaysOnTop in change event

* add a test for emitted alwaysOnTop value
2019-07-26 15:53:31 -07:00
Electron Bot
4d23b9e031 chore: bump chromium to 2bbf84f6437b49c70922b65b38bf3 (master) (#19451)
* chore: bump chromium in DEPS to 644eb098aeffb5e799ab3571eac0d35fa24ef641

* chore: update chromium patches

* chore: update v8 patches

* chore: bump chromium in DEPS to 9eecb7a9f652bbf84f6437b49c70922b65b38bf3

* chore: update patches
2019-07-26 12:18:32 -07:00
Jeremy Apthorp
dc5574cbde test: move autoUpdater specs to main process (#19440) 2019-07-26 10:52:57 -07:00
Electron Bot
636dd38164 Bump v7.0.0-nightly.20190726 2019-07-26 08:31:42 -07:00
Jeremy Apthorp
d50298ed96 test: move menu spec to main process (#19412) 2019-07-26 10:17:14 -04:00
Jeremy Apthorp
2a5d40617a test: move the last of the browser window specs (#19295)
* move devtools extensions tests

* move executeJavaScript tests

* move previewFile test

* move contextIsolation tests

* move OSR tests

* RIP api-browser-window-spec.js

          .--. .-,       .-..-.__
        .'(`.-` \_.-'-./`  |\_( "\__
     __.>\ ';  _;---,._|   / __/`'--)
    /.--.  : |/' _.--.<|  /  | |
_..-'    `\     /' /`  /_/ _/_/
 >_.-``-. `Y  /' _;---.`|/))))
'` .-''. \|:  .'   __, .-'"`
 .'--._ `-:  \/:  /'  '.\             _|_
     /.'`\ :;   /'      `-           `-|-`
    -`    |     |                      |
          :.; : |                  .-'~^~`-.
          |:    |                .' _     _ `.
          |:.   |                | |_) | |_) |
          :. :  |                | | \ | |   |
          : ;   |                |           |
          : ;   |                | Here lies |
          : ;   |                |   1000    |
          : ;   |                |   flaky   |
          : ;   |                |   tests   |
        .jgs. : ;                |           |
-."-/\\\/:::.    `\."-._'."-"_\\-|           |///."-
" -."-.\\"-."//.-".`-."_\\-.".-\\`=.........=`//-".

* remove unused ipcMain listeners

* remove debugging logs

* close windows in offscreen test

* more closeAllWindows

* remove extra logs

* refactor webContents main spec using closeAllWindows
2019-07-26 10:09:33 -04:00
Jeremy Apthorp
16011cacef test: move dialog spec to main process (#19231)
* test: move dialog spec to main process

* skip tests on windows to avoid crash

* more disabling on windows
2019-07-26 09:37:59 -04:00
Milan Burda
4639c68a7b chore: remove no longer needed macOS SDK forward declarations (#19446) 2019-07-26 14:11:37 +02:00
Milan Burda
44efaea6d5 fix: clearing of the backgroundColor property on TouchBarButton (#19437) 2019-07-26 11:52:42 +02:00
Shelley Vohr
bdd626f57a doc: fix types for traceConfig recording_mode (#19448) 2019-07-25 21:42:28 -07:00
Jeremy Apthorp
477661d0e4 feat: allow setting capture mode and max file size in netLog API (#19215) 2019-07-25 16:06:39 -07:00
Samuel Attard
8028c57b42 fix: activate the uv_loop on incoming IPC messages (#19449) 2019-07-25 13:10:14 -07:00
Jeremy Apthorp
0f5cb7995f ci: report test results to appveyor (#19434) 2019-07-25 11:30:56 -07:00
Jeremy Apthorp
e58f8a79ee test: move the TouchBar specs to the main process (#19413) 2019-07-25 11:30:42 -07:00
Shelley Vohr
6b7c66aa04 revert: use circleci v2.1 (#19456)
This reverts commit d45694dcb0.
2019-07-25 10:44:28 -07:00
Shelley Vohr
49096c2359 fix: throw on invalid webRequest filters (#19337)
Closes #11371.

Previously, we didn't consider the return value of the webRequest URLPattern mate converter, which meant that when the pattern wasn't correctly parsed owing to invalid filter specification users would not be made aware of that fact and would just think that the filtering itself had failed. This corrects that error by moving the business logic of url pattern parsing out of the converter and into the function itself so that granular and specific errors can be thrown.

There's also no real reason that i'm aware of not to allow wider breadth of filters by letting users use a wildcard for effective TLD, so I also overrode that (default for the 1-arg Parse is not to allow that).

Finally, I added some examples of url filter types for users to reference.
2019-07-25 10:20:02 -07:00
Electron Bot
65648756b5 Bump v7.0.0-nightly.20190725 2019-07-25 08:31:39 -07:00
Charles Kerr
f6fb877de9 chore: pass base::StringPiece args by value (#19432)
https://cs.chromium.org/chromium/src/base/strings/string_piece.h?l=14
discusses this, saying "Prefer passing StringPieces by value" because
"[p]assing by value generates slightly smaller code."
2019-07-25 10:19:04 -05:00
Shelley Vohr
539078f281 test: clean up and augment Tray module spec (#19410)
* spec: clean and add a new tray spec

* address feedback from @nornagon

* destroy tray after every test consistently
2019-07-24 21:22:08 -07:00
Jeremy Apthorp
86c2ea1cb8 test: move Notification spec to main process (#19414) 2019-07-24 17:18:11 -07:00
Samuel Maddock
95977291f7 feat: preliminary support for //extensions (#17440) 2019-07-24 16:01:08 -07:00
Electron Bot
bd526f97a5 chore: bump chromium to 79eae5b7b2d9dac441ac0182ee160 (master) (#19166) 2019-07-24 15:58:51 -07:00
Samuel Attard
6d83eaaf4b build: use a large machine for node tests as they run on N cores 2019-07-24 14:43:49 -07:00
Samuel Attard
a46e459595 build: disable flaky node tests that fail on linux 2019-07-24 14:43:49 -07:00
Samuel Attard
2132fdfa28 fix: ensure we wait for the inspect to disconnect
This re-orders our node clean up so that we free the environment before
the task runner is cleaned up as node uses the task runner during clean
up.  It also calls WaitForDisconnect() to ensure that inspector agents
are notified that the context is going down.
2019-07-24 14:43:49 -07:00
Samuel Attard
60821c8ab0 build: convert nodejs tap output to junit and store in circleci as test results 2019-07-24 14:43:49 -07:00
Samuel Attard
cf2103d6e9 fix: ensure that the node env is not bootstrapped before running inspector 2019-07-24 14:43:49 -07:00
Samuel Attard
1d06f67672 build: run node tests 2019-07-24 14:43:49 -07:00
Micha Hanselmann
637cfdd9a0 docs: fix broken link in ipcMain docs (#19401) 2019-07-24 11:39:39 -07:00
Shelley Vohr
62e6957f68 spec: don't run codesigning spec on forks (#19418) 2019-07-24 10:55:16 -07:00
Shelley Vohr
9dfc4eb2ff test: add tests for systemPreferences apis (#19419) 2019-07-24 10:40:12 -07:00
Charles Kerr
898adbce5c fix: "TypeError: fn is not a function" crash in release notes generator (#19394)
* fix: fix cache filename of issue comments

* fix: update octokit deprecated API use

* fix: "TypeError: fn is not a function" in notes.js

* chore: retryableFunc does not need to be async

* chore: simplify checkCache() operation param
2019-07-24 13:23:40 -04:00
Caesar Schinas
a25b15bc2a docs: fix instructions for opting out of dark mode (#19358)
4d8a055 (#19226) introduced incorrect instructions for 'opting out' of dark mode in Electron 7.0.0 and for enabling it on older versions. The boolean values for the `NSRequiresAquaSystemAppearance` key were inverted.
2019-07-24 10:20:25 -07:00
Jeremy Apthorp
d11d222da2 test: move version-bump spec to main process (#19415) 2019-07-24 10:16:28 -07:00
Jeremy Apthorp
9910507bc4 test: move BrowserView specs to main process (#19409) 2019-07-24 08:44:24 -07:00
Electron Bot
358f4eebae Bump v7.0.0-nightly.20190724 2019-07-24 08:33:49 -07:00
Richard Townsend
9a7276dffc fix: remove TLS destruction (#19365)
Building with dchecks_always_on=true in release configuration seems to
introduce flakiness because the TLS is double-freed. Amending the check
seems to fix the flakiness.
2019-07-24 11:16:53 -04:00
Samuel Attard
b7f554f1dc docs: make setBounds take a Partial<Rectangle> (#19416) 2019-07-23 23:51:22 -07:00
Samuel Attard
bb90a36701 build: update NMV for Electron 7 (#19369)
Refs: https://github.com/nodejs/node/pull/28774
2019-07-23 23:51:01 -07:00
Jeremy Apthorp
ad6fb20486 test: disable flaky webview.clearHistory test (#19398) 2019-07-23 16:54:41 -07:00
Charles Kerr
b3fb7497c2 chore: omit superceded Chromium updates from notes (#19400)
* feat: omit superceded Chromium updates from notes

* chore: simplify changed code
2019-07-23 13:50:18 -07:00
Milan Burda
103b38650f feat: add memory to app.getAppMetrics() (#18831) 2019-07-23 13:41:58 -07:00
Erick Zhao
2c383b51c1 feat: add rotate gesture for macOS (#19294)
* feat: add rotate gesture for macOS

* docs: document change

* refactor: rename 'rotate' -> 'rotate-gesture'

* refactor: const float -> float

* forgot one 🤦‍♂️
2019-07-23 14:42:26 -05:00
CezaryKulakowski
2e3d757f46 Changed line endings from crlf to lf in manifests.cc/h (#19382) 2019-07-23 11:17:34 -07:00
Charles Kerr
38507974d6 chore: use base::Environment in Linux MoveItemToTrash() (#19367)
* chore: use base::Environment in MoveItemToTrash() Linux impl

* chore: remove unnecessary local function XDGUtil()

* chore: tweak code comment

* fix: remove errant reference
2019-07-23 10:25:58 -07:00
Jeremy Apthorp
5dcac23aea build: make //electron:electron_lib a source_set (#19372) 2019-07-23 09:57:40 -07:00
Sofia Nguy
384ba8da64 docs: update public electron timeline (#19371) 2019-07-23 09:52:17 -07:00
Electron Bot
13c152717f Bump v7.0.0-nightly.20190723 2019-07-23 08:31:46 -07:00
Cheng Zhao
eb6660f534 feat: migrate webRequest module to NetworkService (Part 2) (#19338)
* handlers => intercepted_handlers

* Add stub for InProgressRequest

* Add stub for webRequest.onBeforeRequest/onBeforeSendHeaders/onSendHeaders

* Add stub for webRequest.onCompleted/onHeadersReceived

* Add stub for webRequest.onResponseStarted

* Add comment for the class
2019-07-22 15:01:45 -07:00
Samuel Attard
d45694dcb0 chore: use circleci v2.1 (#19346)
This allows us to have a workflow for release-builds that only runs when
we trigger it via API.  This will be used to implement a /ci command to
allow folks to trigger release-style builds on their PRs.
2019-07-22 13:31:32 -07:00
Electron Bot
6ff2d69842 Bump v7.0.0-nightly.20190722 2019-07-22 08:31:37 -07:00
Shelley Vohr
3395a1d4db doc: improve EventEmitter md formatting (#19345) 2019-07-22 08:20:43 -07:00
Shelley Vohr
0490189531 fix: correctly convert MessageBoxType (#19349) 2019-07-22 08:19:24 -07:00
Electron Bot
526f9d442d Bump v7.0.0-nightly.20190721 2019-07-21 08:31:02 -07:00
Electron Bot
6e55b81c56 Bump v7.0.0-nightly.20190720 2019-07-20 08:31:16 -07:00
Mark Lee
0c0197a0ef docs: update Electron Packager links (#19333) 2019-07-19 18:52:11 -07:00
Shelley Vohr
1f2f1fb82d fix: emit swipe event on macOS (#19319) 2019-07-19 16:21:07 -07:00
Micha Hanselmann
42d4c579c3 fix zoom button when alwaysOnTop set (#19314) 2019-07-19 16:17:59 -07:00
John Kleinschmidt
e389fa75ea test: run all tests on arm linux platforms (#19318)
* test: run all tests on arm platforms

* Use Ubuntu 18.04 for arm64 CI
2019-07-19 16:15:47 -07:00
Micha Hanselmann
dc30b86377 feat: support isHighContrastColorScheme() on macOS (#19331)
* change docs

* use NativeTheme to check high contrast scheme
2019-07-19 16:04:42 -07:00
Electron Bot
1edbd30987 Bump v7.0.0-nightly.20190719 2019-07-19 08:32:01 -07:00
Samuel Attard
8fc38ed549 build: update symbol generation logic for all helpers (#19336) 2019-07-19 08:02:43 -07:00
Samuel Attard
6fc648cd25 fix: bootstrap the node environment after we setup the InspectorAgent (#19317) 2019-07-18 16:54:23 -07:00
Micha Hanselmann
2467350180 feat: support mouse-move event of Tray API on Windows (#19265)
* add Tray.mouse-move on win

* change docs
2019-07-18 10:52:15 -07:00
Richard Townsend
9711fc895e docs: describe how to install Meiryo (#19308)
Fixes #19201
2019-07-18 10:51:34 -07:00
Samuel Attard
d82e7af9be chore: upgrade transitive lodash dependency (#19297) 2019-07-18 09:59:09 -07:00
Electron Bot
90684bd5b1 Bump v7.0.0-nightly.20190718 2019-07-18 08:33:13 -07:00
Shelley Vohr
3ee95cf0e8 feat: support css origin in frame.insertCSS (#19268)
* feat: support css origin in frame.insertCSS

* move cssOrigin to an options object
2019-07-17 14:34:05 -07:00
Shelley Vohr
e510816cf6 test: robustify MenuItem label/accel tests (#19287)
* test: robustify MenuItem label/accel tests

* correct truthy assertion checks

* ensure message correctly set for boolean asserts
2019-07-17 14:32:47 -07:00
Samuel Attard
afa5266c7e chore: upgrade node to 12.6.0 (#19312) 2019-07-17 14:22:27 -07:00
Samuel Attard
fbcbdb051b build: remove unused node patches (#19296) 2019-07-17 12:33:41 -07:00
Cheng Zhao
478360f317 chore: use dummy WebRequestNS when NetworkService is enabled (#19300) 2019-07-17 11:55:55 -07:00
Milan Burda
c79613b037 chore: convert more files to TypeScript (#18820) 2019-07-17 10:23:52 -07:00
Electron Bot
134d76dcdd Revert "Bump v7.0.0-nightly.20190717"
This reverts commit 7b69730e82.
2019-07-17 09:18:38 -07:00
Electron Bot
7b69730e82 Bump v7.0.0-nightly.20190717 2019-07-17 08:31:14 -07:00
Jeremy Apthorp
8452a7ffa5 test: move systemPreferences spec to main process (#19237)
* test: move systemPreferences spec to main process

* Update api-system-preferences-spec.ts

* Update api-system-preferences-spec.ts
2019-07-17 09:14:32 +09:00
Milan Burda
d1c9f5e309 fix: don't execute preload scripts for internal <iframe> in <webview> (#19260) 2019-07-17 09:13:05 +09:00
Micha Hanselmann
b57e623c11 refactor: use NativeTheme dark mode detection on macOS 10.14+ 2019-07-16 17:06:31 -07:00
Jeremy Apthorp
70857e9a5d test: move more BrowserWindow specs (#19290)
* test: move more BrowserWindow specs

* use async instead of setTimeout for cleaner code
2019-07-16 16:37:17 -07:00
Jeremy Apthorp
42f283c281 test: re-add accidentally deleted test (#19282)
this was lost due to a tragic merge incident in #19182
2019-07-16 15:45:35 -07:00
Samuel Attard
3ded946686 build: simplify node patches (#19286)
* build: collapse all BUILD.gn modifications into the original GN file patch

* build: collapse all the js2c.py changes into a single patch with a good explanation
2019-07-16 14:38:17 -07:00
Jeremy Apthorp
c5e249b85c test: actually test sandbox events in the test that says 'test sandbox events' (#19284) 2019-07-16 13:43:23 -07:00
Jeremy Apthorp
b5f69e0b9f test: disable security warnings in main runner (#19283) 2019-07-16 13:43:00 -07:00
Jeremy Apthorp
355b307618 test: move MenuItem spec to main process (#19235)
* test: move MenuItem spec to main process

* spec: fix errant default accel test

* Update menu-item-roles.js

* Update api-menu-item-spec.ts
2019-07-16 12:54:18 -07:00
Shelley Vohr
3d2eb8360a chore: remove tls check script (#19280) 2019-07-16 12:04:02 -07:00
Samuel Attard
9a7426dc25 build: use our patch system to apply patches to upstream node (#19270)
This points our node repo at upstream (nodejs/node) and uses the base node tag as the target ref.  We then use our existing patch system and patch files to apply our changes on top of node.  This unifies how we patch upstream repos and makes our node patches easier to reason, view, understand and most importantly reduce.
2019-07-16 10:23:04 -07:00
Erick Zhao
4d547bdd3a docs: mention fiddle in bug report template (#19248)
* chore: mention fiddle in bug report template

* add words
2019-07-15 22:16:02 -07:00
Jeremy Apthorp
27599a851f test: move some BrowserWindow specs to the main process (#19182)
* test: move some BrowserWindow specs to the main process

* uncomment cross-site test

* move more tests

* re-enable, refactor and move visibilitychange specs

* move new-window event tests and re-enable them on mac

* move max/minimize event tests

* move modal tests

* move beginFrameSubscription tests

* move savePage test

* move BrowserWindow options argument is optional test

* move restore, unmaximize, fullscreen tests

* move parent window tests

* don't wait for show event on windows (#8664)

* add debugging logs to fullscreen tests

* more debugging on windows

* explicitly destroy browserviews to prevent crash during gc

* only await show on darwin

* more event timing fixes

* disable max/minimize event tests on linux, since they're broken on CI
2019-07-15 21:13:32 -07:00
Milan Burda
7249b25868 refactor: replace SetHiddenValue() with mate::Dictionary::SetHidden() (#19263) 2019-07-16 11:50:38 +09:00
Shelley Vohr
aa211c6c50 chore: update to Node.js v12.4.0 (#18924)
* chore: update to node 12.4.0

* chore: fix js2c compilation and usage

* update branch reference

* chore: roll node

* refactor: use the new node::options_parser::Parse method

* fix: make node create our context for us so that everything is initialized correctly

* fix: let node do it's thing to the all contexts

We need to let node know about all the contexts that Chromium creates for the renderer processes so that it does not crash when trying to access primordials.  Similar to node::NewContext but with an existing context

* chore: roll node

* chore: roll node

* chore: roll node

* chore: roll node

* fix: ensure that _noBrowserGlobals is set before the node bootstrapper runs

Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
2019-07-15 18:58:39 -07:00
Micha Hanselmann
da672a3b5c feat: support systemPreferences.isDarkMode() on Windows (#19217)
* add support for isDarkMode on Windows

* use NativeTheme for darkmode detection
2019-07-15 14:37:33 -07:00
Jeremy Apthorp
4439249617 refactor: simplify RemoveFromLoginItems (#19179) 2019-07-15 14:36:23 -07:00
Shelley Vohr
50f4977048 docs: differentiate static/instance class props (#19196) 2019-07-15 10:15:32 -07:00
Shelley Vohr
f6a29707b6 feat: app.moveToApplicationsFolder conflict handling (#18916)
Resolves #18805.

We want to keep default move conflict handling behavior in that it's still what most users would expect, but there exist edge cases in which users may not want to be forced into that behavior.

This thus introduces an optional conflict handler that allows developers access to more granular move actions. They could now allow the user to choose whether to delete an existing app in favor of the current one being moved, or whether to quit the current app and focus on the existing one should it both exist and be running. I added a fair amount of new documentation outlining this behavior, but if there are things users may benefit from seeing examples of or nuances that should be added please leave feedback!
2019-07-15 09:34:20 -07:00
Electron Bot
0db6789210 Revert "Bump v7.0.0-nightly.20190715"
This reverts commit bd50115bfe.
2019-07-15 09:16:09 -07:00
Electron Bot
bd50115bfe Bump v7.0.0-nightly.20190715 2019-07-15 08:31:35 -07:00
Micha Hanselmann
b49ca7ba2e check for sandbox param on root (#19216) 2019-07-15 09:38:41 -05:00
Samuel Attard
6d5e494782 fix: serialize messages being sent over chrome message ports (#19104)
Chrome appears to serialize these messages (see #19070) so we should as
well to be consistent and to avoid bugs with Uint8/16 arrays

Fixes #19070
2019-07-15 19:05:09 +09:00
Thiago de Arruda
d0ece2bc93 docs: Add command to quickly fix the SMBv2 cache (#19210)
Running this command is more convenient than manually editing regedit.
2019-07-15 17:57:33 +09:00
Felix Rieseberg
2ce68df27a docs: Update incorrect author name (#19247) 2019-07-15 17:51:06 +09:00
Charles Kerr
c9bc4aeb90 docs: remove redundant 'set origin' section (#19243)
* docs: fix remote push origin docs

* docs: remove redundant section

the 'git remote' text in the 'Getting the Code' section is better
2019-07-15 17:42:11 +09:00
Jeremy Apthorp
f101c72cbe spec: move powerSaveBlocker spec to main process (#19236) 2019-07-15 17:38:01 +09:00
Jeremy Apthorp
a4cffd29b7 test: move globalShortcut spec (#19233) 2019-07-15 17:29:29 +09:00
Jeremy Apthorp
1ff2704445 test: move inAppPurchase spec (#19232) 2019-07-15 17:28:55 +09:00
Jeremy Apthorp
8a57fe5466 test: move ipcMain spec (#19230) 2019-07-15 17:23:59 +09:00
Jeremy Apthorp
3957a791b7 test: move contentTracing specs to main process (#19229) 2019-07-15 17:23:35 +09:00
Samuel Attard
4d8a05568b feat: enable dark mode support by default on macOS (#19226)
This adds the NSRequiresAquaSystemAppearance key to our default Info.plist file which will tell macOS to auto-switch our effectiveAppearance in sync with the OS.  The dark mode documentation has been updated to reflect how to opt *out* of this but it is also noted that certain dark mode APIs will not work on Catalina if you opt out.
2019-07-15 17:23:12 +09:00
Samuel Attard
ab8b940151 fix: add support for prefers-color-scheme CSS query (#19228)
The wiring to update prefs when you toggle between dark mode and light mode exists in the content layer but the actual value setting is done in either //chrome or in shell.  We need to set the preferred_color_scheme pref value in order for the CSS query to work correctly.  The DarkModeObserver in content will automatically regenerate prefs when dark mode is toggled.

Fixes #15540
2019-07-15 17:22:25 +09:00
Ian Sanders
079a173a72 feat: add stack trace log to preload script error handling (#18905)
* Add console.trace to preload script error handling

* Log error directly instead of error string + trace

* Log full error object instead of error message
2019-07-14 21:54:33 -07:00
Electron Bot
e6e94fc59d Bump v7.0.0-nightly.20190714 2019-07-14 08:31:41 -07:00
Electron Bot
32fec3e8f9 Bump v7.0.0-nightly.20190713 2019-07-13 08:32:19 -07:00
Electron Bot
150a92d093 Bump v7.0.0-nightly.20190712 2019-07-12 08:31:51 -07:00
Milan Burda
beb996b847 docs: specify possible values for ProcessMetric.type (#19203) 2019-07-12 14:10:18 +03:00
Erick Zhao
9a42ddd2b8 chore: revert key -> main change in window delegate listener (#19213)
* chore: revert key -> main

* chore: comment out test that will fail

* more context on commented out test

* remove commented test
2019-07-12 17:46:35 +09:00
Milan Burda
35294891ae fix: <webview> not working in scriptable popups (#19198) 2019-07-11 20:56:04 -05:00
Alexandre Lacheze
e26f366405 Revert: electron/electron#14487 (#19011) 2019-07-11 17:25:26 -05:00
Shelley Vohr
75a020e0ac feat: expose new vibrancy types (#19073) 2019-07-11 14:10:45 -05:00
Milan Burda
c756b955b3 fix: revert use of IPC helpers for history due to failing test (#19189) 2019-07-11 20:25:07 +03:00
Louis Rose
79114ff40a feat: add object to subscribe notification callback (#19110) 2019-07-11 10:06:31 -07:00
lvs
6d34314457 Remind user the executeJavaScript will not run their code immediately (#19129)
Remind user the contents.executeJavaScript will not run their code immediately if the web page still in running.  Without the knowledge, user would think their code not function properly and it's hard to debug because different page have different loading time.

According to  [web-contents.js](731edbe2b6/lib/browser/api/web-contents.js (L199))
2019-07-11 10:55:30 -05:00
Electron Bot
0dbeb49ee0 Bump v7.0.0-nightly.20190711 2019-07-11 08:31:15 -07:00
Micha Hanselmann
1f70dfbffd chore: deprecate setHighlightMode (#19202) 2019-07-11 10:11:46 -05:00
Micha Hanselmann
06d48514c6 add toolTip property for MenuItem (#19099) 2019-07-11 17:56:22 +09:00
Electron Bot
692df804cf Bump v7.0.0-nightly.20190710 2019-07-10 08:31:51 -07:00
Julien Isorce
8b31953d40 feat: Can a window always on top but behind the taskbar on Win32 (#18982)
For now it only adds the ability to place the window below
the task bar while still being always on top.
Previous behaviour was always showing the window above the task
bar when top is true. We keep this default behaviour, i.e. when
the 'level' parameter is omitted.

https://github.com/electron/electron/issues/18933

Notes: Can set a window always on top but behind the taskbar on Windows
2019-07-10 09:40:11 -05:00
Cheng Zhao
faa2710485 fix: do not wait on promise returned by remote APIs (#18990)
* fix: make <webview>.loadURL async

* docs: webview.loadURL returns Promise
2019-07-10 08:20:28 -05:00
Alexey Kuzmin
015e1348e0 ci: do not use the MOCHA_FILE env variable (#19171)
It is not used in a expected way anyway.
2019-07-09 15:56:46 -05:00
Electron Bot
e3440f1975 Bump v7.0.0-nightly.20190709 2019-07-09 08:31:45 -07:00
Micha Hanselmann
62a3666773 remove non-existent event (#19126) 2019-07-09 17:45:18 +03:00
Milan Burda
fdbb97e876 chore: update to latest TypeScript 3.5.2 (#19133) 2019-07-09 14:44:46 +03:00
Milan Burda
b32bee5d84 refactor: implement GetResourcesPath using MainApplicationBundlePath on Mac (#19135) 2019-07-09 12:56:40 +03:00
Cheng Zhao
436d5c9ac1 fix: use gn/clang-format from src (#19145)
* fix: use gn/clang-format from src

* fix: download clang-format in lint job

* chore: fix linting warning

* chore: get_path_in_buildtools => get_buildtools_executable

* chore: the clang-format npm package is not used
2019-07-09 17:40:26 +09:00
Micha Hanselmann
d79e6bbffe refactor: improve function deprecation module (#19012)
* add removeFunction to deprecation module

* clarify deprecate api

* throw error

* change error msg
2019-07-09 10:01:35 +09:00
Electron Bot
a90306876e chore: bump chromium to b8ae827f4fead0b527079194b9899 (master) (#19112)
* chore: bump chromium in DEPS to c87ad34dfd48610959977db9b6eeeb86f5feafe9

* chore: rebase patches

* chore: bump chromium in DEPS to ad29fca14d77b2a1752f24d9425278c6737c0f70

* chore: bump chromium in DEPS to 22c21a9cc728e7958e3ac1033cfdc6ed0f0a8b10

* chore: bump chromium in DEPS to 8c86dd7f76abf4ad1ab41796d2da6172b1b10866

* chore: update patches

* chore: bump chromium in DEPS to 5a48e127c8cb8ae827f4fead0b527079194b9899

* remove TransformPointToLocalCoordSpaceLegacy

https://chromium-review.googlesource.com/c/chromium/src/+/1637525
2019-07-09 10:00:24 +09:00
Milan Burda
419ce494e9 refactor: use IPC helpers in window-setup (#17948) 2019-07-09 02:43:49 +03:00
Jeremy Apthorp
c3ae476deb test: move some browser window specs to the main process (#19089) 2019-07-08 15:44:37 -07:00
Electron Bot
a04a458156 Bump v7.0.0-nightly.20190708 2019-07-08 08:32:08 -07:00
Milan Burda
550b2269be build: strip recently added swiftshader/libvulkan.so (#19141) 2019-07-08 15:21:04 +03:00
Milan Burda
69369cf365 refactor: don't expose isPromise as an internal module (#19139) 2019-07-08 15:17:50 +09:00
Adam Leskis
949f8685d2 docs: fix simple typo in api for webview-tag (#19028) 2019-07-07 20:58:55 -07:00
Julien Isorce
09c3277b42 feat: Implement BrowserWindow.setFocusable on macOS (#19033)
It was not implemented on Mac despite being available as a constructor
option. Implementation already exists on Windows. Linux case can be
separately.

https://github.com/electron/electron/issues/19032

Notes: Implemented BrowserWindow.setFocusable on macOS.
2019-07-08 11:34:18 +09:00
John Kleinschmidt
e6a7a84834 build: fix ffmpeg gn gen (#19127)
* revert #18993

* build: fix ffmpeg GN gen
2019-07-08 10:30:57 +09:00
Electron Bot
106cc6189c Bump v7.0.0-nightly.20190707 2019-07-07 08:31:09 -07:00
Electron Bot
269a93177d Bump v7.0.0-nightly.20190706 2019-07-06 08:31:06 -07:00
Jeremy Apthorp
731edbe2b6 fix: dump correct breakpad symbols on macOS (#19042)
* fix: dump correct symbols on macOS

* refactor symbol dumping

* .exe/.dll on windows

* dump .exe.pdb/.dll.pdb; also add path for msdia140.dll

* undo breakpad_symbols.zip rename

* dump_syms.exe doesn't support -i on windows

* remove unused windows symbol generation script

* win fix 🤞🤞

* import errno

* use out_dir

* i tender my resignation
2019-07-05 10:38:30 -07:00
Electron Bot
acdb290469 Bump v7.0.0-nightly.20190705 2019-07-05 08:31:30 -07:00
Milan Burda
87b1dab497 fix: check parent-child relationship in canAccessWindow (#19077) 2019-07-04 18:22:08 +02:00
Electron Bot
c933d19a1b Bump v7.0.0-nightly.20190704 2019-07-04 08:32:21 -07:00
Cheng Zhao
2a3793485f feat: implement net module with NetworkService (#19094)
* Stub class for NetworkService-based URLRequest

* Create SimpleURLLoader

* Implement downloading

* Implement response event

* Only write data afte previous one finished

* Use DataPipeGetter for uploading data

* Support chunked upload data

* Call size callback at last

* Simplify UploadDataPipeGetter

* Implement cancelling and closing

* Handle redirection

* Fix uploading large data

* Emit error when request fails

* Emit error for redirection error

* Simplify emitting error

* "follow" should also emit "redirect" event

* SetLoadFlags is not really used

* Implement GetUploadProgress

* Implement FollowRedirect

* Fix exception with multiple redirections

* Reduce number of EmitEvent methods

* Emit response errors

* FetchRedirectMode => RedirectMode
2019-07-04 10:56:19 +09:00
Samuel Attard
4b674c1daf build: ensure that we bundle the correct version of @types/node (#19102) 2019-07-03 16:36:59 -07:00
Samuel Attard
5a1b661f42 fix: use bidning.ipc instead of binding.sendTo which is undefined (#19103) 2019-07-03 16:36:44 -07:00
Samuel Attard
e6108740c0 fix: handle no env in externsion world set up (#19101)
Previously when GetEnvironment returned null this extension setup
crashed.
2019-07-03 15:42:06 -07:00
Jeremy Apthorp
da64fae690 test: disable IAP tests that hit Apple servers (#19100) 2019-07-03 15:41:37 -07:00
Shelley Vohr
43b4a3ae6a chore: deprecate some NSVisualEffectMaterial types (#19072) 2019-07-03 14:56:03 -07:00
Electron Bot
d362be5cd9 chore: bump chromium to f156cb7658ec5382f5623a05841c6 (master) (#19096)
* chore: bump chromium in DEPS to 37cd06a295cf156cb7658ec5382f5623a05841c6

* update patches

* fix: replace NO_TRAFFIC_ANNOTATION_YET with MISSING_TRAFFIC_ANNOTATION

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1653256
2019-07-03 14:48:55 -07:00
Jeremy Apthorp
ae01a48fca chore: fix node ref to point to the ref that was merged (#19098) 2019-07-03 14:08:21 -07:00
Jeremy Apthorp
d1292833e9 chore: remove unused BrowserWindow.fromDevToolsWebContents (#19090) 2019-07-03 12:07:47 -07:00
Shelley Vohr
8782d06ed6 feat: convert webContents primitives to properties (#18998)
* feat: convert webContents primitives to properties

* address feedback from review
2019-07-03 08:57:10 -07:00
Electron Bot
de072c6ef5 Bump v7.0.0-nightly.20190703 2019-07-03 08:31:34 -07:00
Milan Burda
69ea0b4ebf fix: ignore non-absolute session preload script paths when sandboxed (#19066) 2019-07-03 08:05:45 -07:00
Electron Bot
50b9c7051e chore: bump chromium to f1d9522c04ca8fa0a906f88ababe9 (master) (#18648)
* chore: bump chromium in DEPS to 675d7dc9f3334b15c3ec28c27db3dc19b26bd12e

* chore: update patches

* chore: bump chromium in DEPS to dce3562696f165a324273fcb6893f0e1fef42ab1

* chore: const interfaces are being removed from //content

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1631749
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=908139

* chore: update patches

* chore: blink::MediaStreamType is now consistent and deduplicated

* chore: update patches and printing code for ref -> uniq

* chore: bridge_impl() --> GetInProcessNSWindowBridge

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1642988

* fixme: TotalMarkedObjectSize has been removed

* chore: fix linting

* chore: bump chromium in DEPS to 9503e1a2fcbf17db08094d8caae3e1407e918af3

* chore: fix slightly broken printing patch

* chore: update patches for SiteInstanceImpl changes

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1612025

* chore: update patches for SiteInstanceImpl changes

* chore: bump chromium in DEPS to 6801e6c1ddd1b7b73e594e97157ddd539ca335d7

* chore: update patches

* chore: bump chromium in DEPS to 27e198912d7c1767052ec785c22e2e88b2cb4d8b

* chore: remove system_request_context

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1647172

* chore: creation of FtpProtocolHandler needs an auth cache

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1639683

* fixme: disable marked spec

* chore: bump chromium in DEPS to 3dcd7fe453ad13a22b114b95f05590eba74c5471

* chore: bump chromium in DEPS to bdc24128b75008743d819e298557a53205706e7c

* chore: bump chromium in DEPS to 7da330b58fbe0ba94b9b94abbb8085bead220228

* update patches

* remove TotalMarkedObjectSize

https://chromium-review.googlesource.com/c/chromium/src/+/1631708

* add libvulkan.so to dist zip manifest on linux

* chore: bump chromium in DEPS to 1e85d0f45b52649efd0010cc9dab6d2804f24443

* update patches

* add angle features to gpuinfo

https://chromium-review.googlesource.com/c/chromium/src/+/1638658

* mark 'marked' property as deprecated

* disable webview resize test

* FIXME: disable vulkan on 32-bit arm

* chore: bump chromium in DEPS to cd0297c6a83fdd2b1f6bc312e7d5acca736a3c56

* Revert "FIXME: disable vulkan on 32-bit arm"

This reverts commit 5c1e0ef302a6db1e72231d4e823f91bb08e281af.

* backport from upstream: fix swiftshader build on arm

https://swiftshader-review.googlesource.com/c/SwiftShader/+/32768/

* update patches

* viz: update OutputDeviceWin to new shared memory api

https://chromium-review.googlesource.com/c/chromium/src/+/1649574

* base::Contains{Key,Value} => base::Contains

https://chromium-review.googlesource.com/c/chromium/src/+/1649478

* fixup! viz: update OutputDeviceWin to new shared memory api

* stub out StatusIconLinuxDbus-related delegate methods

https://chromium-review.googlesource.com/c/chromium/src/+/1638180

* chore: bump chromium in DEPS to 964ea3fd4bdc006d62533f5755043076220181f1

* Remove the BrowserContext methods to create URLRequestContexts for main/media partitions when a partition_domain is specified

https://chromium-review.googlesource.com/c/chromium/src/+/1655087

* fixup! stub out StatusIconLinuxDbus-related delegate methods

* add remote_cocoa to chromium_src deps

https://chromium-review.googlesource.com/c/chromium/src/+/1657068

* fixup! stub out StatusIconLinuxDbus-related delegate methods

* attempt at fix linux-debug build

* add swiftshader/libvulkan.so to arm manifest

* chore: bump chromium in DEPS to 28688f76afef27c36631aa274691e333ddecdc22

* update patches

* chore: bump chromium in DEPS to fe7450e1578a9584189f87d59d0d1a8548bf6b90

* chore: bump chromium in DEPS to f304dfd682dc86a755a6c49a16ee6876e0db45fb

* chore: bump chromium in DEPS to f0fd4d6c365aad9edd83bdfff9954c47d271b75c

* Update patches

* Remove no longer needed WOA patch

* Put back IOThread in BrowserProcess

We need this until we enable the network service.

* move atom.ico to inputs

* Update to latest LKGR to fix no template named 'bitset' in namespace 'std'

* fixup! Put back IOThread in BrowserProcess

* chore: bump chromium in DEPS to dcf9662dc9a896a175d791001350324167b1cad3

* Update patches

content_allow_embedder_to_prevent_locking_scheme_registry.patch is no longer necessary as it was upstreamed via https://chromium-review.googlesource.com/c/chromium/src/+/1637040

* Fix renamed enum

* Use newer docker container

Contains updated dependencies

* Try to track down arm test failures

* Fix arm tests

* chore: bump chromium in DEPS to 8cbceef57b37ee14b9c4c3405a3f7663922c5b5d

* Update patches

* Add needed dependencies for testing 32-bit linux

* Remove arm debugging.

* Remove additional debugging

* Fix compiler errors

* Handle new macOS helper

* Fix compile error on Linux

* chore: bump chromium in DEPS to 66a93991ddaff6a9f1b13d110959947cb03a1860

* Add new helper files to manifests

* fix BUILD.gn for macOS

* Fix compile errors

* Add patch to put back colors needed for autofill/datalist

* chore: bump chromium in DEPS to e89617079f11e33f33cdb3924f719a579c73704b

* Updated patches

* Remove no longer needed patch

* Remove no longer needed patch

* Fix compile error with patch

* Really fix the patch

* chore: bump chromium in DEPS to c70f12476a45840408f1d5ff5968e7f7ceaad9d4

* chore: bump chromium in DEPS to 06d2dd7a8933b41545a7c26349c802f570563fd5

* chore: bump chromium in DEPS to b0b9ff8f727deb519ccbec7cf1c8d9ed543d88ab

* Update patches

* Fix compiler errors

* Fix removed ChromeNetLog

* Revert "Fix removed ChromeNetLog"

This reverts commit 426dfd90b5ab0a9c1df415d71c88e8aed2bd5bbe.

* Remove ChromeNetLog.

https://chromium-review.googlesource.com/c/chromium/src/+/1663846

* chore: bump chromium in DEPS to fefcc4926d58dccd59ac95be65eab3a4ebfe2f29

* Update patches

* Update v8 patches

* Fix lint error

* Fix compile errors

* chore: bump chromium in DEPS to 4de815ef92ef2eef515506fe09bdc466526a8fd9

* Use custom protocol to test baseURLForDataURL

* Use newer SDK (10.0.18362) for Windows

* Update patches

* Update arm manifest since swiftshader reenabled.

* Don't delete dir that isn't ever there.

* Fix compile errors.

* Need src dir created

* Update for removed InspectorFrontendAPI.addExtensions

* Revert "Use newer SDK (10.0.18362) for Windows"

This reverts commit 68763a0c88cdc44b971462e49662aecc167d3d99.

* Revert "Need src dir created"

This reverts commit 7daedc29d0844316d4097648dde7f40f1a3848fb.

* Revert "Don't delete dir that isn't ever there."

This reverts commit bf424bc30ffcb23b1d9a634d4df410342536640e.

* chore: bump chromium in DEPS to 97dab6b0124ea53244caf123921b5d14893bcca7

* chore: bump chromium in DEPS to c87d16d49a85dc7122781f6c979d354c20f7f78b

* chore: bump chromium in DEPS to 004bcee2ea336687cedfda8f8a151806ac757d15

* chore: bump chromium in DEPS to 24428b26a9d15a013b2a253e1084ec3cb54b660b

* chore: bump chromium in DEPS to fd25914e875237df88035a6abf89a70bf1360b57

* Update patches

* Update node to fix build error

* Fix compile errors

* chore: bump chromium in DEPS to 3062b7cf090f1d9522c04ca8fa0a906f88ababe9

* chore: update node ref for pushed tags

* chore: update patches for new chromium

* chore: fix printing patches

* Use new (10.0.18362) Windows SDK

* roll node to fix v8 build issues in debug build

* Add support for plugin helper

* fix: add patch to fix gpu info enumeration

Can be removed once CL lands upstream.

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1685993

* spec: navigator.requestMIDIAccess now requires a secure origin

This test requires a secure origin so we fake one.

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1657952

* FIXME: temporarily disable SharedWorker tests

* use released version of node-abstractsocket

* fix abstract-socket
2019-07-02 18:22:09 -07:00
Samuel Attard
9bef48216f build: update our nan reference to point at the upstream (#19084)
The required fix has landed, let's target upstream
2019-07-02 13:54:22 -07:00
Jeremy Apthorp
616856552f test: fix flaky onbeforeunload tests (#19085) 2019-07-02 13:48:58 -07:00
Jeremy Apthorp
c2d78deeca test: attempt to fix flaky webview.clearHistory test (#19083) 2019-07-02 13:48:26 -07:00
Electron Bot
39c4a5411d Bump v7.0.0-nightly.20190702 2019-07-02 08:32:51 -07:00
Chase Colman
9a4e551c8b docs: fix undefined isMac in menu example (#19071)
* docs: fix undefined isMac in menu example

* docs: remove ; in example
2019-07-02 10:09:10 -05:00
Jerry Wu
dee331519c fix: disable nodeIntegration & insecure resource warnings for localhost (#18814)
* fix: disable remote host nodeIntegration warning for localhost

In warnAboutNodeWithRemoteContent(), add a check to see if the hostname
is "localhost" and prevent the warning message if it is.

* fix: disable loading insecure resources warning for localhost

In warnAboutInsecureResources(), filter out resources from localhost
since they are most likely not a threat.

* test: add tests for ignoring security warnings when using localhost

Add tests for ignoring warning messages for the following scenarios:
  1. node integration with remote content from localhost
  2. loading insecure resources from localhost

* test: fix insecure resource test

* test: pass nodeIntegration with remote test on did-finish-load

* test: maybe fix node integration test (error w/ conv circular struct)

* test: update test description

* test: use "load" event to check when nodeIntegration test has finished

Instead of relying on the "did-finish-load" event, which may result in
a race condition, add an "onload" handler that logs "loaded" to the
console. This will execute _after_ the nodeIntegration check, so it
can be safely used as a signal to indicate that the test is done.

* test: rename base-page-security-load-message.html

* fix: ignore enabled remote module warning for localhost

* refactor: add isLocalhost()
2019-07-02 19:36:50 +09:00
Samuel Attard
4e2990d3aa docs: make the dialog example work out of the box on all 3 platforms (#19055) 2019-07-01 16:53:07 -07:00
Shelley Vohr
21d04ed3f4 feat: improve callback value for webContents.print() (#19000)
Resolves #18980.

Adds granularity to the optional callback in webContents.print() by adding a failureType value in addition to the success boolean that differentiates between cancelled and failed print jobs.
2019-07-01 14:03:19 -07:00
Shelley Vohr
5154b95447 chore: update @types/node and @primer/octicons (#19025) 2019-07-01 11:25:45 -07:00
Heilig Benedek
5a3073128c fix: add shell=True to make run-gn-format run properly on Windows (#18993) 2019-07-01 10:47:16 -07:00
Erick Zhao
c7da54e82a fix: Correct modal focus behavior on macOS (#18995)
Fixes #18502

This PR changes the focus and blur events that we emit in Electron to listen to changes in key window rather than main window. It swaps out windowDidBecomeMain and windowDidResignMain for windowDidBecomeKey and windowDidResignKey, respectively.
2019-07-01 10:07:26 -07:00
Electron Bot
3173b66d00 Bump v7.0.0-nightly.20190701 2019-07-01 08:31:22 -07:00
Shelley Vohr
3038846f5d chore: DirectoryLister memory management improvement (#18634)
* chore: small memory management improvement

Co-authored-by: Charles Kerr <ckerr@github.com>

* chore: fix code style

* use start-from-one ref count, check ref_counted.h for motivations
* reuse list_base_dir_
* net::DirectorLister offloads directory enumeration to a different
  task sequence in its implementation, use of sequence runner on
  our end is unnecessary
* Don't manually `Release` in `WebContentsDestroyed`, content::FileSelectListener
  already handles this case.
2019-07-01 07:58:06 -07:00
Milan Burda
3859244a79 chore: remove unused switches::kDisableHtmlFullscreenWindowResize (#19041) 2019-07-01 11:58:39 +09:00
Erick Zhao
cc223d7cd2 fix: fire close event upon closing modal BrowserWindow in macOS (#19014)
* fix: emit close event from modal on macOS

* fix: Move fn call to correct spot

* refactor: call notify fn directly
2019-07-01 11:57:31 +09:00
Electron Bot
f62d9f1411 Bump v7.0.0-nightly.20190630 2019-06-30 08:31:45 -07:00
Shelley Vohr
0348b60a34 feat: add a series of new printing options (#18984) 2019-06-29 22:12:00 -07:00
Electron Bot
684d1838f9 Bump v7.0.0-nightly.20190629 2019-06-29 08:31:55 -07:00
Jeremy Apthorp
6ece477779 refactor: nws13n: setCertificateVerifyProc (#18221) 2019-06-28 15:22:23 -07:00
Erick Zhao
e03a40026a fix: correct triggeredByAccelerator Event property behavior (#18865)
Fixes #18808

Previously, the triggeredByAccelerator flag would be entirely coupled with whether or not the modifier keys were being used or not.

This PR swaps out the ui::EventFlagsFromModifiers([event modifierFlags])) call in the macOS code to ui::EventFlagsFromNSEventWithModifiers(event, [event modifierFlags])). The latter outputs flags that take into account mouse click events on top of modifier flags (see Chromium documentation).

The business logic to detect triggeredByAccelerator is then changed to exclude any mouse click flags.
2019-06-28 14:38:17 -07:00
Samuel Attard
6eed4a98ce fix: do not remove node globals when context isolation is enabled (#18967) 2019-06-28 14:37:00 -07:00
Cheng Zhao
1d8e16bc6e docs: UploadData does not have contentType (#19026) 2019-06-28 11:19:01 -07:00
Electron Bot
23b8c9c917 Revert "Bump v7.0.0-nightly.20190628"
This reverts commit 769dcce9d7.
2019-06-28 09:07:12 -07:00
Electron Bot
769dcce9d7 Bump v7.0.0-nightly.20190628 2019-06-28 08:31:15 -07:00
Shelley Vohr
a4f61565c3 fix: crash when tray popup called twice (#18999) 2019-06-28 08:24:54 -07:00
Micha Hanselmann
e44bb8474b test: move tray api tests to main process (#18986) 2019-06-28 07:43:04 -07:00
Cheng Zhao
0a9438dbba docs: documentation of NetworkService-based protocol module (#18952)
* docs: NetworkService-based protocol module

* docs: separate ProtocolRequest

* docs: separate ProtocolResponse

* docs: fix lint warning

* docs: fix electron.d.ts

* fix: print deprecation warnings for protocol module

* docs: fix links

* Apply suggestions from code review

Co-Authored-By: Felix Rieseberg <felix@felixrieseberg.com>

* Apply suggestions from code review

Co-Authored-By: Samuel Attard <samuel.r.attard@gmail.com>

* Do not publish NetworkService changes draft

* Apply suggestions from code review

Co-Authored-By: Samuel Attard <samuel.r.attard@gmail.com>

* docs: filePath must be absolute
2019-06-28 16:25:30 +09:00
Samuel Attard
127d617db5 fix: delay emitting screen events by a tick to avoid re-entrancy crash (#19016) 2019-06-27 19:01:28 -07:00
Shelley Vohr
1a6a16e346 docs: fix platform location for params (#18987) 2019-06-27 14:51:18 -07:00
Jeremy Apthorp
ec8697bcdc test: move protocol specs to main process (#18923) 2019-06-27 14:20:29 -07:00
Electron Bot
fdb2502a19 Bump v7.0.0-nightly.20190627 2019-06-27 08:31:59 -07:00
Shelley Vohr
e8e360a902 fix: silent printing mode (#18979) 2019-06-26 20:53:17 -07:00
Micha Hanselmann
819cebff5d change menu item docs (#18985) 2019-06-26 20:20:04 -07:00
Samuel Attard
c1ad0725d8 build: fix include paths so that __file__ is absolute not relative (#18997) 2019-06-26 11:32:42 -07:00
Shelley Vohr
6243dba068 chore: use ScopedPumpMessagesInPrivateModes in tray (#18977)
* chore: use ScopedPumpMessagesInPrivateModes in tray

* revert refcounting of AtomMenuModel

* Prefer WeakPtr for posting tasks to handle unexpected destruction
2019-06-26 10:18:53 -07:00
Electron Bot
d643921313 Bump v7.0.0-nightly.20190626 2019-06-26 08:31:57 -07:00
Shelley Vohr
5298358b72 fix: set size of GTK about panel icon (#18957) 2019-06-25 22:17:30 -07:00
Alexandre Lacheze
2b3a256647 docs: precise that node integration is enabled in natively opened window if nodeIntegrationInSubFrames is true (#18156) 2019-06-25 21:03:23 -07:00
Shelley Vohr
c87394ee25 feat: show optional authors in gtk about panel (#18964)
* feat: show optional authors in gtk about panel

* chore: use a base::Value for about dialog options on Linux

* docs: mark 'version' as supported on Linux too
2019-06-25 11:31:14 -07:00
Electron Bot
ab5ec0af33 Bump v7.0.0-nightly.20190625 2019-06-25 08:32:04 -07:00
Shelley Vohr
dc2cd8e780 fix: make tray not block main process (#18880)
* fix: make tray not block main process

* make AtomMenuModel refcounted
2019-06-24 19:30:26 -07:00
Shelley Vohr
24ffc3cfb0 docs: update badges (#18955) 2019-06-24 14:09:17 -07:00
Julien Isorce
99e3de56df spec: fix flakiness of test BrowserWindow.moveTop (#18962)
Wait for the focus event because checking focus status.
BrowserWindow.show gives focus to the window but there is
a moment where the window is shown but does not have the
focus yet. And the test was failing at this moment.
2019-06-24 13:41:42 -07:00
Milan Burda
1304f259cc spec: remove unused variables (#18947) 2019-06-24 13:41:20 -05:00
Micha Hanselmann
ed5c624b08 move screen api test to main process (#18956) 2019-06-24 11:30:47 -07:00
Samuel Attard
764be844ec fix: override the timers module impls to activate the uv loop (#18948) 2019-06-24 10:18:29 -07:00
Samuel Attard
fb01c94511 build: clean up scripts folder, move release scripts, move zip manifest logic (#18945)
* build: move zip manifest logic in zip_manifests dir

* build: remove unused get-version.py script

* chore: move all release/sudowoodo related scripts into script/releases

* chore: update paths to zip manifests in CI configs

* build: fix path to ci release build script for arm tests
2019-06-24 10:18:04 -07:00
Samuel Attard
5686a0713e fix: make isDarkMode correctly detect dark mode in the auto setting on catalina (#18949) 2019-06-24 10:17:38 -07:00
Electron Bot
1cd7c21f38 Bump v7.0.0-nightly.20190624 2019-06-24 08:31:27 -07:00
Electron Bot
a084093d73 Bump v7.0.0-nightly.20190623 2019-06-23 08:31:00 -07:00
Samuel Attard
79ac99c09b build: remove scripts in the tools dir that are unused (#18944) 2019-06-22 22:29:22 -07:00
Electron Bot
e8c8328081 Bump v7.0.0-nightly.20190622 2019-06-22 08:31:58 -07:00
Charles Kerr
792f6b246c docs: fix spelling and grammar errors (#18910) 2019-06-21 16:19:21 -05:00
Shelley Vohr
bef9610f6a chore: account for remotes in branch parsing (#18930) 2019-06-21 13:58:59 -07:00
Micha Hanselmann
81497c7f2e fix: sanitize invalid custom protocol headers (#18854) 2019-06-21 09:23:57 -07:00
Electron Bot
236d552d6a Bump v7.0.0-nightly.20190621 2019-06-21 08:31:04 -07:00
Shelley Vohr
57c099d8b8 chore: fix branch trimming for blast-off releases (#18907) 2019-06-20 13:12:05 -07:00
Shelley Vohr
7e5ea179a1 chore: remove unneeded require (#18863)
* chore: remove unneeded require

* chore: update lockfile
2019-06-20 12:28:13 -07:00
Shelley Vohr
536327151d refactor: make savePath a property on DownloadItem (#18677) 2019-06-20 10:04:57 -07:00
Jeremy Apthorp
e95d2129be spec: de-flake ses.protocol test (#18884) 2019-06-20 09:54:33 -07:00
Electron Bot
c27231ce5c Bump v7.0.0-nightly.20190620 2019-06-20 08:31:49 -07:00
David Sanders
6251a6d307 fix: typo in comment (#18899) 2019-06-20 10:11:38 -05:00
Milan Burda
f3f2990b9e feat: sandbox renderer processes for cross-origin frames (#18650) 2019-06-20 12:10:56 +02:00
Jeremy Apthorp
23286fe557 fix: bundle swiftshader and ANGLE libraries on mac (#18870)
Fixes #18639. Not sure what exactly caused this to start breaking now, but these libraries appeared in https://chromium-review.googlesource.com/c/chromium/src/+/955949/ and got enabled by default on mac here https://chromium-review.googlesource.com/c/chromium/src/+/1005017/. The call during gpu process startup that was causing this crash was added here https://chromium-review.googlesource.com/c/chromium/src/+/1599993.
2019-06-19 18:14:51 -07:00
Samuel Attard
dca583a77f build: add an FYI job for building with RUN_AS_NODE disabled (#18890) 2019-06-19 18:10:04 -07:00
Samuel Attard
34c4c8d508 refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
Samuel Attard
8c4496a9c9 chore: replace atom path with shell in scripts 2019-06-19 17:33:28 -07:00
Samuel Attard
56930338e8 chore: fix linting after shell rename 2019-06-19 17:33:28 -07:00
Samuel Attard
2160c1fcc9 refactor: replace includes for atom with shell 2019-06-19 17:33:28 -07:00
Samuel Attard
d7f07e8a80 refactor: rename the atom directory to shell 2019-06-19 17:33:28 -07:00
Milan Burda
4575a4aae3 Revert "feat: only allow bundled preload scripts (#17308)" (#18091)
This reverts commit 8cf15cc931.
2019-06-20 08:39:12 +09:00
Jeremy Apthorp
257fd2c0df spec: move more BrowserWindow specs to main runner (#18610)
* test: move more BrowserWindow specs to main runner

* more movey

* maximized/minimized events don't work on linux?

* try for better printing of non-equal bounds

* add a timeout when checking window bounds after resize

* add a timeout when reading content size

* setTimeout...?

* try a smaller window size
2019-06-20 08:38:21 +09:00
Milan Burda
aa522731a2 fix: building with enable_run_as_node disabled (#18887) 2019-06-19 16:15:14 -07:00
Jacob Groundwater
5247fe6038 Merge pull request #18891 from electron/groundwater-patch-1
docs: Document our existing language policy
2019-06-19 15:57:43 -07:00
Jacob Groundwater
5cb25c27b0 Update CONTRIBUTING.md
Co-Authored-By: Lee Dohm <1038121+lee-dohm@users.noreply.github.com>
2019-06-19 15:52:11 -07:00
Jacob Groundwater
f8f0540487 Update CONTRIBUTING.md
Co-Authored-By: Lee Dohm <1038121+lee-dohm@users.noreply.github.com>
2019-06-19 15:45:33 -07:00
Jacob Groundwater
ee01810395 Document our existing language policy 2019-06-19 15:41:32 -07:00
Milan Burda
79f0c444fd fix: app.getAppPath() returning default-app path for files or directories without package.json (#18763) 2019-06-19 23:34:22 +02:00
Samuel Attard
7201845894 refactor: auto generate electron_version.h from the version file (#18866)
* refactor: auto generate electron_version.h from the version file

* Update BUILD.gn

Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>
2019-06-19 14:31:55 -07:00
Micha Hanselmann
504edf2cf6 test: correct fake tests in api-protocol-spec (#18869)
* fix protocol 404 fake tests

* fix another fake test

* fix last fake test (hopefully)
2019-06-19 13:40:49 -07:00
Samuel Attard
0146cc0eb5 fix: delay handling occlusion events to avoid flicker on macOS (#18661)
* chore: add debounce on the updateWebContentsVisibility method to ensure quick changes in occlusion do not result in flickering

* chore: update old patch headers
2019-06-19 12:51:25 -07:00
Samuel Attard
00d18917d0 build: add basic linting for the patches folder to ensure that .patches match the state on disk (#18615) 2019-06-19 10:48:15 -07:00
Samuel Attard
ae49aa4a03 chore: roll node to fix http2 memory leak (#18868) 2019-06-19 10:47:23 -07:00
Electron Bot
98bc0ae7ee Bump v7.0.0-nightly.20190619 2019-06-19 08:31:49 -07:00
Milan Burda
edb56500c7 refactor: piggy-back on ELECTRON_BROWSER_SANDBOX_LOAD to get content scripts (#18823) 2019-06-19 17:23:44 +02:00
Jeremy Apthorp
450aa33775 ci: add a space at the end of NINJA_STATUS (#18871) 2019-06-19 10:03:05 -04:00
Shelley Vohr
a0b2810640 chore: add ability to log native deprecation warnings (#18681)
* chore: add ability to log native deprecation warnings

* take std::string, handle conversion later

* address feedback from @ckerr's review

* simplify with feedback from zcbenz
2019-06-19 08:46:36 +09:00
Samuel Attard
a42ed950ca build: add env var to allow easily triggering a 3way patch (#18448) 2019-06-18 15:15:06 -07:00
Samuel Attard
c720803413 build: enforce frozen lockfile on the lint stage (#18867) 2019-06-18 16:42:42 -05:00
Shelley Vohr
b98c1d0472 chore: remove unused enum (#18848) 2019-06-18 11:27:48 -07:00
Jerry Wu
d5811607eb fix: extra space in security warning message causing list misalignment (#18815) 2019-06-18 09:59:02 -07:00
Electron Bot
3f7cce6d8c Bump v7.0.0-nightly.20190618 2019-06-18 08:31:47 -07:00
Shelley Vohr
1aac7ac9d0 chore: fix current branch fetch on master (#18844) 2019-06-18 07:54:32 -07:00
Samuel Attard
ccd15fc12e refactor: auto generate Info.plist to avoid bumping during releases (#18849) 2019-06-17 15:56:15 -07:00
Milan Burda
0af3548b55 feat: add security warning for remote module with remote content (#18822) 2019-06-17 14:21:30 -07:00
Samuel Attard
4dc38d39e9 refactor: replace atom_version and friends with electron_version (#18847) 2019-06-17 13:37:55 -07:00
Milan Burda
c9bca78a7a refactor: use async invoke to get webPreferences in security-warnings.ts (#18821) 2019-06-17 10:57:09 -07:00
Heilig Benedek
5a08522b98 feat: add removeInsertedCSS (#16579) 2019-06-17 11:39:35 -04:00
Milan Burda
deebde66f9 feat: make async webContents / <webview> methods return a Promise (#18792) 2019-06-17 12:10:02 +03:00
Shelley Vohr
632bbf948d build: get current release branch from commit (#18810)
When we blast off again, we check out a commit so the current branch ends up being incorrect and is HEAD rather than X-Y-Z. This therefore no longer just runs git rev-parse --abbrev-ref HEAD; it instead checks to ensure that the result of that call matches the release branch pattern. If it doesn't, it fetches the containing branch for the commit.

Since we only ever blast off from bump commits, we can safely assume that only one release branch will ever contain the bump commit and therefore be the one we want to use when tagging the release on npm.
2019-06-16 20:56:43 -07:00
Shelley Vohr
77d5e0c1ef docs: better explain supported release line levels (#18800) 2019-06-17 09:15:37 +09:00
Electron Bot
8959c98251 Bump v7.0.0-nightly.20190616 2019-06-16 08:31:00 -07:00
cclauss
1d6e5e6e70 fix: use print() function in both Python 2 and Python 3 (#18395)
Legacy print statements are syntax errors in Python 3 but print() function works as expected in both Python 2 and Python 3.

Old style exceptions are syntax errors in Python 3 but new style exceptions work as expected in both Python 2 and Python 3.
2019-06-15 10:26:09 -07:00
Electron Bot
7d0a93858d Bump v7.0.0-nightly.20190615 2019-06-15 08:31:45 -07:00
Nicolas Ramz
d59689b170 UPDATED: electron-windows-store command line (#18499)
The `flatten` option has been removed from electron-windows-store dcc654df2e so running the command would produce an error:

> error: unknwon option --flatten
2019-06-15 20:39:19 +09:00
Kilian Valkhof
d77159a19e docs: add information about persistence and removal of DevTools Extensions (#18519)
* docs: add information about persistence and removal of DevTools Extensions

* Update devtools-extension.md

* Remove trailing space
2019-06-15 20:38:55 +09:00
Milan Burda
370e9522b4 refactor: re-implement desktop-capturer in TypeScript (#18580) 2019-06-15 19:44:18 +09:00
John Kleinschmidt
4ef8de69ef build: show ninja stats for testing/debug builds (#18653)
* build: show ninja stats for testing/debug builds

* Update .circleci/config.yml

Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>

* Use regular depot tools instead of third party one

* I forget where depot tools lives

* Fix depot tools path
2019-06-15 17:48:58 +09:00
Shelley Vohr
3309005325 chore: convert callbacks-registry to ts (#18682)
* chore: convert callbacks-registry to ts

* fix class import syntax

* move cb reg specs to spec-main
2019-06-15 17:18:25 +09:00
Mark Lee
441857c6e7 docs: reorganize application distribution links in table of contents (#18744)
* docs: fix link to supported platforms in TOC

* docs: move code signing under the distribution heading
2019-06-15 17:13:52 +09:00
Jeremy Apthorp
0a9df1e37d spec: deflake focus handling test (#18809) 2019-06-15 16:15:15 +09:00
Jeremy Apthorp
7b26048d9e test: unflake some net specs (#18782) 2019-06-14 16:26:07 -07:00
evelyn masso
45f5f2ba1a docs: add specific options for MenuItem.role (#18783) 2019-06-14 14:13:42 -07:00
Milan Burda
d9215dd4ce feat: add creationTime / sandboxed / integrityLevel to app.getAppMetrics() (#18718)
This is useful for checking which processes are sandboxed on OS level.

Regarding creationTime, since the pid can be reused after a process dies, it is useful to use both the pid and the creationTime to uniquely identify a process.
2019-06-14 12:39:55 -07:00
Samuel Attard
0bdc05bf24 build: use yarn to install arm modules (#18779) 2019-06-14 11:24:40 -07:00
Micha Hanselmann
83c3f71980 fix: use is_valid for cookie url validation (#18770)
Use is_valid instead of is_empty to validate url on cookies.set().
2019-06-14 10:56:21 -07:00
Electron Bot
44ea7ab093 Bump v7.0.0-nightly.20190614 2019-06-14 08:31:24 -07:00
Shelley Vohr
bfcce8aa27 refactor: pass MessageBox params as a struct (#18732)
Historically, we've been passing in all MessageBox parameters individually, which makes augmenting or improving MessageBox functionality challenging because to change or add even one argument requires a huge cascade of argument changes that leaves room for errors.

For other file dialog related APIs, we use a struct (DialogSettings), and so this PR takes a similar approach and refactors MessageBox parameters into a struct (MessageBoxSettings) which we then use to simplify argument passing and which will enable us to more quickly iterate and improve upon functionality in the future.
2019-06-14 08:26:25 -07:00
Shelley Vohr
ffb53405fb chore: convert extension apis to TypeScript (#18688)
Converts extensions-related files to TS
2019-06-14 07:52:24 -07:00
Milan Burda
6e327184bd fix: crash in BrowserWindow destructor after win.webContents.destroy() (#18686) 2019-06-14 11:44:36 +09:00
Milan Burda
da58ac7c20 refactor: use app.commandLine.getSwitchValue() for parsing user-data-dir (#18764) 2019-06-13 16:03:02 -07:00
Jeremy Apthorp
29decbdd4d ci: make console.warn work in tests (#18771) 2019-06-13 15:56:58 -07:00
Samuel Attard
390e7f5719 docs: fix invalid optional declaration (#18780) 2019-06-13 15:56:03 -07:00
Robo
5e320291b4 fix: HTML fullscreen request for sub frames (#18736)
Don't re-enter fullscreen if there is a pending operation,
for subframe fullscreen request `EnterFullScreenModeForTab`
will be called for both the frame in question as well as
the outer webContents hosting it.
2019-06-13 14:02:56 -07:00
Jeremy Apthorp
9856e5df3b chore: upgrade docs-parser to fix nondeterminism (#18750) 2019-06-13 13:45:08 -07:00
Samuel Attard
ac02ab9fde feat: provide the frame URL with permission requests and checks (#18757)
* feat: provide the frame URL with permission requests and checks

Also provides a handy isMainFrame property to determine if it is an
iframe making the request

* chore: refactor to use base::Value

* chore: use Set<Type>Key over SetPath
2019-06-13 11:11:43 -07:00
Electron Bot
7c76d0e34a Bump v7.0.0-nightly.20190613 2019-06-13 08:32:58 -07:00
Nitish Sakhawalkar
f98454e5dd fix: use crashpad on Windows (#18483)
* Initial changes to use crashpad for windows

* Remove crashpad patch

* Report error when failed to connect pipe

* Allow crashpad to communicate with named pipe

* Add patch to make crashpad named pipe work

* Windows also needs crashReporter on main process

* Call SetUnhandledExceptionFilter in node process

Node can also use crash reporter.

* Do not treat node process as browser process

* No more need to manually start crash service

* Use base::StringPrintf for better readbility

* Print error when pipe name not available

* Make sure pipe name is updated

Note that the crashpad may be started after renderer process gets
created.

* Fix some tests

* Update node

* Exclude crashpad files on Linux and MAS

* Fix lint warning

* Remove unused checks

* kCrashpadPipeName is only available on Windows

* Fix uploadToServer tests

* Fix extra params tests

* Fix getCrashesDirectory tests

* Run crashReporter tests on CI

* Style fixes

* Update crashreporter docs

* Rename InitBreakpad to Init

* Add comment for process_type_.empty() and UTF16ToASCII to UTF16ToUTF8.

* Update build.gn include crashpad headers

* Address comment https://github.com/electron/electron/pull/18483#discussion_r290887898

* Avoid using api::WebContents

* Put kRunAsNode in atom_constants

* Remove duplicate settings on upload params

* Fix building on macOS

* Update description for crashpad_pid_check.patch
2019-06-13 15:42:21 +09:00
Micha Hanselmann
ddec3c0e78 test: add test for invalid cookie url (#18751)
Co-Authored-By: Erick Zhao <erick@hotmail.ca>
2019-06-12 19:49:36 -07:00
Jeremy Apthorp
ba96cdb7dc refactor: mojofy autofill (#18723) 2019-06-12 15:08:22 -07:00
Shelley Vohr
ec10fd3044 fix: callback values for printing cancellation and success (#17400)
Callback false when disconnecting from the print job if the current printing job has not completed, and true if printing is triggered successfully.
2019-06-12 12:34:07 -07:00
Shelley Vohr
292a240e1b fix: correct isDownloadable docs to match impl (#18720) 2019-06-12 10:54:14 -07:00
Electron Bot
5317211b0b Bump v7.0.0-nightly.20190612 2019-06-12 08:32:19 -07:00
Robert Säll
0bf83b7183 fix: remove lingering data when notifications autodismiss on Windows 7 (#18401) 2019-06-12 08:39:25 +09:00
Cheng Zhao
0e3ab7c128 feat: migrate protocol module to NetworkService (Part 12) (#18726)
* Support "uploadData" in "request" argument

* Support "uploadData" option in http handler

* Fix building on win32
2019-06-12 08:37:06 +09:00
Jeremy Apthorp
e5d1e7b4da fix: move window.open postMessage test to main runner to fix flake (#18735) 2019-06-12 08:35:58 +09:00
Electron Bot
81ad355355 Bump v7.0.0-nightly.20190611 2019-06-11 08:31:46 -07:00
Cheng Zhao
3a1d6d2ce1 feat: migrate protocol module to NetworkService (Part 11) (#18706)
* Pipe data into HTTP protocol handlers

* Remove unused parameters

* Remove "sending request of http protocol urls" test

Sending request to "http://" in "file://" violates CORS rules and always
fail, before NetworkService somehow Chromium still sent a request even
though the request failed with CORS error, so the test passes while the
test is not valid. With NetworkService no request is sent at all and the
test jsut fails.

So this is an ancient invalid test, as sending http requests have been
fully covered in other tests, I am removing this test.
2019-06-11 14:07:58 +09:00
Shelley Vohr
c6dc7d5b79 chore: fix duplicate error string (#18713) 2019-06-10 17:14:58 -07:00
Shelley Vohr
af108764c7 chore: revert promisified systemPreferences notification methods
This reverts commit eec12b399a.
2019-06-10 09:34:21 -07:00
Electron Bot
4321df13f2 Bump v7.0.0-nightly.20190610 2019-06-10 08:32:07 -07:00
Jeremy Spiegel
64f7974252 fix: properly pass openExternal activate option (#18657)
* fix: properly pass openExternal activate option

A reference to an OpenExternalOptions structure was being captured by an Objective-C block that
outlived the object that was being referenced.

* Fix test in CI

* Don't check for activate on linux

* Close BrowserWindow
2019-06-10 07:40:05 -07:00
Electron Bot
605cd9bec9 Bump v7.0.0-nightly.20190609 2019-06-09 08:31:23 -07:00
Electron Bot
54449d044d Bump v7.0.0-nightly.20190608 2019-06-08 08:31:51 -07:00
Samuel Attard
ad54d38678 fix: use effectiveAppearance to check dark mode on mojave and above (#18666)
* fix: use effectiveAppearance to check dark mode on mojave and above

* chore: add forward declarations for dark appearance
2019-06-07 12:01:04 -07:00
Jeremy Apthorp
bb19142389 test: move some remote specs to the main runner (#18636) 2019-06-07 10:43:32 -07:00
Samuel Attard
a9f601612f fix: use isEqual instead of pointer equality to convert NSAppearance (#18665) 2019-06-07 09:55:29 -07:00
Electron Bot
b10c946564 Bump v7.0.0-nightly.20190607 2019-06-07 08:31:20 -07:00
Shelley Vohr
abab90f563 feat: allow resigning current NSUserActivity (#18659)
* feat: allow resigning current NSUserActivity

* wrap in @available check
2019-06-06 22:16:03 -07:00
Shelley Vohr
b30484d3a9 ci: allow use of .only in ci testing mode (#18678) 2019-06-06 17:12:22 -07:00
Felix Rieseberg
8da17ffe37 docs: Add missing document links to docs/readme (#18578)
* docs: Update Guides & Tutorials section

* docs: Update the list of docs

* Update docs/README.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/README.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/README.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* Update docs/README.md

Co-Authored-By: Mark Lee <malept@users.noreply.github.com>

* docs: Implement feedback
2019-06-06 11:39:21 -07:00
Electron Bot
8330507efd Bump v7.0.0-nightly.20190606 2019-06-06 08:31:44 -07:00
Shelley Vohr
eec12b399a feat: promisify systemPreferences notification methods (#18631)
* feat: promisify systemPreferences notification methods

* correct userInfo typedef
2019-06-06 07:47:18 -07:00
Jeremy Apthorp
4b9da4dd0e chore: remove mips64el patches as they've largely been upstreamed (#18628) 2019-06-05 16:36:17 -07:00
Samuel Attard
a45afddb75 build: unify YARN_VERSION variable usage and ensure CI uses yarn not npm (#18607)
* build: unify YARN_VERSION variable usage and ensure CI uses yarn not npm

* chore: use a JS helper so that it can work on windows

* chore: make script/yarn without node_modules installed
2019-06-05 16:30:39 -07:00
Samuel Attard
0fc172fcaf fix: reject the executeJavaScript promise when it fails to execute the script (#18635)
* fix: reject the executeJavaScript promise when it fails to execute the script

Closes #9102

* Update atom/renderer/api/atom_api_web_frame.cc

Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>

* Update atom/renderer/api/atom_api_web_frame.cc

Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>

* fix: missing semicolon
2019-06-05 15:43:02 -07:00
Robo
7d326f6bc5 chore: Remove AtomResourceDispatcherHostDelegate (#18623)
It is no longer used, follow up for
https://chromium-review.googlesource.com/c/chromium/src/+/1610892
2019-06-05 12:49:05 -07:00
Jeremy Apthorp
291ee2dafc refactor: use the URL api to resolve urls in window setup (#18611) 2019-06-05 10:21:06 -07:00
John Kleinschmidt
bd80e68698 ci: fix issues downloading from CircleCI (#18652)
Make sure we pass along token to download from CircleCI
Also, add back off period for retries on downloads.
2019-06-05 12:21:57 -04:00
Jeremy Apthorp
796d2636e6 ci: add windows zip manifest checking (#18629)
* ci: add windows zip manifest checking

* fix manifests
2019-06-05 11:58:11 -04:00
Electron Bot
aa030f9fd5 Bump v7.0.0-nightly.20190605 2019-06-05 08:31:31 -07:00
Shelley Vohr
a0b1f4fe0b refactor: convert browser window state fns to props (#18618) 2019-06-04 22:44:16 -07:00
Electron Bot
164cc43440 chore: bump chromium to bd6aad6a4b37dad7aae42fec349e9 (master) (#18626)
* chore: bump chromium in DEPS to f200986dfaabd6aad6a4b37dad7aae42fec349e9

* chore: BridgedNativeWidgetImpl was renamed to NativeWidgetMacNSWindowHost

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1640804

* refactor: remove MainMenu.xib as Chromium has removed its dependency on xcode and therefore all xibs

As we set default menus in JS land the default native menu is tiny, just
has a Quit button

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1627242

* chore: update zip manifests
2019-06-04 17:27:07 -07:00
Jeremy Apthorp
9e8bd433df fix: ensure correct ordering of sendSync w.r.t. send (#18630) 2019-06-04 17:10:31 -07:00
Jeremy Apthorp
ed5fb4a720 refactor: simplify content script injection (#18532) 2019-06-04 16:07:34 -07:00
Samuel Attard
f80601da16 docs: ensure that optionality matches between documented params and signatures (#18613)
* docs: ensure that optionality matches between documented params and signatures

* docs: ensure that all optional declarations are lower case

* chore: fix broken link
2019-06-04 14:03:24 -07:00
Milan Burda
69e32ad9ce refactor: use ipcRenderer.invoke / ipcMain.handle in default-app (#18581) 2019-06-04 18:13:35 +02:00
Electron Bot
74825e4df7 Bump v7.0.0-nightly.20190604 2019-06-04 08:31:17 -07:00
Electron Bot
d008d217f9 chore: bump chromium to 2a7aff41ce73adc0eeee67d364989 (master) (#18505)
* chore: bump chromium in DEPS to 07463d3cd628b037c11f36022cb4c788db4628e3

* chore: update patches

* fix: Don't leak system network context when nw service is disabled

https://chromium-review.googlesource.com/c/chromium/src/+/1632494
NetworkService is now deleted by using SequnceLocalStorageSlot
on the IO thread when the service is disabled, which expects
all associated NetworkContexts on that sequence to be destroyed.

* chore: bump chromium in DEPS to 7c16850e7e40990e141f47101b737ec1092175a1

* fix: Destroy all network contexts before primary network context

* Simplify out-of-process service registration

https://chromium-review.googlesource.com/c/chromium/src/+/1615882

* [ThreadPool] Rename base::ThreadPool to base::ThreadPoolInstance

https://chromium-review.googlesource.com/c/chromium/src/+/1634851

* chore: update patches

* fix: -Winconsistent-missing-override warnings

* chore: bump chromium in DEPS to 93ebfaccc12715df1d5426797998eed0932f7ae1

* Change CreateBrowserMainParts to return unique_ptrs

https://chromium-review.googlesource.com/c/chromium/src/+/1632532

* chore: update patches

* chore: bump chromium in DEPS to e656555ffb87bdd05e248d0a3ef9dd9d3433e17b

* chore: bump chromium in DEPS to 111e7a8d2e3ae9d70e535009d6afb066ac906063

* chore: bump chromium in DEPS to 9b6b84670d32a7aff41ce73adc0eeee67d364989

* chore: update patches

* chore: remove ShouldInterceptResourceAsStream as it is removed upstream

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1639597

* chore: remove ResourceDispatcherHostCreated as it is removed upstream

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1610892

* chore: CreateWithStrongBinding --> CreateWithSelfOwnedReceiver

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1636722

* chore: rename all blink media enums

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1639237

* chore: add accidentally removed patch content back
2019-06-03 20:44:12 -07:00
小菜
641e1d6587 doc: change pyobjc link in macos build instruction (#18471) 2019-06-03 18:57:13 -07:00
Jeremy Apthorp
d1371c5dd0 refactor: mojofy zoom api (#18608)
* refactor: mojofy zoom api

* remove unneeded #includes

* remove outdated comment
2019-06-04 10:18:22 +09:00
Samuel Attard
24b3d66767 refactor: remove electron.asar and embed JS in binary (#18577)
* refactor: remove electron.asar and embed JS in binary

* chore: update DEPS to merged node sha

* chore: remove unneeded eslint ignore
2019-06-03 17:03:59 -07:00
Jeremy Apthorp
901cdb22e3 test: move some BrowserWindow specs to the main runner (#18551) 2019-06-03 15:10:58 -07:00
Milan Burda
cf628d9287 refactor: remove menu-will-close / setTimeout workaround (#18582) 2019-06-03 16:48:01 -05:00
Richard Townsend
3c8acf3687 build: bring in a later compiler for Windows on Arm (#18591)
* build: allow pulling in a later version of Clang

Due to a code-generation defect related to virtual method thunks in the
official compiler used for Chromium M76, it's necessary to build for WoA
with a later version of Clang. When running gclient sync, setting
ELECTRON_BUILD_WOA=1 in the environment will download a corrected
compiler which doesn't have this defect.

* docs: add a note about building for Windows on Arm
2019-06-03 17:29:25 -04:00
Alexandre Lacheze
b4276835d8 fix: lost window.opener after cross-origin navigation (#18173)
* Get a site instance related to current one instead of creation a new one

Using `GetRelatedSiteInstance` will keep the relation (same browsing instance) between the current and the new site instance.

* Some relies on preloads in opened window

The fact that, now, we always have an opener for opened windows diables note integration in opened windows, except if `nodeIntegrationInSubFrames` is enabled.

* Add a test on window.opener after cross-orgin navigation

* Make sure to unregisterProtocol in tests

* Introduc and use a NetworkSandbox for tests

* Modify tests about zoom persistence to properly simulate cross-origin navigation

* Revert "Modify tests about zoom persistence to properly simulate cross-origin navigation"

This reverts commit 0a7537f2eb7f183ddec16637e8a2e92a0d600321.
2019-06-03 13:23:15 -07:00
Samuel Attard
cec61d010b refactor: lazily hook into child_process in asar_init (#18576)
Previously we loaded both fs and child_process and then hooked into
the returned value, relying on the module cache to keep our modifications
and give them to everyone.

Loading child_process took in excess of 20ms though so instead of loading
it and then hooking in.  We intercept all Module load requests, and when
the first one for `child_process` comes in, we wrap the appropriate methods
and then never touch it again.
2019-06-03 13:19:52 -07:00
Felix Rieseberg
cb4579fe28 docs: Fix incorrect dialog docs (#18227)
* docs: Fix incorrect dialog docs

We had multiple definitions for `showSaveDialog`.

* docs: Update, take two
2019-06-03 12:54:47 -07:00
Milan Burda
8b5473c170 build: strip swiftshader binaries (#18588) 2019-06-03 15:24:46 -04:00
Dana Woodman
4feb769378 docs: update community Slack URL to point to Discourse invite thread (#18222) 2019-06-03 12:06:06 -07:00
Joël Charles
fd9e031f0d docs: Update breaking changes on webFrame.setSpellCheckProvider (#17915)
* doc: Update breaking changes on webFrame.setSpellCheckProvider

* doc: fix example

* doc: lint: extra semicolon

* Update docs/api/breaking-changes.md

Co-Authored-By: magne4000 <joel.charles91@gmail.com>
2019-06-03 13:56:46 -05:00
Samuel Attard
0ee2f8a64a refactor: lazy load child_process in the crash-reporter module (#18574)
This module is on the hot load path and we don't need cp till later
2019-06-03 11:48:23 -07:00
Tomas Rycl
477b09db3e fix: don't export private V8 symbols that can cause native node modules to crash (#18281) 2019-06-03 11:45:30 -07:00
Nitish Sakhawalkar
911cdd809a Update gen-filenames.js to generate posix paths (#18488) 2019-06-03 11:43:55 -07:00
Alexey Kuzmin
7f369c3292 build: install python-dbusmock via pip for a Docker container (#18589)
* build: use python-dbusmock v0.18.1 on Linux

To prevent timeout errors with some other python-dbusmock versions.

* Don't use a fixed version of python-dbusmock

Co-Authored-By: John Kleinschmidt <jkleinsc@github.com>
2019-06-03 14:36:58 -04:00
Milan Burda
eedbdedef9 build: remove Vulkan mock ICD (#18546) 2019-06-03 20:17:57 +02:00
Jeremy Apthorp
0b25176893 refactor: mojofy draggable regions (#18536) 2019-06-03 10:43:04 -07:00
Shelley Vohr
52c76d737a refactor: make autoHideMenuBar a property on BrowserWindows (#18555) 2019-06-03 09:09:47 -07:00
Electron Bot
4cb6be453a Bump v7.0.0-nightly.20190603 2019-06-03 08:32:00 -07:00
Samuel Attard
18acda7888 perf: lazily create the anchor tag used for URL resolving (#18571) 2019-06-03 01:04:21 -07:00
Samuel Attard
449d2752f2 refactor: lazy load V8 module in browser/init (#18575) 2019-06-03 01:03:33 -07:00
Samuel Attard
bc527f6b51 refactor: bundle the browser and renderer process electron code (#18553)
* refactor: bundle the browser and renderer process electron code

* Bundles browser/init and renderer/init
  * Improves load performance of main process by ~40%
  * Improves load performance of renderer process by ~30%
* Prevents users from importing our "requiring" our internal logic such
as ipc-main-internal.  This makes those message buses safer as they are
less accessible, there is still some more work to be done though to lock
down those buses completely.
* The electron.asar file now only contains 2 files, as a future
improvement maybe we can use atom_natives to ship these two files
embedded in the binary
* This also removes our dependency on browserify which had some strange
edge cases that caused us to have to hack around require-order and
stopped us using certain ES6/7 features we should have been able to use
(async / await in some files in the sandboxed renderer init script)

TLDR: Things are faster and better :)

* fix: I really do not want to talk about it

* chore: add performance improvements from debugging

* fix: resolve the provided path so webpack thinks it is absolute

* chore: fixup per PR review

* fix: use webpacks ProvidePlugin to keep global, process and Buffer alive after deletion from global scope for use in internal code

* fix: bundle worker/init as well to make node-in-workers work

* chore: update wording as per feedback

* chore: make the timers hack work when yarn is not used
2019-06-02 13:03:03 -07:00
Electron Bot
a19e55a902 Bump v7.0.0-nightly.20190602 2019-06-02 08:31:21 -07:00
Shelley Vohr
9187759460 chore: fix logging to stderr (#18537) 2019-06-01 09:21:13 -07:00
Electron Bot
04dd52e4dc Bump v7.0.0-nightly.20190601 2019-06-01 08:31:36 -07:00
Jeremy Apthorp
90caedb552 chore: re-enable disabled time ticks dcheck (#18525) 2019-05-31 16:56:10 -07:00
Samuel Attard
87ae9324ac feat: Add option to conditionally disable site instance patches (#18396)
* chore: allow conditional disable of the site instance override patches at runtime

* feat: add app.allowRendererProcessReuse property to allow runtime disable of site instance overrides

spec: add tests for the new allowRendererProcessReuse property

feat: add console warnings / errors for loading non context-aware native modules
  * Only error if the patch is disabled
  * Warn all the time, this will ship in Electron 7
2019-05-31 15:47:18 -07:00
Samuel Attard
26155c8a00 fix: handle gzipped chrome WebUI resources (#18531)
Fixes: #18503
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1576232

For whatever reason Chromium made this change and then made the default
//content behavior to return false for all IsDataResourceGzipped
requests.  This PR updates our ContentClient impl to return the correct
values.

Notes: Fixed issues where some `chrome://*` URLs would not render
correctly
2019-05-31 13:05:35 -07:00
Jeremy Apthorp
81366b5bfb chore: remove upstreamed ffmpeg patch (#18524) 2019-05-31 14:08:11 -04:00
Jeremy Apthorp
c436997840 feat: add ipcRenderer.invoke() (#18449) 2019-05-31 10:25:19 -07:00
Electron Bot
b180fb376c Bump v7.0.0-nightly.20190531 2019-05-31 08:32:10 -07:00
Maya Wolf
ab70e854f8 fix: contractions handling in spellchecker (#18506)
This fixes #18459 by improving the handling of contractions in the spellcheck API. Specifically, it now accepts contraction words where the spellchecker recognizes the whole word, and not, as previously, just if it recognizes all of its parts.
2019-05-30 21:19:10 -07:00
John Kleinschmidt
a31faaae61 ci: add retries to downloads for arm testing (#18526) 2019-05-30 17:22:34 -07:00
Shelley Vohr
1e3e5a6619 refactor: set appLevelAppearance prop on systemPreferences (#18477)
* refactor: set appLevelAppearance prop on systemPreferences

* ensure backwards compat is tested
2019-05-30 17:12:46 -07:00
Jeremy Apthorp
ac35f41e8d test: move download-related session specs to main runner (#18508) 2019-05-30 15:05:02 -07:00
Shelley Vohr
554ee92b39 docs: specify use case for the 'services' role (#18484)
* docs: specify use case for the 'services' role

* update based on @caesar's recommendation

Co-Authored-By: Caesar Schinas <caesar@caesarschinas.com>
2019-05-30 14:33:48 -07:00
Samuel Attard
02dc1b266c docs: use | instead of 'or' for docs (#18512) 2019-05-30 10:32:46 -07:00
Electron Bot
81ba491e53 Bump v7.0.0-nightly.20190530 2019-05-30 08:32:32 -07:00
Milan Burda
09d544f6ad docs: remove obsolete callback argument from dialog.showOpenDialog() (#18496) 2019-05-30 12:00:22 +02:00
Milan Burda
a1226d75ff feat: add process.getBlinkMemoryInfo() (#17762) 2019-05-30 11:50:35 +02:00
Jeremy Apthorp
2dbd2c07e4 refactor: nws13n: session.allowNTLMCredentialsForDomains (#18129) 2019-05-29 16:43:06 -07:00
Jeremy Apthorp
f4c792d014 feat: enable reporting api (#18255) 2019-05-29 16:33:19 -07:00
Jeremy Apthorp
babe2b68fb test: move beforeunload tests to main runner and fix flake (#18432) 2019-05-29 13:38:14 -07:00
Shelley Vohr
9af5072115 chore: remove last instances of base::Bind (#18178)
* chore: remove last instances of base::Bind

* MessageBoxCallback is a OnceCallback

* convert permission helepr cbs to Once

* convert ResponseCallback to Once
2019-05-29 13:02:15 -07:00
Samuel Attard
96371b6d75 spec: run nan tests to ensure v8 compat has not broken (#18489) 2019-05-29 12:38:17 -07:00
Shelley Vohr
3d8db573d9 fix: reverse dialog cancel bool for openDialog (#18492) 2019-05-29 12:37:58 -07:00
Jeremy Apthorp
f5b3d00b47 ci: add check for dist zip file changes (#18446) 2019-05-29 09:40:02 -07:00
Electron Bot
471d457576 Bump v7.0.0-nightly.20190529 2019-05-29 08:31:37 -07:00
Shelley Vohr
03a02b8d6c fix: breakpad symbol generation on linux arm (#18490) 2019-05-28 20:15:17 -07:00
Samuel Attard
93b8dc2362 fix: ensure the webContents is not destroyed before communicating (#18467) 2019-05-28 14:22:35 -07:00
Jeremy Apthorp
815b9d7707 feat: [contentTracing] allow calling stopTracing() with no arguments (#18411) 2019-05-28 14:15:42 -07:00
Jeremy Apthorp
1a609f0caf test: move several session specs to the main runner (#18433) 2019-05-28 14:12:59 -07:00
Jeremy Apthorp
2923ae8b03 fix: don't package mojom{,-lite}.js files in dist.zip (#18444) 2019-05-28 14:11:02 -07:00
Jeremy Apthorp
0e2dedaf4e test: narrow scope of afterEach in remote to tests that need it (#18447) 2019-05-28 14:07:48 -07:00
Electron Bot
96b32a814c chore: bump chromium to 964c4bca8de5c320534d95606c861 (master) (#18440)
* chore: bump chromium in DEPS to 2930eb12d56988c2c80bad2797ab036fe493d4e1

* chore: update patches

* Revert "disable robotjs-based tests"

This reverts commit e56adafc1f.

* Revert "skip dbus tests (#18409)"

This reverts commit aea042cc83.

* Revert "skip more dbus tests"

This reverts commit 68dbef48da.

* chore: bump chromium in DEPS to fd62da5601399b92effaa32a943fcd96143c8605

* chore: bump chromium in DEPS to 99f87ca22ee6e7ec953defe694771cb68f47a596

* chore: bump chromium in DEPS to d88778435b4cd9a510a63385b6d4ba24674b9774

* chore: update patches

* chore: update ssl_security_state_tab_helper.patch

* Remove content_packaged_services

https://chromium-review.googlesource.com/c/chromium/src/+/1604203

* chore: fix false positive lint error

* views: wireup widget name to crash data

https://chromium-review.googlesource.com/c/chromium/src/+/1626640

* chore: bump chromium in DEPS to ab588d36191964c4bca8de5c320534d95606c861

* roll patches
2019-05-28 13:18:10 -07:00
Shelley Vohr
c621615112 fix: create missing directories with app.setPath (#18244) 2019-05-28 10:37:54 -07:00
Shelley Vohr
1688ebdd40 fix: respect minimizable/closable for customButtonsOnHover (#18425)
This PR ameliorates an issue whereby minimizable and closable weren't respected in customButtonsOnHover mode. maximizable isn't addressable here, since it's been blanket disabled in newer versions of macOS owing to an issue with the NSWindowStyleMaskFullSizeContentView style mask.
2019-05-28 10:23:16 -07:00
Shelley Vohr
01cd6e7a06 docs: clarify crash report extra param length (#18386)
Resolves #17746.

Clarifies that the extra field of the crashReporter options object only needs to be < 64 characters on Windows.
2019-05-28 10:17:01 -07:00
Electron Bot
43f8a7ef00 Revert "Bump v7.0.0-nightly.20190528"
This reverts commit af8d4e1bc5.
2019-05-28 08:40:13 -07:00
Electron Bot
af8d4e1bc5 Bump v7.0.0-nightly.20190528 2019-05-28 08:33:44 -07:00
Cheng Zhao
00964b98b9 feat: migrate protocol module to NetworkService (Part 10) (#18464)
* Explicitly call OnReceiveRedirect for redirections

* Better way for detecting redirection

* Create new loader for redirections
2019-05-28 15:08:50 +09:00
Electron Bot
c0c5ebb271 Bump v7.0.0-nightly.20190527 2019-05-27 08:31:45 -07:00
Milan Burda
ac002b3c3c fix: set nativeWindowOpen when sandboxed (#18273) 2019-05-27 02:44:54 +02:00
Electron Bot
4ed989587b Bump v7.0.0-nightly.20190526 2019-05-26 08:31:32 -07:00
Electron Bot
cfd4eace42 Bump v7.0.0-nightly.20190525 2019-05-25 08:31:48 -07:00
Electron Bot
723625c065 Bump v7.0.0-nightly.20190524 2019-05-24 13:47:20 -07:00
Samuel Attard
a6637fbce9 chore: update the npm package to use @electron/get (#18413)
* chore: update the npm package to use @electron/get

* chore: update node requirement for got
2019-05-24 13:40:53 -07:00
Jeremy Apthorp
cbc177708e fix: compile error in netlog (#18443) 2019-05-24 10:54:32 -07:00
Cheng Zhao
54cbe5f749 feat: migrate protocol module to NetworkService (Part 9) (#18374)
* Compare final data instead of url

The behavior of did-finish-load and getURL has changed for redirects when
using NetworkService, so the test fails for NetworkService.

Comparing the finally received data makes the test more reliable.

* Implement intercept APIs

* Setting mimeType should set "content-type" header

* Passing no argument should not throw JS error

* Don't access api namespace in ProxyingURLLoaderFactory

* No need to create AtomURLLoaderFactory every time

* No use of weak factory
2019-05-24 11:28:00 +09:00
Jeremy Apthorp
646f572b77 refactor: netLog directly uses network service (#18289) 2019-05-23 15:31:38 -07:00
Electron Bot
d57df5a4a1 Bump v7.0.0-nightly.20190523 2019-05-23 14:06:05 -07:00
Electron Bot
c4147aed3f Revert "Bump v7.0.0-nightly.20190523"
This reverts commit 4604985b2e.
2019-05-23 14:03:19 -07:00
Electron Bot
4604985b2e Bump v7.0.0-nightly.20190523 2019-05-23 13:58:31 -07:00
John Kleinschmidt
842830d709 build: move Windows release builds to AppVeyor cloud (#18337)
* build: move Windows release builds to AppVeyor cloud

* Use new env variable for AppVeyor cloud server
2019-05-23 16:54:34 -04:00
Jeremy Apthorp
53954494a9 chore: bump chromium to 54af93edd956a53c786668bc0e253 (master) 2019-05-23 13:35:41 -07:00
Milan Burda
e32cf5c418 chore: remove leftover docs/api/structures/memory-info.md (#18421) 2019-05-23 15:25:52 -04:00
Jeremy Apthorp
f8ab48adac roll patches 2019-05-23 10:39:06 -07:00
Jeremy Apthorp
68dbef48da skip more dbus tests 2019-05-23 10:28:51 -07:00
Shelley Vohr
b48dd6a11c test: add spec for contentTracing.stopRecording (#18391) 2019-05-23 10:15:08 -07:00
Electron Bot
05e986816e chore: bump chromium in DEPS to 6a008993a2e54af93edd956a53c786668bc0e253 2019-05-23 06:00:22 -07:00
Lucas Gabriel Schneider
72b1c01836 fix: docs/api/dialog.md: fix typo (#18392) 2019-05-22 20:22:51 -07:00
Adam Harley
8f200595ba correct reference chrome://plugins to components (#18237) 2019-05-22 15:58:53 -07:00
Jeremy Apthorp
aea042cc83 skip dbus tests (#18409) 2019-05-22 14:34:36 -07:00
Naoki Maeda
87a337a536 refactor: update husky ver 2.2.0 (#18300) 2019-05-22 14:03:06 -07:00
Jeremy Apthorp
9e9d0c3435 replace revert of metal support for gl::ProgressReporter with cherry-pick of fix 2019-05-22 13:15:32 -07:00
Jeremy Apthorp
2fcb785d3e Replace views_bridge_mac with remote_cocoa
https://chromium-review.googlesource.com/c/chromium/src/+/1623573
2019-05-22 12:56:21 -07:00
Jeremy Apthorp
4f6d24026d Update function signatures for focused element change notifications
https://chromium-review.googlesource.com/c/chromium/src/+/1609749
2019-05-22 12:55:37 -07:00
Jeremy Apthorp
7d212b17f8 v8/snapshot_toolchain.gni moved
https://chromium-review.googlesource.com/c/v8/v8/+/1612903
2019-05-22 11:45:48 -07:00
Jeremy Apthorp
e56adafc1f disable robotjs-based tests
See #18409
2019-05-22 11:42:24 -07:00
Jeremy Apthorp
ec3a4cea6a update patches 2019-05-22 11:18:44 -07:00
Electron Bot
da98beac54 chore: bump chromium in DEPS to c4cd49fdba21ffb5fd53d1e6d508bb285a4ff9a6 2019-05-22 06:00:51 -07:00
Cheng Zhao
e1a2cc7f36 feat: migrate protocol module to NetworkService (Part 8) (#18361)
* Add ProxyingURLLoaderFactory

* Intercept file:// protocol to support asar archives
2019-05-22 10:43:37 +09:00
Sofia Nguy
287345c778 docs: explicit rule for features in the beta cycle (#18393) 2019-05-21 18:42:02 -05:00
Jeremy Apthorp
12f95429bf use unique_ptr instead of shared_ptr for SpellcheckRequest 2019-05-21 12:22:15 -07:00
Jeremy Apthorp
a5e6e957cf FIXME: temporarily revert metal support for gl::progressreporter due to build errors 2019-05-21 12:11:15 -07:00
Jeremy Apthorp
5b507cc562 storage::IsolatedContext API changed
https://chromium-review.googlesource.com/c/chromium/src/+/1603486
2019-05-21 12:11:15 -07:00
Jeremy Apthorp
e96f9c06f0 GetNetCaptureModeFromCommandLine moved to net
https://chromium-review.googlesource.com/c/chromium/src/+/1614697
2019-05-21 12:11:15 -07:00
Jeremy Apthorp
79f62cc1aa DelegatedFrameHost API changed
https://chromium-review.googlesource.com/c/chromium/src/+/1594924
2019-05-21 12:11:15 -07:00
Jeremy Apthorp
ca283c74c9 Merge remote-tracking branch 'origin/master' into roller/chromium-ad1b791122c04bd91b825fbfbdf1ff4da82a0edb-1558011686736 2019-05-21 10:07:17 -07:00
Jeremy Apthorp
446944c677 rebase patches 2019-05-21 10:05:21 -07:00
Electron Bot
75609f784c Bump v7.0.0-nightly.20190521 2019-05-21 09:39:02 -07:00
Samuel Attard
a8ff6899d4 fix: correctly support the webkitdirectory input attr (#18343)
Fixes #839

The implementation here was loosely inspired by the implentation in
//chrome found in their FileSelectHelper.  I.e. That's where the usage
of net::DirectoryLister comes frome.

Refs: https://cs.chromium.org/chromium/src/chrome/browser/file_select_helper.cc
2019-05-21 11:18:22 -05:00
Milan Burda
1941a46825 docs: clarify that 'second-instance' is only emitted when the second instance calls app.requestSingleInstanceLock() (#18272) 2019-05-21 10:56:36 -05:00
Shelley Vohr
e39c76bfe1 fix: reverse saveDialog cancellation bool (#18366) 2019-05-21 10:51:59 -05:00
Shelley Vohr
1a2ab11c90 fix: set window to null when no window is passed (#18240)
* fix: set window to null when no window is passed

* add new specs for dialog

* fix process blocking for showMessageBox
2019-05-21 09:08:22 -05:00
Electron Bot
c832533f5f chore: bump chromium in DEPS to a351866f81b645d8c593132b664d5e74b1eb15f0 2019-05-21 09:01:22 -04:00
Samuel Attard
e73a0e6cc6 docs: replace the atom.io headers URL with electronjs.org (#18328) 2019-05-21 16:17:07 +09:00
Charles Kerr
d1207e9d8f docs: use "Breaking Changes" as the changes doc's title (#18326)
* Use "Breaking Changes" as the changes doc's title.

Multiple people have commented that this important page is difficult
to find, in part because people search for "Breaking" or "Changes" or
"Breaking Changes" rather than "API Contract".

This PR changes the name to "Breaking Changes" so that it'll show up
on electronjs.org/docs/.

It also adds a backwards-friendly link so people still searching for
"API Contract" will get a redirect. I'm not sure if this is necessary --
the actual URL of https://electronjs.org/docs/api/breaking-changes is
unchanged -- would especially welcome feedback on this part.

* fixup! Use "Breaking Changes" as the changes doc's title.

* fixup! Use "Breaking Changes" as the changes doc's title.
2019-05-21 16:15:57 +09:00
John Kleinschmidt
b7357d5750 refactor: remove no longer needed dependency (#18340)
* refactor: remove no longer needed dependency

* Updated yarn.lock
2019-05-21 15:53:40 +09:00
mscdex
f106ea0029 chore: remove extra colon in Issue Details (#18359) 2019-05-21 15:45:03 +09:00
Lucas Gabriel Schneider
286fdaa53c fix: docs/api/browser-window.md: fix typo (#18367) 2019-05-21 15:42:27 +09:00
Andrey
204e3808d2 docs: add parentheses + change lower case to upper case in some places (#18368)
* fix: add parentheses

Add parentheses to the end `app.showAboutPanel`, because this is method.

* fix: change 'Promise<string>' to 'Promise<String>'

Change `Promise<string>` to `Promise<String>`, because this is class name.

* docs: change lower case to upper case

Change lower case in word `menu` to upper case - `Menu`, because it's method.
2019-05-21 15:41:41 +09:00
Milan Burda
e81afed66d chore: remove dead code (#18370) 2019-05-21 15:36:22 +09:00
Charles Kerr
cac50608d6 Fix atom::PATH_END so it's greater than PATH_START. (#18339)
Previously the enum list ended with entries copied values
from base::PATH_ entries, so the subsequent entry (PATH_END)
had a value in (base::PATH_START..base::PATH_END].

This only a correctness patch. atom::PATH_END doesn't appear
to be used anywhere and it was the only atom::PATH_ enum
bitten by this.
2019-05-21 15:35:01 +09:00
Cheng Zhao
340014a9d3 fix: leave space for autohide taskbar for frameless maximized window (#18321) 2019-05-20 19:50:03 -05:00
Milan Burda
c1cccfc082 chore: remove duplicate internal deprecations module (just use deprecate) (#18352) 2019-05-21 00:40:49 +02:00
Nitish Sakhawalkar
9c21c66b97 fix: Windows logger path (#18199)
Windows debug isn't logging because of a DCHECK failure during startup. This changes the logger initialization to use the absolute path, so that logging works again.
2019-05-20 10:41:30 -07:00
Milan Burda
5a7b56b042 chore: finish replacing assert with expect in tests (#18215)
* spec: replace assert with expect in api-browser-view-spec.js

* spec: replace assert with expect in api-touch-bar-spec.js

* spec: replace assert with expect in api-web-frame-spec.js

* spec: replace assert with expect in api-web-contents-view-spec.js

* spec: replace assert with expect in security-warnings-spec.js

* spec: replace assert with expect in api-menu-item-spec.js

* spec: replace assert with expect in api-web-request-spec.js

* spec: replace assert with expect in api-remote-spec.js

* spec: replace assert with expect in api-session-spec.js

* spec: replace assert with expect in api-system-preferences-spec.js

* spec: replace assert with expect in api-browser-window-spec.js

* spec: replace assert with expect in webview-spec.js

* spec: replace assert with expect in api-net-spec.js

* spec: replace assert with expect in api-protocol-spec.js

* spec: replace assert with expect api-web-contents-spec.js

* spec: replace assert with expect in api-shell-spec.js

* spec: replace assert with expect in modules-spec.js

* spec: replace assert with expect in chromium-spec.js

* spec: replace assert with expect in api-crash-reporter-spec.js

* spec: replace assert with expect in asar-spec.js

* spec: rename assert-helpers to expect-helpers

* address PR feedback
2019-05-20 12:04:18 -05:00
Milan Burda
dbb8617214 docs: update sandbox-option.md (#18275)
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
2019-05-20 17:34:57 +02:00
Electron Bot
623ea9b0f1 chore: bump chromium in DEPS to 1027f1782fffa09d3278e857b66d721b861df385 2019-05-20 09:00:26 -04:00
Milan Burda
89105e7e57 refactor: address TODO for WebContents type parsing (#18158) 2019-05-20 12:55:46 +02:00
Electron Bot
24d06c4725 chore: bump chromium in DEPS to 655370a87309cf880a091b6b8477012b0718fe12 2019-05-19 09:01:22 -04:00
Milan Burda
7e2cbf528e docs: link to better list of icons for nativeImage.createFromNamedImage() (#18336) 2019-05-18 22:00:08 +02:00
Milan Burda
af0ad4454e refactor: add invoke helpers in window-setup (#18233) 2019-05-18 20:52:29 +02:00
Electron Bot
0af06a3136 chore: bump chromium in DEPS to 810a86086f5fd70dd42ad025cf73ecc26f979fcf 2019-05-18 09:00:29 -04:00
Milan Burda
2b4ad2cb09 feat: add 'gpu-info-update' event to app (#18250) 2019-05-18 10:06:48 +09:00
Nitish Sakhawalkar
cf5224140b Chrome changed the devtools url
chrome-devtools:// to devtools://
28b21a67f0
2019-05-17 16:16:25 -07:00
Nitish Sakhawalkar
aa00b19c92 Update views visible API
visible() -> GetVisible() as per c9ecec130e
2019-05-17 16:16:25 -07:00
Nitish Sakhawalkar
e38127323f Update gpuinfo enumerator api
Related chromium change is here => 4178e190e9
2019-05-17 16:16:25 -07:00
Electron Bot
7a0058fbdb chore: bump chromium in DEPS to 93f138f28f33aa9cd14a3624f9eef0a2167c8ffb 2019-05-17 16:16:25 -07:00
Nitish Sakhawalkar
8a7de89b97 Update Spellcheck API
Update WebTexhCheckingCompletion as per chromium 0e8c828e02
2019-05-17 16:16:25 -07:00
Nitish Sakhawalkar
2d14a0e90d Update changed APIs/deps
Use brotli by default (36d58dd325)

Update Mac ui headers (897636c9f8)

Update AtomBrowserClient::HandleExternalProtocol API (cb656e1fd1)
2019-05-16 18:47:42 -07:00
Jeremy Apthorp
18d70e6e57 pin user32 on startup
https://chromium-review.googlesource.com/c/chromium/src/+/1551709

Loading it later causes a blocking call where blocking calls aren't allowed.
2019-05-16 18:47:42 -07:00
Nitish Sakhawalkar
03ee12d13e Update linux/win menu_bar.h
Chromium Commit 6a2f2686a9
2019-05-16 18:47:42 -07:00
Nitish Sakhawalkar
cae2f1f537 Disable custom libcxx patch 2019-05-16 18:47:42 -07:00
Nitish Sakhawalkar
0580a2fb3e fix lint 2019-05-16 18:47:42 -07:00
Nitish Sakhawalkar
941851b3eb Update for changed APIs
Update AllowCertificateError API (c5b8df91d1)
2019-05-16 18:47:42 -07:00
Jeremy Apthorp
1fa5bf0140 //ui/views_bridge_mac => //components/remote_cocoa/app_shim
https://chromium-review.googlesource.com/c/chromium/src/+/1590958
2019-05-16 18:47:42 -07:00
Jeremy Apthorp
19550bd444 Manual follow-up rename in comments and variable names.
https://chromium-review.googlesource.com/c/chromium/src/+/1591429
2019-05-16 18:47:42 -07:00
Jeremy Apthorp
6f0524d87f use base::Owned instead of base::Passed for repeating handler 2019-05-16 18:47:42 -07:00
Jeremy Apthorp
6c6555c13c Convert Callbacks to OnceCallbacks in permissions APIs.
https://chromium-review.googlesource.com/c/chromium/src/+/1592356
2019-05-16 18:47:42 -07:00
Nitish Sakhawalkar
e794260d89 Update chromium patches 2019-05-16 18:47:42 -07:00
Electron Bot
f14eb32758 chore: bump chromium in DEPS to 4807e00d8504db501eb7a9d8ab66789e53fb7349 2019-05-16 16:58:32 -04:00
Shelley Vohr
111baba29c chore: update codeowners for release scripts (#18246) 2019-05-16 09:39:01 -04:00
Electron Bot
c7d93c7579 chore: bump chromium in DEPS to ad1b791122c04bd91b825fbfbdf1ff4da82a0edb 2019-05-16 09:01:28 -04:00
Milan Burda
76783e2a90 fix: 'page-title-updated' event forwarding + documentation (#18270) 2019-05-16 12:33:16 +03:00
Samuel Attard
2a08bfbcc6 docs: update type for responseHeaders in the webRequest module (#18302)
Fixes #18298
2019-05-15 18:20:37 -07:00
Cheng Zhao
2ad62cedc3 feat: migrate protocol module to NetworkService (Part 7) (#18290)
* fix: make IsProtocolHandled return true for builtin schemes

* fix: return ERR_NOT_IMPLEMENTED for wrong arg

* Initial work of AsarURLLoader

* Put normal file logics in AsarURLLoader

* Implement asar file reading

* Don't change URL for unpacked file

* Fix cpplint warning
2019-05-15 08:29:58 +09:00
Samuel Attard
fde3137b90 fix: update the FileSelectHelper to support the new promise API (#18288)
* fix: update the FileSelectHelper to support the new promise API

Fixes #18254

So it turns out we've successfully introduced a way to write
non-typesafe C++.

This fixes two things:
* Uses the object the promise resolves
* Ensures we attach the Then handler before moving the promise

* fix: also fix misuse of Promise::Then in the download manager
2019-05-14 15:46:53 -07:00
Milan Burda
d027be05a6 refactor: combine bitmask flags property (replace '+' with '|' operator) (#18271) 2019-05-14 18:49:46 +03:00
Milan Burda
6609138959 feat: add webContents 'zoom-changed' event (#17747) 2019-05-14 09:40:40 +03:00
John Kleinschmidt
23b0487e9b docs: add missing image (#18235) 2019-05-13 16:55:41 -04:00
Jeremy Apthorp
367868613f docs: explicitly list supported versions (#18243) 2019-05-13 12:17:47 -07:00
Jeremy Apthorp
78d45a17c8 fix: default enable_negotiate_port to false (#18251) 2019-05-13 11:28:01 -07:00
Milan Burda
3a5e6f2551 feat: allow setting working directory in app.setUserTasks() / app.setJumpList() (#18148) 2019-05-13 19:17:12 +03:00
Cheng Zhao
326215e1f1 feat: migrate protocol module to NetworkService (Part 6) (#18223)
* fix: start node strem asyncly

* fix: headers value may be a list

* fix: simply destruct on finish/error

* fix: class may destruct immediately after subscribing "data"

* fix: send meaningful error

* fix: must always provide a response body

* fix: handle the case when one write can not write all data

* fix: handle connection error
2019-05-11 15:15:01 +09:00
Nitish Sakhawalkar
85c24c0b47 chore: Add patch to partially revert chromium crashpad change (#17978)
This adds a patch to support functionality that we were using but chromium changed it. Electron uses breakpad on windows, chromium uses crashpad (which is newer). So this patch is needed until we update electron to use crashpad for windows.
2019-05-10 10:35:17 -07:00
Cheng Zhao
8de9ba6df6 chore: run protocol tests in separate WebContents (#18202) 2019-05-10 09:51:44 +09:00
Milan Burda
019b31d084 chore: remove deprecated APIs (#18159) 2019-05-09 14:48:10 -04:00
Jeremy Apthorp
96e19f1cc4 docs: fix name of Backtrace in crash reporter docs (#18180) 2019-05-09 10:30:37 -07:00
Jeremy Apthorp
be484ee8a4 docs: note session.clearAuthCache planned change for 7.0 (#18185)
* docs: note session.clearAuthCache planned change for 7.0

* Update breaking-changes.md
2019-05-09 10:58:01 -04:00
Shelley Vohr
b3fcc080d5 fix: destroy tray on current tick (#18196)
This code was originally added in #6448 to handle an edge case crash in 10.9, and we no longer support 10.9 and therefore no longer need to account for this case.

It addressed the crash, but also created a race condition whereby when a new tray is created the old tray's destroy wouldn't have been fully completed and therefore a new one would be spawned. This fixes that by destroying the tray on the current tick once more.
2019-05-08 15:40:30 -07:00
Shelley Vohr
8759e30f04 build: linux needs java on GN (#18211)
The linux builds fails with ./bin/sh java not found unless this is installed.
2019-05-08 15:28:55 -07:00
Shelley Vohr
6e29611788 build: fix linux release builds on CircleCI (#18201) 2019-05-08 07:27:03 -07:00
Shelley Vohr
6770a8c64a build: remove deprecated octokit auth calls (#18205) 2019-05-07 18:48:40 -07:00
John Kleinschmidt
e63f527e76 docs: add FAQ entry about subpixel anti-aliased text (#18101)
* docs: add FAQ entry about subpixel anti-aliased text

Co-Authored-By: Nils-Hero Lindemann <nilsherolindemann@gmail.com>

* Fix linting errors

Co-Authored-By: Nils-Hero Lindemann <nilsherolindemann@gmail.com>

* Fix image link

Co-Authored-By: Nils-Hero Lindemann <nilsherolindemann@gmail.com>
2019-05-07 12:49:08 -07:00
Shelley Vohr
0ab3d7a0be fix: crash on systemPreferences.getAccentColor() (#18144) 2019-05-07 08:26:34 -07:00
Milan Burda
d79dc056bc refactor: eliminate duplicate code in asar.js (#18146) 2019-05-07 06:54:35 -07:00
Shelley Vohr
02710ef574 refactor: make templateImage a property on nativeImage (#18124)
* refactor: make templateImage a property on nativeImage

* Update docs/api/native-image.md

Co-Authored-By: codebytere <codebytere@github.com>

* fix nativeImage prototype deprecation

* update for new property name

* Update docs/api/native-image.md

Co-Authored-By: codebytere <codebytere@github.com>
2019-05-07 06:52:07 -07:00
Shelley Vohr
cfb6e847a0 refactor: allow embedder overriding of internal FS calls (#17906) (#18183) 2019-05-07 06:44:32 -07:00
Milan Burda
91e3421525 refactor: use base::size() for array sizes (#18155) 2019-05-07 09:19:14 -04:00
Bobby Galli
175fae722a docs: added BugSplat to list of hosted solutions (#18162) 2019-05-06 19:37:24 -07:00
Cheng Zhao
237f74a01f feat: migrate protocol module to NetworkService (Part 5) (#18170)
* fix: always have head.headers available

* fix: use StringDataPipeProducer to write string

It can handle large strings correctly.

* fix: override RegisterNonNetworkSubresourceURLLoaderFactories

* fix: add dummy uninterceptProtocol implementation

* fix: jquery error handler can pass empty string

For some errors jquery would pass empty string in the error handler,
which makes tests pass when they should fail.

* chore: fix cpplint warnings

* fix: guard RegisterNonNetworkSubresourceURLLoaderFactories call

It may be called even when NetworkService is not enabled.

* test: disable protocol.interceptHttpProtocol test
2019-05-07 11:33:05 +09:00
Samuel Attard
a96b6e2c96 build: move to the new docs parser (#18103)
* build: move to the new docs parser

* chore: remove the bad getTitle param doc

* build: update parser/ts gen deps + fix some docs issues highlighted by GH desktop

* chore: apply suggestions from code review

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>

* chore: update docs for accidentally removed things

* chore: update docs/api/command-line.md

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-05-06 08:29:01 -07:00
Shelley Vohr
9ec59cbc6c docs: clarify clipboard type options (#18107) 2019-05-06 08:11:47 -07:00
Samuel Attard
636273b6cb fix: do not mark navigations interupted with same-document navigations as aborted (#18109)
* fix: do not mark navigations interupted with same-document navigations as aborted

* spec: add tests for the loadURL promise
2019-05-03 16:19:50 -07:00
Samuel Attard
99d4537075 chore: remove v8 reverts now that nan is updated (#18130) 2019-05-03 14:41:23 -07:00
Jeremy Apthorp
cb13d7a0a8 refactor: session.clearAuthCache nws13n (#17970) 2019-05-03 14:30:25 -07:00
Shelley Vohr
6d96f30ed3 refactor: make shell.OpenExternal async (#17135) 2019-05-03 13:53:45 -07:00
Shelley Vohr
0755857a0c chore: convert more files away from base::Bind (#18121)
* chore: convert more files away from base::Bind

* use BindOnce for JsAsker
2019-05-03 12:08:41 -07:00
Milan Burda
c25c31e018 refactor: convert C++ enums to C++11 enum classes (#18087) 2019-05-03 14:11:41 -04:00
Joshua Westerheide
a59dc56fa6 feat: add env variable to skip binary download on npm install (#17627)
* feat: add env variable to skip binary download on npm install

* docs: add "Skip binary download" section to install tutorial
2019-05-03 10:17:15 -07:00
Cheng Zhao
0a6eb8afca feat: migrate protocol module to NetworkService (Part 4) (#18084)
* Parse stream protocol handler

* Pipe node stream to mojo

* Merge the parser for headers

* Add ToDict helper to simplify code

* Simplify dispatching logic

* Add an experimental API for returning any type of response

* Fix subscribing event

* URL loaders' lifetime is independent of the factory

* HandleError helper is no longer needed

* Rename "SendResponse" => "StartLoading" to follow naming conventions

* Delete when connection error happens

* Fix cpplint warning
2019-05-03 09:48:51 +09:00
Shelley Vohr
cc00fa8874 chore: convert base::Bind instances across some files (#18112) 2019-05-03 08:49:26 +09:00
Michelle Tilley
4808f30538 fix: revert to previous documentation folder structure (#18127) 2019-05-02 15:17:17 -07:00
Shelley Vohr
c278043511 chore: retry octokit calls several times on fail (#18085) 2019-05-02 15:08:45 -07:00
Electron Bot
5f28f89c9c chore: bump chromium in DEPS to 84c40395c741fa24ccbd9fc2c5828e2e97472952 (#18117) 2019-05-02 12:49:54 -07:00
Shelley Vohr
55a7f92297 chore: convert more module and helper files from bind (#18069) 2019-05-02 08:32:33 -07:00
Milan Burda
2dd108e9c9 fix: fs.promises does not work with asar paths (#18092) 2019-05-02 21:06:01 +09:00
Milan Burda
9585818a90 chore: add clang-format and limited linting for Objective-C sources (#18104) 2019-05-02 21:05:37 +09:00
Milan Burda
8785e9007c chore: add native_mate to lint:cpp (#18100) 2019-05-02 11:45:23 +09:00
Stewart Lord
d507ba68a7 fix: honor extensionId arg in chrome.runtime.connect (#16998)
The first argument to chrome.runtime.connect is extensionId, not connectInfo.
2019-05-02 11:42:04 +09:00
Samuel Attard
d4f5ebefe6 feat: allow setting of global fallback user agent (#18016)
* feat: allow setting of global fallback user agent

* spec: add tests for app.set/getUserAgentFallback
2019-05-01 16:34:42 -07:00
Sofia Nguy
649d7c0d9e docs: update 6.0.0 release dates (#17923) 2019-05-01 16:11:46 -07:00
Jeremy Apthorp
3949f0bd50 refactor: convert crash reporter to gin (#17952) 2019-05-01 15:19:11 -07:00
bughit
493af7f84c document the loadURL promise pre-attached rejection handler (#18043) 2019-05-01 14:04:21 -07:00
John Kleinschmidt
e736d04e7f build: use https to download from GitHub for external binaries (#17928)
fixes #17926
2019-05-01 13:49:29 -07:00
Shelley Vohr
f316c8470c chore: convert session base::Bind instances (#18038)
Convert instances of base::Bind to base::BindOnce and base::BindRepeating as applicable in the session module as well as in Autofill popups.
2019-05-01 13:45:08 -07:00
Electron Bot
61effac72a chore: bump chromium to c75fbfd03652 (master) (#18090)
https://chromium-review.googlesource.com/c/chromium/src/+/1532361
2019-05-01 13:42:49 -07:00
Jeremy Apthorp
dd3913fada refactor: convert powerSaveBlocker to gin (#18073) 2019-05-01 13:24:01 -07:00
Samuel Attard
913bd4c832 fix: correctly parse default_app path on windows (#18086) 2019-05-01 13:00:09 -07:00
Samuel Attard
496d796833 build: free up space before running macos ci (#18083)
* build: free up space before running macos ci

* build: also delete 14GB of src/.git for bonus space
2019-05-01 12:31:01 -07:00
Milan Burda
1abe658ef4 chore: clang-format (#18088)
* chore: clang-format

* chore: remove obsolete native_mate_files.gypi
2019-05-01 12:27:55 -07:00
Milan Burda
d2cebc62d1 docs: fix webContents 'new-window' event handler sample (#18067) 2019-05-01 10:49:42 -07:00
Milan Burda
b333ce2628 docs: remove incorrectly added let for the win variable (#18052) 2019-05-01 10:45:58 -07:00
Shelley Vohr
5ed11aa1f3 docs: remove obsolete releasing document (#18072) 2019-05-01 09:14:14 -07:00
Milan Burda
6f5c850d60 refactor: add emitCustomEvent() helper (#17960) 2019-05-01 09:07:57 -04:00
Samuel Attard
aebad6fd21 test: remove stray console.log for test suite (#18078) 2019-04-30 17:56:20 -07:00
Electron Bot
2616911f7a chore: bump chromium to 7dff37844cb3 (master) (#18059) 2019-04-30 17:18:22 -07:00
Shelley Vohr
00358545a9 fix: explicitly focus window on win.show() (#18046) 2019-04-30 16:43:45 -07:00
Samuel Attard
67b3fbca89 fix: ensure the inspector agent is shutdown before cleaning up the node env (#18028)
* fix: ensure the inspector agent is shutdown before cleaning up the node env

* spec: add tests to ensure clean shutdown with connected inspector agent

* Update node_debugger.cc
2019-04-30 15:44:40 -07:00
Samuel Attard
4e5a0946c7 build: fix master build by updating the yarn.lock after race merge (#18074) 2019-04-30 15:42:09 -07:00
Jeremy Apthorp
24bf2c29e4 refactor: session.{clearCache,getCacheSize} nws13n (#17969) 2019-04-30 15:09:17 -07:00
Samuel Attard
98c51dd660 build: ensure consistent lock files across multiple machines (#17955)
* build: ensure consistent package-lock across multiple machines

* build: fix linting errors and use npm ci instead of npm install

* build: use a yarn.lock and yarn instead of package-lock and npm

* chore: replace package-lock.json files with yarn.lock

* chore: replace last instance of `npm install`
2019-04-30 13:59:47 -07:00
Shelley Vohr
8d83518f9a refactor: make name a prop on app (#17701)
Update app.name to be a property on app.
2019-04-30 13:55:33 -07:00
Samuel Attard
f2d41b7812 build: fix issues for stable release we fixed in 5-0-x (#18064)
* build: fix release notes generation

* build: fix bump-version script for stable releases
2019-04-30 11:36:39 -07:00
Milan Burda
fcf0af15de feat: support ELECTRON_DEFAULT_ERROR_MODE in the GPU process (#17728) 2019-04-30 12:45:48 -04:00
Shelley Vohr
d87b3ead76 chore: remove promisification deprecation callbacks (#17907)
* chore: remove promisification deprecation callbacks

* update docs

* fix smoke test

* fix executejs issue

* cleanup leftovers

* fix webContents.executeJavaScript tests

* cleanup WebContents.prototype.takeHeapSnapshot

* fix "sets arbitrary webContents as devtools" test

* fix executeJavaScriptInFrame related tests
2019-04-30 07:08:32 -07:00
Jeremy Apthorp
fdf5f838f4 refactor: native_mate => gin (cookies API) (#18036)
* convert cookie converters to gin

* event_emitter GetWrapper
2019-04-30 06:45:05 -07:00
Milan Burda
e9d88e965e chore: disable Vulkan validation layers (#17985) 2019-04-30 06:41:59 -07:00
Cheng Zhao
277f93653e feat: migrate protocol module to NetworkService (Part 3) (#18030)
* Implement http protocol handler

* File protocol handler also accepts options

* Http protocol should inherit headers by default

* Only inherit necessary headers

* Slightly reorder logics
2019-04-30 09:47:04 +09:00
Shelley Vohr
7b55ee9d36 refactor: allow requiring modules with no side effects (#17496) 2019-04-30 09:46:08 +09:00
Shelley Vohr
4ee201c56e chore: convert View APIs away from base::Bind (#18035) 2019-04-30 09:40:39 +09:00
Samuel Attard
4a3771ff7f build: add support for Electron trace events (#17920) 2019-04-29 15:28:30 -07:00
pathim
cc1e8ecef6 docs: Correct doc for registerFileProtocol (#18022)
In the registerFileProtocol docs the "headers" argument of the callback was described as being a list. In fact is has to be an Object mapping header-entries to values. This can be seen in Line 326 of `/spec/api-protocol-spec.js` [fe618631f1/spec/api-protocol-spec.js (L326)].
2019-04-29 15:26:55 -07:00
Milan Burda
2fd3029040 docs: update nodeIntegration section for new defaults (#17715) 2019-04-29 14:29:27 -07:00
Samuel Attard
77a4946069 refactor: rewire the desktop capturer API to remove race conditions (#18029)
We now create a new instance of atom::api::DesktopCapturer for every
request instead of weirdly re-using the same instance and queuing
requests.  This means there is now a 1:1 relationship between request
and DesktopCapturer so there isn't a race condition between the observer
for one request calling back before the observer of another.  This is an
issue ever since the backing APIs moved to worker threads.

This also does a few things to ensure memory management
* Only ever listen to one event per-request, after that we wipe the emit
function to ignore all future events
* Ensures we clean up the window_capturer_, screen_capturer_ and
captured_sources_ in native land once the request is over.

This _in theory_ fixes a flake we've been seeing on CI where we try to
resolve the promise for a request that no longerr exists.
2019-04-29 13:21:28 -07:00
Shelley Vohr
8b79776b5e chore: disable release notes GH Action (#18039) 2019-04-29 13:03:59 -07:00
Milan Burda
9714a91392 refactor: use fs.promises API, which is stable since Node 12 (#17999) 2019-04-29 11:18:03 -07:00
Milan Burda
7574f91f31 refactor: natively promisify WebContents.prototype.takeHeapSnapshot (#18000) 2019-04-29 10:11:11 -07:00
Milan Burda
18b77a4de6 chore: rename atom-binding-setup.ts to electron-binding-setup.ts (#17949) 2019-04-29 10:57:32 -04:00
Cheng Zhao
6f83977f47 feat: migrate protocol module to NetworkService (Part 2) (#17965)
* Pass protocol type and handler to factory

* Add converter for network::ResourceRequest

* Implement Buffer and String protocol handler

* Implement file protocol
2019-04-29 11:37:45 +09:00
Shelley Vohr
fe618631f1 chore: convert some more files from base::Bind (#17968) 2019-04-28 10:03:06 +09:00
Shelley Vohr
72baff1c88 chore: add base workflow file (#18006) 2019-04-27 17:53:08 -07:00
Shelley Vohr
e7ef374899 chore: update base::Bind in app module (#17925)
* chore: update base::Bind in app module

* fix lint
2019-04-26 21:42:56 -07:00
Samuel Attard
68f448ee73 build: rebase patches to fix master build (#17991) 2019-04-26 13:44:08 -07:00
Samuel Attard
84212b8e8b docs: add example on handling the webPrefs change (#17971)
* docs: add example on handling the webPrefs change

Fixes #17967

* Update breaking-changes.md
2019-04-26 13:30:45 -07:00
Samuel Attard
d673865881 build: notify MC of failures to allow easy reruns (#17981) 2019-04-26 12:35:43 -07:00
Xin Tan
2e7ad1a527 docs: add information about contributing (#17961)
Add information about contributing and link CONTRIBUTING.md to this page.
2019-04-26 08:12:21 -07:00
Cheng Zhao
a4fcc32799 feat: upgrade to Node 12 (#17838)
* fix: add boringssl backport to support node upgrade

* fix: Update node_includes.h, add DCHECK macros

* fix: Update node Debug Options parser usage

* fix: Fix asar setup

* fix: using v8Util in isolated context

* fix: make "process" available in preload scripts

* fix: use proper options parser and remove setting of _breakFirstLine

_breakFirstLine was being set on the process, but that has changed in node 12 and so is no longer needed. Node will handle it properly when --inspect-brk is provided

* chore: update node dep sha

* fix: process.binding => _linkedBinding in sandboxed isolated preload

* fix: make original-fs work with streams

* build: override node module version

* fix: use _linkedBinding in content_script/init.js

* chore: update node ref in DEPS

* build: node_module_version should be 73
2019-04-26 18:55:12 +09:00
Shelley Vohr
e1acfffaf8 docs: remove outdated refs to protocol.registerStandardSchemes (#17959) 2019-04-25 15:56:59 -07:00
Shelley Vohr
075b818a8e fixes (#17363) 2019-04-25 15:44:54 -07:00
Shelley Vohr
6530c99cfa docs: add azure vm spinup tutorial (#17958) 2019-04-25 15:42:45 -07:00
Shelley Vohr
2108044bdb docs: move organizational info docs to new directory (#17865)
* docs: move organizational info docs to new directory

* fix some markdown lint issues
2019-04-25 15:14:19 -07:00
Shelley Vohr
c2c3a04628 fix: crash when failed to get devices in desktopCapturer (#17557)
* fix: crash when failed to get devices in desktopCapturer

* return after emit
2019-04-25 15:12:38 -07:00
Robo
2ad942323c refactor: session.clearHostResolverCache with network service (#17935) 2019-04-25 10:51:48 -07:00
Richard Townsend
a2e5cb82fc build: fix a symbol linkage error for WoA (#17947)
When dcheck_always_on=true, electron's unusual configuration creates
some problems, which this patch works around.
2019-04-25 08:21:39 -07:00
Cheng Zhao
3142d5ca00 chore: support converting OnceCallback to V8 (#17941) 2019-04-25 09:40:27 +09:00
Jeremy Apthorp
93d9dafacc refactor: migrate cookie api to network service (#17932) 2019-04-24 12:49:30 -07:00
Shelley Vohr
02c7b92095 chore: Bind=>BindRepeating for constructors (#17924) 2019-04-24 11:29:59 -07:00
Mark Lee
aed0b1ee54 docs: clean up the native module tutorial (#17624) 2019-04-24 10:32:37 -07:00
Samuel Attard
4588fc2232 build: update ts generator (#17929) 2019-04-24 09:57:09 -07:00
Milan Burda
f7a38ec72a fix: permission handler regression in default app (#17927) 2019-04-24 09:54:53 -07:00
nixxquality
4556433f3b docs: fully document MenuItem instance properties (#17479)
* document menuItem instance properties

* correct some types

* add correct click documentation
2019-04-24 09:53:15 -07:00
Milan Burda
253d049ac9 chore: remove deprecated app.enableMixedSandbox() (#17894) 2019-04-23 21:07:40 -07:00
Robo
9b779657fb fix: allow access to the profile dir in mac network sandbox (nws13n) (#17931) 2019-04-24 09:31:36 +09:00
Robo
e1e055a837 fix: allow creating service for temporary partitions (nws13n) (#17930) 2019-04-24 09:30:53 +09:00
Jeremy Apthorp
53c453567f refactor: initialize feature list earlier (#17922) 2019-04-23 15:18:12 -07:00
Cheng Zhao
132137081a feat: migrate protocol module to NetworkService (Part 1) (#17899) 2019-04-23 14:39:20 -07:00
Jeremy Apthorp
341592119f build: actually run import-patches on gclient sync (#17885) 2019-04-23 10:28:26 -07:00
Milan Burda
bb9e92a5d9 refactor: add missing constants for options (#17897) 2019-04-23 09:14:18 -07:00
Milan Burda
0b0f677432 docs: make gclient config command Windows friendly (#17900) 2019-04-23 05:11:35 -04:00
Shelley Vohr
316abe21f9 fix: crash when run from SMB network share (#17886) 2019-04-22 19:28:48 -07:00
Samuel Attard
e9114b3c00 build: optimize the happy path when syncing on CI (#17827)
* build: optimize the happy path when syncing on CI

This adds a new cache for the "src" directory that is only ever used if
the cache key matches exactly.  If there is no exact match we fall back
to the old strategy of using the git cache.

On the happy path this can make the checkout on linux/macOS take around
5-6 minutes which is **significantly** faster than the original 15-18
minutes.

* build: sort readdir result to ensure stability

* build: increment cache key

* Update config.yml

* build: ensure that the cleanly checked out Electron has had hooks run on it

* build: do not remove deps/v8

* build: ensure clean git directory when generating deps hash

* chore: add comments to caching logic

* Update .circleci/config.yml

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-04-22 15:36:59 -07:00
Sofia Nguy
df269ecb24 docs: edit Release Timelines doc format and add title (#17903)
* docs: edit title and doc format

* lint error - trailing spaces

* trailing s p a c e
2019-04-22 17:53:51 -04:00
Sofia Nguy
0c24ac9ae7 docs: Update AFP info (#17904) 2019-04-22 17:53:03 -04:00
Electron Bot
716cb28430 chore: bump chromium to 1e9f9a24aa12 (master) (#17880)
* chore: bump chromium in DEPS to 1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f

* chore: update patches

* Make WebContents' theme color a base::Optional<SkColor>

https://chromium-review.googlesource.com/c/chromium/src/+/1540022

* update autofill patch for incorrect header includes

* Move Shell messages to web_test and rename to BlinkTest.

https://chromium-review.googlesource.com/c/chromium/src/+/1525181

* Make PlatformNotificationServiceImpl a KeyedService.

https://chromium-review.googlesource.com/c/chromium/src/+/1336150

* Move MediaPlayerId to its own file.

https://chromium-review.googlesource.com/c/chromium/src/+/1547057

* Remove net/base/completion_callback.h, which is no longer used

https://chromium-review.googlesource.com/c/chromium/src/+/1552821

* AW NS: support file scheme cookies

https://chromium-review.googlesource.com/c/chromium/src/+/1533486

* Remove SecurityInfo and adapt remaining consumers

https://chromium-review.googlesource.com/c/chromium/src/+/1509455

* Remove deprecated type-specific number to string conversion functions

https://chromium-review.googlesource.com/c/chromium/src/+/1545881

* DevTools: Adding new performance histograms for launch of top 4 tools

https://chromium-review.googlesource.com/c/chromium/src/+/1506388

* Update include paths for //base/hash/hash.h

https://chromium-review.googlesource.com/c/chromium/src/+/1544630

* build: Disable ensure_gn_version gclient hook for mac CI checkout

* update patches

* use maybe version of v8::String::NewFromTwoByte

* bump appveyor image version

* fix mac ci hopefully

* Convert enum to enum class for MenuAnchorPosition

https://chromium-review.googlesource.com/c/chromium/src/+/1530508

* use maybe version of ToObject

* RenderViewHost::GetProcess is no longer const

* Unrefcount AuthChallengeInfo

https://chromium-review.googlesource.com/c/chromium/src/+/1550631

* MenuButtonController takes Button rather than MenuButton

https://chromium-review.googlesource.com/c/chromium/src/+/1500935

* add //ui/views_bridge_mac to deps to fix link error

* forward declare views::Button in atom::MenuDelegate

* more v8 patches

* base/{=> hash}/md5.h

https://chromium-review.googlesource.com/c/chromium/src/+/1535124

* gfx::{PlatformFontWin => win}::*

https://chromium-review.googlesource.com/c/chromium/src/+/1534178

* fix v8 patches

* [base] Rename TaskScheduler to ThreadPool

https://chromium-review.googlesource.com/c/chromium/src/+/1561552

* use internal_config_base for bytecode_builtins_list_generator

avoids windows link errors

* FIXME: temporarily disable v8/breakpad integration

* FIXME: temporarily disable prevent-will-redirect test

* FIXME: disable neon on aarch64 pending crbug.com/953815

* update to account for WebCursor refactor

https://chromium-review.googlesource.com/c/chromium/src/+/1562755

* enable stack dumping on appveyor

* Revert "FIXME: disable neon on aarch64 pending crbug.com/953815"

This reverts commit 57f082026b.

* fix: remove const qualifiers to match upstream

* fix: remove const qualifiers to match upstream in cc files as well

* don't throw an error when testing if an object is an object

* use non-deprecated Buffer constructor

* Remove net::CookieSameSite::DEFAULT_MODE enum value

https://chromium-review.googlesource.com/c/chromium/src/+/1567955

* depend on modded dbus-native to work around buffer deprecation

https://github.com/sidorares/dbus-native/pull/262

* revert clang roll to fix arm build on linux

* fixup! depend on modded dbus-native to work around buffer deprecation

need more coffee

* update coffee-script

* robustify verify-mksnapshot w.r.t. command-line parameters

* Revert "robustify verify-mksnapshot w.r.t. command-line parameters"

This reverts commit a49af01411.

* fix mksnapshot by matching args

* update patches

* TMP: enable rdp on appveyor

* Changed ContentBrowserClient::CreateQuotaPermissionContext() to return scoped_refptr.

https://chromium-review.googlesource.com/c/chromium/src/+/1569376

* Make content::ResourceType an enum class.

https://chromium-review.googlesource.com/c/chromium/src/+/1569345

* fixup! Make content::ResourceType an enum class.

* turn off rdp

* use net::CompletionRepeatingCallback instead of base::Callback<void(int)>

* remove disable_ensure_gn_version_gclient_hook.patch

* copy repeating callback instead of std::move

* fix lint

* add completion_repeating_callback.h include
2019-04-20 10:20:37 -07:00
Jeremy Apthorp
ab009bba26 refactor: turn OnOffscreen message into a command-line flag (#17687)
This turns the AtomViewMsg_Offscreen message, which only called the global setter blink::WebView::SetUseExternalPopupMenus(false) to get Chrome to render popup menus in the renderer instead of externally on macOS, into a command-line renderer flag --offscreen which does the same thing, except at render thread startup time, which is where Chromium sets the flag: https://chromium.googlesource.com/chromium/src/+/refs/tags/75.0.3755.3/content/renderer/render_thread_impl.cc#728.

This was the last usage of RenderViewObserver in our codebase, so this PR also removes that class.
2019-04-19 12:55:20 -07:00
Matheus Rocha Vieira
1249c6ebf4 fix: Comparison using is when operands support __eq__ (#17864)
* Comparison using is when operands support __eq__

Comparison using 'is' when equivalence is not the same as identity

When you compare two values using the is or is not operator, it is the object identities of the two values that is tested rather than their equality. If the class of either of the values in the comparison redefines equality then the is operator may return False even though the objects compare as equal. Equality is defined by the __eq__ or, in Python2, __cmp__ method. To compare two objects for equality, use the == or != operator instead.

Recommendation
When you want to compare the value of two literals, use the comparison operator == or != in place of is or is not.

If the uniqueness property or performance are important then use an object that does not redefine equality.

* fix: Comparison using is when operands support __eq__

Comparison using 'is' when equivalence is not the same as identity

When you compare two values using the is or is not operator, it is the object identities of the two values that is tested rather than their equality. If the class of either of the values in the comparison redefines equality then the is operator may return False even though the objects compare as equal. Equality is defined by the __eq__ or, in Python2, __cmp__ method. To compare two objects for equality, use the == or != operator instead.

Recommendation
When you want to compare the value of two literals, use the comparison operator == or != in place of is or is not.

If the uniqueness property or performance are important then use an object that does not redefine equality.
2019-04-19 12:24:41 -07:00
Sofia Nguy
eb9c4e3643 docs: Add Electron v6.0.0 Timeline (#17866) 2019-04-19 12:23:01 -07:00
Cheng Zhao
344197083e fix: drain tasks before shutting down isolate (#17879) 2019-04-19 11:01:45 -07:00
Shelley Vohr
0749dc4cc1 refactor: make app logs dir creation opt-in (#17841)
Previously, we were creating the app logs folder at a predefined location during initial electron startup, which meant that it had to be manually removed and prevented clean app portability. This refactors that implementation such that it's now an opt-in feature and developers must call app.setAppLogsPath(path) with an optional custom path in order to set this directory.
2019-04-18 22:04:58 -07:00
Jeremy Apthorp
841e31b7e6 feat: show underlying stack in errors in remote module (#17851) 2019-04-18 17:38:19 -07:00
Kilian Valkhof
ea6641afe5 docs: explanation on using protocols with partitions (#17759)
* docs: explanation on using protocols with partitions

* linting fixes

* Update docs/api/protocol.md

Co-Authored-By: Kilian <kilian@kilianvalkhof.com>

* Update docs/api/protocol.md

Co-Authored-By: Kilian <kilian@kilianvalkhof.com>

* Update docs/api/protocol.md

Co-Authored-By: Kilian <kilian@kilianvalkhof.com>

* be more explicit about there being a default session.
2019-04-18 12:40:04 -07:00
Kapil Patel
11ac6800cc docs: added fee hint (#17563)
* Update code-signing.md

* Update code-signing.md

* Update docs/tutorial/code-signing.md

Co-Authored-By: kapilepatel <kapilepatel@gmail.com>

* Update code-signing.md
2019-04-18 08:50:14 -07:00
Milan Burda
5e7c828c9e fix: copy pixels in AddImageSkiaRepFromBuffer (#17843) 2019-04-18 09:16:34 +09:00
Milan Burda
3c2ff97a16 fix: copy pixels in NativeImage::CreateFromBitmap (#17844) 2019-04-18 09:16:06 +09:00
Shelley Vohr
f1ee35e281 doc: document occasional mismatch between NSImageName and string (#17826) 2019-04-17 15:06:51 -07:00
Samuel Attard
829050daab build: rename sandbox bundle (#17831) 2019-04-17 17:18:03 -04:00
Heilig Benedek
81bf15877f fix: port OSR code to new viz compositor codepath (#17538)
* fix: make OSR work with viz compositor

* fix: update OSR patch

* fix: update patch again

* fix: update viz_osr.patch for macOS

* fix: gn check warnings

* chore: no need to change SoftwareOutputDeviceWinProxy

* chore: add check in case we missed something

* fix: consider scale factor when compare size

* fix: make GPU OSR work

* fix: autofill popups with OSR

* chore: use UNIX line ending for osr_video_consumer

* chore: code is already in defined(OS_MACOSX)

* fix: share same OSR implementation on macOS

This should also fix the crash when there is navigation on macOS.

* test: osr window should not crash after navigation

* fix: make osr work on Mac properly

* fix: software osr on windows

* fix: software osr on Linux

* fix: compilation error introduced with rebase

* fix: split local surface id allocation into two

* Update osr_host_display_client_mac.mm

* chore: update copyright year

* fix: update patch
2019-04-17 14:10:04 -07:00
Shelley Vohr
1478bd36fd refactor: remove superfluous ScopedAllowBaseSync in desktopCapturer (#17842) 2019-04-17 14:32:24 -04:00
Jeremy Apthorp
fdaa75354a chore: save HEAD when git-import-patches runs (#17824) 2019-04-17 11:16:03 -07:00
Samuel Attard
f901170a4f docs: fix doc linter warnings (#17818) 2019-04-16 19:03:17 -04:00
Jeremy Apthorp
33fd20047c fix: skip zygote for unsandboxed ppapi processes (#17823) 2019-04-16 18:32:37 -04:00
Samuel Attard
78411db4b5 fix: maintain a ref count for objects sent over remote (#17464)
* spec: clean up after a failed window count assertion

Previously when this assertion failed all tests that ran after the
failed assertion also failed.  This ensure that the assertion fails for
the test that actually caused the issue but cleans up the left-over
windows so that future tests do not fail.

* fix: maintain a ref count for objects sent over remote

Previously there was a race condition where a GC could occur in the
renderer process between the main process sending a meta.id and the
renderer pulling the proxy out its weakmap to stop it being GC'ed.

This fixes that race condition by maintaining a "sent" ref count in the
object registry and a "received" ref count in the object cache on the
renderer side.  The deref request now sends the number of refs the
renderer thinks it owns, if the number does not match the value in the
object registry it is assumed that there is an IPC message containing a
new reference in flight and this race condition was hit.

The browser side ref count is then reduced and we wait for the new deref
message.  This guaruntees that an object will only be removed from the
registry if every reference we sent has been guarunteed to be unreffed.
2019-04-16 16:08:11 -04:00
Samuel Attard
9c3315c416 fix: reset the NSUserNotication handle on dismiss (#17796) 2019-04-16 14:38:41 -04:00
Samuel Attard
b7b9efa875 fix: handle remote-debugging-port=0 correctly (#17800)
By default the Chromedriver will send remote-debugging-port=0 to let the
browser choose a free port to listen on.  The chosen port is written to
a known file in the user data dir that is passed to the app through the
CLI.

This PR does two things.

1. Correctly passes the USER_DATA_DIR to the remote debugging server so
it knows where to write the file
2. Adds support for --user-data-dir as we did not support that CLI
argument and Chromedriver relies on being able to tell the "browser"
where to write this file.

Fixes #17354
2019-04-16 14:22:51 -04:00
Samuel Attard
be6fb7cb12 fix: ensure the sandboxed preloads globals do not leak (#17712) 2019-04-16 10:57:02 -07:00
Shelley Vohr
b3d8db6996 docs: note desktop audio limitation on macOS (#17738)
Closes #10515. Notes fundamental limitation in `navigator.mediaDevices.getUserMedia` for audio capture on some platforms so that users are aware of the ongoing issue and provides a potential workaround.
2019-04-16 10:49:31 -07:00
Pedro Pontes
a7e22c78cf fix: populate phase of WebMouseWheelEvents generated in webContents.sendInputEvent. (#17757) 2019-04-16 12:23:38 -04:00
Samuel Meuli
3bf71a363a docs: update guide on MAS entitlements and export compliance (#17695)
* docs: Convert MAS app groups entitlement value to array

* docs: Update info on MAS encryption export compliance
2019-04-15 20:02:06 -04:00
Shelley Vohr
82a076855b fix: incorrect default path setting for dl items (#17773) 2019-04-15 14:11:20 -04:00
Vlad Hashimoto
258d337cf8 fix: crash when alt key pressed with falsy menu bar visiblity (#17766) 2019-04-15 13:54:27 -04:00
Cheng Zhao
748632d655 chore: make it possible to turn on NetworkService with cmd flag (#17729) 2019-04-11 08:51:17 +09:00
Cheng Zhao
e7c48922e7 fix: FrameSubscriber should not scale frame down (#17444) 2019-04-08 11:35:33 +09:00
Milan Burda
235eea6669 docs: add remote module to docs/tutorial/security.md (#17480) 2019-04-05 20:41:05 +02:00
Shelley Vohr
2b9bd0f56f fix crash when passing empty string to recording (#17698) 2019-04-05 11:19:06 -07:00
Shelley Vohr
c4020308c9 test: remove non-applicable processMemoryInfo specs (#17679) 2019-04-05 07:53:25 -07:00
Shelley Vohr
9c3cb55ef2 refactor: make accessibilitySupportEnabled a property on app (#17362)
* refactor: make accessibilitySupport a prop on app

* fix docs

* update spec
2019-04-04 19:49:04 -07:00
Electron Bot
11699d8611 Bump v6.0.0-nightly.20190404 2019-04-04 11:42:14 -07:00
Cheng Zhao
ac30185a04 fix: the callback of beginFrameSubscription should pass NativeImage instead of Buffer (#17548)
* Revert "revert: frame subscriber deprecation and re-enable tests"

This reverts commit f643ce4f66.

* fix: make sure SkBitmap's pixels are copied
2019-04-04 11:36:12 -07:00
Milan Burda
77d59e99b6 feat: emit process 'loaded' event in sandboxed renderers (#17680) 2019-04-04 11:35:06 -07:00
Jeremy Apthorp
127b87c713 refactor: mojofy MessageTo and MessageHost (#17613) 2019-04-03 14:22:23 -07:00
Samuel Attard
5d45b59f7f Merge pull request #17507 from electron/chromium-upgrade/75
chore: update to chromium 75.0.3740.3
2019-04-03 13:17:37 -07:00
Alexey Kuzmin
cd8402fc9f build: optionally exclude some parts of patches from being applied (#17625) 2019-04-03 12:42:49 -07:00
Samuel Attard
a65f242dbd chore: fixup ismediakey patch for lost changes 2019-04-03 11:36:32 -07:00
Shelley Vohr
8c8eac88a4 build: fix spec-main linting for 'only' (#17666) 2019-04-03 11:19:39 -07:00
Samuel Attard
59e3164206 build: ensure runner is defined inside the spec callback (#17664) 2019-04-02 18:25:45 -07:00
Samuel Attard
76d584c81d build: force a windows CI run 2019-04-02 17:19:36 -07:00
Samuel Attard
dc4fe537ee build: auto-generate the browserify step GN inputs (#17626) 2019-04-02 17:12:10 -07:00
Jeremy Apthorp
53f6cbccbf refactor: use mojo for electron internal IPC (#17406)
* refactor: use mojo for electron internal IPC

* add sender_id, drop MessageSync

* remove usages of AtomFrameMsg_Message

* iwyu

* first draft of renderer->browser direction

* refactor to reuse a single ipc interface

* implement TakeHeapSnapshot through mojo

* the rest of the owl^WtakeHeapSnapshot mojofication

* remove no-op overrides in AtomRendererClient

* delete renderer-side ElectronApiServiceImpl when its pipe is destroyed

* looks like we don't need to overlay the renderer manifest after all

* don't try to send 2 replies to a sync rpc

* undo changes to manifests.cc

* unify sandboxed + unsandboxed ipc events

* lint

* register ElectronBrowser mojo service on devtools WebContents

* fix takeHeapSnapshopt failure paths

* {electron_api => atom}::mojom

* add send_to_all to ElectronRenderer::Message

* keep interface alive until callback is called

* review comments

* use GetContext from RendererClientBase

* robustify a test that uses window.open

* MessageSync posts a task to put sync messages in the same queue as async ones

* add v8::MicrotasksScope and node::CallbackScope

* iwyu

* use weakptr to api::WebContents instead of Unretained

* make MessageSync an asynchronous message & use non-associated interface

* iwyu + comments

* remove unused WeakPtrFactory

* inline OnRendererMessage[Sync]

* cleanups & comments

* use helper methods instead of inline lambdas

* remove unneeded async in test

* add mojo to manifests deps

* add gn check for //electron/manifests and mojo

* don't register renderer side service until preload has been run

* update gn check targets list

* move interface registration back to RenderFrameCreated
2019-04-02 15:38:16 -07:00
Samuel Attard
63d6be0480 chore: add patch to fix MSVC++ incompatibilty on Windows 2019-04-02 14:43:06 -07:00
Samuel Attard
d1a7b42906 chore: disable custom libcxx on windows 2019-04-02 14:43:06 -07:00
Samuel Attard
2fda0bdc89 chore: enable_data_url_support does not exist anymore 2019-04-02 14:43:06 -07:00
Samuel Attard
a34c47b542 build: do not use custom libcxx on windows 2019-04-02 14:43:06 -07:00
Samuel Attard
fe06784a3b build: disable the custom libcxx on Windows 2019-04-02 14:43:06 -07:00
Jeremy Apthorp
7e9a271852 don't copy in make_shared in win32_desktop_notifications 2019-04-02 14:43:05 -07:00
Samuel Attard
e352d735f6 fix: use default constructor for NotificationData struct 2019-04-02 14:43:05 -07:00
Samuel Attard
43dc4e8a13 chore: include what we use, cmath in toast.cc 2019-04-02 14:43:05 -07:00
Samuel Attard
0fd0b3fb4b chore: make DCHECK available in win7 toast impl 2019-04-02 14:43:05 -07:00
Samuel Attard
30448bb1b8 build: allow zip files to be created larger than 2GB 2019-04-02 14:43:05 -07:00
deepak1556
515c927b14 fixup! enable_file_url_support and enable_data_url_support have been removed 2019-04-02 14:43:05 -07:00
Samuel Attard
b965abfda8 chore: replace DCHECK(a > b) with DCHECK_GT 2019-04-02 14:43:05 -07:00
Samuel Attard
90a738a4d4 fix: _ASSERT is not defined anymore, the appropriate replacement is DCHECK 2019-04-02 14:43:05 -07:00
Samuel Attard
ab66c4b7f9 fixme: IsNearDeath has been removed upstream
Adds a patch that reverts https://chromium-review.googlesource.com/c/v8/v8/+/1526195
in order to let native modules build.  nan has a strong dependency on
the IsNearDeath method.  This needs to be solved upstream in nan or V8.
2019-04-02 14:43:05 -07:00
Samuel Attard
04a8b9fe5c fix: base::LaunchOptions environ is now environment
Just a rename

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1509795
2019-04-02 14:43:05 -07:00
Samuel Attard
b429e6e2df chore: disable clang-format and cpplint for impl of HandleExternalProtocol
NOLINT disables the linting error that we can't fix because its just
implementing a content API.

We also disable clang-format because it tries to format the // NOLINT
onto a new line which doesn't exactly work
2019-04-02 14:43:04 -07:00
Samuel Attard
126639875d Revert "device/fido/mac: add more specific check for TouchID availability"
This reverts commit 457ff0687c.

The change in Chromium that required this removal was itself reverted.

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1504308
2019-04-02 14:43:04 -07:00
Samuel Attard
158e41e578 chore: add missing content:: namespace for BrowserContext in PlatformNotificationService 2019-04-02 14:43:04 -07:00
Samuel Attard
7382c519c9 fix: Add stub implementations for ScheduleTrigger and
ReadNextTriggerTimestamp

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1479330
2019-04-02 14:43:04 -07:00
Samuel Attard
866cbb0147 fix: SetCanonicalCookieAsync now takes the full CookieOptions
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1471244
2019-04-02 14:43:04 -07:00
Samuel Attard
7467e91880 fix: RFH->ExecuteJavascriptForTesting now requires a callback
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1492042
2019-04-02 14:43:04 -07:00
Samuel Attard
74ac80e218 fix: ViewHierarchyChangedDetails moved to the views namespace
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1531481
2019-04-02 14:43:04 -07:00
Samuel Attard
ab92cfd174 fix: enable_file_url_support and enable_data_url_support have been
removed

Unsure how the change in default of file_url_support affects us

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1512337
2019-04-02 14:43:04 -07:00
Samuel Attard
f95de3d6f3 fix: RFH->ExecuteJavascript now requires a callback
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1492042
2019-04-02 14:43:04 -07:00
Samuel Attard
2bf740d2fe fix: remove enable_data_url_support from OnNetworkServiceCreated
data URLs are _always_ enabled in the network service now and this is
enforced in the Content layer.

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1512337
2019-04-02 14:43:04 -07:00
Samuel Attard
406ceaabd1 chore: update permission_status.h include for new path 2019-04-02 14:43:03 -07:00
Samuel Attard
50b9933705 build: update circle base image and mac docs for 10.13 SDK 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
e44b5263a1 add extra arguments to HandleExternalProtocol
https://chromium-review.googlesource.com/c/chromium/src/+/1491812
2019-04-02 14:43:03 -07:00
Jeremy Apthorp
47d5f9f901 add //ui/base/idle dep 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
9819433e88 fixup! download gn from cipd instead of GCS 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
e2f0852c30 fixup! download gn from cipd instead of GCS 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
9cc4cb2934 download gn from cipd instead of GCS
https://chromium-review.googlesource.com/c/chromium/src/+/1519726
2019-04-02 14:43:03 -07:00
Jeremy Apthorp
2dc422234a update chromium patches 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
0f990c3bdd update boringssl patches 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
7116c108d7 chore: update to chromium 75.0.3740.3 2019-04-02 14:43:02 -07:00
Tyler Dennis
5b696491db docs: remove webaudio doc from browserwindow options (#17633) 2019-04-02 13:46:45 -07:00
Kilian Valkhof
57dd192dcd docs: Lead with packaging tools on distribution page (#17639)
* Lead with packaging tools on distribution page

* fix trailing whitespace
2019-04-02 13:45:35 -07:00
Shelley Vohr
0431997c8d refactor: make applicationMenu a property on app (#17361) 2019-04-02 13:36:57 -07:00
Shelley Vohr
d412582f72 docs: clarify cookie domain normalization (#17590) 2019-04-02 13:04:20 -07:00
Roller Bot
d50e8a5c4c chore: bump chromium in DEPS to 74.0.3729.58 (#17657) 2019-04-02 10:26:42 -07:00
Mark Lee
66473e19cb Fix typos in feature request template instructions (#17651) 2019-04-02 11:20:36 -05:00
Shelley Vohr
8ea33d69ac fix: match net module headers & http.IncomingMessage headers (#17517)
* fix: match net module headers & http.IncomingMessage headers

* update net doc for cleanliness

* address feedback from review

* Update spec/api-net-spec.js

Co-Authored-By: codebytere <codebytere@github.com>

* add special cookie case
2019-04-02 07:41:19 -07:00
Jeremy Apthorp
7c6cedb119 test: de-flake getAllWebContents test by moving it to spec-main (#17610) 2019-04-01 18:28:11 -07:00
Jeremy Apthorp
eb27e9b055 refactor: move //electron/manifests:manifests target into main BUILD.gn (#17611) 2019-04-01 18:25:19 -07:00
Samuel Attard
75442b794f fix: make devtools extensions load correctly (#17614) 2019-03-30 17:36:13 -07:00
Milan Burda
d597a0e8b0 refactor: expose ipcRendererInternal to the main world for window-setup using the content script world pattern (#17591) 2019-03-29 18:10:21 -07:00
Samuel Attard
b8dbe4bc15 spec: add tests for the autoUpdater on macOS that actually test if it works (#17442)
* spec: add tests for the autoUpdater on macOS that actually test if it works

* spec: add express as dep

* spec: add logic to auto-trust self-signed certificate and not run autoupdate specs on MAS

* build: fix the step name for importing the codesign cert

* chore: update updater spec PR as per feedback

* fix: s/atomBinding/electronBinding

* build: use spawn instead of exec
2019-03-29 17:32:52 -07:00
Roller Bot
5045b0a962 chore: bump chromium in DEPS to 74.0.3729.48 (#17606) 2019-03-29 13:44:19 -07:00
Samuel Attard
953d1ea635 fix: ensure dots in content script patterns aren't used as wildcards (#17593)
* fix: ensure dots in content script patterns aren't used as wildcards

* chore: sanitise all regexp special chars

* chore: extract to helper

* chore: fixup helper
2019-03-28 14:03:37 -07:00
Samuel Attard
32c9597cbc build: ensure we use objc regexps for export-patches (#17598)
* build: ensure we use objc regexps for export-patches

* build: also use objc for *.m

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-03-28 14:01:43 -07:00
Shelley Vohr
808783a5e4 fix: crashReporter.getParameters() takes no params (#17459) 2019-03-28 15:04:16 -04:00
Roller Bot
69d4c91895 chore: bump chromium in DEPS to 74.0.3729.45 (#17589) 2019-03-28 11:16:45 -07:00
Heilig Benedek
7a47e64e65 fix: update patch to make Windows key work with global shortcuts (#17565) 2019-03-28 11:15:22 -07:00
Samuel Attard
3475cd168e fix: handle a race condition between preload scripts executing and (#17577)
navigations

There is a race condition between DidCreateScriptContext and another
navigation occuring in the main process. If the navigation occurs while
the preload script is running, the same process is re-used.  This
ensures that any pending navigations are completely removed / ignored
when we trigger a new navigation.

Fixes #17576
2019-03-28 11:13:05 -07:00
John Kleinschmidt
7eaa57b116 build: remove native mksnapshot for arm/arm64 (#17561)
* build: remove native mksnapshot for arm/arm64
2019-03-28 11:05:43 -04:00
Milan Burda
8cf15cc931 feat: only allow bundled preload scripts (#17308) 2019-03-28 11:38:51 +01:00
Richard Townsend
3d307e5610 fix: correct crash reporter for Windows on Arm (#17533)
ARM64 cleans up and moves around RUNTIME_FUNCTION structure fields.
With this patch applied, electron should build cleanly for Windows on Arm.
2019-03-27 11:30:11 -07:00
Samuel Attard
f4434763fe fix: use file path as key for safeDialogs on filesystem (#17546) 2019-03-27 11:21:10 -07:00
Samuel Attard
2188a6ea99 fix: set default_id and cancel_id correctly on confirm dialogs (#17547) 2019-03-27 11:15:58 -07:00
Shelley Vohr
4e57a732a8 feat: allow windows to be excluded from the windows menu (#17404)
* feat: allow windows to be excluded from the windows menu

* excludedfromWindowsMenu => excludedFromShownWindowsMenu

* implement no-op for win & linux
2019-03-27 08:10:23 -04:00
Samuel Attard
ec5e0ef06e build: speed up windows download of external binaries (#17559) 2019-03-26 20:22:54 -05:00
Roller Bot
75b4db60cf chore: bump chromium in DEPS to 74.0.3729.38 (#17555) 2019-03-26 13:26:36 -07:00
Shelley Vohr
34eb5d0815 fix: correctly return properties on the netLog module (#17525) 2019-03-25 22:40:38 -04:00
Milan Burda
336db33d18 refactor: use ipcMainUtils.invokeInWebContents / ipcRendererUtils.handle helpers for Chrome APIs (#17417) 2019-03-26 11:38:35 +09:00
Milan Burda
546466b209 feat: add <webview>.getWebContentsId() (#17407) 2019-03-26 10:57:27 +09:00
Samuel Attard
9e26dfaa06 build: use async remove method to handle errors better (#16917)
On windows removeSync randomly seems to fail with DIRNOTEMPTY. By using
the async version fs-extra will do some back-off-retry logic to
hopefully get this dir deleted
2019-03-26 10:34:03 +09:00
Milan Burda
cbd884060e fix: validate sender for replies in ipcMainInternalUtils.invokeInWebContents() (#17416) 2019-03-26 10:15:51 +09:00
Milan Burda
95df531b33 fix: add missing buffer size check in nativeImage (#17465) 2019-03-26 10:13:39 +09:00
Robo
6c20c6e668 refactor: Enable network service (Part 1) (#17431)
* Convert InspectableWebContentsImpl::LoadNetworkResource to SimpleURLLoader

https://bugs.chromium.org/p/chromium/issues/detail?id=721408

* Plumb creation of network context with the service
2019-03-26 10:10:48 +09:00
Shelley Vohr
4ec2f8b67b chore: remove some bot config options (#17506) 2019-03-22 19:29:23 -05:00
Shelley Vohr
a5febe392c chore: update issue templates with guidelines (#17505) 2019-03-22 16:56:52 -07:00
Cheng Zhao
49f13e38f9 fix: close context menu before popup (#17474) 2019-03-21 21:56:22 -07:00
Samuel Attard
d2ad8efef4 build: pass through value of unknown flag as well as the flag to make --grep work again (#17485) 2019-03-21 12:24:07 -07:00
Nitish Sakhawalkar
a16dc13f85 chore: Update node commit sha (#17486)
No changes made to node canary, just rebased with fixups.
This change updates to the new commit of `electron-node-canary`.
2019-03-21 14:19:49 -05:00
Samuel Attard
784f9742bc build: auto-fix whitespace in docs in pre-commit hook (#17490) 2019-03-21 12:15:55 -07:00
Jeremy Apthorp
6555be2636 chore: bump chromium to 74.0.3729.27 (master) (#17345)
* chore: bump chromium to 74.0.3729.5 (master)

* Remove ScopedBlockingCall constructor without location

https://chromium-review.googlesource.com/c/chromium/src/+/1496560

* Use XCode 9.4.1 for Mac SDK 10.13

* chore: roll chromium 74.0.3729.27
2019-03-21 11:45:22 -04:00
Milan Burda
07b02653ba docs: update sandbox-option.md (#17468)
* docs: update sandbox-option.md

* Update docs/api/sandbox-option.md

Co-Authored-By: miniak <milan.burda@gmail.com>
2019-03-21 14:41:53 +01:00
Shelley Vohr
b25279df89 docs: clarify documentation for getLastCrashReport (#17458)
* docs: clarify documentation for getLastCrashReport

* address feedback
2019-03-20 15:34:21 -07:00
Shelley Vohr
b140a82fe8 fix: take foreground visibility into account for isVisible on macOS (#17463) 2019-03-20 15:33:59 -07:00
Milan Burda
a82bbd010e build: strip trailing whitespace in docs (#17488) 2019-03-20 13:12:47 -07:00
Klaus Sinani
1c7b3026a6 docs: Use correct image URL on docs/tutorial/windows-taskbar.md (#17467) 2019-03-20 10:01:28 -07:00
Samuel Attard
45d90e77b7 fix: use a more unique identifier for NSUserNotification instances (#17469)
So although apple has it documented that notifications with duplicate identifiers in the same session won't be presented.  They apparently forgot to mention that macOS also non-deterministically and without any errors, logs or warnings will also not present some notifications in future sessions if they have a previously used identifier.

As such, we're going to truly randomize these identifiers so they are
unique between apps and sessions.  The identifier now consists of a
randomly generated UUID and the app bundle id.
2019-03-20 09:53:20 -07:00
Milan Burda
de1bacddd9 docs: process.getProcessMemoryInfo() returns a Promise (#16593)
* docs: process.getProcessMemoryInfo() returns a Promise
* chore: bump electron-typescript-definitions to get Promise<T> fix
2019-03-20 17:26:57 +01:00
Cheng Zhao
671533f7d2 fix: check the result when calling js function (#17443)
* fix: check the result when calling js function

* test: should not crash when callback returns nothing
2019-03-20 08:27:06 -07:00
Samuel Attard
1571461bae build: add a workaround for circleci known_hosts issue (#17471) 2019-03-19 19:37:52 -07:00
Shelley Vohr
1d93bc76cd feat: expose colorSpace to display object (#17405)
* feat: expose colorSpace to display object

* update doc

* add a spec
2019-03-19 15:12:03 -07:00
Milan Burda
4c51fa93f5 feat: add systemPreferences.getAnimationSettings() (#17382) 2019-03-19 12:15:40 -07:00
Milan Burda
4d8e024b6d spec: fix isEmpty() checks in nativeImage tests (#17441) 2019-03-19 12:13:15 -07:00
Zachary
9b359c6a75 docs: correction to ipc-main-event.md 'frane' to 'frame' (#17424) 2019-03-19 12:07:30 -07:00
Milan Burda
7389dfca59 fix: report module name when require fails in sandboxed renderers (#17413) 2019-03-19 12:00:41 -07:00
Milan Burda
06a4594435 chore: remove special handling for dialog methods in remote module (#17412)
* chore: remove special handling for dialog methods in remote module

* refactor: remove callFunction helper
2019-03-19 11:59:33 -07:00
Benny Neugebauer
f4c3151815 docs: fix typo in webview.md (#17454) 2019-03-19 11:43:19 -07:00
Milan Burda
ddd51525f1 refactor: make ELECTRON_INSPECTOR_CONTEXT_MENU handler async (#17411) 2019-03-19 10:37:43 -07:00
Shelley Vohr
879462af4b docs: document modernization initiative more clearly (#17376)
* docs: document modernization initiative more clearly
2019-03-19 10:31:45 -07:00
Milan Burda
53f4af7722 fix: regressions introduced by adding world isolation to Chrome extension content scripts (#17422) 2019-03-19 14:45:48 +01:00
Shelley Vohr
2fb9085e5b feat: add tray.getTitle() (#17385)
* feat: add tray.getTitle

* fix spec
2019-03-18 12:40:34 -07:00
Shelley Vohr
38d75010c7 chore: rename atomBinding to electronBinding (#17419) 2019-03-18 12:37:06 -07:00
Samuel Attard
5025c991ee fix: pass the correct HostPort into the node inspector (#17380)
Fixes #17348
2019-03-18 09:19:33 -07:00
Shelley Vohr
db29978fe0 fix: throw error when inserting menu items out-of-range (#17401)
* fix: throw error when inserting menu items out-of-range

* also check pos < 0
2019-03-18 07:58:42 -07:00
Shelley Vohr
f09f43a4a9 chore: remove unused arg parsing code in dialog (#17420) 2019-03-18 07:58:03 -07:00
Samuel Attard
108545e416 spec: add new test runner for main-process based tests (#17325) 2019-03-17 14:49:00 -07:00
Milan Burda
3a091cdea4 refactor: implement clipboard APIs without the remote module (#17200) 2019-03-15 17:32:04 -07:00
Samuel Attard
b502c62111 spec: fix fixtures path for second instance test 2019-03-15 12:29:25 -07:00
Samuel Attard
984e77e470 fix: spec runner not parsing correctly 2019-03-15 10:57:12 -07:00
Heilig Benedek
43ef561d48 feat: enable NodeIntegrationInSubFrames for webview (#17226)
* feat: enable nodeIntegrationInSubFrames for webview

* test: add tests

* docs: document webview's nodeintegrationinsubframes

* lint: fix indent

* fix: resolve some merge bloopers
2019-03-15 10:39:20 -07:00
Samuel Attard
4b6b59cc82 chore: update PR as per feedback 2019-03-14 17:22:42 -07:00
Shelley Vohr
961c9a88a8 feat: promisify dialog.showCertificateTrustDialog() (#17181)
* feat: promisify dialog.showCertificateTrustDialog()

* update promisification doc
2019-03-15 09:02:50 +09:00
Samuel Attard
6b326f7924 build: spread runner args onto the runner 2019-03-14 16:15:23 -07:00
Milan Burda
f15d0b1ed7 refactor: make ELECTRON_INSPECTOR_CONFIRM handler async (#17378) 2019-03-14 15:29:40 -07:00
Samuel Attard
df57ac4ce7 chore: steal all unknown args for use by the spec runners 2019-03-14 15:23:21 -07:00
Shelley Vohr
cb4ede453f chore: add deprecation helper for fnToProperty (#17377)
* chore: add deprecation helper for fnToProperty

* add a test
2019-03-14 15:19:19 -07:00
Samuel Attard
be60f93bd0 fix: we can not use ts-node apaprently 2019-03-14 13:39:53 -07:00
Shelley Vohr
12b6a0f5b2 feat: add native emoji picker (#17359) 2019-03-14 13:39:52 -07:00
Samuel Attard
46e5767527 update for PR feedback 2019-03-14 13:18:16 -07:00
Samuel Attard
259bc3a918 build: remove log from the spec runner 2019-03-14 12:50:06 -07:00
Samuel Attard
a55d1ef305 spec: chai is funky 2019-03-14 12:50:06 -07:00
Samuel Attard
6b65e3523e wut 2019-03-14 12:50:06 -07:00
Samuel Attard
b967ae4c51 build: downgrade chai to work around nested adssertion bug 2019-03-14 12:50:06 -07:00
Samuel Attard
2023e32130 spec: push electron/spec into the spec runner args before the linux dbus wrapper 2019-03-14 12:50:06 -07:00
Samuel Attard
3656d12cba build: auto generate electron.d.ts in the spec runner if it is missing 2019-03-14 12:50:06 -07:00
Samuel Attard
ca701bb9af spec: initial spike of main-process based tests 2019-03-14 12:50:06 -07:00
Milan Burda
2e89348541 feat: promisify executeJavaScript (#17312) 2019-03-14 12:08:54 -07:00
Milan Burda
878538f2e8 feat: add safer nativeImage.createFromBitmap(), which does not decode PNG/JPEG (#17337) 2019-03-14 11:00:38 -07:00
Shelley Vohr
aa8b66aae1 feat: promisify session.getBlobData() (#17303) 2019-03-14 08:11:01 -07:00
d1g1t4ld1n4
c082b3964c docs: clarification of requestSingleInstanceLock() docs (#17304)
* docs: upstream doc links added to default window

Added the link to the Node docs and Chromium docs to the default window (not sure if I linked the chromium docs correctly, please let me know/feel free to suggest changes if you know the correct way to do so)

* docs: clarify what requestSingleInstanceLock() does

* Revert "docs: upstream doc links added to default window"

This reverts commit 829417cf29.

* docs: clarify what requestSingleInstanceLock() does
2019-03-13 19:42:16 -07:00
Shelley Vohr
d9234798d3 chore: clean up promise resoution with helpers (#17268) 2019-03-13 14:30:21 -07:00
Shelley Vohr
3e5a98b5f4 feat: promisify In-App Purchase (#17355)
* feat: promisify In-App Purchase

* use mate::Arguments in GetProducts
2019-03-13 13:56:01 -07:00
Milan Burda
faabd0cc8b refactor: add ipcMainUtils.invokeInWebContents / ipcRendererUtils.handle helpers (#17313) 2019-03-13 12:03:17 -07:00
Milan Burda
df7dc9396e fix: don't crash when nativeImage.createFromBuffer() called with invalid buffer (#17344) 2019-03-13 08:26:11 -07:00
Jeremy Apthorp
90fcc574f4 chore: add description to accelerator.patch (#17346) 2019-03-13 10:11:07 +05:30
Jeremy Apthorp
86291236a0 spec: robustify some webview tests (#17301) 2019-03-12 15:50:28 -07:00
Heilig Benedek
14cc8a1808 fix: improve focused menu bar item visibility (#17291) 2019-03-12 15:29:45 -07:00
Shelley Vohr
5eb75e91b9 chore: fix default_app showMessageBox (#17357) 2019-03-12 14:10:18 -07:00
Shelley Vohr
8991c0056e feat: promisify dialog.showMessageBox() (#17298)
* feat: promisify dialog.showMessageBox()

* address feedback from review
2019-03-12 11:06:59 -07:00
Jeremy Apthorp
ea6a926494 test: add test for second-instance event parameter (#16798)
* test: add test for second-instance event parameter

* robustify getting data from child process

* fix test on windows

* fix lint

* Update api-app-spec.js

* fix package-lock.json
2019-03-12 11:56:28 -04:00
Milan Burda
48a95f9677 fix: remove non-existent gpu-crashed event on <webview> (#17317) 2019-03-11 17:25:46 -07:00
Nitish Sakhawalkar
e77d065875 chore: node_includes header no longer needs to be at the end of the list (#17090)
Until one of the latest version of node, the definition of the DISALLOW_COPY_AND_ASSIGN macro in node was different than in chromium. That is no longer the case, so just undefining the macro in node_includes.h works.
2019-03-11 17:13:43 -07:00
Samuel Maddock
f943db7ad5 feat: Add content script world isolation (#17032)
* Execute content script in isolated world

* Inject script into newly created extension worlds

* Create new content_script_bundle for extension scripts

* Initialize chrome API in content script bundle

* Define Chrome extension isolated world ID range

1 << 20 was chosen as it provides a sufficiently large range of IDs for extensions, but also provides a large enough buffer for any user worlds in [1000, 1 << 20).

Ultimately this range can be changed if any user application raises it as an issue.

* Insert content script CSS into document

This now avoids a script wrapper to inject the style sheet. This closely matches the code used by chromium in `ScriptInjection::InjectCss`.

* Pass extension ID to isolated world via v8 private
2019-03-11 16:27:57 -07:00
Milan Burda
6072da239d feat: add global renderer-process-crashed event (#17315) 2019-03-11 16:17:24 -07:00
Milan Burda
a8698d092b chore: increase security of default_app (#17318) 2019-03-11 16:13:46 -07:00
Jeremy Apthorp
188d31132b spec: robustify sendInputEvent beforeEach hook (#17300) 2019-03-11 13:35:44 -07:00
Samuel Attard
c7a453226d fix: remove label/image from segment if they are mutated to undefined/null (#17323) 2019-03-11 11:13:36 -07:00
Electron Bot
b43e4b8e0e Bump v6.0.0-nightly.20190311 2019-03-11 10:56:01 -07:00
Electron Bot
a958eb9c44 Bump v6.0.0-nightly.20190308 2019-03-08 19:38:21 -08:00
Electron Bot
7343a2f232 Revert "Bump v6.0.0-nightly.20190308"
This reverts commit 40af881844.
2019-03-08 19:36:24 -08:00
Electron Bot
40af881844 Bump v6.0.0-nightly.20190308 2019-03-08 19:36:08 -08:00
Samuel Attard
a968f4f999 build: remove strip_debug_info gn arg declaration as it is android only and causing release build failures on windows (#17306) 2019-03-08 19:34:39 -08:00
Shelley Vohr
9ea6c01e02 feat: promisify session.clearAuthCache() (#17259)
* feat: promisify session.clearAuthCache()

* remove unused callback runner helpers
2019-03-08 18:41:42 -08:00
Electron Bot
58a9a81895 Revert "Bump v6.0.0-nightly.20190308"
This reverts commit 4728cebd9e.
2019-03-08 17:46:53 -08:00
Electron Bot
4728cebd9e Bump v6.0.0-nightly.20190308 2019-03-08 17:13:26 -08:00
Samuel Attard
699ef08e84 Merge pull request #17088 from electron/chromium-upgrade/74
feat: upgrade to Chromium 74.0.3724.8
2019-03-08 17:08:59 -08:00
Samuel Attard
5c42f57197 test: skip failing win32 devtools keyboard spec 2019-03-08 17:07:10 -08:00
Samuel Maddock
8ee153dae1 feat: add support for content scripts 'all_frames' option (#17258)
* feat: add support for content scripts 'all_frames' option

* merged content script tests

'all_frames' test now runs on all variants of sandbox/contentIsolation configurations :D
2019-03-08 15:53:25 -08:00
Seba Kerckhof
b7fc50b7ca docs: Add information on packaging a build (#17086)
* docs: Add information on packaging a build

* Stripping only applies to linux
2019-03-08 15:24:00 -08:00
Samuel Attard
e185057ef9 chore: fix linting issues in atom_api_cookies.cc 2019-03-08 15:13:22 -08:00
Jeremy Apthorp
a46b8efc8a temporarily disable verify-mksnapshot on arm 2019-03-08 15:13:22 -08:00
Jeremy Apthorp
d548c8c692 fix: build on arm 2019-03-08 15:13:21 -08:00
deepak1556
457ff0687c device/fido/mac: add more specific check for TouchID availability
https://chromium-review.googlesource.com/c/chromium/src/+/1487811
2019-03-08 15:13:12 -08:00
Jeremy Apthorp
bf6fea3b59 AttachToOuterWebContentsFrame => AttachInnerWebContents
https://chromium-review.googlesource.com/c/1492653
2019-03-08 15:13:12 -08:00
Jeremy Apthorp
0d534b3c52 fix: compile error in frame_subscriber.h
https://chromium-review.googlesource.com/c/1460096
2019-03-08 15:13:12 -08:00
deepak1556
47b92b6413 chore: roll 74.0.3724.8 2019-03-08 15:13:12 -08:00
Jeremy Apthorp
9c76ce38e3 appveyor workaround for appveyor/ci#2420 2019-03-08 15:10:52 -08:00
Jeremy Apthorp
2840e45920 use patched robotjs to fix compile failure 2019-03-08 15:10:52 -08:00
Jeremy Apthorp
38304be688 force abstract-socket version to fix compile error 2019-03-08 15:10:52 -08:00
Jeremy Apthorp
990ba15157 update nan in spec deps 2019-03-08 15:10:52 -08:00
Jeremy Apthorp
69bf9aa605 fix extra-semi warnings 2019-03-08 15:10:52 -08:00
deepak1556
8043e2e278 build: only download gn binary for lint step 2019-03-08 15:06:16 -08:00
deepak1556
e8f6f31fe4 Disable network service
https://github.com/electron/electron/issues/15791
2019-03-08 15:06:16 -08:00
deepak1556
0243b0ffc1 Change base::JSONReader::ReadToValue() to return Optional.
https://chromium-review.googlesource.com/c/chromium/src/+/1476186
2019-03-08 15:06:16 -08:00
deepak1556
fb9d1bd83c Change net::CookieStore::SetCookiesCallback to return CookieInclusionStatus
https://chromium-review.googlesource.com/c/chromium/src/+/1470931
2019-03-08 15:06:16 -08:00
deepak1556
c735116cc3 Take scheme in CookieStore::SetCanonicalCookieAsync, not just whether it's secure.
https://chromium-review.googlesource.com/c/chromium/src/+/1450420
2019-03-08 15:06:16 -08:00
deepak1556
457abecad6 Remove obsolete WebVector::IsEmpty().
https://chromium-review.googlesource.com/c/chromium/src/+/1482145
2019-03-08 15:06:16 -08:00
deepak1556
bfe876afcd Use IPEndPoint instead of HostPortPair
https://chromium-review.googlesource.com/c/chromium/src/+/1473094
2019-03-08 15:06:16 -08:00
deepak1556
3f4f774838 Remove const interfaces from content::ResourceRequestInfo.
https://chromium-review.googlesource.com/c/chromium/src/+/1474632
2019-03-08 15:06:16 -08:00
deepak1556
66128a7152 Add RenderFrameHost as parameter to WebContentsDelegate::HandleContextMenu
https://chromium-review.googlesource.com/c/chromium/src/+/1472696
2019-03-08 15:06:16 -08:00
Jeremy Apthorp
0bae707995 fix extra-semi warning in frame_host_manager.patch 2019-03-08 15:06:16 -08:00
Jeremy Apthorp
7245546274 update chromium patches 2019-03-08 15:06:16 -08:00
Jeremy Apthorp
1650ca3699 update v8 patches
array_buffer patch upstreamed at https://chromium-review.googlesource.com/c/v8/v8/+/1462003
2019-03-08 15:06:16 -08:00
Jeremy Apthorp
36abc0e547 chore: roll to 74.0.3718.2 2019-03-08 15:06:16 -08:00
deepak1556
ffc32d8130 Move buildtools into src
https://chromium-review.googlesource.com/c/chromium/src/+/1450459
2019-03-08 15:06:16 -08:00
deepak1556
43f909a9a3 chore: update is-valid-window 2019-03-08 15:06:15 -08:00
deepak1556
8f15dc4ff9 chore: roll 74.0.3711.0 2019-03-08 15:06:15 -08:00
Jeremy Apthorp
38c3891337 fix: initialize field trial list
https://chromium-review.googlesource.com/c/1402880
2019-03-08 15:06:15 -08:00
Jeremy Apthorp
d47ed72d17 FIXME: disable field-trial descriptor DCHECK 2019-03-08 15:05:54 -08:00
Jeremy Apthorp
014654e794 [OnionSoup] Replace content::RendererPreferences with the mojom one.
https://chromium-review.googlesource.com/c/1426522
2019-03-08 15:04:32 -08:00
deepak1556
d04d11cfb5 [mojo] include mojo header
https://chromium-review.googlesource.com/c/chromium/src/+/1447145
2019-03-08 15:04:32 -08:00
deepak1556
03f9d40635 Expand GpuInfo to include image decode acceleration support.
https://chromium-review.googlesource.com/c/chromium/src/+/1471913
2019-03-08 15:04:32 -08:00
deepak1556
527e8f3a31 IWYU: add missing headers 2019-03-08 15:04:32 -08:00
deepak1556
49f414b439 [Mac] Remove GC calls from Chromium.
https://chromium-review.googlesource.com/c/chromium/src/+/1471382
2019-03-08 15:04:32 -08:00
deepak1556
43361164e8 Change signature of GetCookieListCallback to include list of excluded cookies
https://chromium-review.googlesource.com/c/chromium/src/+/1416151
2019-03-08 15:04:32 -08:00
deepak1556
ccd4a3c80c CookieStore::DeleteCookieAsync appears unused (outside a few tests), so remove it
https://chromium-review.googlesource.com/c/chromium/src/+/1456677
2019-03-08 15:04:32 -08:00
deepak1556
a7e2856bf0 //components/spellcheck: Fix 64-bit truncation issues
https://chromium-review.googlesource.com/c/chromium/src/+/1450592
2019-03-08 15:04:32 -08:00
deepak1556
ac609a3d78 Remove deprecated override of RegisterDictionaryPref
https://chromium-review.googlesource.com/c/chromium/src/+/1459538
2019-03-08 15:04:32 -08:00
deepak1556
611b36719b Remove channel_id_path from NetworkContextParams (and other related places)
https://chromium-review.googlesource.com/c/chromium/src/+/1435678
2019-03-08 15:04:32 -08:00
deepak1556
59cb0ac32e Copy base::JSONReader::Read() to ReadDeprecated().
https://chromium-review.googlesource.com/c/chromium/src/+/1435715
2019-03-08 15:04:32 -08:00
deepak1556
6f14df039e [DevTools] Stop passing base::Value to DevToolsManagerDelegate
https://chromium-review.googlesource.com/c/chromium/src/+/1459807
2019-03-08 15:04:32 -08:00
deepak1556
4450c26206 [v8] Advance deprecation for Value::BooleanValue
https://chromium-review.googlesource.com/c/v8/v8/+/1458245
2019-03-08 15:04:32 -08:00
deepak1556
7270a08f9c WebSQL: Don't pass name/metadata around, use content::StorageUsageInfo
https://chromium-review.googlesource.com/c/chromium/src/+/1432375
2019-03-08 15:04:32 -08:00
deepak1556
b99ff3448e Use base::BindOnce in notifications code
https://chromium-review.googlesource.com/c/chromium/src/+/1418170
2019-03-08 15:04:32 -08:00
deepak1556
00aeb8e5c5 Revert "Disable precompiled headers"
This reverts commit 2556d86c8a.
Required clang update is now available.
2019-03-08 15:04:32 -08:00
deepak1556
59703c60ac Convert remaining JSON service manifests
https://bugs.chromium.org/p/chromium/issues/detail?id=895616
2019-03-08 15:04:32 -08:00
deepak1556
04ad579e8f chore: update patches/common/chromium 2019-03-08 15:04:32 -08:00
deepak1556
a3deae4491 chore: update patches/common/v8 2019-03-08 15:04:31 -08:00
deepak1556
9bc3888378 chore: update patches/common/boringssl 2019-03-08 15:04:31 -08:00
deepak1556
c13bf5692a chore: roll 74.0.3710.0 2019-03-08 15:03:15 -08:00
Shelley Vohr
fc10620082 feat: promisify session cache methods (#17185) 2019-03-08 14:42:03 -08:00
Jeremy Apthorp
652e232813 feat: enable setuid sandbox on linux (#17269) 2019-03-08 13:10:26 -08:00
Samuel Attard
890f38e8fa build: use shx instead of raw cp to support windows (#17299) 2019-03-08 12:52:28 -08:00
Shelley Vohr
2769e75b49 feat: promisify session proxy methods (#17222) 2019-03-08 12:51:12 -08:00
Jeremy Apthorp
34fb6c2f35 fix: crash in ECDH.setPrivateKey (#17219) 2019-03-08 10:50:04 -08:00
Robo
5afb7dc715 refactor: load electron builtin modules with process._linkedBinding (#17247)
* refactor: load electron builtin modules with process._linkedBinding

NODE_BUILTING_MODULE_CONTEXT_AWARE and process.binding are
removed in https://github.com/nodejs/node/pull/25829. This changes
uses the alternative available without any functionality change.

* chore: roll node
2019-03-08 10:29:52 -08:00
Shelley Vohr
e5e6aa207c feat: promisify ses.clearHostResolverCache() (#17229) 2019-03-08 10:26:17 -08:00
Samuel Attard
9d8619f305 fix: remove usage of private APIs in the MAS build (#17224)
* fix: remove usage of abort_report_np in MAS builds

* fix: remove usage of pthread_chdir in MAS builds

* fix: remove usage of setapplicationisdaemon in MAS builds

* chore: update patch manifest
2019-03-08 10:08:56 -08:00
Shelley Vohr
bbfa63fd9d feat: promisify session.clearStorageData() (#17249) 2019-03-08 09:02:30 -08:00
Milan Burda
d34f81972d refactor: make ELECTRON_BROWSER_SANDBOX_LOAD handler async (#17107) 2019-03-08 11:21:41 +01:00
Shelley Vohr
17dab8f239 build: turn gpg signing off for bootstrap (#17282) 2019-03-07 18:11:31 -08:00
Shelley Vohr
a4418a9014 chore: add static promise resolution helpers (#17223)
* chore: add static promise resolution helpers

* address feedback

* address feedback from review
2019-03-07 18:07:04 -08:00
Samuel Attard
61fc95417b build: fix new TS linting errors (#17279)
* remove unused _args var
* handle type/variable shadowing
2019-03-07 17:18:10 -08:00
John Kleinschmidt
2be62b1c33 test: fix incorrect reference to skip (#17278) 2019-03-07 16:03:10 -08:00
Samuel Maddock
42b7b25ac3 feat: support chrome extensions in sandboxed renderer (#16218)
* Add content script injector to sandboxed renderer

* Fix 'getRenderProcessPreferences' binding to the wrong object

* Pass getRenderProcessPreferences to content-scripts-injector

* Emit document-start and document-end  events in sandboxed renderer

* Use GetContext from RendererClientBase

* Prevent script context crash caused by lazily initialization

* Remove frame filtering logic for onExit callback

Since we're keeping track of which frames we've injected the bundle into, this logic is redundant.

* Add initial content script tests

* Add contextIsolation variants to content script tests

* Add set include

* Fix already loaded extension error

* Add tests for content scripts 'run_at' options

* Catch script injection eval error when CSP forbids it

This can occur in a rendered sandbox when a CSP is enabled. We'll need to switch to using isolated worlds to fix this.

* Fix content script tests not properly cleaning up extensions

* Fix lint and type errors
2019-03-07 16:00:28 -08:00
Jeremy Apthorp
825e526456 build: minor fixes to git-export-patches (#17276)
* fix: make export-patches robust to tags with dashes

* fix: --output is a required parameter of export-patches
2019-03-07 15:59:17 -08:00
Jeremy Apthorp
ca2c345997 chore: update package-lock.json with npm@latest (#17146)
* chore: update package-lock.json with npm@latest

* also for spec/
2019-03-07 15:34:33 -08:00
Milan Burda
5791a2a9ec refactor: use ipcRendererUtils.invoke / ipcMainUtils.handle for desktopCapturer.getSources() (#16619) 2019-03-07 15:31:25 -08:00
Samuel Maddock
ac88b3ead5 feat: add 'disableHtmlFullscreenWindowResize' option to webPreferences (#17203)
This option allows users to prevent the window from resizing when the HTML5 FullScreen API is used.
2019-03-07 15:29:37 -08:00
Felix Rieseberg
f3fc4023cf refactor: Port renderer/web-view to TypeScript (#17250) 2019-03-07 15:26:23 -08:00
Roller Bot
8c6bf9c848 chore: bump chromium in DEPS to 73.0.3683.68 (#17262) 2019-03-07 14:52:02 -08:00
Robo
bb88a07a94 fix: gn check errors in release build (#17274) 2019-03-07 14:48:22 -08:00
Samuel Maddock
8ec304f32f fix: run subframe preload bundles in isolated context (#17165)
* fix: run subframe preload bundles in isolated context

* test subframe contextIsolation when disabled
2019-03-07 14:46:57 -08:00
Felix Rieseberg
5581990d78 build: Update TypeScript, use @typescript-eslint (#17251)
* build: Update TypeScript to v3.3

* build: Update TypeScript, use @typescript-eslint
2019-03-07 12:56:02 -08:00
Electron Bot
8c4d6438de Bump v6.0.0-nightly.20190307 2019-03-07 12:51:33 -08:00
Electron Bot
229934ec66 Revert "Bump v6.0.0-nightly.20190307"
This reverts commit ab785e73ac.
2019-03-07 12:47:33 -08:00
Electron Bot
ab785e73ac Bump v6.0.0-nightly.20190307 2019-03-07 12:34:10 -08:00
Robo
d4d6b9862f fix: make StreamSubscriber ref counted (#17221)
It is owned by URLRequestStreamJob on the IO thread once request starts,
but if the ownership was abondoned while transfering it to IO thread
which is possible when a request is aborted, then we need to make sure
its destroyed on the right thread to avoid lock in v8.
2019-03-07 20:50:03 +05:30
Jeremy Apthorp
b575631bb0 fix: bad assertion in crypto functions that use BN_bn2bin_padded (#17220)
* chore: roll node

in particular, this picks up electron/node#70a78f07b, which fixes an issue with incorrect usage of the BN_bn2bin_padded API in boringssl

* fix tests
2019-03-07 07:29:53 +05:30
Heilig Benedek
5422fd9941 fix: backport upstream fixes for color chooser dialogs (#17227)
* fix: backport upstream fixes for color chooser dialogs

* chore: fix patches, Windows bad, linux good

* Update color_chooser_mac.patch

* Update color_chooser_win.patch
2019-03-07 07:25:15 +05:30
Milan Burda
2733697819 refactor: make ELECTRON_INSPECTOR_SELECT_FILE handler async (#17235) 2019-03-06 22:22:45 +01:00
Shelley Vohr
6cb7b8d3a4 feat: promisify dialog.showSaveDialog() (#17054)
* feat: promisify dialog.showSaveDialog()

* address some feedback from review

* filename => filePath

* fix last filename => filePath
2019-03-05 13:48:20 -08:00
Roller Bot
92c9dbc179 chore: bump chromium in DEPS to 73.0.3683.65 (#17234) 2019-03-05 11:01:38 -08:00
Jeremy Apthorp
5a88d9e6fc docs: add troubleshooting note about pywin32 (#17216) 2019-03-05 10:40:52 -08:00
Koen [XII]
aa863f3246 Fix typo in registerSchemesAsPrivileged reference (#17214) 2019-03-05 09:20:52 -08:00
Shelley Vohr
e05985145b feat: promisify dialog.showOpenDialog() (#16973)
* feat: promisify dialog.showOpenDialog()

* address feedback from review

* address feedback from review
2019-03-05 05:54:48 -08:00
Robo
7936237677 build: enable gn check for //electron:electron_lib (#17100)
* build: enable gn check for //electron:electron_lib

* ci: add gn check step

* ci: set depot_tools path

* chrome_key_systems_provider.h nogncheck

* chore: fix gn check errors on windows

* chore: gn check //electron:electron_app
2019-03-05 10:38:55 +05:30
Charles Kerr
ed31cfebc9 fix: check for pane focus before removing it. (#17164)
Fixes #16883. This bug seems to have been introduced in the #15302's
menu a11y refactor and is new in 5-0-x.
2019-03-04 09:47:59 -06:00
Samuel Attard
8dcb5662e3 refactor: remove chromium/net_url_request_job.patch (#17174)
Does not appear to be used any more
2019-03-02 15:23:47 +05:30
Jeremy Apthorp
f4169f3491 chore: bump chromium to 73.0.3683.61 (master) (#17191)
also backport https://chromium-review.googlesource.com/c/chromium/src/+/1496448
2019-03-01 12:35:27 -08:00
Milan Burda
bbd1ae315a refactor: use invoke/invokeSync helpers for <webview> implementation (#16784) 2019-03-01 13:33:03 -05:00
Jeremy Apthorp
2adbc7836b refactor: prevent node macros from overriding base (#17178) 2019-03-01 10:04:30 -08:00
Felix Rieseberg
59a7fa6927 refactor: Port api/web-frame to TypeScript (#17053) 2019-03-01 08:39:04 +00:00
Milan Burda
676c02611d spec: add missing checks to "validates process APIs access in sandboxed renderer" (#17129) 2019-02-28 22:24:18 -08:00
Jeremy Apthorp
67f04c0370 docs: remove dead link to chromiumdev slack (#17161)
* docs: remove dead link to chromiumdev slack

Closes #17154

* Update chromium-development.md
2019-02-28 16:43:55 -05:00
Shelley Vohr
544d8a423c feat: allow MenuItems to work optionally when hidden (#16853)
* feat: allow MenuItems to work optionally when hidden

* fix: actually include forward_declaration
2019-02-28 17:00:54 +00:00
Linda_pp
6d55498cc7 docs: Fix types and missing property in WebRequest APIs (#17046)
* docs: Fixed hook methods of WebRequest accepts null as listener

* docs: Added missing `referrer` property in OnBeforeRequestDetails

* docs: Add `referrer` to each webRequest responses
2019-02-28 09:30:38 +00:00
Milan Burda
64078324bf refactor: make CHROME_GET_MESSAGES handler async (#17148) 2019-02-27 21:30:35 -06:00
Nitish Sakhawalkar
bfa07ec4be feat: Add new powerMonitor synchronous API (#17144)
`powerMonitor.querySystemIdleState` and `powerMonitor.querySystemIdleTime` had async backing APIs in chromium (https://chromium-review.googlesource.com/c/chromium/src/+/1379183). However, that has changed in ch73. So, this PR deprecates the old async APIs and adds new sync APIs.
2019-02-27 15:54:01 -05:00
Jeremy Apthorp
29ab74688d chore: update CODEOWNERS to reflect governance (#17143)
* chore: update CODEOWNERS to reflect governance

* Add /patches/ @electron/wg-upgrades

* Update CODEOWNERS
2019-02-27 15:17:35 -05:00
qwabra
d4cfaaf047 Update debugging-main-process-vscode.md (#16363)
[console.log() not printing to terminal when debugging Electron apps. #49](https://github.com/Microsoft/vscode-recipes/issues/49#issuecomment-354367330)
2019-02-27 15:03:15 -05:00
Nitish Sakhawalkar
5da89c3a2b chore:Remove transparency hack (#17128)
This change undoes the hack that was put in because of a bug in chromium. That has since been fixed in chromium, so this is no longer need, hence removing.
The 'BrowserWindow' > 'preserves transparency' test, validates this working.
2019-02-27 14:51:30 -05:00
Samuel Attard
e01c3615c4 chore: replace usage of deprecated beginSheetModalForWindow API (#16994) 2019-02-27 10:23:17 -08:00
Luca Carettoni
1bbb47be5b docs: Improved security doc, particularly around isolation and tool (#16703)
* Improved security doc, particularly around isolation and tool

* Fixes as suggested by @ckerr

* libcc update

* fixing lint stuff
2019-02-27 10:09:38 -08:00
Electron Bot
a07cb2afd7 Bump v6.0.0-nightly.20190227 2019-02-27 09:55:19 -08:00
Roller Bot
4e25dc3c3c chore: bump chromium in DEPS to 73.0.3683.58 (#17156) 2019-02-27 09:48:08 -08:00
Shelley Vohr
5ecda17c7a refactor: make shell.ShowItemInFolder asynchronous (#17121)
* fix: add scoped_blocking_calls to platform_win

https://chromium-review.googlesource.com/c/chromium/src/+/1191582

* feat: make ShowItemInFolder async

* address feedback from review

* fix build
2019-02-27 12:58:23 +00:00
Samuel Attard
08066581b0 fix: set cancelId to 1 when defaultId == 0 and no 'cancel' button (#17123) 2019-02-27 08:24:13 +00:00
Johann Fuechsl
42aa375497 fix: access of out-of-scope reference in ShowOpenDialog and ShowSaveDialog (#17126)
In the mac file dialog implementation of show*OpenDialog, a settings
object is passed down to the dialog completion handler.
However at the time the completion handler is invoked, the settings
object is already out-of-scope, resulting in an invalid access to
the security_scoped_bookmarks flag.
The fix is to capture the value of the flag and passing that directly
to the completion handler.

fixes issue #16664
2019-02-27 08:14:04 +00:00
Milan Burda
5a99ea4c46 refactor: merge ipcMainUtils.handle / handleSync (#17062) 2019-02-26 15:48:26 -08:00
Electron Bot
848d16525f Revert "Bump v6.0.0-nightly.20190226"
This reverts commit 7c78f11b82.
2019-02-26 15:20:32 -08:00
Electron Bot
7c78f11b82 Bump v6.0.0-nightly.20190226 2019-02-26 14:56:19 -08:00
Robo
28899c3885 chore: roll chromium 73.0.3683.54 (#17124)
* chore: roll chromium 73.0.3683.52

* chore: roll 73.0.3683.54
2019-02-26 21:35:27 +00:00
Shelley Vohr
be8f9bd597 chore: clean up issue templates (#17085)
* chore: clean up issue templates

* address feedback from review

* cleanup
2019-02-26 17:51:29 +09:00
Shelley Vohr
d9c7735a04 chore: augment promisifyMultiArg deprecation (#17066) 2019-02-25 18:25:25 -08:00
Mark Lee
7a7389ab1c build: upgrade to asar@^1.0.0 (#17061)
* build: upgrade asar to ^1.0.0

This is to remove a transitive security vulnerability.
The API changed from callbacks to Promises, so `script/gn-asar.js`
needed to be changed.

* build: add klaw to package.json

`klaw` is used in `script/lint.js`, but it was a transitive dependency.

* build: add fs-extra to package.json

`fs-extra` is used in `script/gn-asar.js`, but it was a transitive
dependency.
2019-02-25 18:25:00 -08:00
Vlad Hashimoto
30213089ae docs: allow webRequest listener to passing null (#17006) 2019-02-25 18:13:00 -08:00
Gavin Wang
391f6dd663 docs: add sample code for contents.insertCSS() (#16959)
it not work before Event: 'did-finish-load', so add this sample code to show it.
2019-02-25 18:10:56 -08:00
Felix Rieseberg
7f007109c3 refactor: Port inspector to TypeScript (#16943)
* refactor: Port inspector to TypeScript

* refactor: Add another type to inspector

* refactor: Use correct paths

* Update lib/renderer/inspector.ts

Co-Authored-By: felixrieseberg <felix@felixrieseberg.com>

* refactor: Implement feedback <3

* refactor: Don't define blob at all

* fix: Correct type
2019-02-25 18:10:25 -08:00
Robo
ddcebb096f fix: use frame tree api to remove <webview> frame (#16501)
Replaces the usage of testing api added in
03d499bf34
2019-02-25 17:47:29 -08:00
Shazron Abdullah
6da939629b fix: respect the user's active app focus (#16400)
* Respect the user's active app

Apple recommends not setting this to true. https://developer.apple.com/documentation/appkit/nsapplication/1428468-activateignoringotherapps?language=objc

* Remove atom_bundle_mover.mm change for [NSApp activateIgnoringOtherApps:]
2019-02-25 17:44:38 -08:00
Milan Burda
5e762d6a47 chore: finalize dropping support for OS X Mavericks (version 10.9) (#17102) 2019-02-25 17:21:57 +00:00
Sindre Sorhus
df5305d6a7 docs: fix MenuItem windowMenu role description (#17065)
It was changed in https://github.com/electron/electron/pull/15930
2019-02-25 13:34:32 +00:00
Thomas Beverley
1674388028 Fix webContents.print() (#17052) 2019-02-25 13:30:21 +00:00
Roller Bot
944cdb4430 chore: bump chromium in DEPS to 73.0.3683.49 (#17095) 2019-02-22 17:17:02 -08:00
Jeremy Apthorp
28b150f6dc test: fix race condition in debugger spec (#17091) 2019-02-22 16:45:48 -08:00
Roller Bot
5be93566ee chore: bump chromium in DEPS to 73.0.3683.48 (#17083) 2019-02-21 09:52:08 -08:00
Cheng Zhao
32a4de4a68 chore: make util::Promise a move-only type (#17071) 2019-02-21 12:32:44 +00:00
ZYSzys
a40d826b11 chore: remove unused catch bindings (#16121) 2019-02-21 09:26:07 +00:00
Roller Bot
08f7d60da4 chore: bump chromium in DEPS to 73.0.3683.47 (#17068) 2019-02-20 10:18:43 -08:00
Shelley Vohr
3edc497d3d feat: show user gesture type in click event (#16954) 2019-02-20 12:20:24 +00:00
Shelley Vohr
cc5ed24e23 chore: properly template the Then promise helper (#17050) 2019-02-19 21:46:59 +00:00
Roller Bot
0a730e61f5 chore: bump chromium in DEPS to 73.0.3683.45 (#17048) 2019-02-19 13:42:32 -08:00
Felix Rieseberg
91f81b4b72 refactor: Port renderer/init to TypeScript (#17027)
* refactor: Port renderer/init to TypeScript

* Update lib/renderer/init.ts

Co-Authored-By: felixrieseberg <felix@felixrieseberg.com>

* refactor: Type this a bit more loosely

* refactor: Type parseOption strictly
2019-02-19 17:05:14 +00:00
Felix Rieseberg
2223114f20 refactor: Port chrome-api to TypeScript (#17014) 2019-02-19 13:09:44 +00:00
Milan Burda
7e7abc28f5 feat: promisify netLog.stopLogging (#16862) 2019-02-19 10:48:27 +00:00
Samuel Attard
3b74837020 refactor: Split 'Event' docs/types into more specific Event types (#17038)
* Event = Base event type (with preventDefault)
* IpcMainEvent = Event that ipcMain emits (with sender, reply, etc.)
* IpcRendererEvent = Event that ipcRenderer emits (with sender,
senderId, etc.)
* KeyboardEvent = Event that we emit with keyboard flags (ctrlKey,
altKey, etc.)

This will dramatically improve peoples TS experience with IPC events
2019-02-19 09:24:19 +00:00
Shelley Vohr
ef2e7d95fe chore: add Then helper for native promises (#16978) 2019-02-18 14:25:28 +00:00
Milan Burda
a04d9ef35b feat: add process.getSystemVersion() (#16599) 2019-02-18 12:59:48 +00:00
Felix Rieseberg
eaa0e28396 refactor: Port content-scripts-injector to TypeScript (#17012) 2019-02-18 12:47:07 +00:00
John Kleinschmidt
35c3a7e130 build: make torque patch more specific for native arm builds (#16992)
* build: make torque patch more specific

the v8_generator_toolchain should only be overriden if the snapshot toolchain is a native arm or arm64 toolchain

* Only test native mksnapshot on arm64

* Put environment variable in container
2019-02-18 10:02:50 +00:00
Felix Rieseberg
596acdcb91 refactor: Port web-frame-init to TypeScript (#16934)
* refactor: Port web-frame-init to TypeScript

* refactor: Use ipcRendererInternal
2019-02-18 00:24:18 +00:00
Felix Rieseberg
6b3ff4f1f7 refactor: Port security warnings to TypeScript (#16937)
* refactor: Port security-warnings to TypeScript

* chore: make aliasify work on .ts files as well

* refactor: Implement feedback <3

* refactor: Correctly call executeJavaScript
2019-02-16 17:06:30 -08:00
Mark Lee
0a84c61074 docs: update chromium version in 5.0.0 release schedule (#17001) 2019-02-16 08:25:25 -08:00
Samuel Attard
71366e2a0d chore: auto add filenames.auto.gni when md files are changed (#16995) 2019-02-15 17:03:50 -08:00
Shelley Vohr
1e8ac79e6f docs: document the Event interface (#16966)
* docs: document the Event interface

* update docs deps

* pull new VoidFunction update
2019-02-15 12:08:45 -08:00
Roller Bot
31ff160431 chore: bump chromium in DEPS to 73.0.3683.41 (#16981) 2019-02-15 10:37:19 -08:00
Aayush Chhabra
6d005ff137 docs: Remove redundant 'Instance Events' Headline (#16865) 2019-02-15 08:29:33 -10:00
Milan Burda
975a035d34 chore: re-enable devtools renderer sandbox (#16864)
* chore: re-enable devtools renderer sandbox

* chore: enable sandbox for chrome extension background script host renderers
2019-02-15 15:10:32 +05:30
Felix Rieseberg
2498e8d1c2 refactor: Port renderer-internal to TypeScript (#16939)
* chore: make aliasify work on .ts files as well

* refactor: Port ipc-renderer-internal to TypeScript

* refactor: Correctly import internal ipcRenderer

* refactor: One more rename

* refactor: Fix one more lint issue

* refactor: Correctly reference ipcRendererInternal
2019-02-14 17:24:25 -08:00
Samuel Attard
5790869a3f chore: refactor browser IPC into TS and app API into TS (#16921)
* chore: refactor browser IPC into typescript

* chore: refactor app.ts into Typescript

* Refactors app.dock into cpp
* Removes app.launcher which has not existed for 3 years
* Removes 2 deprecated APIs (that have been deprecated for more than one
major)
* Refactors deprecate.ts as well
2019-02-14 14:29:20 -08:00
Samuel Attard
4ccd6d5900 build: add a pre-flight check to all NPM steps in GN to ensure that we have the right NPM deps installed (#16974) 2019-02-14 14:28:41 -08:00
Samuel Attard
28638b0a6b docs: update dialog documentation for "undefined" ret vals (#16970) 2019-02-14 14:28:17 -08:00
Samuel Attard
5904544235 Merge pull request #16494 from electron/chromium-upgrade/73
feat: upgrade to Chromium 73.0.3683.27
2019-02-14 12:28:41 -08:00
John Kleinschmidt
46a49b74a6 Run electron tests first 2019-02-14 23:59:27 +05:30
deepak1556
b927be9982 chore: roll 73.0.3683.27 2019-02-14 23:59:27 +05:30
deepak1556
95386ef56f Disable swiftshader for arm32 2019-02-14 23:59:27 +05:30
deepak1556
1d9170f1bb FIXME: disable OSR 2019-02-14 23:59:27 +05:30
deepak1556
b6f7157910 fix compilation error for windows testing builds 2019-02-14 23:59:27 +05:30
deepak1556
2556d86c8a Disable precompiled headers
Workaround for https://crbug.com/924225
2019-02-14 23:59:26 +05:30
deepak1556
d7fea1b484 REVIEW: fix possible -Wdeprecated-declarations warnings 2019-02-14 23:59:26 +05:30
Heilig Benedek
2ccf5904e0 chore: fix linking errors on Windows 2019-02-14 23:59:26 +05:30
Heilig Benedek
d7557cb66a chore: use c++ manifests instead of json 2019-02-14 23:59:26 +05:30
Heilig Benedek
cece8bce0b chore: make OSR compile on Windows 2019-02-14 23:59:26 +05:30
deepak1556
66db627913 Remove "layouttest" or "layout test" in //content
https://chromium-review.googlesource.com/c/chromium/src/+/1367391
2019-02-14 23:59:26 +05:30
deepak1556
76fde58e27 REVIEW: ui::Compositor: Simplify how ExternalBeginFrameClient is used.
https://chromium-review.googlesource.com/c/chromium/src/+/1388384
2019-02-14 23:59:26 +05:30
deepak1556
8a51c9c2f6 REVIEW: Have MouseWheelPhaseHandler agree on whether to route its wheel event
https://chromium-review.googlesource.com/c/chromium/src/+/1401664
2019-02-14 23:59:26 +05:30
deepak1556
e11589b5be ui/base: move clipboard to own folder.
https://chromium-review.googlesource.com/c/chromium/src/+/1369933
2019-02-14 23:59:25 +05:30
deepak1556
3727982217 Delete tab pulsing feature.
https://chromium-review.googlesource.com/c/chromium/src/+/1407958
2019-02-14 23:59:25 +05:30
deepak1556
70bbbb84bb Rename BlendTowardOppositeLuma() to BlendTowardContrastingEndpoint().
https://chromium-review.googlesource.com/c/chromium/src/+/1400060
2019-02-14 23:59:25 +05:30
Jeremy Apthorp
34d7e019ce gfx::Path -> SkPath
https://chromium-review.googlesource.com/c/1392181
2019-02-14 23:59:25 +05:30
deepak1556
a9ab4c5039 chore: roll 73.0.3683.10 2019-02-14 23:59:25 +05:30
deepak1556
005b7d8099 Print Preview: Add validity check for kSettingPagesPerSheet.
https://chromium-review.googlesource.com/c/chromium/src/+/1381133
2019-02-14 23:59:25 +05:30
deepak1556
510ca79ddd Enable DCHECK for renderer-initiated navigations requiring initiator.
https://chromium-review.googlesource.com/c/chromium/src/+/1385495
2019-02-14 23:59:24 +05:30
deepak1556
0545d47ca7 chore: roll node 2019-02-14 23:59:24 +05:30
deepak1556
86a94126fb Convert ProxyResolutionServiceProvider to use Network Service.
https://chromium-review.googlesource.com/c/chromium/src/+/1419264
2019-02-14 23:59:24 +05:30
deepak1556
035eee5c03 [OnionSoup] replace network::DataElement::Type with DataElementType
https://chromium-review.googlesource.com/c/chromium/src/+/1393106
2019-02-14 23:59:24 +05:30
deepak1556
1b982e200a Autoplay: remove cross-origin autoplay policy from //chrome and //content.
https://chromium-review.googlesource.com/c/chromium/src/+/1362225
2019-02-14 23:59:24 +05:30
deepak1556
10850808e9 chore: roll 73.0.3679.0 2019-02-14 23:59:24 +05:30
deepak1556
c2be0846c2 chore: rm fix_test_compilation_error.patch 2019-02-14 23:59:24 +05:30
deepak1556
1d21e9c35d Move client hints to content
https://chromium-review.googlesource.com/c/chromium/src/+/1376709
2019-02-14 23:59:23 +05:30
deepak1556
315f8c0cc7 DevToolsFrontendHost::Create to return unique_ptr instead of raw pointer
https://chromium-review.googlesource.com/c/chromium/src/+/1396614
2019-02-14 23:59:23 +05:30
deepak1556
9b82e7d27b Change DevToolsEmbedderMessageDispatcher to use unique_ptr instead of raw pointers.
https://chromium-review.googlesource.com/c/chromium/src/+/1382701
2019-02-14 23:59:23 +05:30
deepak1556
61c46c6313 Replace SiteInstance::IsSameWebSite() with a new non-static method.
https://chromium-review.googlesource.com/c/chromium/src/+/1352856
2019-02-14 23:59:23 +05:30
deepak1556
e4cfc52c29 Remove const interfaces from content::RenderProcessHost.
https://chromium-review.googlesource.com/c/chromium/src/+/1356004
2019-02-14 23:59:23 +05:30
deepak1556
3898a44e88 Increase scope of URLLoader::FollowRedirect() API implementation.
https://chromium-review.googlesource.com/c/chromium/src/+/1369856
2019-02-14 23:59:23 +05:30
deepak1556
547add94d0 Make //ui/base/idle API synchronous
https://chromium-review.googlesource.com/c/chromium/src/+/1379183
2019-02-14 23:59:23 +05:30
deepak1556
dd4a31633f split out color chooser browser dialog header
https://chromium-review.googlesource.com/c/chromium/src/+/1395146
2019-02-14 23:59:23 +05:30
deepak1556
52ef6d9ae4 [Printing] Stop using GetUserAgent from non-browser process
https://chromium-review.googlesource.com/c/chromium/src/+/1353052
2019-02-14 23:59:23 +05:30
deepak1556
0e39ec688a More migration of ServiceContext to ServiceBinding
https://chromium-review.googlesource.com/c/chromium/src/+/1357534
2019-02-14 23:59:22 +05:30
deepak1556
606c84b302 Blink: Plumb correct security origin for isolated world CSPs.
https://chromium-review.googlesource.com/c/chromium/src/+/1395190
2019-02-14 23:59:22 +05:30
deepak1556
2c282203b5 v8: Remove obsolete V8 extras flag
https://chromium-review.googlesource.com/c/chromium/src/+/1404554
2019-02-14 23:59:22 +05:30
deepak1556
1c4241bff5 Move BackgroundColor from widgets and child frames to the WebView.
https://chromium-review.googlesource.com/c/chromium/src/+/1382861
2019-02-14 23:59:22 +05:30
deepak1556
b2bd9ffd70 Downloads : Adding metered network info and retry count to download item
https://chromium-review.googlesource.com/c/chromium/src/+/1352628
2019-02-14 23:59:22 +05:30
deepak1556
e1502f6953 Move GetUserAgent from ContentClient to ContentBrowserClient
https://chromium-review.googlesource.com/c/chromium/src/+/1352086
2019-02-14 23:59:22 +05:30
deepak1556
abec938b0a Use base::size rather than arraysize
https://bugs.chromium.org/p/chromium/issues/detail?id=837308
2019-02-14 23:59:22 +05:30
deepak1556
a913e396d5 [SM] Use C++ Manifests for SM embedders
https://chromium-review.googlesource.com/c/chromium/src/+/1383530
2019-02-14 23:59:21 +05:30
deepak1556
79040e348a Change the source origin parameter type for CanCreateWindow from GURL to url::Origin.
https://chromium-review.googlesource.com/c/chromium/src/+/1395066
2019-02-14 23:59:21 +05:30
deepak1556
9439ac108d content: Fix WebContentsUserData for usage across components.
https://chromium-review.googlesource.com/c/chromium/src/+/1354402
2019-02-14 23:59:21 +05:30
deepak1556
a864167d46 Move MediaStream Mojo and public interfaces to Blink.
https://chromium-review.googlesource.com/c/chromium/src/+/1389998
2019-02-14 23:59:21 +05:30
deepak1556
92cfc4a62d fix: update deprecated v8 api usage 2019-02-14 23:59:21 +05:30
deepak1556
f09cb56f19 Refactors TtsPlatform and most platform implementations to content.
https://chromium-review.googlesource.com/c/chromium/src/+/1352055
2019-02-14 23:57:59 +05:30
deepak1556
fbefab4227 chore: update patches/common/ffmpeg 2019-02-14 23:57:59 +05:30
deepak1556
e517139e3c chore: update patches/common/v8 2019-02-14 23:57:58 +05:30
deepak1556
3f75724a31 chore: update patches/common/chromium 2019-02-14 23:57:58 +05:30
deepak1556
2752ae4ae8 chore: roll 73.0.3673.0 2019-02-14 23:57:58 +05:30
Milan Burda
e769b867f0 fix: disable Chromium v2 sandbox in MAS builds (#16920) 2019-02-14 09:48:17 -08:00
Shelley Vohr
de27911661 feat: promisify webContents.savePage() (#16742)
* feat: promisify webContents.savePage()

* no need to make compatible w callbacks, we're breaking it

* fix promise resolve type

* address feedback from review

* fix promise return text

* update smoke test
2019-02-14 09:03:28 -08:00
Jeremy Apthorp
6e7dca9082 chore: restore WTF::StringImpl dchecks (#15635) 2019-02-14 08:59:04 -08:00
Stewart Lord
84ef9cae6c fix: send chrome.runtime/tabs.sendMessage result to correct sender (#16945)
Additionally, use `.once` instead of `.on` for result specific listeners.
2019-02-14 06:07:55 -10:00
Samuel Attard
8497bb1327 fix: potential flake/race in webview specs (#16950) 2019-02-14 05:49:12 -10:00
Felix Rieseberg
31494dfade refactor: Port getRemote to TypeScript (#16938)
* chore: make aliasify work on .ts files as well

* refactor: Port getRemote to TypeScript

* refactor: Implement feedback <3
2019-02-14 04:04:53 -10:00
Felix Rieseberg
6cd75744ef refactor: Port window-setup to TS (#16894)
* refactor: Port window-setup to TS

* refactor: Make the linter happy

* refactor: Sneaky little TS error

* refactor: Correctly import window-setup

* refactor: Implement feedback <3

* refactor: Allow decorators in TS

* refactor: Use named windowSetup in isolatedRenderer

* refactor: Help TS understand

* refactor: Welp, use createEvent again

* refactor: Use the correct target in the decorator
2019-02-14 03:52:38 -10:00
Milan Burda
2492f0bcac refactor: promisify prototype methods (#16935) 2019-02-14 03:40:24 -10:00
Felix Rieseberg
9112ad01be refactor: Port renderer-internal-utils to TypeScript (#16942)
* chore: make aliasify work on .ts files as well

* refactor: Port renderer-internal-utils to TypeScript

* refactor: Implement feedback <3
2019-02-13 23:05:49 -08:00
Shelley Vohr
46a24c82ff feat: add Touch ID authentication support for macOS (#16707)
This PR adds Touch ID authentication support for macOS with two new `SystemPreferences` methods.

1. `systemPreferences.promptForTouchID()` returns a Promise that resolves with `true` if successful and rejects with an error message if authentication could not be completed.
2. `systemPreferences.isTouchIDAvailable()` returns a Boolean that's `true` if this device is a Mac running a supported OS that has the necessary hardware for Touch ID and `false` otherwise.
2019-02-13 18:36:28 -08:00
Stewart Lord
228805353f fix: pass result to chrome.tabs.executeScript callback (#16941)
* fix: pass result to chrome.tabs.executeScript callback

Additionally, remove `nextId` counter in favor of `originResultID` counter which is more widely used in this file.

* fix: remove need for eslint override and better match style
2019-02-13 17:00:36 -08:00
Shelley Vohr
319c2853df chore: move ts-smoke tests to core (#16930)
* chore: move ts smoke tests to core

* fix: fix paths for tsconfig / ts-smoke runner

* update ts-defs version

* do not lintr
2019-02-13 15:24:28 -08:00
Electron Bot
95214fcd4b Bump v6.0.0-nightly.20190213 2019-02-13 13:44:57 -08:00
Shelley Vohr
fed5b99a9f feat: promisify contentTracing.getTraceBufferUsage() (#16600)
* feat: promsify contentTracing.getTraceBufferUsage()

* deprecate getTraceBufferUsage

* address feedback from review

* properly deprecate
2019-02-13 13:24:57 -08:00
Julien Isorce
9b29befdc8 feat: disable fetching thumbnails if thumbnailSize is 0 (#14906)
Capturing window thmubnails is expensive as it actually uses the
window capturer and it records one full frame per window and then
downscale to the default size 150x150. When only interested in the
window names or the app icons we do not need all of this.

Underlying change is merged in chromium72 so this patch only modifies
the doc, see:
  https://chromium.googlesource.com/chromium/src.git/+log/72.0.3626.52/chrome/browser/media/webrtc/native_desktop_media_list.cc

Example: desktopCapturer.getSources({thumbnailSize: {width: 0, height: 0}}, ...)

Also added a unit test in spec/api-desktop-capturer-spec.js that verifies
that the returned thumbails are of type NativeImage and empty,
when the user disable fetching thumbnails.

notes: Can disable fetching the thumbnails for the DesktopCapturer.

https://github.com/electron/electron/issues/14872
2019-02-13 10:27:42 -08:00
Nitish Sakhawalkar
3dfef4a376 chore: Add new webFrame IsolatedWorldInfo API and deprecate (#16801)
* chore: Add new webFrame IsolatedWorldInfo API and deprecate

* Flag deprecated methods in documentation

* address comments

* Address review comments

* remove unused variable

* Update based on review
2019-02-13 08:05:28 -10:00
Milan Burda
1f458eb177 feat: promisify debugger.sendCommand() (#16861)
* remove duplicate entry for desktopCapturer.getSources

* feat: promisify debugger.sendCommand
2019-02-13 07:23:53 -10:00
Roller Bot
ee4c9aa3d0 chore: bump chromium in DEPS to 72.0.3626.110 (#16924) 2019-02-13 07:20:26 -10:00
Samuel Maddock
8f6a543398 feat: add chrome.runtime.getManifest (#16891)
* feat: add chrome.runtime.getManifest

* Add test for chrome.runtime.getManifest

* Use IPC utils for getManifest internals
2019-02-13 07:16:12 -10:00
John Kleinschmidt
46f818b0c3 feat: add file preview for GTK file picker (#16447) 2019-02-13 06:52:14 -10:00
Samuel Attard
c363eed543 chore: suppress output of npm_action unless it fails (#16888) 2019-02-12 21:32:47 -08:00
Roller Bot
6385608f7f chore: bump chromium in DEPS to 72.0.3626.108 (#16899) 2019-02-12 21:31:52 -08:00
Robo
1ed7b1c76d chore: remove obsolete v8 patches (#16910)
* patches/common/v8/disable-warning-win.patch
  added in https://github.com/electron/libchromiumcontent/pull/483
* patches/common/v8/ostreams.patch
  added in https://github.com/electron/libchromiumcontent/pull/258
2019-02-12 21:31:08 -08:00
Jeremy Apthorp
8d09219533 chore: 'breaking change' in PR body overrides commit type in relnotes (#16911) 2019-02-12 21:30:39 -08:00
Shelley Vohr
ca83d36426 feat: promisify app.dock.show() (#16904)
* feat: promisify app.dock.show

* add a spec
2019-02-12 21:06:33 -08:00
Samuel Attard
cd9bf72ee8 build: ensure that the uploaded symbol path is correct for our symbol (#16908)
server
2019-02-12 14:10:24 -08:00
Shelley Vohr
cfba59929a fix: backport patch to sync exposed crypto (#16822)
* fix: backport patch to sync exposed crypto

* add two new specs

* fix iv length

* fix formatting
2019-02-12 11:57:11 -08:00
Robo
5478cc7e8e chore: fix lint errors (#16906) 2019-02-13 00:19:47 +05:30
Electron Bot
98b05b8428 Bump v6.0.0-nightly.20190212 2019-02-12 10:09:30 -08:00
Shelley Vohr
bf276ecc69 feat: add new components to Display structure (#16870)
* feat: add new components to Display structure

* add internal property

* expose colorDepth

* add specs
2019-02-12 05:34:42 -10:00
Jeremy Apthorp
5a44cc50cf docs: migration guide for register{StandardSchemes => SchemesAsPrivileged} (#16762)
* docs: migration guide for register{StandardSchemes => SchemesAsPrivileged}

cc @nitsakh

* Update docs/api/protocol.md

Co-Authored-By: nornagon <nornagon@nornagon.net>

* Update docs/api/protocol.md

Co-Authored-By: nornagon <nornagon@nornagon.net>

* Update protocol.md

* Update docs/api/protocol.md

Co-Authored-By: nornagon <nornagon@nornagon.net>
2019-02-12 04:31:53 -10:00
Samuel Attard
01c442de64 refactor: convert more files to typescript (#16820) 2019-02-12 04:22:33 -10:00
Charles Kerr
cfbdc40814 fix: release-notes plays more nicely with clerk (#16887)
Explicitly look not just for Clerk's "notes persisted"
message but also its "no release notes" message.
2019-02-12 04:21:20 -10:00
Robo
83894dc5db ci: fix binaries for chromedriver build on macOS (#16893) 2019-02-12 16:14:52 +05:30
Roller Bot
deb36d5008 chore: bump chromium in DEPS to 72.0.3626.107 (#16869) 2019-02-11 17:56:03 -08:00
Electron Bot
8141a26ba9 Bump v6.0.0-nightly.20190211 2019-02-11 17:40:41 -08:00
Samuel Attard
9deaacb454 Revert "Bump v6.0.0-nightly.20190211"
This reverts commit c92233cbc8.
2019-02-11 14:23:46 -08:00
John Kleinschmidt
6a47089c78 ci: Refactor mksnapshot test so that it doesn't stall. (#16875) 2019-02-11 12:21:00 -10:00
Samuel Attard
7baa218ca9 docs: remove removed autosize attribute (#16884)
Closes #16199

Notes: no-notes
2019-02-11 14:15:15 -08:00
Electron Bot
c92233cbc8 Bump v6.0.0-nightly.20190211 2019-02-11 14:08:24 -08:00
Samuel Attard
20d9f4b2b5 Revert "Bump v6.0.0-nightly.20190211"
This reverts commit dc0be294dd.
2019-02-11 14:05:22 -08:00
Electron Bot
dc0be294dd Bump v6.0.0-nightly.20190211 2019-02-11 13:32:01 -08:00
Shelley Vohr
9dd3338ede chore: revert "Bump v6.0.0-nightly.20190208"
This reverts commit 70042d2597.
2019-02-11 13:22:44 -08:00
Milan Burda
d8ba1278d1 chore: disable the remote module in devtools / chrome extension background scripts (#16866)
* cache isRemoteModuleEnabled

* chore: disable the remote module in devtools / chrome extension background scripts
2019-02-11 10:42:37 -10:00
robertgrzonka
a3cdf46fb6 docs: change of previously wrong added Polish emoji into proper one (#16700)
* Change Polish flag

* Change of previously setuped flag of Monaco to Polish flag

* fix: change flags

* add Indonesian flag at former place
* append Polish flag at the end
2019-02-11 10:41:06 -10:00
Samuel Attard
5301808926 docs: reference the webviewTag option in the webview docs (#16879)
Closes #16773

Notes: Add a reference to the "webviewTag" option in the webview docs
2019-02-11 10:38:36 -10:00
Heilig Benedek
ccc60a1f33 fix: enable autofill popups on mac (#16308)
* feat: enable autofill popups on mac

* fix: make popup positioning better

* fix: don't try to show popup when widget is closing or not visible

* fix: unify conditions

* refactor: use PopupViewCommon from chrome directly

* lint: mark constructor explicit

* fix: use a patch instead of dummy functions to make things compile on Windows

* chore: address review suggestions

* Update atom/browser/ui/cocoa/views_delegate_mac.mm

Co-Authored-By: brenca <benecene@gmail.com>
2019-02-11 09:38:58 -10:00
Milan Burda
36ce3e9546 feat: promisify webContents.printToPDF() (#16795) 2019-02-11 09:20:04 -10:00
Shelley Vohr
3effa6f20c feat: add support for scroll lock accelerator (#16873) 2019-02-11 09:13:13 -10:00
Charles Kerr
d57b9cb47f chore: bump spec dependencies (#16872)
* bump dbus-native dependency

* semver/patch and semver/minor bumps

patch bumps for basic-auth, bluebird, graceful-fs.
minor bumps for chai, mocha-junit-reporter, multiparty, temp, walkdir.

* major bumps: ws, yargs

* sync spec/package-lock.json
2019-02-11 09:12:13 -10:00
Samuel Attard
90ebd8eb12 docs: document how setAsDefaultProtocolClient works in Windows Store (#16874)
Closes #16852
2019-02-11 10:51:46 -08:00
Milan Burda
c77e187742 chore: fix "creates offscreen window with correct size" spec on Mac with Retina display (#16867) 2019-02-11 10:35:46 -08:00
Milan Burda
7a3d220347 refactor: implement Chrome Extension APIs without the remote module (#16686)
* refactor: implement Chrome Extension APIs without the remote module

* remove unused potentiallyRemoteRequire
2019-02-10 10:38:14 -08:00
Shelley Vohr
1898f91620 fix: enable property having no effect on submenus (#16835) 2019-02-08 18:07:08 -08:00
Cheng Zhao
d16b581140 fix: remove memory leak when using webFrame and spell checker (#16770)
* fix: do not create native api::WebFrame in webFrame

When reloading a page without restarting renderer process (for example
sandbox mode), the blink::WebFrame is not destroyed, but api::WebFrame
is always recreated for the new page context. This leaves a leak of
api::WebFrame.

* fix: remove spell checker when page context is released
2019-02-08 13:38:31 -08:00
Milan Burda
3f52e18a38 chore: add menu-will-close comment explaining setTimeout (#16794) 2019-02-08 13:38:03 -08:00
Electron Bot
70042d2597 Bump v6.0.0-nightly.20190208 2019-02-08 13:28:42 -08:00
Jeremy Apthorp
72f3a22ecc docs: reorder crashReporter notes to make more sense (#16825)
the note about reports from child processes on Windows should be next to the code snippet.

Side note: is that code even still necessary?
2019-02-08 13:26:59 -08:00
Shelley Vohr
c80c3c18dc Revert "Bump v6.0.0-nightly.20190207"
This reverts commit c8282efb75.
2019-02-08 13:26:18 -08:00
Samuel Attard
10607f7e86 chore: make crash-reporter specs not use URL module (#16840) 2019-02-08 13:22:07 -08:00
Shelley Vohr
ccf46a57bc fix: display empty menu item for non-visible submenus (#16832)
* fix: display empty menu item for nonvisible submenus

* use Chromium UI string ID
2019-02-08 13:19:01 -08:00
Shelley Vohr
062778c031 fix: don't construct submenu if it's invisible (#16834) 2019-02-08 12:54:39 -08:00
Samuel Attard
833daaa2b2 chore: add helper to wait for a window to load in a remote-safe way (#16837) 2019-02-08 12:26:03 -08:00
Milan Burda
1632c4b837 refactor: implement chrome.i18n.getMessage() without the remote module (#16739)
* refactor: implement chrome.i18n.getMessage() without the remote module

* replace navigator.language with app.getLocale()
2019-02-08 12:07:09 -08:00
Roller Bot
b97f6bd7d4 chore: bump chromium in DEPS to 72.0.3626.102 (#16830) 2019-02-08 10:36:37 -08:00
Samuel Attard
23b84917e0 ci: set MAS_BUILD=true on mas builds (#16824) 2019-02-08 10:12:18 -08:00
Shelley Vohr
e790dbd737 chore: add standalone function deprecation helper (#16782) 2019-02-08 09:50:11 -08:00
Electron Bot
c8282efb75 Bump v6.0.0-nightly.20190207 2019-02-07 14:13:50 -08:00
Julien Isorce
27bd47a333 feat: implement BrowserWindow.moveTop on X11 (#16629)
It was implemented on Mac and Win but not on X11.
Tested on Ubuntu 16.04 and 18.04.

Also added a unit test in spec/api-browser-window-spec.js.
This test BrowserWindow.moveTop verifies that calling moveTop
on a window does not give the focus to this window.

notes: BrowserWindow.moveTop is now available on Linux/x11

https://github.com/electron/electron/issues/12516
2019-02-07 12:48:19 -08:00
Samuel Attard
db11b9b13b fix: restore accidentally removed chrome-extension require (#16819) 2019-02-07 12:38:57 -08:00
Jeremy Apthorp
4989ecc5e0 chore: re-export chromium patches (#16818)
this is the changeset from running import-patches && export-patches. should be idempotent now.
2019-02-07 12:03:25 -08:00
Shelley Vohr
9ebba76c03 chore: improve existing error preservation in promisify (#16815)
This PR better preserves existing behavior in `deprecate.promisify()` in the cases where the promise fails. Previously, if a callback was only called with `data` instead of `err, data` and the promise was rejected, `data` would be populated with `err`, which could be confusing to users. This makes it such that `err` is called back on promise rejection if a callback is called with `err, data` a la Node.js.
2019-02-07 10:25:20 -08:00
Samuel Attard
4f8ebafa97 chore: dont log 100000000 chars of URL (#16800) 2019-02-07 08:50:47 -08:00
Shelley Vohr
29501dbd01 Revert "Bump v6.0.0-nightly.20190206"
This reverts commit e8608c2dbd.
2019-02-06 18:23:14 -08:00
Electron Bot
acabf6f5ab Bump v6.0.0-nightly.20190206 2019-02-06 16:52:57 -08:00
Shelley Vohr
c6fc5a23fc Revert "build: hack around GitHub upload API failure / flake (#16663)" (#16802)
This reverts commit ab503c7e43.
2019-02-06 16:51:45 -08:00
Shelley Vohr
c8a1231ad7 Revert "Bump v6.0.0-nightly.20190206"
This reverts commit 2d1438456b.
2019-02-06 16:23:08 -08:00
Jeremy Apthorp
6d68026c6c chore: fix ts config to not complain about extraneous files (#16790) 2019-02-06 15:46:10 -08:00
Electron Bot
2d1438456b Bump v6.0.0-nightly.20190206 2019-02-06 15:11:34 -08:00
Roller Bot
dd5264b4d1 chore: bump chromium in DEPS to 72.0.3626.99 (#16779) 2019-02-06 14:50:58 -08:00
Electron Bot
e8608c2dbd Bump v6.0.0-nightly.20190206 2019-02-06 14:43:32 -08:00
Shelley Vohr
a569dad8c5 build: remove non-arm vstsJobs (#16793) 2019-02-06 13:36:17 -08:00
Samuel Attard
17c240a639 ci: make macOS CI faster (#16766)
* ci: cache brew update result

* ci: checkout and sync the macOS build on a linux machine for speed
2019-02-06 13:16:11 -08:00
Samuel Attard
fc06458038 ci: run lint on CircleCI (#16791) 2019-02-06 12:53:25 -08:00
Shelley Vohr
84eef16755 chore: depend on mojo audio and video in BUILD.gn (#16785) 2019-02-06 11:03:39 -08:00
pol
c76459738e docs: fix security doc url check (#16775) 2019-02-06 10:43:58 -08:00
Gilbert Emerson
76d919fff5 docs: added webContents.getType() method (#16767)
* docs: added webContents.getType() method

* docs: add enumeration of return value for webContents.getType()

* docs: getType() in WebContents should be class method not module method
2019-02-06 10:42:34 -08:00
Samuel Attard
26df9992cf build: use typescript for internal Electron JS code (#16441) 2019-02-06 10:27:20 -08:00
Shelley Vohr
858781ba83 feat: allow Menu.buildFromTemplate() to accept MenuItems (#16697)
* feat: allow Menu.buildFromTemplate to accept MenuItems

* add another spec

* fix linter error

* add submenu spec
2019-02-06 10:04:40 -08:00
Milan Burda
4211a9c69f refactor: use ipcRendererUtils.invokeSync / ipcMainUtils.handleSync (#16759) 2019-02-06 09:53:28 -08:00
Jeremy Apthorp
b7d8234a86 docs: add some troubleshooting info related to win_delay_load_hook (#16764)
* docs: add some troubleshooting info related to win_delay_load_hook

* appease lint
2019-02-06 08:29:58 -08:00
Cheng Zhao
d53b51607c fix: do not increase ref-counting in wrong thread (#16738) 2019-02-06 18:22:02 +09:00
Heilig Benedek
ff461d9d26 fix: make getUserMedia APIs work again on C72+ (#16763)
* fix: resolve macos check for video and audio capture devices

* fix: resolve a minor compilation error
2019-02-05 21:25:42 -08:00
Jeremy Apthorp
b7afec0743 docs: improve app.commandLine documentation (#16757) 2019-02-05 16:22:25 -08:00
Shelley Vohr
8946cfd4f1 chore: fix dependency vulnerabilities (#16756) 2019-02-05 15:19:55 -08:00
Shelley Vohr
793d6c3691 chore: remove release notes semantic PR map (#16758) 2019-02-05 15:19:26 -08:00
Samuel Attard
b29e8d18a8 chore: auto-format GN and python files in our precommit (#16722)
* chore: auto-format GN files in our precommit

* chore: update python linting errors and auto-lint python files

* chore: add trick for CHROMIUM_BUILDTOOLS_PATH

* chore: apply suggestions from code review

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-02-05 13:54:45 -08:00
Milan Burda
6d674eebb1 refactor: crashReporterInit (#16729) 2019-02-05 12:56:44 -08:00
Roller Bot
c486ab207a chore: bump chromium in DEPS to 72.0.3626.94 (#16745) 2019-02-05 12:17:12 -08:00
Samuel Attard
b202ad1e24 refactor: remove js2asar.py and port logic to JS in more readable / GN-style way (#16718)
* refactor: remove js2asar.py and port logic to JS in more readable / GN-style way

* refactor: further clean up ASAR impl, add new node_action GN template
2019-02-05 12:10:15 -08:00
Samuel Attard
8582325e85 build: ensure index.json is actually valid JSON before uploading (#16518)
* build: ensure index.json is actually valid JSON before uploading

* chore: fix py linting for validation of index.json
2019-02-05 11:36:31 -08:00
Jeremy Apthorp
9b7eb0eecb chore: update issue template, comment out instructions (#16721) 2019-02-05 10:10:24 -08:00
Shelley Vohr
e098d08728 docs: we shouldn't promisify net apis (#16736) 2019-02-04 22:25:59 -08:00
Shelley Vohr
f303caa87c refactor: remove ServiceWorker APIs from WebContents (#16717) 2019-02-04 22:22:46 -08:00
Roller Bot
3aa8ec0818 chore: bump chromium in DEPS to 72.0.3626.90 (#16710) 2019-02-04 16:25:53 -08:00
Cheng Zhao
758d709c7a fix: crash when calling setProgressBar on macOS (#16374)
* fix: correctly check whether dock has progress bar

* fix: do not leak memory when setting dockTile
2019-02-04 15:59:06 -08:00
Shelley Vohr
698d348168 feat: support capslock and numlock as accelerators (#16719)
* feat: support capslock as accelerator

* also add numlock
2019-02-04 15:54:59 -08:00
Shelley Vohr
f142aae9eb chore: remove unused variable in removeWindow (#16715) 2019-02-04 15:00:39 -08:00
Shelley Vohr
a9991f5451 chore: fix falsy comments edge case in release notes (#16720) 2019-02-04 14:57:38 -08:00
Samuel Attard
af64140100 refactor: enforce naming of ipcMainInternal (#16689) 2019-02-04 14:49:53 -08:00
JohanG2012
cacb56b103 Add missing let (#15746) 2019-02-04 11:02:01 -08:00
Birunthan Mohanathas
24f1eac84f docs: Recommend use of callback with dialog.showSaveDialog (#16649)
See #14606.

Notes: no-notes
2019-02-03 23:56:51 -08:00
John Kleinschmidt
0a047194b6 ci: move mac release tests to nightly cron job (#16685) 2019-02-01 15:07:23 -05:00
Milan Burda
7dc565fc2e refactor: implement inspector APIs without the remote module (#16607) 2019-02-01 19:56:46 +01:00
michtsu
392458b252 Add devtools API to inspect shared worker. (#16615) 2019-02-01 10:44:24 -08:00
Charles Kerr
efe52f66e4 fix: show proper clerk notes in release notes script (#16659)
* fix: Note detection in PR

* fix: 'BREAKING CHANGE' detection in PR body

* fix: when to include PRs that landed in other branches too

* fix: when available, use clerk's notes
2019-02-01 10:31:03 -06:00
Xinayu
52952f7d51 Update menu.md (#16670) 2019-02-01 08:28:28 -08:00
Shelley Vohr
bae09643c1 docs: fix referrer typedef in OnCompletedDetails (#16661) 2019-02-01 07:54:31 -08:00
Cheng Zhao
31c7ed9b8c fix: shutdown after message loop is ready (#16671) 2019-02-01 10:21:49 -05:00
Samuel Attard
ab503c7e43 build: hack around GitHub upload API failure / flake (#16663) 2019-01-31 15:21:41 -08:00
Shelley Vohr
c8c1be7ae5 feat: add window removeMenu() method (#16570)
* feat: add window removeMenu() method

* chore: remove original method from docs and code

* retain backwards compatibility
2019-01-31 10:58:23 -08:00
John Kleinschmidt
2f35c98e76 ci: build mac on CircleCI (#16552) 2019-01-31 12:59:32 -05:00
John Kleinschmidt
d71f1fb30c ci: Run Windows Electron tests first to show those failures first (#16610)
* Run electron tests first to show those failures first

Enable logging on CI

* disable failing tests on Windows 32 bit

* Temporarily disable testing mksnapshot as that seems to hang
2019-01-31 12:39:05 -05:00
Birunthan Mohanathas
6c77c220f7 chore: Fix typo in AtomDownloadManagerDelegate::OnDownloadSaveDialogDone (#16646)
I believe the existing code was fine, but better be safe than sorry.
This typo was introduced in #16612.
2019-01-31 20:18:20 +09:00
Charles Kerr
76dcbcd6ea chore: fix 'browserView' typo (#16621) 2019-01-30 21:07:08 -08:00
Shelley Vohr
ba57e1d991 feat: promisify contentTracing recording APIs (#16584)
* feat: promisify contentTracing.startRecording()

* feat: promisify contentTracing.stopRecording()

* test: convert specs for new promisified apis

* chore: deprecate and ensure legacy tests work
2019-01-30 18:53:55 -08:00
Heilig Benedek
cbb5164cc8 fix: improve the way frameless windows are handled on Windows (#16596)
* fix: improve the way frameless windows are handled on Windows

* tidy up code

* fix: return nullAcceleratedWidget instead of nullptr

* fix: format, use reinterpret cast
2019-01-31 11:19:47 +09:00
Vladimir
49ec7e1582 feat: flexible autoresize for BrowserViews (#16184)
* feat: flexible autoresize for BrowserViews

* fix: change to static_cast

* Slight format code
2019-01-31 11:07:19 +09:00
Birunthan Mohanathas
927aac306f fix: use async save dialog for anchor download attribute (#16612) 2019-01-31 11:06:55 +09:00
Nitish Sakhawalkar
bd4e14dcee fix: update docs for protocol API (#16601)
* fix: update docs for protocol API

* upddate source for new attribute name

* update electron-typescript-definitions package
2019-01-30 12:54:18 -08:00
Shelley Vohr
641b47f384 feat: promisify contentTracing.getCategories() (#16583)
* feat: promisify contentTracing.getCategories()

* deprecate contentTracing/getCategories
2019-01-30 12:39:55 -08:00
Jeremy Apthorp
9ed89ace97 fix: expose aes-cfb ciphers from boringssl (#16573)
Ref #16195
2019-01-30 10:34:14 -08:00
Shelley Vohr
c7677b23e6 fix: enable and update osr (#16517)
* fix: enable OSR

* fix some macos errors

* fix client reset not in guard

* fix things not rendering on mac
2019-01-30 09:33:32 -08:00
Shelley Vohr
6e131f2121 docs: remove nonexistent contentTracing methods (#16597) 2019-01-30 08:33:56 -08:00
Milan Burda
dfcee48f81 fix: don't forward IPC filtering events to app for dev-tools and extensions (#16565) 2019-01-30 08:20:03 -08:00
Milan Burda
56c6a51cd2 chore: add miniak to troppers (#16590) 2019-01-29 22:21:38 -08:00
SamvelRaja
8af532ba98 feat: added process.electron to get the electron version in forked process (#16450) 2019-01-29 22:13:18 -08:00
Michael Hamilton
8da91523d0 Fixed a little typo (#16550) 2019-01-29 15:58:01 -08:00
Cheng Zhao
323b688ab8 fix: check the root window in MenuBar::SetPanelFocus (#16581) 2019-01-29 13:21:32 -08:00
Nitish Sakhawalkar
940c4c0787 feat: move webFrame scheme privilege methods to main process (#16416)
* chore: deprecate webFrame.registerURLSchemeAsPrivileged

* Add register schemes protocol api

* update branch to enable browser process API

* Revert deprecation changes

* Fetch API support

* Updated api to take an array, still working on tests

* Update tests

* Remove web frame API

* Minor changes

* update scheme registrations on browser and renderer process

* fix: enable ses.getBlobData spec

* Update breaking changes doc
2019-01-29 16:11:01 +09:00
Jeremy Apthorp
257de6a963 feat: add ELECTRON_DISABLE_SANDBOX env var (#16576) 2019-01-29 15:30:17 +09:00
Milan Burda
fa5442f211 fix: execute session preload scripts in sandboxed renderers (#16538) 2019-01-29 10:16:46 +09:00
Shelley Vohr
a25f82c91f fix: reject with error when url not loaded (#16571)
* fix: reject with error when url not loaded

* improve descriptive spec naming
2019-01-28 14:42:36 -08:00
Jeremy Apthorp
138ba53511 fix: expose ripemd160 hash from boringssl (#16454)
Ref #16195
2019-01-28 13:36:51 -08:00
Shelley Vohr
d105dcc0d3 feat: promisify webContents.hasServiceWorker() (#16535)
* feat: promisify contents.hasServiceWorker()

* spec: add initial test for hasServiceWorker()
2019-01-26 10:23:16 -08:00
Shelley Vohr
5a35c3a279 chore: fix promisify helper (#16544)
* chore: fix promise deprecation helper

* fix deprecations

* update deprecation tests
2019-01-25 14:23:24 -08:00
Jeremy Apthorp
63bf370cc0 fix: registerStreamProtocol callback with large chunks (#16532) 2019-01-25 10:57:26 -08:00
Charles Kerr
8396a2d504 feat: promisify cookies api (#16464)
* feat: promisify the Cookie API

* chore: update specs to test promisified cookies

* chore: add deprecate wrapper for cookie callback API

* docs: update docs to cookie promise changes

* chore: remove redundant namespace use

* docs: improve cookie example

* docs: restore docs for cookie callback API

* chore: restore cookie callback tests

* fix: syntax of cookie promise return types
2019-01-25 12:11:35 -06:00
Milan Burda
e2516dc808 docs: cancel is optional in OnHeadersReceivedResponse (#16506) 2019-01-25 09:41:21 -05:00
Shahzad Lone
74c29fb610 perf: and refactor: Code Scope + Minor Performance Improvement. (#16467)
* We know result's size will be same as app_metrics_'s size so optimize the vector.

Reserving a vector to save on reallocation cost.

* Narrow scopes of variables to avoid error and optimize them.

Made two vectors scope narrower and reserved them because we know the size in advance. This helps save on allocation costs.

* fix spacing
2019-01-25 09:39:32 -05:00
Sofia Nguy
b66b5561ee Electron timelines (#16496) 2019-01-24 16:40:44 -06:00
Milan Burda
713df08e3e chore: remove deprecated modules internally using remote.require in sandboxed renderer context (#15957) 2019-01-24 10:53:52 -08:00
Milan Burda
fef262f829 fix: check process.isMainFrame in sandboxed_renderer/init.js (#16500) 2019-01-24 10:53:16 -08:00
Nitish Sakhawalkar
e6952e2a16 fix: correctly destroy spellcheck client (#16448)
* fix: Destroy spellcheck client

* Address review comments
2019-01-24 08:18:54 -08:00
Tomas Rycl
1db4dd68a7 Troubleshooting for Windows Driver Kit (#16405) 2019-01-23 12:34:18 -08:00
Electron Bot
90151879cc Bump v6.0.0-nightly.20190123 2019-01-23 11:49:22 -08:00
Shelley Vohr
f431ce4971 build: fix individual asset downloading in release script (#16493)
* Revert "build: fix release asset download for now (#16486)"

This reverts commit 7df531bc4e.

* build: clean up asset downloading
2019-01-23 11:47:36 -08:00
Jeremy Apthorp
ad3ea6ec53 ci: re-enable logging on CI (#16257) 2019-01-23 11:28:34 -08:00
Milan Burda
cc90919384 refactor: pass internal flag via IPC message struct for consistency (#16490) 2019-01-23 08:24:57 -08:00
Alexey Kuzmin
0a5adfe365 build: fail a build if some hooks don't succeed (#16369) 2019-01-23 11:31:14 +01:00
Jeremy Apthorp
fd8b9450ee test: untangle a chromium-spec test (#16456) 2019-01-22 13:26:32 -08:00
John Kleinschmidt
34ac68c4a8 ci: Update build timeouts (#16492)
* Update timeout for native_mksnapshot and use bigger machines

* Revert "build: temporarily disable arm to unblock nightlies (#16479)"

This reverts commit 51961fccfa.
2019-01-22 16:14:01 -05:00
Samuel Attard
f3e30c7ae3 Merge remote-tracking branch 'origin/chromium-upgrade/72' 2019-01-22 12:01:18 -08:00
Samuel Attard
0b85fb7ea2 Revert "feat: upgrade to Chromium 72.0.3626.52 (#16334)"
This reverts commit 1918e76913.
2019-01-22 12:01:04 -08:00
Samuel Attard
58a6fe13d6 feat: preloads and nodeIntegration in iframes (#16425)
* feat: add support for node / preloads in subframes

This feature has delibrately been built / implemented in such a way
that it has minimum impact on existing apps / code-paths.
Without enabling the new "nodeSupportInSubFrames" option basically none of this
new code will be hit.

The things that I believe need extra scrutiny are:

* Introduction of `event.reply` for IPC events and usage of `event.reply` instead of `event.sender.send()`
* Usage of `node::FreeEnvironment(env)` when the new option is enabled in order to avoid memory leaks.  I have tested this quite a bit and haven't managed to cause a crash but it is still feature flagged behind the "nodeSupportInSubFrames" flag to avoid potential impact.

Closes #10569
Closes #10401
Closes #11868
Closes #12505
Closes #14035

* feat: add support preloads in subframes for sandboxed renderers

* spec: add tests for new nodeSupportInSubFrames option

* spec: fix specs for .reply and ._replyInternal for internal messages

* chore: revert change to use flag instead of environment set size

* chore: clean up subframe impl

* chore: apply suggestions from code review

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>

* chore: clean up reply usage

* chore: fix TS docs generation

* chore: cleanup after rebase

* chore: rename wrap to add in event fns
2019-01-22 11:24:46 -08:00
Jeremy Apthorp
92b9525cfd feat: enable mixed-sandbox mode by default (#15894) 2019-01-22 10:44:28 -08:00
Jeremy Apthorp
1918e76913 feat: upgrade to Chromium 72.0.3626.52 (#16334) 2019-01-22 10:39:32 -08:00
Samuel Attard
ff9b23ebe5 fix: dont run window-setup on chrome:// protocol, introduced in b965e54efc (#16489) 2019-01-22 10:32:18 -08:00
John Kleinschmidt
c0f6a44e39 Try longer timeout on electron build 2019-01-22 10:32:07 -08:00
Cheng Zhao
3828e2a53a backport patch to fix arm64 build of swiftshader 2019-01-22 10:32:07 -08:00
Cheng Zhao
be69192a61 backport patch to fix compilation error in test 2019-01-22 10:32:07 -08:00
Jeremy Apthorp
8c1b5311fd robustify async webview test 2019-01-22 10:32:06 -08:00
Jeremy Apthorp
6d4480ea6b feat: allow setting autoplayPolicy in webPreferences (#16396) 2019-01-22 10:32:06 -08:00
Cheng Zhao
1fe4b3fa28 fix: add patch to disable dcheck in inter_process_time_ticks_converter.cc
I'm seeing crashes on Windows when runnings tests for serviceWorker, the
reason why the dcheck failed is unclear.
2019-01-22 10:32:06 -08:00
Jeremy Apthorp
f115376595 fix: remove pretarget handler before window destruction 2019-01-22 10:32:06 -08:00
deepak1556
8122dd2c33 backport v8 patch for linker issue in windows testing builds 2019-01-22 10:32:06 -08:00
deepak1556
d2c0f9f754 Implicitly bypass localhost when proxying requests.
https://chromium-review.googlesource.com/c/chromium/src/+/1303626
2019-01-22 10:32:06 -08:00
Cheng Zhao
03d499bf34 fix: detach webview instead of destroying it
Chromium no longer cleans up everything when a guest webcontents is
destroyed, we have to force detaching it and let Chromium destroy everything.
2019-01-22 10:32:06 -08:00
Jeremy Apthorp
5e043812ef fix HandleKeyboardEvent merge failure 2019-01-22 10:32:06 -08:00
Jeremy Apthorp
7764ca7209 add missing include for l10n_util.h on win 2019-01-22 10:32:06 -08:00
Jeremy Apthorp
ded316cd5e wait for window to be focused in openDevTools test 2019-01-22 10:32:06 -08:00
Jeremy Apthorp
4b45a5fc6d roll node
to pick up libuv compile fix on windows
2019-01-22 10:32:06 -08:00
Jeremy Apthorp
078d518e36 add missing //components/feature_engagement dep needed for color_chooser_aura 2019-01-22 10:32:06 -08:00
Jeremy Apthorp
212d858bf4 set autoplay policy to no-user-gesture-required by default 2019-01-22 10:32:06 -08:00
Jeremy Apthorp
3faf2480e0 update dom storage quota patch
https://chromium-review.googlesource.com/c/chromium/src/+/1166218/
2019-01-22 10:32:06 -08:00
Jeremy Apthorp
55d5b02f87 include glib.h in atom_main_delegate
it was complaining about 'undeclared identifier 'TRUE''
2019-01-22 10:32:06 -08:00
Jeremy Apthorp
8fa33ba120 disable visibilitychange tests as the functionality is broken upstream
https://crbug.com/920839
2019-01-22 10:32:06 -08:00
deepak1556
826f1cb90c Move the base/sys_info* files to base/system/
https://chromium-review.googlesource.com/c/chromium/src/+/1327441
2019-01-22 10:32:05 -08:00
deepak1556
ed5a865efb Update GetAccessibleName() in view::ImageView and view::Button
https://chromium-review.googlesource.com/c/chromium/src/+/1256308
2019-01-22 10:32:05 -08:00
deepak1556
90b6d13714 Remove menu_marker from MenuButton.
https://chromium-review.googlesource.com/c/chromium/src/+/1324375
2019-01-22 10:32:05 -08:00
deepak1556
85333a5974 Move ViewsDelegate::NotifyAccessibilityEvent to an observer pattern
https://chromium-review.googlesource.com/c/chromium/src/+/1352265
2019-01-22 10:32:05 -08:00
deepak1556
5f941c5180 Remove CR_DEFINE_STATIC_LOCAL
https://bugs.chromium.org/p/chromium/issues/detail?id=893317
2019-01-22 10:32:05 -08:00
deepak1556
06a5ade3c6 fixup! Use strong ownership for attached inner WebContents 2019-01-22 10:32:05 -08:00
deepak1556
374406375b Add interface and Mac implementation for responsiveness::NativeEventObserver.
https://chromium-review.googlesource.com/c/chromium/src/+/1157235/
2019-01-22 10:32:05 -08:00
deepak1556
4089620729 fix: Initialize resource bundle for the browser process earlier 2019-01-22 10:32:05 -08:00
deepak1556
1de0152b6b chore: fix gn format error 2019-01-22 10:32:05 -08:00
Jeremy Apthorp
94246d428b resource_coordinator_parts stub in BrowserProcessImpl
https://chromium-review.googlesource.com/c/1324134
2019-01-22 10:32:05 -08:00
Jeremy Apthorp
3b88dd6ef7 tts was migrated to content
https://chromium-review.googlesource.com/c/1341154

https://chromium-review.googlesource.com/c/1351806

https://chromium-review.googlesource.com/c/1352055
2019-01-22 10:32:05 -08:00
Jeremy Apthorp
2cbf3080d0 Make webkitRelativePath interoperable
https://chromium-review.googlesource.com/c/1325579
2019-01-22 10:32:05 -08:00
Jeremy Apthorp
d0621db8fd Remove ResourceContext::GetRequestContext since it's no longer used.
https://chromium-review.googlesource.com/c/1352035
2019-01-22 10:32:05 -08:00
Jeremy Apthorp
6f9ff39728 CORS -> Cors
https://chromium-review.googlesource.com/c/1333018
2019-01-22 10:32:05 -08:00
Jeremy Apthorp
a64cf5514f move pdf_compositor off ServiceContext/ServiceTest
https://chromium-review.googlesource.com/c/1343506
2019-01-22 10:32:05 -08:00
Jeremy Apthorp
93fbb6c092 remove name parameter from AllowIndexedDB
https://chromium-review.googlesource.com/c/1306914
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
600c3f2c2f StoragePartition::ClearData no longer takes an OriginMatcher
https://chromium-review.googlesource.com/c/1162172
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
deff96a1b0 NativeWidgetMac::CreateNSWindow params changed
https://chromium-review.googlesource.com/c/1295251
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
b03daaebe4 ChildProcessData.{GetHandle() => GetProcess().GetHandle()}
https://chromium-review.googlesource.com/c/1298345
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
4ddd337a64 CurrentProcessInfo::CreationTime -> Process::Current().CreationTime()
https://chromium-review.googlesource.com/c/1280642
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
a64a0fa88e remove ipc/struct_destructor_macros.h
https://chromium-review.googlesource.com/c/1261082
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
c0cf065c1a REVIEW: Use strong ownership for attached inner WebContents
https://chromium-review.googlesource.com/c/1301843
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
96b2623887 replace base::AssertBlockingAllowed with base::ScopedBlockingCall
https://chromium-review.googlesource.com/c/1278540
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
e0d277e667 CopyNSImage was removed
https://chromium-review.googlesource.com/c/1333876
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
485bbd9ccb ContentRulesetService -> RulesetService
https://chromium-review.googlesource.com/c/1294299
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
d228bdfb9e gfx::NativeView is no longer NSView on mac
https://chromium-review.googlesource.com/c/1270343
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
70887ae21a extra parameters to BrowserClient::HandleExternalProtocol
https://chromium-review.googlesource.com/c/1318976
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
96f9611cf4 GetCachePath replaced with GetGeneratedCodeCacheSettings
https://chromium-review.googlesource.com/c/1301973

https://chromium-review.googlesource.com/c/chromium/src/+/1213093
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
ef80cc3d56 base/sys_info.h -> base/system/sys_info.h
https://chromium-review.googlesource.com/c/1327441
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
0d9de7deaf blink::WebReferrerPolicy -> network::mojom::ReferrerPolicy
https://chromium-review.googlesource.com/c/chromium/src/+/1212345
2019-01-22 10:32:04 -08:00
Jeremy Apthorp
96ca070c3a less const in WebContents
https://chromium-review.googlesource.com/c/1349466
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
8948e27ced ScopedNestableTaskAllower in MessageLoopCurrent
https://chromium-review.googlesource.com/c/chromium/src/+/1020288
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
30e5e993c1 HandleKeyboardEvent returns bool
https://chromium-review.googlesource.com/c/chromium/src/+/1262404
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
fd7b49b32b remove OnAreExperimentalCookieFeaturesEnabled
https://chromium-review.googlesource.com/c/1287209
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
d36a6de25c OnCanEnablePrivacyMode -> OnForcePrivacyMode
https://chromium-review.googlesource.com/c/1343051
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
d01db5a656 migrate to non-deprecated v8 functions
https://bugs.chromium.org/p/v8/issues/detail?id=8238

https://bugs.chromium.org/p/v8/issues/detail?id=7295

https://chromium-review.googlesource.com/c/v8/v8/+/1352273
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
7d5cd2051a update boringssl patches 2019-01-22 10:32:03 -08:00
Jeremy Apthorp
95ed3238be update v8 patches 2019-01-22 10:32:03 -08:00
Jeremy Apthorp
02e41b41b2 roll Chrome to 72.0.3626.52 and update patches 2019-01-22 10:32:03 -08:00
Electron Bot
cd25ddeb06 Bump v5.0.0-nightly.20190122 2019-01-22 08:55:08 -08:00
Shelley Vohr
7df531bc4e build: fix release asset download for now (#16486) 2019-01-22 08:53:52 -08:00
Milan Burda
6cba2c50a2 feat: make ipc-message and ipc-message-sync events public (#16468) 2019-01-22 08:47:58 -08:00
Milan Burda
dbc5f67dca docs: fix web-request.md listener signatures in electron.d.ts (#16485) 2019-01-22 08:46:40 -08:00
Milan Burda
7d71ad6f91 fix: takeHeapSnapshot() using public IPC channel for internal implementation (#16480) 2019-01-22 17:32:24 +09:00
Milan Burda
0e27f133d7 refactor: delete atom_api_renderer_ipc.h (#16481) 2019-01-21 22:31:37 -08:00
Milan Burda
b965e54efc fix: <webview> not working with contextIsolation + sandbox (#16469) 2019-01-22 10:08:16 +09:00
Matthew Leffler
a9ac75c1f9 docs: Fix TouchBar API example (#16482) 2019-01-21 17:07:47 -08:00
Electron Bot
033efdcaa1 Bump v5.0.0-nightly.20190121 2019-01-21 15:28:16 -08:00
Shelley Vohr
51961fccfa build: temporarily disable arm to unblock nightlies (#16479) 2019-01-21 15:22:56 -08:00
Cheng Zhao
ac65f38842 fix: prevent double-destroy of window (#16472) 2019-01-21 14:56:30 -08:00
Samuel Attard
0b0679e065 build: auto-fix linting issues on commit (#16466)
* build: auto-fix formatting during commit

* use lint-staged as precommit hook to autofix issues
2019-01-21 14:46:32 -08:00
Shelley Vohr
3ca87d205f feat: make zoomLevel/zoomFactor sync (#16410)
* feat: make zoomLevel/zoomFactor sync

* update ts defs dep
2019-01-20 23:40:27 -08:00
Electron Bot
dacf7f8bdc Revert "Bump v5.0.0-nightly.20190119"
This reverts commit 2cca0f9bb7.
2019-01-19 21:14:06 -08:00
Electron Bot
2cca0f9bb7 Bump v5.0.0-nightly.20190119 2019-01-19 19:52:39 -08:00
Shelley Vohr
441c9ce376 feat: promisify desktopCapturer.getSources (#16427)
* feat: promisify desktopCapturer.getSources

* fix doc

* fix docs lint error
2019-01-18 15:29:32 -08:00
Electron Bot
902c239fdf Revert "Bump v5.0.0-nightly.20190118"
This reverts commit 9e6726f304.
2019-01-18 15:21:39 -08:00
Electron Bot
9e6726f304 Bump v5.0.0-nightly.20190118 2019-01-18 15:21:39 -08:00
Electron Bot
329d45562b Revert "Bump v5.0.0-nightly.20190118"
This reverts commit 83b44b735f.
2019-01-18 14:12:13 -08:00
Electron Bot
83b44b735f Bump v5.0.0-nightly.20190118 2019-01-18 14:12:01 -08:00
Shelley Vohr
3417c42bfd chore: always try to nuke tags (#16451) 2019-01-18 14:00:15 -08:00
Electron Bot
7f4064af16 Revert "Bump v5.0.0-nightly.20190118"
This reverts commit ace11f9bc8.
2019-01-18 13:42:51 -08:00
Electron Bot
ace11f9bc8 Bump v5.0.0-nightly.20190118 2019-01-18 13:42:51 -08:00
Electron Bot
cd91440e47 Revert "Bump v5.0.0-nightly.20190118"
This reverts commit 5e5c71e1d7.
2019-01-18 12:46:16 -08:00
Electron Bot
5e5c71e1d7 Bump v5.0.0-nightly.20190118 2019-01-18 12:32:29 -08:00
Milan Burda
7d4a1223fd feat: add preload-error event to webContents (#16411) 2019-01-18 12:03:43 +01:00
Jeremy Apthorp
98d0daa2fd chore: remove unused osfhandle hack (#16305) 2019-01-17 15:58:47 -08:00
Shelley Vohr
f105c84349 test: ensure legacy callback functions work (#16436)
* test: test legacy callback functions

* add TODO removal comments

* fix callback spec
2019-01-17 14:17:16 -08:00
Shelley Vohr
720197f9c8 fix: correctly handle IPC for promise-based methods (#16433) 2019-01-17 12:08:54 -08:00
Milan Burda
4d0b2ac9be docs: fix promisification.md formatting (#16434) 2019-01-17 09:30:32 -08:00
Shelley Vohr
1f2b02c18f feat: promisify protocol.isProtocolHandled() (#16423)
* feat: promisify protocol

* fix base::Bind and specs

* update documentation

* make callback-compatible

* async awaitify tests
2019-01-17 09:05:10 -08:00
Electron Bot
32d98851bc Revert "Bump v5.0.0-nightly.20190116"
This reverts commit 82fc099602.
2019-01-16 11:28:09 -08:00
Electron Bot
82fc099602 Bump v5.0.0-nightly.20190116 2019-01-16 11:04:22 -08:00
SamvelRaja
34c1727cb3 docs: fix typo in build instructions for windows (#16414) 2019-01-15 21:58:39 -08:00
Milan Burda
23d44e322d feat: use default-app behavior in packaged apps (#16310)
Unify the behavior between default app and packaged apps:
- create default application menu unless the app has one
- default window-all-closed handling unless the app handles the event
2019-01-15 21:35:53 +01:00
Shelley Vohr
8e2ab8b20b refactor: promise_util promise creation (#16401)
* refactor: promise_util creation

* enter correct contexts on resolve/reject

* return Local in helper

* set context correctly

* forgot one
2019-01-15 09:54:59 -08:00
Mosh Feu
05755ba202 docs: show the code of adding devtools extension (#16186) 2019-01-15 17:48:21 +09:00
Shelley Vohr
0881fd6397 feat: split openExternal into sync and async (#16176)
* feat: split openExternal into sync and async

* v8::Locker => mate::Locker

* fix: enter js env when resolving promise
2019-01-14 20:35:21 -08:00
Milan Burda
52e257668d fix: windowmenu did not show the window list on macOS (#16387) 2019-01-14 17:27:52 +01:00
Shelley Vohr
df62e78b71 chore: remove unused deps (#16373) 2019-01-12 16:47:09 +01:00
Alex Garbutt
dcb670fa46 fix: emit IPC event in correct context if isolation and sandbox enabled (#16352)
* fix: emit IPC event in correct context if isolation and sandbox enabled

IPC events were not being delivered to renderer processes when both
`contextIsolation` and `sandbox` were enabled. This is because the
`AtomSandboxedRenderFrameObserver` class was incorrectly using the
`MainWorldScriptContext`, rather than conditionally selecting the
context based on if isolation was enabled.

Fixes #11922
2019-01-12 14:19:20 +01:00
Electron Bot
134792a594 Revert "Bump v5.0.0-nightly.20190111"
This reverts commit 71f542d8f6.
2019-01-11 21:40:55 -08:00
Electron Bot
71f542d8f6 Bump v5.0.0-nightly.20190111 2019-01-11 21:18:40 -08:00
Robo
52fe92d02e feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
Electron Bot
92ddfd0d4c Revert "Bump v5.0.0-nightly.20190111"
This reverts commit c81c9ee2b4.
2019-01-11 12:35:25 -08:00
Electron Bot
c81c9ee2b4 Bump v5.0.0-nightly.20190111 2019-01-11 11:40:15 -08:00
Shelley Vohr
fc169221be Revert "Bump v5.0.0-nightly.20190111"
This reverts commit c43a61c576.
2019-01-11 11:38:26 -08:00
Electron Bot
c43a61c576 Bump v5.0.0-nightly.20190111 2019-01-11 10:01:46 -08:00
Electron Bot
c4e4f085dd Revert "Bump v5.0.0-nightly.20190111"
This reverts commit 088f936dab.
2019-01-11 09:55:58 -08:00
Electron Bot
088f936dab Bump v5.0.0-nightly.20190111 2019-01-11 09:54:46 -08:00
Shelley Vohr
e2b1394ad1 redo: size -> length (#16370) 2019-01-11 09:53:13 -08:00
Alexey Kuzmin
3cb9aadb80 build: fix the build with enable_run_as_node disabled (#15711) 2019-01-11 08:02:06 -08:00
Shelley Vohr
ca218b6395 test: allow retries for flaky mas loginitem specs (#16347) 2019-01-10 14:15:47 -08:00
Charles Kerr
52852b963a fix: beep on Ubuntu (#16350)
beeps on Linux are made by writing BEL to /dev/console,
which requires elevated permissions on Ubuntu. So if
opening /dev/console fails, fall back to /dev/tty.
2019-01-10 13:43:07 -08:00
Shelley Vohr
d0ae89befa chore: fix tag cleanup (#16353) 2019-01-10 13:42:42 -08:00
Charles Kerr
2acf9ac72f fix: improve release notes (#16343)
* fix: use version name in release notes

* fix: omit previously-released notes

* fix: sniff semantic commit types from PR subjects

instead of only from commit messages

* fix: do not use unrecognized semantic commit types

* chore: do not hardcode Release-Notes comment text

It used to be '<!-- One-line Change Summary Here-->',
it's currently a link to a best-practices page, and
it'll probably change again in the future. Let's just
match on <!--.*--> instead.

* chore: copyedit the help page

* chore: use clerk's OMIT_FROM_RELEASE_NOTES_KEYS

* chore: tweak comments

* chore: rename 'breaks' property as 'breaking'
2019-01-10 14:01:38 -06:00
Milan Burda
102d8fe506 chore: add 'use strict' to default app sources (#16346) 2019-01-10 20:54:34 +01:00
Electron Bot
2ee59cc82c Revert "chore: s/size/length (#16351)"
This reverts commit 03e16ffa57.
2019-01-10 11:04:31 -08:00
Shelley Vohr
03e16ffa57 chore: s/size/length (#16351) 2019-01-10 10:58:23 -08:00
Jeremy Apthorp
782825fc29 fix: return after handling Esc for fullscreen in WebContentsDelegate (#16342) 2019-01-10 11:03:48 -05:00
Electron Bot
0299328521 Bump v5.0.0-nightly.20190110 2019-01-10 07:59:58 -08:00
Milan Burda
eb02a422de feat: add fileMenu / viewMenu / appMenu roles (#16328) 2019-01-10 14:32:03 +01:00
Electron Bot
72af4941f8 Bump v5.0.0-nightly.20190109 2019-01-09 21:43:29 -08:00
Michelle Tilley
744f737cba fix: properly determine if WebContents is offscreen in WebContentsDelegate (#16329) 2019-01-09 09:55:45 -08:00
Shelley Vohr
f72d5a4184 chore: fix electron.d.ts file upload (#16335) 2019-01-08 22:51:49 -08:00
Electron Bot
17d2467932 Revert "Bump v5.0.0-nightly.20190108"
This reverts commit 241baf77f1.
2019-01-08 20:46:56 -08:00
Electron Bot
241baf77f1 Bump v5.0.0-nightly.20190108 2019-01-08 18:11:20 -08:00
Shelley Vohr
b4299a2872 chore: pass dryRun arg correctly (#16333)
* chore: pass dryRun arg correctly

* no log
2019-01-08 18:09:42 -08:00
Electron Bot
45baaeaf2c Revert "Bump v5.0.0-nightly.20190108"
This reverts commit 1fd7a4bfab.
2019-01-08 16:30:25 -08:00
Electron Bot
1fd7a4bfab Bump v5.0.0-nightly.20190108 2019-01-08 16:22:33 -08:00
Shelley Vohr
826063a2f7 chore: github => octokit in release notes (#16332) 2019-01-08 16:20:54 -08:00
Milan Burda
349a3c20ae feat: add additional remote APIs filtering (#16293) 2019-01-08 14:27:56 -08:00
Mark Lee
6436a12d7f docs: fix app.setAppUserModelId link (#16322) 2019-01-08 16:40:57 -05:00
Shelley Vohr
000be5d1d4 chore: refactor scripts for octokit update (#16284)
* chore: refactor scripts for octokit

* update release script

* update more octokit scripts

* cleanup

* remove unecessary refactor

* fixup package lock
2019-01-08 12:05:58 -08:00
Shelley Vohr
434f1368a0 test: add specs to version bump utils (#16315) 2019-01-08 12:04:27 -08:00
Vik Ramanujam
668049a593 Add instructions to get Notifications working on Win 10 Update (#16320)
Fails silently and was frustratingly hard to know why. Hope this save a lot of people some time.
2019-01-08 08:16:30 -08:00
Milan Burda
5c250455ad refactor: pass isWebViewTagEnabled via ELECTRON_BROWSER_SANDBOX_LOAD (#16238) 2019-01-08 10:12:34 +01:00
Shelley Vohr
791d6de8b0 chore: fix json parsing for npm publish (#16318) 2019-01-07 20:37:44 -08:00
Jeremy Apthorp
a3e5173c47 Merge pull request #16203 from electron/alkuzmin/add-external-binaries-config
build: extract external binaries config
2019-01-07 17:37:53 -08:00
Shelley Vohr
b71a5a5955 fix: register accelerator if role has no registerAccelerator (#16309)
* fix: register accelerator if role has no registerAccelerator

* ensure roles[role].registerAccelerator  is defined
2019-01-07 16:01:03 -08:00
Shelley Vohr
30c670bd83 chore: release notes should be an object (#16313) 2019-01-07 16:00:36 -08:00
Electron Bot
596c0a8672 Bump v5.0.0-nightly.20190107 2019-01-07 13:47:13 -08:00
Shelley Vohr
2ac677228d chore: fix pre passing to atom.rc (#16311)
* chore: fix pre passing to versionH

* preTypes => preType
2019-01-07 13:41:07 -08:00
Electron Bot
ff1c90b638 Revert "Bump v5.0.0-nightly.20190107"
This reverts commit 90f23c187f.
2019-01-07 13:14:41 -08:00
Electron Bot
90f23c187f Bump v5.0.0-nightly.20190107 2019-01-07 12:26:08 -08:00
Shelley Vohr
854443a291 chore: trim output of branch correctly (#16307) 2019-01-07 12:24:18 -08:00
Shelley Vohr
9c7f6affc2 Revert "ci: use config version 2.1 on CircleCI (#15665)" (#16304)
This reverts commit 0c46a7a4d9.
2019-01-07 11:59:45 -08:00
Milan Burda
fade3eb679 chore: make "nodeIntegration" and "webviewTag" default to false (#16235) 2019-01-07 22:19:27 +03:00
Electron Bot
cdf4bfa68f Revert "Bump v4.0.0-nightly.20190107"
This reverts commit f8614ab019.
2019-01-07 09:17:17 -08:00
Electron Bot
f8614ab019 Bump v4.0.0-nightly.20190107 2019-01-07 09:17:04 -08:00
Milan Burda
6f117b8e0c feat: add app.commandLine.hasSwitch() / app.commandLine.getSwitchValue() (#16282)
* feat: add app.commandLine.hasSwitch() / app.commandLine.getSwitchValue()

* add more tests

* refactor: move appendSwitch / appendArgument to command_line module

* replace AppendSwitchASCII with AppendSwitchNative

* remove castArgs
2019-01-07 07:48:27 -08:00
Aleksei Kuzmin
dee964e0fe build: extract external binaries config 2019-01-07 10:44:08 +01:00
Keshal Desai
5957ede41a fix: update license year (#16287) 2019-01-05 12:53:20 -08:00
Jeremy Apthorp
959c7a76e9 Merge pull request #16252 from electron/miniak/guest-view-manager
fix: security: improve IPC validation in guest-view-manager
2019-01-04 16:47:27 -08:00
Milan Burda
a0cdcc5f8d security: improve IPC validation in guest-view-manager 2019-01-05 00:06:47 +01:00
Shelley Vohr
9cc3fbabf7 chore: @electron/nightly => electron-nightly (#16273) 2019-01-04 13:48:02 -08:00
Michelle Tilley
3db691d693 chore: add additional logging during asset upload (#16279) 2019-01-04 13:14:41 -08:00
Shelley Vohr
c1ca8476f8 chore: result => result.data (#16274)
* chore: result.draft => result.data.draft

* also result.id
2019-01-04 11:26:14 -08:00
Kilian Valkhof
21d1849723 Update browser-window.md with alpha hex formatting (#16269)
HEX with alpha can be #RRGGBBAA or #AARRGGBB. In Electron it's the latter. It's nice to explicitly state that, so others wont have to try twice like me :).
2019-01-04 10:33:12 -08:00
John Kleinschmidt
50010934d1 docs: Update reference to xcode 8.3.3 (#16267)
* Update reference to xcode

* Update to reflect use of 10.12 SDK
2019-01-04 13:05:12 -05:00
Jeremy Apthorp
849dd0db64 fix: correctly pass hidden-page argument to isolated renderers (#16258) 2019-01-04 08:25:47 -08:00
Shelley Vohr
de0e4735de fix: error if a11y support changed before ready (#16261) 2019-01-04 10:20:06 -05:00
Tyler Saballus
2117524102 Fix typos in app.md (#16260)
Mostly added commas to prepositions that occur in the predicate. There was a misspelling and a few run-on sentences as well though.
2019-01-04 10:18:15 -05:00
Shelley Vohr
876064036d fix: don't register some shortcuts without accessibility (#16125)
Fixed crash on macOS when using globalShortcut for media keys when accessibility access is not granted.
2019-01-03 20:40:17 -08:00
Shelley Vohr
b57046e67d feat: add mac support to systemPrefs.getColor() (#16249) 2019-01-03 16:17:07 -08:00
Shelley Vohr
03892153de feat: expose systemPreferences.getSystemColor() (#16248) 2019-01-03 14:30:38 -08:00
Shelley Vohr
439ba5116f feat: add mac support to systemPrefs.getAccentColor() (#16251)
* feat: add mac support to systemPrefs.getAccentColor()

* note 10.14 retriction
2019-01-03 13:24:55 -08:00
Michelle Tilley
5c378de22f chore: add link to clerk readme to PR checklist (#16253) 2019-01-03 10:59:07 -08:00
Milan Burda
3f1d22759a refactor: use helpers for command-line parsing in renderer/init.js (#16239) 2019-01-03 11:22:34 -05:00
Shelley Vohr
baaeb7cece chore: update deprecated LSGetApplicationForURL (#16180)
* chore: update deprecated LSGetApplicationForURL

* wrap with @available
2019-01-02 15:20:32 -08:00
Samuel Attard
eb8dc6b675 chore: publish nightlies to electron-nightly (#15938)
* chore: publish nightlies to electron-nightly

* electron-nightly => @electron/nightly
2019-01-02 11:04:56 -08:00
Cheng Zhao
a5e63dc5fd fix: don't expose isolatedWorld to global (#16208) 2018-12-28 10:54:32 +09:00
Vladimir
5ae3d1a1b2 feat: add multi BrowserView support to BrowserWindow (#16148)
* feat: add multi BrowserView support to BrowserWindow

Add functions addBrowserView, removeBroserView, getBrowserViews to
BrowserWindow class. Existing API as setBrowserView and
getBrowserView code replaced to use new api inside.

* fix: for lint and osx compile errors

* fix: lint error in test code

* feat: add multi BrowserView support to BrowserWindow

Add functions addBrowserView, removeBroserView, getBrowserViews to
BrowserWindow class. Existing API as setBrowserView and
getBrowserView code replaced to use new api inside.

* fix: for lint and osx compile errors

* fix: lint error in test code

* fix: method to be accessible on mac api impl

* fix: missed function declarations for mac impl

* fix: use base class reset function
2018-12-22 10:49:26 +09:00
Shelley Vohr
18ca4b6a3a chore: update @types/node dep (#16174) 2018-12-21 12:59:42 -05:00
Zac Walker
51cfb5cff1 fix: extend tracing startRecording API to take a full tracing config (#13914)
This allows memory-infra to be traced correctly.
Fixes #12506.
2018-12-20 15:11:17 +03:00
Cheng Zhao
4ff7976060 fix: add missing require in chromium-spec (#16153) 2018-12-20 16:58:46 +09:00
Shelley Vohr
90d314cc3b chore: make nugget quiet by default (#16147)
* chore: make nugget quiet by default

* chore: allow nugget quiet to be passed via cli
2018-12-19 20:36:01 -07:00
Milan Burda
547097b036 security: allow to block desktopCapturer.getSources() calls (#15964)
* security: allow to block desktopCapturer.getSources() calls

* return empty instead of error

* fix: release resources of DesktopCapturer on exit
2018-12-20 11:44:30 +09:00
Charles Kerr
df0381e76c feat: add option to generate explicit URLs in the release notes (#16126) 2018-12-19 08:48:01 -07:00
Mosh Feu
ddc38eda26 docs: specify "role" types for "menu-item" (#16129) 2018-12-19 09:39:35 -05:00
Pedro Pontes
9c783f53ba fix: do not allow the window to grab focus when tabbing / shift+tabbing (#16042)
* fix: do not allow the window to grab focus when tabbing / shift+tabbing

* test: add tests.
2018-12-18 23:44:51 -07:00
Jeremy Apthorp
ed3e5739dc test: promisify a bunch of tests (#16051)
* test: promisify a bunch of tests

* fix lint

* fix affinity tests

* more cowbell^Wawait

* less done
2018-12-18 23:44:03 -07:00
David Baker
cc85946f55 feat: Support response headers in File protocol handler (#16098)
* feat: Support response headers in File protocol handler

* bugfix: Null check headers value & fix tests

* refactor: Use non-deprecated FindKeyOfType
2018-12-18 23:17:02 -07:00
Jeremy Apthorp
03f876470e docs: note that visual zoom is disabled by default (#16130) 2018-12-18 20:40:42 -07:00
Shelley Vohr
5cc4a30207 chore: release.id => release.data.id (#16132) 2018-12-18 19:51:38 -07:00
Shelley Vohr
a58d989b60 feat: expose app accessibility status api (#16119)
* feat: expose app accessibility status api

* fix prompt
2018-12-18 11:15:22 -05:00
Alex Greenland
dc93d94bc8 fix: support async child process methods without callback in asar (#15927)
* fix: support async child process methods without callback in asar

* fix: support async child process methods without callback in asar (improved)
2018-12-18 16:27:39 +09:00
Samuel Attard
6c998aa4f2 fix: fix Electron not starting in development from the CLI (#16116) 2018-12-17 19:26:22 -08:00
Milan Burda
1c7a47239b chore: remove chrome_process_finder.patch (#16113) 2018-12-18 10:00:34 +09:00
Michelle Tilley
7fc8afa3e5 chore: update PR template to request better release notes (#16080) 2018-12-17 16:10:34 -08:00
Milan Burda
7ec4e7b0d8 chore: fix chrome_process_finder.patch description (#15577) 2018-12-17 14:15:35 -08:00
Milan Burda
41a3f123f1 docs: move require related breaking changes to Electron 6.0 (#16109) 2018-12-17 14:01:00 -08:00
popod
f6081b18b6 docs: Improve the doc about BrowserWindow title property (#16086)
* Improve the doc about BrowserWindow title property

* Update docs/api/browser-window.md

Co-Authored-By: popod <popod@me.com>
2018-12-17 13:16:24 -07:00
Milan Burda
7a6fe00f49 chore: simplify code for modules internally using remote.require in sandbox (#16104) 2018-12-17 22:47:41 +03:00
Gearóid
c64b4a3926 docs: more natural language in Mac app store guide (#16095) 2018-12-17 10:27:37 -05:00
Shelley Vohr
0431833866 chore: correctly capitalize releaseID (#16079) 2018-12-14 15:15:16 -08:00
Shelley Vohr
280f9bf49c feat: allow immediate MacOS notifications (#16060)
* feat: allow immediate MacOS notifications

* fix args->GetNext

* update docs/api/system-preferences.md

Co-Authored-By: codebytere <codebytere@github.com>

* address feedback from @ckerr's review
2018-12-14 13:46:46 -08:00
Cheng Zhao
c7aa747891 chore: no need to expose Initialize of ipc module (#16066) 2018-12-14 08:01:29 -08:00
Cheng Zhao
8584c2f14b fix: register webview in main world when using contextIsolation (#16067) 2018-12-14 15:38:35 +09:00
Shelley Vohr
dbda1a1b05 chore: add BinaryMuse to troppers (#16062) 2018-12-13 16:56:31 -08:00
Cheng Zhao
897c6e93cb chore: simplify main world setup of contextIsolation (#16046) 2018-12-13 16:25:12 -05:00
Michelle Tilley
d6d245d0c3 docs: contextIsolation is no longer experimental (#16043) 2018-12-13 11:21:16 -05:00
John Kleinschmidt
0e6db8fd56 ci: Cleanup build dirs on Azure Devops (#16047)
* ci: Cleanup directories after build

* Use rm to cleanup source directory

* Update vsts.yml

* Check if files actually deleted

* Get rid of hidden files too
2018-12-13 11:11:09 -05:00
Simone Cattaneo
649633bbb7 fix: make 'setParentWindow' compatible under Windows (#15775) 2018-12-12 16:05:16 -08:00
Jeremy Apthorp
4250f84272 chore: enable v2 sandbox on mac (#15647) 2018-12-12 16:01:10 -08:00
Charles Kerr
f7528a0204 fix: fix an original-fs regression introduced in 4.0 betas (#16028)
* fix: fix an original-fs regression introduced in 4.0 betas

* chore: remove cruft from earlier draft
2018-12-12 15:32:53 -06:00
Milan Burda
c65a0d90b8 chore: misc cleanup (#16037) 2018-12-12 15:31:16 -06:00
Jeremy Apthorp
1152fecb75 test: fix flaky before-input-event test (#16027) 2018-12-11 17:01:48 -08:00
Alexey Kuzmin
48abef27d8 build: make it possible to pass a "--directory" arg to "git am" (#16024) 2018-12-11 22:49:01 +01:00
Cheng Zhao
624ade2c25 fix: return pointer instead of pointer's content (#16014) 2018-12-11 12:45:55 -05:00
Jeremy Apthorp
f3c64ea9d8 chore: add webui_resources to pak (#16009)
fixes #16006
2018-12-11 09:07:32 -08:00
Birunthan Mohanathas
e383aa31c8 fix: restore ability to disable color correct rendering (#15898)
In Electron 2.0, `--disable-features=ColorCorrectRendering` could be
used to make the app use the display color space (e.g. P3 on Macs)
instead of color correcting to sRGB. Because color correct rendering is
always enabled on Chromium 62 and later and because
`--force-color-profile` has no effect on macOS, apps that need e.g. P3
colors are currently stuck on Electron 2.0.

This restores the functionality removed in
https://chromium-review.googlesource.com/698347 in the form of the
`--disable-color-correct-rendering` switch.

This can be removed once web content (including WebGL) learn how
to deal with color spaces. That is being tracked at
https://crbug.com/634542 and https://crbug.com/711107.

As an example of a widely used app using
`--disable-features=ColorCorrectRendering`, see VSCode:
3f33ef2593/src/main.js (L138-L139)

Notes: Add `--disable-color-correct-rendering` switch
2018-12-11 21:36:14 +05:30
Milan Burda
607b53c883 security: block chrome.tabs.executeScript() for non chrome-extension: URLs (#15929) 2018-12-11 10:45:46 +01:00
bughit
e044ada65c fix: allow 2 threads for CreateIoCompletionPort on single-core to prevent busy looping (#15975)
* allow 2 threads for CreateIoCompletionPort on single-core

* use base::SysInfo::NumberOfProcessors instead of env var

* CHECK that uv_loop_ has not been used before replacing its iocp
2018-12-11 11:07:35 +09:00
Benjamin Pasero
c74ae107f1 fix: do not print an error for an expected condition (#15991) (#15992) 2018-12-10 12:06:26 -08:00
Shelley Vohr
45a937df0a fix: incorrect view ordering for customButtonsOnHover (#15564) 2018-12-10 11:05:30 -08:00
Shelley Vohr
163361ee6a chore: disable bump-version on arm32 (#15994) 2018-12-10 10:57:44 -08:00
Shelley Vohr
4b18a38e9f chore: simplify promisify helper (#15952)
chore: simplify promisify helper
2018-12-10 08:13:09 -08:00
Cheng Zhao
db2fda1b6f chore: make rpc-server reply to sender frame instead of the main frame (#15973)
* chore: make rpc-server reply to frame

* fix: check IsRenderFrameLive
2018-12-10 09:37:42 +09:00
Samuel Attard
eb8fcf833c chore: warn when people attempt to use the Electron module to do Electron things but from node (#15916)
* chore: warn when people attempt to use the Electron module to do Electron things but from node

* update node env console warning
2018-12-07 12:00:24 -08:00
Milan Burda
177091ca6f chore: rename nativeRequire to potentiallyRemoteRequire (#15971) 2018-12-06 18:12:50 -08:00
Jeremy Apthorp
442c1b22e3 feat: webContents.loadURL returns a promise (#15855) 2018-12-06 12:16:19 -08:00
Shelley Vohr
1b8c11121f chore: convert bump script to js (#15820) 2018-12-06 11:00:10 -08:00
Jeremy Apthorp
2845267c18 feat: support mixed-sandbox mode on linux (#15870) 2018-12-05 17:42:12 -08:00
Milan Burda
764a10f7c7 refactor: simplify isRemoteModuleEnabled handling in sandboxed renderers (#15961) 2018-12-05 10:07:56 -08:00
Milan Burda
ab2a061b59 refactor: use helpers when using the remote module in sandboxed renderers (#15960) 2018-12-05 10:07:32 -08:00
Saswat Bhattacharya
d243a45173 feat: implement 'app-command' events for browser history navigation keys on Linux (#15441)
* Added mouse forward/back button support on Linux

* Added browser history navigation action bindings for Windows, Mac, and Linux keyboard

* Removed new `history-action` event and modified `app-command` to execute on such events

* Removed attempt at macOS support and added constants

* Clarified app-command documentation

* Reverted 'app-command' description change

* Format code
2018-12-05 09:35:59 -08:00
Shelley Vohr
3f15f51615 feat: promisify app.getFileIcon() (#15742) 2018-12-05 08:50:12 -08:00
Moisés Neto
cfbea4a0e3 docs: es6ify 'Breaking Changes' and 'File' API pages (#15507)
* docs: apply arrow functions to app.makeSingleInstance example

* docs: apply arrow functions to session docs

* docs: change normal to arrow functions in File object docs
2018-12-05 23:14:52 +11:00
Milan Burda
d561c5531b feat: deprecate modules internally using remote.require in sandboxed renderer context (#15145) 2018-12-05 10:34:09 +01:00
Pedro Pontes
d5d1fa8290 fix: use appropriate site instance for cross-site nav's (#15821)
* fix: use Chromium's determined new site instance as candidate when navigating.

When navigating to a new address, consider using Chromium's determined site instance
for the new page as it should belong to an existing browsing instance when the
navigation was triggered by window.open().

fixes 8100.

* Revert "fix: use Chromium's determined new site instance as candidate when navigating."

This reverts commit eb95f935654a2c4d4457821297670836c10fdfd5.

* fix: delegate site instance creation back to content when sandboxed.

* fix: ensure site isolation is on

* test: adapt ut for cross-site navigation

* fix: register pending processes during a navigation.

* refactor: dont call loadURL for a window constructed from an existing webContents.

* test: add sandboxed affinity UT's.

* fix: check affinity before deciding if to force a new site instance.

* chore: adapt subsequent patch.

* refactor: constify logically const methods.

* fix: do not reuse site instances when navigation redirects cross-site.

* test: ensure localStorage accessible after x-site redirect.

* test: adapt localStorage acess denied UT for site isolation.

* fix: do not send render-view-deleted for speculative frames.

* chore: amend tests after rebase.

* test: add ut for webContents' render-view-deleted emission

* fix: introduce current-render-view-deleted for current RVH's deletions.

Revert render-view-deleted to being emitted with any RVH's deletion.
current-render-view-deleted is emitted only when the RVH being deleted
is the current one.

* refactor: style and comments fixed.
2018-12-05 17:03:39 +09:00
Shelley Vohr
46e7214974 chore: remove electabul (#15954) 2018-12-04 20:50:37 -08:00
Milan Burda
cfb2812cea docs: remove methods invoking the callback repeatedly from promisification.md (#15951) 2018-12-04 13:45:55 -08:00
Jeremy Apthorp
8d1d842185 chore: restore ppapi_host DCHECK (#15788) 2018-12-04 11:05:23 -08:00
Shelley Vohr
c31629ad98 feat: add media access APIs for macOS Mojave (#15624) 2018-12-04 07:54:13 -08:00
Milan Burda
aa2b2f7c8f fix: security: don't allow arbitrary methods to be invoked on webContents via IPC (#15919) 2018-12-04 16:12:21 +01:00
Jeremy Apthorp
0a23c0b032 chore: remove old patch for fixing ffmpeg on 32-bit linux (#15226)
It's no longer necessary, per the comment
2018-12-04 20:11:24 +09:00
Cheng Zhao
5bc86eaf9c Merge pull request #15019 from Anrock/child-window-location
fix: Introduce LocationProxy for BrowserWindowProxy
2018-12-04 20:11:00 +09:00
Cheng Zhao
ca7dec2082 fix: default prop of location should be empty str 2018-12-04 17:11:26 +09:00
Cheng Zhao
fc4e10b6c0 fix: set setter of window.location 2018-12-04 16:23:52 +09:00
Anrock
e80e3a53e9 feat: introduce LocationProxy for BrowserWindowProxy 2018-12-04 16:23:52 +09:00
Julien Isorce
1f55f1635f feat: add support for DesktopCapturerSource.appIcon
Useful to get the icon of the application owning the source.
Only available for sources of type window, i.e. not for screen.

https://github.com/electron/electron/issues/14845
2018-12-04 15:42:49 +09:00
John Kleinschmidt
77f73830e8 build: Enable arm embedded builtins (#15939)
* Revert "FIXME: disable v8 embedded builtins feature for arm flavor"

This reverts commit 8ec3bc0272.

* build: don't enable embedded builtins for arm/arm64 native mksnapshot
2018-12-04 11:17:12 +09:00
Shelley Vohr
d3c58ea48c chore: move getCurrentBranch to a util file (#15921)
* chore: move getCurrentBranch to a util file

* fix import
2018-12-03 13:28:10 -08:00
Shelley Vohr
a1a431eb87 fix: make windowMenu role correct on MacOS (#15930) 2018-12-03 11:52:46 -08:00
Samuel Attard
3ddd917ff4 Merge pull request #15405 from electron/chromium-upgrade/70
feat: upgrade to Chromium 70.0.3538.110
2018-12-04 03:26:49 +11:00
Milan Burda
a33eeda4f7 refactor: don't expose NavigationController as an internal module (#15920) 2018-12-03 17:13:09 +01:00
deepak1556
8ec3bc0272 FIXME: disable v8 embedded builtins feature for arm flavor 2018-12-03 20:07:44 +05:30
deepak1556
982649bab7 chore: update libgtkui_export.patch 2018-12-03 20:07:44 +05:30
Cheng Zhao
a7ee737226 chore: backport_958b761_from_upstream_v8.patch is not needed for Ch70 2018-12-03 20:07:44 +05:30
Cheng Zhao
e842482ec8 chore: bit_hash_seed_commits.patch is not needed for Ch70 2018-12-03 20:07:44 +05:30
Cheng Zhao
f00b0a3485 chore: pick_b0af309_from_upstream_v8.patch is not needed for Ch70 2018-12-03 20:07:44 +05:30
Cheng Zhao
fe943f560b chore: fix_font_thickness.patch is not needed for Ch70 2018-12-03 20:07:44 +05:30
Cheng Zhao
975f85ea56 chore: ensure_cookie_store.patch is not needed for Ch70 2018-12-03 20:07:44 +05:30
deepak1556
e734536815 chore: roll DEPS 70.0.3538.110 2018-12-03 20:07:44 +05:30
deepak1556
3dfc0098ec chore: move node specific build config out of //electron 2018-12-03 20:07:44 +05:30
deepak1556
06a501d4a2 chore: use base::JoinString to concatenate vector 2018-12-03 20:07:44 +05:30
deepak1556
e1336d8453 chore: fix v8 deprecation warnings 2018-12-03 20:07:43 +05:30
deepak1556
f8418554a3 chore: update fix_trackpad_scrolling.patch 2018-12-03 20:07:43 +05:30
deepak1556
65b7924528 chore: update frame_host_manager.patch 2018-12-03 20:07:43 +05:30
deepak1556
5017db855c fix: remove explicitly enabled SharedArrayBuffer feature flag
It is enabled by default now.
2018-12-03 20:07:43 +05:30
deepak1556
c6313b3d2d chore: roll DEPS 70.0.3538.102 2018-12-03 20:07:43 +05:30
deepak1556
4eb0d497ab chore: update printing.patch 2018-12-03 20:07:43 +05:30
deepak1556
2ebea5501e chore: update customizable_app_indicator_id_prefix.patch 2018-12-03 20:07:43 +05:30
deepak1556
2d68d60e00 chore: rm fix_zoom_display.patch 2018-12-03 20:07:43 +05:30
Heilig Benedek
6deb7afb82 fix: reimplement FrameSubscriber with mojo, re-enable tests 2018-12-03 20:07:43 +05:30
Heilig Benedek
8727636fcc fix: update and re-enable OSR 2018-12-03 20:07:42 +05:30
deepak1556
00294a5b25 FIXME: disable some specs 2018-12-03 20:07:42 +05:30
deepak1556
c491fa59df spec: update inspector-binding.js
* https://github.com/nodejs/node/pull/22251
* https://github.com/nodejs/node/pull/20137
2018-12-03 20:07:42 +05:30
deepak1556
d97cf8c438 spec: force create network context for proxy tests 2018-12-03 20:07:42 +05:30
deepak1556
7a68d632e6 fix: use proxy lookup api of network context to resolve proxies 2018-12-03 20:07:42 +05:30
deepak1556
28cff4644e fix: disable kSpareRendererForSitePerProcess feature 2018-12-03 20:07:42 +05:30
Samuel Attard
9d72bd4de4 chore: update CreateSkBitmapFromHICON usage for new API (no pointer)
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1234372
2018-12-03 20:07:42 +05:30
Samuel Attard
c1b9ca14e7 build: disable microsoft include warning
this error is being thrown on windows due a #include inside node
2018-12-03 20:07:42 +05:30
Samuel Attard
32a957c455 build: explicitly depend on //dbus for the linux build
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1273525
2018-12-03 20:07:42 +05:30
Samuel Attard
85fdacbc49 chore: replace ShowWithWindowState with Show inside native_window_views
The functionality was merged in as a parameter to the core Show method, default
for restore_bounds is an empty gfx::Rect()

refs: https://chromium-review.googlesource.com/c/chromium/src/+/1174910
2018-12-03 20:07:42 +05:30
Samuel Attard
f8f091c250 chore: update GetLabelFrontList to be GetLabelStyle in menu model
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1186702
2018-12-03 20:07:41 +05:30
Shelley Vohr
c51fef1568 fix: use url::AddCORSEnabledScheme 2018-12-03 20:07:41 +05:30
Shelley Vohr
1523a82bab fixup! add missing newlines to patches 2018-12-03 20:07:41 +05:30
Samuel Attard
92f50664d0 chore: fix linting 2018-12-03 20:07:41 +05:30
Samuel Attard
5798b152a6 chore: check GetAgent as GetTracingController() crashes if no agent is set 2018-12-03 20:07:41 +05:30
Samuel Attard
b1e69e1357 chore: update asar injection for new node internal module loader 2018-12-03 20:07:41 +05:30
Samuel Attard
9c36576ddd chore: SetTracingController becomes SetAgent and corresponing contructions updated 2018-12-03 20:07:41 +05:30
deepak1556
f7f09b028b Introduce explicit configuration to CertVerifier
https://chromium-review.googlesource.com/c/chromium/src/+/1122709
2018-12-03 20:07:41 +05:30
deepak1556
089001bd92 fix: update node inspector api usage 2018-12-03 20:07:41 +05:30
deepak1556
97aa7b8e68 Use CompletionOnceCallback in URLFetcherResponseWriter.
https://chromium-review.googlesource.com/c/chromium/src/+/1155087
2018-12-03 20:07:41 +05:30
deepak1556
366ca47136 Change Value::BlobStorage to std::vector<uint8_t>
https://chromium-review.googlesource.com/c/chromium/src/+/1137819
2018-12-03 20:07:40 +05:30
deepak1556
d21e30f57b Reorganize MediaStreamType enums
https://chromium-review.googlesource.com/c/chromium/src/+/1160000
2018-12-03 20:07:40 +05:30
deepak1556
d1da0aad7f Make IsolateHolder aware of the isolate type.
https://chromium-review.googlesource.com/c/chromium/src/+/1183194
2018-12-03 20:07:40 +05:30
deepak1556
321f87fe61 Complete TaskPriority::BACKGROUND->BEST_EFFORT mass rename
https://chromium-review.googlesource.com/c/chromium/src/+/1153461
2018-12-03 20:07:40 +05:30
deepak1556
6743b83786 Add notifications to UKM.xml.
https://chromium-review.googlesource.com/c/chromium/src/+/1071649
2018-12-03 20:07:40 +05:30
deepak1556
f464b8c4c5 Respond for handling protocol commands async
https://chromium-review.googlesource.com/c/chromium/src/+/1139575
2018-12-03 20:07:40 +05:30
deepak1556
25d0a7b62a Create a CodeCache per each storage_partition to store generated code
https://chromium-review.googlesource.com/c/chromium/src/+/1120179
2018-12-03 20:07:40 +05:30
deepak1556
b5b49c9ed0 FIXME: Remove SchemeRegistry::RegisterURLSchemeAsCORSEnabled
https://chromium-review.googlesource.com/c/chromium/src/+/1157364
2018-12-03 20:07:40 +05:30
deepak1556
ffeab383b5 Move NetworkConnectionTracker getter to network_service_instance.h
https://chromium-review.googlesource.com/1162888
2018-12-03 20:07:40 +05:30
deepak1556
0bd006a8eb ProxyConfigDictionary: Use base::Value
https://chromium-review.googlesource.com/c/chromium/src/+/1150846
2018-12-03 20:07:40 +05:30
deepak1556
0f9dd3736c Move CRLSets to being part of CertVerifier::Config
https://chromium-review.googlesource.com/c/chromium/src/+/1132706
2018-12-03 20:07:39 +05:30
deepak1556
6310d6c699 Flatten ResourceRequestBody data
https://chromium-review.googlesource.com/c/chromium/src/+/1114258
2018-12-03 20:07:39 +05:30
deepak1556
b2d53f1e1e FIXME: word_start and medial_capital_as_word_start are removed from WebFindOptions
https://chromium-review.googlesource.com/c/chromium/src/+/1175645
2018-12-03 20:07:39 +05:30
deepak1556
4179cedf37 Change SubscribePermissionStatusChange to use a RFH to query permissions
https://chromium-review.googlesource.com/c/chromium/src/+/979735
2018-12-03 20:07:39 +05:30
deepak1556
66349261a5 fix: update to per context v8::Script::Compile api 2018-12-03 20:07:39 +05:30
deepak1556
c1f32afeeb Use CompletionOnceCallback in URLRequestSimpleJob.
https://chromium-review.googlesource.com/c/chromium/src/+/1155089
2018-12-03 20:07:39 +05:30
deepak1556
8f1fa4177e Fix invalid handle errors found with App Verifier
https://chromium-review.googlesource.com/c/chromium/src/+/1145767
2018-12-03 20:07:39 +05:30
deepak1556
535d264497 fix: [UI] Resolve method conflict between MenuModel, SimpleMenuModel::Delegate
https://chromium-review.googlesource.com/c/chromium/src/+/1230581
2018-12-03 20:07:39 +05:30
deepak1556
2eedcde914 fix: Remove DEFINE_WEB_CONTENTS_USER_DATA_KEY in //electron.
https://bugs.chromium.org/p/chromium/issues/detail?id=589840
2018-12-03 20:07:39 +05:30
Samuel Attard
6b4b7c9831 chore: make BrowserObserver a CheckedObserver
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1053338
2018-12-03 20:07:38 +05:30
Samuel Attard
b6aae790cf fixme: C70 removed DidReceiveCompositorFrame
(OSR relatied)

refs: 1de1ca906a

cc @brenca
2018-12-03 20:07:38 +05:30
Samuel Attard
74d1685523 chore: fix ShouldFork impl, referrer stripping has been removed
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1124329
2018-12-03 20:07:38 +05:30
Samuel Attard
c9007557e5 chore: post_task and friends now live under base/task
refs: https://chromium-review.googlesource.com/c/chromium/src/+/1161088
2018-12-03 20:07:38 +05:30
Samuel Attard
c4cb90ab85 chore: replace PreContentInitialization with PreCreateMainMessageLoop 2018-12-03 20:07:38 +05:30
Samuel Attard
0adbcfd806 chore: bump node 2018-12-03 20:07:38 +05:30
Samuel Attard
fd442df851 chore: update v8 patches for Chromium 70 2018-12-03 20:07:38 +05:30
Samuel Attard
f927398b53 chore: update package-lock.json 2018-12-03 20:07:38 +05:30
Jeremy Apthorp
6414cb05f0 update DEPS 2018-12-03 20:07:37 +05:30
Jeremy Apthorp
3b4e706758 rebase chromium patches on M70 2018-12-03 20:07:37 +05:30
Milan Burda
559fd5cb31 chore: remove unused module (#15917) 2018-12-02 14:43:04 -08:00
Jakub Biesiada
1672cffe96 docs: update mojave-dark-mode-guide.md (#15888)
* Update mojave-dark-mode-guide.md

Add info about dark mode support in electron-builder

* Update mojave-dark-mode-guide.md

* Update mojave-dark-mode-guide.md
2018-12-01 12:02:36 +11:00
Shelley Vohr
b8ec886609 chore: allow bumping stable => beta (#15906) 2018-11-30 11:01:57 -08:00
Shelley Vohr
728be219a4 chore: improve granular release cleanup (#15900)
* chore: improve granular release cleanup

* make releaseId optional
2018-11-30 09:58:09 -08:00
Sylvester Keil
2e91bf1e15 Fix GTK menubar item color (#15878)
Use menubar item color (not menu item color).
Closes #15194
2018-11-30 09:28:45 -08:00
John Kleinschmidt
515525cfc6 ci: Renable ffmpeg and mksnapshot tests on Azure Devops (#15800)
* ci: Renable ffmpeg and mksnapshot tests on VSTS

Also, add testing of ffmpeg and mksnapshot to arm tests
2018-11-30 11:17:01 -05:00
Jeremy Apthorp
83d951db7e chore: DCHECK that events are only emitted on the UI thread (#15873)
* chore: DCHECK that events are only emitted on the UI thread

* move dcheck to EmitWithEvent
2018-11-30 18:48:27 +09:00
Milan Burda
8483cb4aa7 security: only handle related IPCs when <webview> tag is enabled (#15859)
* refactor: move guest-view-manager related IPC handling out of rpc-server

* feat: only handle related IPCs when <webview> tag is enabled
2018-11-30 18:44:38 +09:00
Andy Dill
8cca1c987b fix: move NativeWindow tracking to OSR WCV (#15585)
* fix: move NativeWindow tracking to OSR WCV

* fix oops
2018-11-29 21:25:02 -08:00
Heilig Benedek
78b88a70bb fix: backport patch that ensures that cookie store is always created (#15836)
* fix: backport patch that ensures that cookie store is always created

* fix: disable cookie encryption

* fix: flush the cookie store when NetworkContext shuts down

* test: add test for cookie store persistance

* Update patches/common/chromium/ensure_cookie_store.patch

Co-Authored-By: brenca <benecene@gmail.com>

* Update patches/common/chromium/ensure_cookie_store.patch

Co-Authored-By: brenca <benecene@gmail.com>
2018-11-29 10:51:13 -08:00
Shelley Vohr
165d168ee5 fix: ignore unused freopen result (#15884) 2018-11-29 09:36:08 -08:00
Jeremy Apthorp
753fb31c54 test: fix flaky takeHeapSnapshot test (#15853)
ref #15095
2018-11-29 16:51:03 +01:00
Jeremy Apthorp
62eb077f29 refactor: simplify logic for enabling stack dumping (#15872)
ref #15785
2018-11-28 22:23:41 -08:00
Ho Wing Yip
cd8099d336 Fixed typo in dialog.md (#15861)
Changed "masOS" to "macOS"
2018-11-28 20:41:27 -08:00
Jeremy Apthorp
30109d64f2 test: fix a bunch of flaky tests related to emittedOnce (#15871) 2018-11-28 17:52:19 -08:00
Jeremy Apthorp
ae266e2e03 chore: remove browser_plugin_wheel.patch (#15787)
according to https://crbug.com/725970#c9, chromium should have fixed this upstream
2018-11-28 13:45:37 -08:00
Shelley Vohr
c366525370 fix: form control rendering on 10.14 Mojave (#14865) 2018-11-28 13:06:20 -08:00
Michelle Tilley
8f04def7b2 fix: prevent bluetooth device list from growing without bound (#15805)
* fix: include bluetooth strings in build

* fix: prevent bluetooth device list from growing without bound
2018-11-28 11:36:00 -05:00
Andy Dill
55808dffcd fix: osr windows respect display scale factor (#15733) 2018-11-28 11:16:03 -05:00
Milan Burda
07f8f5f95a refactor: eliminate duplicate code exposing process APIs (#15824) 2018-11-28 11:08:17 -05:00
Slapbox
d7d4b8638d docs: makes note of HTTP header CSP usage with file:// (#14768) 2018-11-28 17:58:18 +09:00
Nitish Sakhawalkar
9890d1e251 feat: Implement process.getProcessMemoryInfo to get the process memory usage (#14847)
* feat: Implement process.getMemoryFootprint to get the process memory usage

* Add spec

* fix: must enter node env in callback

* Update function call

* Update spec

* Update API data

* update spec

* Update include

* update test for shared bytes

* Update atom/common/api/atom_bindings.cc

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Update atom/common/api/atom_bindings.cc

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Update API

* Update the callback isolate

* Update to work after app ready

* Update docs

* Update docs/api/process.md

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Update docs/api/process.md

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Fix crash
2018-11-28 17:57:53 +09:00
Alexander Turinske
f563fc9d5e docs: add new widevine requirements (#14024) 2018-11-28 17:53:42 +09:00
Shelley Vohr
41c2685204 feat: promisify win.capturePage() (#15743)
* feat: promisify win.capturePage

* mark optional arg correctly

* Add to breaking changes doc

* properly deprecate win.capturePage

* remove change from api-contract

* document both callback and promise versions

* address docs feedback

* update promisification progress doc
2018-11-27 23:50:53 -05:00
Shelley Vohr
73fbb69c50 chore: change return type of platform_util::SetLoginItemEnabled (#15854) 2018-11-27 23:16:53 -05:00
Shelley Vohr
5f9c857eb0 chore: expose release id for use in cleanup (#15845) 2018-11-27 23:12:01 -05:00
Jeremy Apthorp
5d54d42953 test: fix remote-debugging-port test calling done twice (#15857) 2018-11-28 10:59:05 +09:00
Milan Burda
81e00d8e56 chore: fix V8 deprecation warnings (#15842) 2018-11-27 16:42:02 -05:00
Jeremy Apthorp
455f0669e7 fix: add missing shell_resources.pak to repack target (#15844) 2018-11-27 11:18:18 -08:00
Cheng Zhao
5bb35bbdaf fix: backport patch to fix scrolling problem (#15830) 2018-11-27 23:26:34 +09:00
Milan Burda
d63a848011 feat: add activate option to webContents.openDevTools (#13852) 2018-11-27 18:34:44 +09:00
Cheng Zhao
aafbd865bf Merge pull request #12686 from Anrock/browserview-handle-window-open
fix: handle window.open events in BrowserView
2018-11-27 15:59:17 +09:00
Cheng Zhao
63874da087 test: add test for window.open in BrowserView 2018-11-27 11:10:07 +09:00
Cheng Zhao
d1f0d6c184 fix: remove event monitor before destroying window 2018-11-27 11:10:07 +09:00
Anrock
9ff7807be8 fix: move window.open handlers from BrowserWindow to WebContents 2018-11-27 10:59:01 +09:00
Jeremy Apthorp
23de301955 chore: remove scoped_clipboard_writer.patch (#15843)
replace with already-exposed APIs
2018-11-27 09:51:26 +09:00
Shelley Vohr
0a5f8611e8 chore: add promise api runtime flag (#15841)
* chore: add promise api runtime flag

* add promisification plan document

* fix process.md typo
2018-11-26 16:00:46 -05:00
Simone Cattaneo
6f116eeaa4 fix: improved event flow management related to 'will-resize' event on Windows (#15695) 2018-11-26 12:26:48 -08:00
Heilig Benedek
0242818f39 feat: add registerAccelerator flag to allow menu items to optionally skip accelerator registration (#15723)
* feat: add registerAccelerator flag to allow menu items to skip registration

* docs: add docs for registerAccelerator

* docs: re-add accidentally removed line
2018-11-26 10:43:55 -08:00
Shelley Vohr
3748ee49ea chore: remove unused test.py (#15822) 2018-11-24 20:01:30 -05:00
Jeremy Apthorp
a8a881c8db chore: restore //url dchecks (#15637) 2018-11-22 09:02:52 -08:00
Jeremy Apthorp
fb52fdc592 chore: remove browser_plugin_guest.patch (#15786) 2018-11-21 15:53:09 -05:00
John Kleinschmidt
bb7c63c052 build: fix native_mksnapshot build (#15770)
* build: fix native_mksnapshot build

When we changed our electron_mksnapshot_zip target to include the v8_context_snapshot_generator, this dependency made the `run_mksnapshot` target run which was trying to run an arm/arm64 binary on x64 hardware.

Don't use custom build args for native_mksnapshot as they are not needed

* Added comment on why snapshot_blob.bin is skipped on arm/arm64
2018-11-21 15:19:19 -05:00
Robo
9e8b26cc4e fix: bypass CORB when web security is disabled (#15737)
* fix: extend content layer hook to bypass corb when web security is disabled.

* chore: add patch to disable CORB
2018-11-21 14:10:05 -06:00
Heilig Benedek
5db8197a5d fix: schedule a paint after browserview's background is set (#15784) 2018-11-21 13:04:10 -06:00
Samuel Attard
0b0a17ff91 fix: load the chrome.* API on chrome-extension pages in sandbox mode (#15563)
With mixed sandbox enabled we need to load the chrome.* APIs in the
sandbox init.js so that chrome extensions load correctly.

This mirrors the equivilant impl in `atom_renderer_client.cc`

Fixes #15561
2018-11-21 12:56:58 -05:00
malern
a68e3371f3 fix: remove duplicated status code (#15707)
Removed the hardcoded status code from the protocol response as the real status code is appended immediately after.
2018-11-21 10:47:05 -06:00
Cheng Zhao
47bf8e1bb3 view: add ResizeArea class (#15752) 2018-11-21 22:39:59 +09:00
Jeremy Apthorp
65099ab489 chore: remove no_stack_dumping.patch (#15785)
we build with IS_OFFICIAL_BUILD now so this should be OK
2018-11-20 23:32:43 -05:00
Charles Kerr
40619efb3b chore: remove FileChooser AddExtensionForFilename (#15510) 2018-11-20 16:24:39 -05:00
Samuel Attard
f02f9ba9fb chore: add spec for --inspect after a -- (#15237) 2018-11-20 16:23:50 -05:00
Ondřej Záruba
de05ff894b feat: Add app.getLocaleCountryCode() method for region detection (#15035)
* Add method to get system´s user region

* Fix linter

* Remove auto types

* Improved detection for POSIX

* Change name, add specs, minor fixes

* Remove left overs

* Fix locale test

* Fix Linux test

* Coding style fixes

* Fix docs

* Add test excaption for Linux

* fix spelling

* Polishing
2018-11-20 15:33:23 -05:00
Pedro Pontes
57d2ae1aec revert: "fix: window.open site instance should belong to same browsing instance (#15216)" (#15757)
This reverts commit 8f35198bfb.
2018-11-20 21:28:26 +01:00
Michelle Tilley
46c2953edb doc: Update Windows build instructions to include debugging tools (#15765) 2018-11-20 01:08:25 -05:00
Simone Cattaneo
f2d3d55e95 docs: changed German link with English one for Windows SDK Archive (#15764) 2018-11-20 01:03:03 -05:00
Daniel Turcich
a59b53c7e6 Update webview-tag.md (#15741)
Added Mouse and Scroll to list of events that webview can't have event listeners for
2018-11-20 01:01:57 -05:00
Jeremy Apthorp
08b56b7675 docs: add note about win_delay_load_hook (#15766) 2018-11-19 16:13:50 -08:00
Jeremy Apthorp
90795c4fa4 build: make make_locale_dirs idempotent (#15768) 2018-11-19 15:55:13 -08:00
Jeremy Apthorp
90d1c0b2b6 chore: don't explicitly destroy asar archives (#15734) 2018-11-19 13:12:41 -08:00
Jeremy Apthorp
ec4212cce1 docs: add troubleshooting section for win toolchain prompt (#15761) 2018-11-19 11:53:28 -08:00
Shelley Vohr
a45d5960d7 chore: allow for callback => promise deprecation (#15758)
* chore: allow for callback => promise deprecation

* cb type check is sufficient

* migrate warn to always trigger
2018-11-19 12:56:26 -05:00
Andrzej Szombierski
51cb36fa9b fix: ensure that file descriptors 0/1/2 are opened at startup (#15555)
* fix: ensure that file descriptors 0/1/2 are opened at startup

This fixes an issue where the gpu subprocess was writing messages to a
random pipe or socket. The standard file desciptors are closed in
chromium's subprocesses because of an unfortunate interaction with
libuv's tty handling code leaving them with the FD_CLOEXEC flag.

* style: fix lint warnings
2018-11-19 11:53:55 -05:00
Simone Cattaneo
b97d7e7ecd fix: On close trying to remove observer from an empty collection leads to an access violation (#15739) 2018-11-19 11:47:04 -05:00
Cheng Zhao
e12c0dcf66 Merge pull request #15618 from electron/system_netwok_context
fix: create system network context for global requests
2018-11-19 11:25:34 +09:00
Andy Dill
4f45b72381 fix: package swiftshader binaries (#15380) 2018-11-17 19:24:29 +11:00
Jeremy Apthorp
81843f0dfb ci: temporarily disable verify ffmpeg & mksnapshot tests on vsts (#15732)
* ci: temporarily disable verify ffmpeg test on vsts

* also disable verify-mksnapshot
2018-11-15 16:35:31 -08:00
Jeremy Apthorp
20116d7f05 fix: always disable setuid sandbox on linux (#15722) 2018-11-15 13:27:56 -08:00
Jeremy Apthorp
0642be296d fix: crash in sandbox on linux when getting execPath (#15701) 2018-11-15 12:59:01 -08:00
Jeremy Apthorp
c8860d006b fix: restore missing .lproj directories (#15721)
the empty lproj directories help macOS to understand what locales the app supports
2018-11-15 09:30:45 -08:00
John Kleinschmidt
b53a858400 build: use different directory for generated breakpad symbols (#15716) 2018-11-14 12:47:01 -08:00
Shelley Vohr
511dc9a80b feat: add numpad accelerator strings (#15689) 2018-11-14 14:02:18 -05:00
deepak1556
7e1168c518 fix: return system shared url loader for content layer 2018-11-14 12:42:24 +05:30
deepak1556
57356036db fix: initialize system network context from IOThread 2018-11-14 12:42:24 +05:30
deepak1556
666a106fa8 refactor: move IOThread and NetLog ownership to g_browser_process 2018-11-14 12:42:24 +05:30
deepak1556
414dcfcd07 fix: create system network context for global requests
Global requests currently includes DNS over HTTPS requests,
certain cert validation requests (OCSP, AIA, etc) on some platforms
and geolocation requests.
2018-11-14 12:42:24 +05:30
Shelley Vohr
787dbbe610 feat: add about panel customization on linux (#15658) 2018-11-13 17:12:24 -05:00
Jeremy Apthorp
bc9a7806a5 chore: remove add_atomic_lib_to_dependencies_even_for_sysroot_builds.patch (#15692) 2018-11-13 10:00:25 -08:00
Shelley Vohr
565e4c5910 chore: fix window width in spec for win (#15693) 2018-11-13 11:31:03 -05:00
Pedro Pontes
8f35198bfb fix: window.open site instance should belong to same browsing instance (#15216) 2018-11-12 22:01:43 +01:00
Shelley Vohr
c06f023313 feat: allow partial setting of window bounds (#15677)
Extend the existing win.setBounds functionality by allowing developers to partially update bounds without being forced to pass in all four bounds values. No existing functionality is altere
2018-11-12 15:31:14 -05:00
Alexey Kuzmin
0c46a7a4d9 ci: use config version 2.1 on CircleCI (#15665) 2018-11-12 11:22:21 -08:00
Jacob
b21dbdb20d fix: bypass DOM storage quota (#15596) 2018-11-12 18:19:01 +01:00
Shelley Vohr
c9d0960f47 docs: remove unsafe eval section of security tutorial (#15675)
* docs: remove unsafe eval section of security tutorial

* lintfix
2018-11-12 11:13:48 -05:00
Shelley Vohr
a54dd1085a feat: expose showAboutPanel for MacOS (#15674) 2018-11-11 22:52:27 -05:00
Samuel Attard
1cf28e8b75 build: auto-gen libnotify_loader.cc (#15648) 2018-11-10 14:21:40 -05:00
Shelley Vohr
9fd98bb27b refactor: no longer require submenu for services menuitem (#15656) 2018-11-10 12:47:55 -05:00
Nitish Sakhawalkar
025aa49f67 fix: NSWindow crash happening on macos 10.9 (#15660) 2018-11-10 14:53:35 +01:00
Nitish Sakhawalkar
5994bf6745 fix: Menu accelerators not working (#15094)
This change fixes the regression in the menu accelerators working in linux, on some environments.
2018-11-09 13:54:16 -08:00
John Kleinschmidt
9e2b7dbea5 ci: add testing for mksnapshot (#15627)
* ci: add testing for mksnapshot
2018-11-09 10:54:17 -04:00
Samuel Attard
edf063bae3 chore: remove deprecated touch-bar API (#15650) 2018-11-09 17:00:19 +11:00
Samuel Attard
e7b2b93cee chore: re-enable DCHECK in node_debugger (#15649) 2018-11-09 14:44:31 +11:00
Robo
82322968a3 refactor: printing implementation (#15143)
* refactor: basic printing

* move build files to chromium_src/BUILD.gn
* remove dependency on chrome prerender sources

* spec: move printing specs behind feature flag

* build: register pdf compositor service
2018-11-09 14:42:34 +11:00
Jeremy Apthorp
53642b2b17 chore: restore process_metrics_win.cc dcheck (#15631) 2018-11-09 00:51:53 +01:00
Jeremy Apthorp
fb9cf86836 chore: restore node.cc IsPseudoElement dcheck (#15634) 2018-11-08 13:20:20 -08:00
Jeremy Apthorp
faf6c5ad29 chore: restore blink loader dchecks (#15638) 2018-11-08 16:38:01 -04:00
Jeremy Apthorp
4649d1c73b chore: restore webui-related bindings DCHECK (#15633) 2018-11-08 11:37:00 -08:00
Jeremy Apthorp
703cb6deea chore: restore WeakReference dcheck (#15629) 2018-11-08 11:36:37 -08:00
Samuel Attard
9aed2a465f fix: send NSView* as the response to getNativeWindowHandle() instead of a null handle (#15521) 2018-11-08 09:03:19 -08:00
Cheng Zhao
746beb0d8b fix: destroy WebContents synchronously on shutdown (#15541) 2018-11-08 07:57:28 -08:00
Alexey Kuzmin
6162d9090d chore: remove the 'get-patch' script (#15586)
It is obsolete now, "script/git-export-patches"
should be used instead.
2018-11-08 16:37:00 +01:00
Jeremy Apthorp
11223cbc9b chore: restore viz dcheck (#15632) 2018-11-08 11:16:47 -04:00
Jeremy Apthorp
7e0e12b8a3 fix: match Chrome's font fallback behavior (#15486)
* fix: match Chrome's font fallback behavior

Fixes #15481

* add a cache

* add test

* another test

* fix tests

* arial -> dejavu sans on linux apparently?
2018-11-08 10:51:51 -04:00
Heilig Benedek
ca2d74e118 feat: add methods to allow customization of save dialog during will-download event (#15497)
* feat: add method to DownloadItem that allows customization of dialog options

* docs: add docs for get/setSaveDialogOptions

* add missing copy constructor for DialogSettings on mac and linux

* fix: don't filter dialog options for mas build, don't return properties

* test: add test for get/setSaveDialogOptions

* fix: remove openDevtools added for debugging

* test: fix failing test because of new event parameter

* docs: use SaveDialogOptions instead of Object
2018-11-08 10:51:06 -04:00
Jeremy Apthorp
673004b878 chore: restore kill_win.cc dcheck (#15630) 2018-11-08 10:40:34 -04:00
Michelle Tilley
2a8e8a0603 fix: make certain values on process read-only (#15628)
* docs: Add 'worker' as a possible value for `process.type`

* fix: make certain properties on `process` read only:

* `mas`
* `windowsStore`
* `versions.electron`
* `versions.chrome`
* `type`
* `pid`
* `sandboxed`
2018-11-08 10:28:06 -04:00
Samuel Attard
4e53019b75 docs: add a mojave dark mode guide (#15267) 2018-11-07 18:16:47 -06:00
Shelley Vohr
833269ffde fix: correctly display zoom in accelerator on mac (#15502)
* fix: correctly display zoom in accelerator on mac

* add release to patch info
2018-11-07 13:42:30 -08:00
Shelley Vohr
e9ba26f50e feat: allow registering multiple shortcuts (#15542)
This PR allows for multiple global shortcuts to be registered such that triggering any of them calls the same callback.
2018-11-07 09:40:38 -08:00
Jeremy Apthorp
20a540e680 chore: add explanation to resource_file_conflict.patch (#15612)
* chore: add explanation to resource_file_conflict.patch

* Update resource_file_conflict.patch
2018-11-07 11:11:01 -04:00
Jeremy Apthorp
bf3edf8f87 fix: correctly package Login Helper in mas builds (#15610) 2018-11-06 20:15:01 -08:00
Jeremy Apthorp
10969b8c3c fix: make feature strings more robust to whitespace (#15602)
Fixes #15594
2018-11-06 15:52:06 -08:00
John Kleinschmidt
c52cf01a3c build: add v8_context_snapshot_generator to mksnapshot zip (#15606)
v8_context_snapshot_generator is needed when creating custom snapshots with mksnapshot
2018-11-06 18:57:52 -04:00
Charles Kerr
1672c95de3 better release notes (#15169)
* fix: use PR 'Notes' comment in release notes

* fix: follow links in roller-bot PRs

* refactor: better reference point version selection

* if we're a stable release, use the current brnach's previous stable
* if we're a beta release, use the current branch's previous beta
* if no match found, use the newest stable that precedes this branch

* refactor: dedup the caching functions' code

* refactor: partially rewrite release note generator

* parse release notes comments from PRs
* do not display no-notes PRs
* handle roller-bot commits by following cross-repo commits/PRs
* minor tweaks to note rendering, e.g. capitalization

* fix: fix lint:js script typo

* fix: copy originalPr value to rollerbot PR chains

* fix: handle more cases in release notes generator

* handle force-pushes where no PR
* better type guessing on pre-semantic commits

* fix: handle more edge cases in the note generator

* better removal of commits that landed before the reference point
* ensure '<!-- One-line Change Summary Here-->' is removed from notes
* handle more legacy commit body notes e.g. "Chore(docs)"
* check for fix markdown in PR body e.g. a link to the issue page

* chore: tweak code comments

* refactor: easier note generator command-line args

* refactor: group related notes together

* feat: query commits locally for gyp and gn deps

* chore: slightly better filtering of old commits

* feat: omit submodule commits for .0.0 releases

More specifically, only include them if generating release
notes relative to another release on the same branch.

Before that first release, there's just too much churn.

* refactor: make release-notes usable as a module

Calling it from the command line and from require()() now
do pretty much the same thing.

* refactor: passing command-line args means use HEAD

* chore: plug in the release note generator

* feat: support multiline 'Notes:' messages.

xref: https://github.com/electron/trop/pull/56
xref: https://github.com/electron/clerk/pull/16

* remove accidental change in package.json

* simplify an overcomplicated require() call

* Don't use PascalCase on releaseNotesGenerator()

* Remove code duplication in release notes warnings

* remove commented-out code.

* don't use single-character variable names.

For example, use 'tag' instead of 't'. The latter was being
used for map/filter arrow function args.

* Look for 'backport' rather than 'ackport'.

* Wrap all block statements in curly braces.

* fix tyop

* fix oops

* Check semver validity before calling semver.sort()
2018-11-06 16:06:11 -04:00
Shelley Vohr
649f04b7bc chore: add simple set/unset loginitem spec (#15595) 2018-11-06 11:31:32 -08:00
Jeremy Apthorp
934a7fc118 refactor: don't use AppIndicatorIcon directly (#15536) 2018-11-06 11:00:37 -08:00
Alexey Kuzmin
3a3b197327 fix: update the "SSL_get_tlsext_status_type" patch (#15587)
It has been upstreamed by @nornagon
c0c9001440
2018-11-06 08:07:09 -08:00
Shelley Vohr
ece4c81c1a fix: hiddenInset titleBar console spam (#15576) 2018-11-05 21:02:46 -08:00
Shelley Vohr
dcd2bf451d refactor: remove 10.9 specific menu code (#15578) 2018-11-05 20:42:19 -08:00
Jeremy Apthorp
87565ec667 docs: add more links to the devtools protocol docs (#15581)
I missed the link at the top when I was skimming this documentation
2018-11-05 16:53:18 -08:00
Jeremy Apthorp
2e1c50c891 chore: fix missing \n at end of exported patches (#15579) 2018-11-05 13:50:35 -08:00
Jeremy Apthorp
77f69cbe08 chore: remove unused use_transparent_window.patch (#15534)
Unneeded since 6f2f761df3 (diff-0bbbec38254ebb1146b15c15277c6aa1)
2018-11-05 13:19:21 -08:00
Shelley Vohr
c60745b8a3 fix: use NSURL path for receipt url (#15355) 2018-11-05 09:49:51 -08:00
Alexey Kuzmin
32ea2b67f0 build: store the patches config in a json file (#15395) 2018-11-05 17:31:28 +01:00
Alexey Kuzmin
9b05381acc build: make pyyaml an optional dependency (#15565) 2018-11-05 11:19:00 -04:00
Milan Burda
a19d20cfb8 refactor: more cleanup of chromium_src (#15424) 2018-11-05 10:29:33 -04:00
trop[bot]
c422011d58 docs: fix the "second-instance" event handler signature in the docs (#15551) 2018-11-03 11:37:59 +11:00
Heilig Benedek
1f5e0c42f3 style: no need for done call in sync tests (#15550) 2018-11-02 10:50:17 -04:00
nixxquality
6e6ab9b907 Fix callback info for showSaveDialog and showOpenDialog (#15549) 2018-11-02 10:47:19 -04:00
Samuel Attard
7f73240fd5 chore: use chromes auto generated definition of CHROME_VERSION_STRING (#15275) 2018-11-02 23:32:33 +11:00
Jeremy Apthorp
932ffdc1e1 test: fix a possible race condition in sendInputEvent test (#15530) 2018-11-01 10:25:46 -07:00
Samuel Attard
fe8965efa2 fix: use sendToAll method correctly in chrome-api (#15518) 2018-11-01 07:16:49 -07:00
Samuel Attard
bdef033459 docs: add Size as an option for pageSize in docs for printToPDF (#15519) 2018-11-01 09:00:33 -04:00
Samuel Attard
6ed70327f5 chore: publish to the latest tag correctly when releasing old versions (#15274) 2018-11-01 12:27:35 +11:00
Samuel Attard
e9fab747ec fix: explicitly set windowsHide to the old node default (#15469)
fixes #15467
2018-11-01 10:53:11 +11:00
Charles Kerr
feb31d088b fix: honor properties.showHiddenFiles on Linux (#15503)
Previously the code only set the GtkFileChooser's property if `properties.showHiddenFiles` was set. 

This PR unconditionally sets the GtkFileChooser's property so that hidden files will be hidden if `properties.showHiddenFiles` was not set.
2018-10-31 16:13:01 -05:00
Cheng Zhao
a8f2646ba6 Fix missing remote object error when calling remote function created in preload script (#15444)
* fix: report wrong context error based on contextId

* fix: destroyed remote renderer warning is now async
2018-10-31 11:26:57 -04:00
Shelley Vohr
b2e1a93177 refactor: remove hardcoded google api key (#15478)
* refactor: remove hardcoded Google API key

* address changes from review
2018-10-31 07:49:44 -07:00
Samuel Attard
86064a7bd8 docs: add return type for subscribeNotification (#15490) 2018-10-31 10:24:50 -04:00
Heilig Benedek
6d2a088be9 feat: detect high contrast color mode (#15493)
* feat: add event and method to detect high contrast color mode

* docs: add docs for isHighContrastColorScheme and high-contrast-color-scheme-changed

* refactor: correct type of contrast
2018-10-31 10:22:18 -04:00
Heilig Benedek
aa6f7a5d9f fix: don't append Shift modifier text twice to accelerators (#15400)
* fix: don't append Shift modifier text twice to accelerators

* style: use the new way of creating patches

* test: add menu item accelerator display tests

* fix: allocate accelerator on the stack

* fix: adjust tests to match expected behavior on mac
2018-10-31 10:13:44 -04:00
Shelley Vohr
1d81d1a706 chore: re-enable protocol partition request spec (#15483) 2018-10-31 07:12:32 -05:00
Jeremy Apthorp
e345209f91 chore: remove webui_in_subframes patch (#15475) 2018-10-30 18:19:30 -05:00
Shelley Vohr
29964079ae chore: re-enable failing netlog spec (#15484) 2018-10-30 17:45:05 -05:00
Shelley Vohr
94f853c654 chore: re-enable execFileSync binary exec spec (#15476) 2018-10-30 15:45:46 -04:00
David Sanders
bae652f46d docs: http protocol handlers can access headers (#15431)
* test: check http protocol handlers can access headers

* docs: http protocol handlers can access headers
2018-10-30 11:37:49 -07:00
Samuel Attard
59ee2859a7 chore: update versioning doc for nightlies (#15468) 2018-10-30 10:33:50 -07:00
Shelley Vohr
2bd94293e0 doc: clarify menu item properties not available top-level (#15458) 2018-10-29 15:04:25 -05:00
David Sanders
c93973ab7a docs: fix protocol.isProtocolHandled documentation (#15430) 2018-10-29 15:23:23 -04:00
Heilig Benedek
894ae1b3f5 refactor: Improve accessibility of menus (#15302)
* refactor: improve menubar keyboard accessibility

* fix: create a temporary widget for tray icon context menu

* fix: focus menu bar with Alt when autohide is off

* fix: make menu bar focus work more like the native menus

* fix: only focus menu bar if it's not already focused

* fix: track accelerator registration to avoid duplicates

* docs: add docs for & notation in app menu item names

* fix: only try to activate accelerator if it's registered

* fix: add friend to monitor window focus change

* style: add <memory> include
2018-10-29 13:08:46 -05:00
John Kleinschmidt
00daff6ac8 docs: add Azure Pipelines status (#15455) 2018-10-29 12:18:34 -04:00
Milan Burda
f921df7ad1 chore: move spellcheck out of chromium_src (#15407) 2018-10-26 10:34:57 -07:00
Shelley Vohr
bea4de9262 fix: use gio as default linux trash impl (#15399)
* fix: use gio as default linux trash impl

* doc: add ELECTRON_TRASH env var
2018-10-26 08:36:56 -07:00
Shelley Vohr
7a03e5f0b2 doc: correct ipcRenderer sendTo windowId param (#15403) 2018-10-26 10:18:47 -05:00
Milan Burda
405edebc51 chore: remove unused chrome_notification_types.h (#15409)
* chore: remove unused chrome_notification_types.h

* chore: remove dummy simple_message_box.h
2018-10-26 10:16:24 -05:00
Milan Burda
d56617e5d0 chore: avoid appending git version to the exported patches (#15389)
* chore: avoid appending git version to the exported patches

* fix no-eol at end of v8 patch
2018-10-26 12:52:59 +05:30
Alexey Kuzmin
ec4a0e096f ci: run more Chromium unit tests (#15363)
* test: add an option to native tests runner to run also disabled tests

* ci: run all native tests on clean Chromium

* ci: update the disabled tests list for native unittests
2018-10-25 14:28:50 -04:00
Shelley Vohr
d21d83cfc8 fix: folder open not working in devtools (#15387) 2018-10-25 08:36:48 -07:00
Milan Burda
1f3a89197c chore: bump minimum supported macOS version to 10.10 (#15357) 2018-10-25 10:59:42 +02:00
Cheng Zhao
2f3a8ecd42 fix: child window with nativeWindowOpen should disable node integration (#15213)
* fix: child window with nativeWindowOpen should disable node integration

* Revert "fix: do not enable node integration in child window if not enabled (#15076)"

This reverts commit 0252d7686c.

This patch is not needed anymore since we are force disabling node integration
for child windows.
2018-10-25 15:31:07 +09:00
Andy Dill
7a23980f4b fix: set NSResizableWindowMask at init time (#15106) 2018-10-25 10:34:11 +09:00
John Kleinschmidt
9086b8067b ci: make sure brew installed node is available in path (#15377) 2018-10-25 11:40:23 +11:00
Islam Sharabash
3b6f0d83e1 fix: allow stream protocols to return headers with multiple values (#14887)
* fix: allow stream protocols to return headers with multiple values

This allows stream protocols to return headers with multiple values as
an array of values.

Fixes https://github.com/electron/electron/issues/14778

* Prefer ConvertFromV8

* Cleanup header conversion

1. Deduplicate the code by using a lambda
2. Remove duplicate calls to headers->Get(key)

* Fix broken test

Headers with multiple values are now being converted correctly, this
test asserted the wrong behavior.
2018-10-25 11:34:20 +11:00
Cheng Zhao
6fa940f2c1 chore: set env when invoking gn (#15354) 2018-10-24 11:25:13 -07:00
Jeremy Apthorp
335e9f68b7 chore: deprecate apply-patches in favour of git-{import,export}-patches (#15300) 2018-10-24 11:24:11 -07:00
Alexey Kuzmin
4185efa08f build: add conditions to check out Chromium and Node.js (#15319) 2018-10-24 13:50:36 -04:00
Milan Burda
8ba271efba refactor: eliminate brightray (#15240) 2018-10-24 12:49:10 +02:00
Jeremy Apthorp
1d8ab03146 refactor: use public WakeLock interface (#15351)
* refactor: use public WakeLock interface

* remove power_save_blocker visibility patch
2018-10-23 22:12:58 -07:00
Shelley Vohr
1f246229b1 test: convert node spec to expect (#15345) 2018-10-24 11:23:12 +11:00
Jeremy Apthorp
9474fc0082 chore: electron alias should be defined with public_deps (#15349) 2018-10-23 17:22:41 -07:00
Jeremy Apthorp
af339f44f4 chore: remove disable_scroll_begin_dcheck.patch (#15233) 2018-10-23 17:21:47 -07:00
Jeremy Apthorp
d03527ae47 build: skip pyproto/ resources in zip.py (#15348) 2018-10-23 17:19:02 -07:00
Shelley Vohr
40874ddec6 fix: update fs methods for options param (#15323)
* fix: update fs methods for options param

* fix: update rest of fs methods with changes
2018-10-23 15:14:05 -07:00
Milan Burda
465dee2c33 refactor: eliminate brightray::BrowserMainParts (#15336) 2018-10-23 13:15:55 -07:00
Charles Kerr
869e0ab14d fix: honor dialog.showMessageBox()'s Icon argument on Linux (#15326)
* Don't call gtk_widget_show_all() on popup dialog.

Fixes #15317.

Notes: Fixed incorrect display of some GtkMessageDialog icons.

The issue is caused because GtkMessageDialog contains an icon widget
which is not shown when there's no associated icon. Our call to
`gtk_widget_show_all()` overrides this, showing the uninitialized
icon widget.

This PR fixes the issue by calling `gtk_widget_show()` where needed
and removing use of `gtk_widget_show_all()` in the message dialog.

* use gtk_dialog_set_default_response() for default

* fix: support icons on gtk+ messageboxes.
2018-10-23 12:44:47 -05:00
Cheng Zhao
260778e0fb feat: add MdTextButton to View APIs (#15328)
* view: make button focusable by default

* view: add MdTextButton

* view: add common methods to LabelButton
2018-10-23 10:57:13 -04:00
Masato Kinugawa
43a8b6039e docs: Fix CSP header setting of sample code (#15313)
* Fix CSP header setting of sample code

Patch for #15310

* Update docs/tutorial/security.md

Co-Authored-By: masatokinugawa <masatokinugawa+github@gmail.com>
2018-10-23 10:38:48 -04:00
Nitish Sakhawalkar
ca4b4709e5 fix: Native window close crash (#15327) 2018-10-23 10:35:00 -04:00
Milan Burda
809bd3757b refactor: eliminate brightray::MainDelegate (#15333) 2018-10-23 14:16:13 +02:00
Milan Burda
fbbb704146 refactor: eliminate brightray::BrowserClient (#15320) 2018-10-23 10:45:41 +02:00
Martin Mädler
a4fefbe836 docs: update Windows build instructions (#14797) 2018-10-22 16:40:39 -04:00
Alexey Kuzmin
5e199152e2 ci: run unittests on clean Chromium (#15125)
* ci: run unittests on clean Chromium

* test: add '--run-only-disabled-tests' flag to "script/native-tests.py"

* ci: add a job to run only disabled unittests

* test: use a different GN config for the native tests

* test: enable blink_common_unittests

* test: disable WeakPtrDeathTest*
2018-10-22 16:12:19 -04:00
Michelle Tilley
13247e592b fix: correct reversed logic in NativeWindowMac::SetEnabled (#15257) 2018-10-22 13:01:45 -07:00
Jeremy Apthorp
044e43397f build: reenable -fwhole-program-vtables (#15228) 2018-10-22 12:07:46 -07:00
Cheng Zhao
cb9be091aa refactor: remove potential double free when managing WebContents (#15280)
* refactor: remove -new-contents-created event

Chromium expects us to take ownership of WebContents in AddNewContents,
we should not create V8 wrapper in WebContentsCreated, otherwise we
would have WebContents being managed by 2 unique_ptr at the same time.

* refactor: make CreateAndTake take unique_ptr
2018-10-22 13:02:25 -05:00
Milan Burda
e8e7edf017 refactor: eliminate brightray::ContentClient (#15303) 2018-10-22 19:04:23 +02:00
Samuel Attard
9262731f2c docs: we don't emit an event object for session-created (#15236) 2018-10-20 19:46:21 -07:00
Alexey Kuzmin
ba7ce7225b build: document env vars expected to be set for the CI configs (#15129)
* ci: add a var for a full path to an Electron build config
* ci: document external environment variables used by the CI build configs
2018-10-20 01:44:36 +02:00
Shelley Vohr
939ee94e67 spec: increase MAS timeout for login items (#15291) 2018-10-19 13:11:11 -07:00
Shelley Vohr
f9f34fd628 fix: ability to fetch separators by id (#15290) 2018-10-19 13:09:40 -07:00
Milan Burda
6d844a0b67 refactor: move media/net from brightray to atom (#15288) 2018-10-19 14:51:43 -04:00
Milan Burda
6f3c46cc7e refactor: move devtools from brightray to atom (#15234) 2018-10-19 15:50:30 +02:00
Samuel Attard
122017e6fa fix: trim app name and productName (#15269)
Fixes #15245
2018-10-19 23:57:55 +11:00
Samuel Attard
16dcc464cf chore: make macOS release builds higher priority to skip the queue (#15276)
Release builds should be run before branch builds on our limited macOS
infra.

Refs: https://docs.microsoft.com/en-us/rest/api/vsts/build/builds/queue?view=vsts-rest-4.1#queuepriority
2018-10-19 23:56:40 +11:00
Cheng Zhao
94aa0762f0 refactor: remove WebContents::CreateFrom (#15241) 2018-10-19 17:52:07 +09:00
Alexey Kuzmin
b3f134de06 test: asyncawaitify one of sandbox related tests (#15252) 2018-10-19 14:28:23 +11:00
Charles Kerr
363712d057 fix: make release-artifact-cleanup executable (#15225)
* fix: make release-artifact-cleanup executable

* fix misc issues in cleanup script
2018-10-18 20:20:43 -07:00
Samuel Attard
8bc0c343fa fix: convert wstring to string on windows in node_bindings (#15266) 2018-10-19 13:11:43 +11:00
Andy Dill
37f2113032 feat: expose setBackgroundThrottling api (#15104) 2018-10-19 11:32:22 +11:00
Eric
10db2bce4e fix: loading of devtools extensions on startup (#13844)
* Fix loading of devtools extensions on startup

The persisted DevTools Extensions were not being loaded correctly at startup. The `addDevToolsExtension` function was not defined when it was being called. An error was being thrown and ignored, so the whole thing would fail silently. I moved the code to load the extensions to the end of the event handler, so now it works.

* fixup: remove trailing spaces to unblock CI

* fixup: add logging when the Electron Enable Logging env var is set

* Fix linter error on undefined srcDirectory

* fixup: catch exception when loading extension

* Revert "fixup: catch exception when loading extension"

This reverts commit 42c2cf95bc.
2018-10-19 11:22:42 +11:00
Nitish Sakhawalkar
c0db0011ec fix: Convert to lower case in upload symbols script (#15258)
* fix: Convert to lower case in upload symbols script

* fix: Convert to lower case in upload symbols script
2018-10-19 11:18:35 +11:00
Jeremy Apthorp
4de502252b chore: roll node (#15177)
* chore: roll node

brings in electron/node#76 and electron/node#77

* chore: roll node
2018-10-19 10:58:46 +11:00
Shelley Vohr
a0b9d47d5e fix: enable NODE_OPTIONS env var (#15158) 2018-10-19 10:57:28 +11:00
Michelle Tilley
51f3fb9bde fix: correctly enable and disable windows on Windows and Linux (#15184) 2018-10-18 14:23:40 -07:00
Jeremy Apthorp
7cab7b6c7e chore: don't set allow_new_privs in new processes (#15229) 2018-10-18 11:53:26 -07:00
Jeremy Apthorp
993c2413e8 chore: add documentation for blink_file_path.patch (#15235) 2018-10-18 11:40:16 -07:00
Nitish Sakhawalkar
a9ca152069 feat: Spellchecker Async Implementation (#14032)
* feat:Spellchecker Async Implementation

* Adhere to chromium style

* Updating dependency to use gh branch

* Update docs and electron-typescript-definitions module

* Fix lint

* Update electron typescript definitions version

* Update spec

* Address review
2018-10-18 11:11:53 -05:00
John Kleinschmidt
4bbb70de74 ci: make sure git directories don't have unneeded files in them (#15247) 2018-10-18 11:35:40 -04:00
Milan Burda
db37ab1039 feat: add remote.require() / remote.getGlobal() filtering (#15014) 2018-10-18 14:36:45 +11:00
Jeremy Apthorp
dffe4fdd4f chore: remove disabling of ANGLE dchecks (#15227) 2018-10-17 17:00:47 -07:00
Jeremy Apthorp
ac6d815c0e chore: remove desktop_screen_win.patch (#15232)
that function is never called with a null argument (all call-sites are guarded)
2018-10-17 16:59:46 -07:00
Jeremy Apthorp
af9cbb4514 chore: remove unnecessary build_toolchain_win_patch.patch (#15231)
it fixed an issue in the GYP build that is no longer present in the GN build
2018-10-17 16:23:00 -07:00
Jeremy Apthorp
04b7f0d2d6 chore: remove skia/dcheck.patch (#15223) 2018-10-17 13:46:10 -07:00
Jeremy Apthorp
65fa9d2883 chore: remove webrtc patch to disable a warning (#15218) 2018-10-17 12:56:08 -07:00
Milan Burda
508551b81b fix: small refactoring regressions (#15206)
* fix: require('@electron/internal/browser/guest-view-manager')

* fix: add missing crashServicePid used by tests
2018-10-17 12:18:18 -07:00
Milan Burda
a369a4172b refactor: move notifications from brightray to atom (#15209) 2018-10-17 20:01:11 +02:00
Heilig Benedek
4d085c4aae fix: don't call ReadRawDataComplete if it's not necessary (#15185) 2018-10-16 21:57:26 -07:00
Adam Meyer
d43ef97a7b add width to webview iframe (#15195) 2018-10-17 09:33:31 +09:00
AbhilashJN
de1d24b616 docs: change examples in docs to use for..of and async/await (#15196) 2018-10-16 10:41:42 -07:00
Cheng Zhao
0252d7686c fix: do not enable node integration in child window if not enabled (#15076) 2018-10-16 18:10:03 +09:00
Jeremy Apthorp
2a4f5c3284 chore: add --fix option to lint:cpp (#14977)
* chore: add --fix option to lint:cpp

* fix lint errors
2018-10-15 22:59:45 -07:00
Heilig Benedek
af0ac9b95c chore: remove ColorChooser file that's no longer used (#15186) 2018-10-16 13:49:57 +11:00
John Kleinschmidt
90d6b91bf7 build: add temporary debugging to generate_breakpad_symbols.py (#15176) 2018-10-16 11:44:14 +11:00
Jeremy Apthorp
30ccb6aea5 fix: allow renaming electron.exe (#15173) 2018-10-15 17:26:34 -07:00
Nitish Sakhawalkar
0c711f690e fix: add microtask runner and fix promise test (#15071)
* fix: Promise resolution and unit test

* Update to use microtask runner

* Address review
2018-10-16 02:26:47 +11:00
Andy Dill
89bf71e580 fix: preserve background color through reload (#15105)
* fix: preserve background color through reload

* fix: only set backgroundColor on top-level frames
2018-10-14 10:59:47 -07:00
Milan Burda
70c49b78ae fix: Memory > Profiles > Load in DevTools (#15151) 2018-10-14 17:30:49 +11:00
Milan Burda
d3efc52745 feat: add webPreferences.enableRemoteModule option (#13028) 2018-10-13 20:50:07 +03:00
Shelley Vohr
72db5ed7cb fix: split out login item tests (#15135) 2018-10-13 18:52:19 +11:00
Samuel Attard
8907053a9d Revert "fix: export zlib symbols (#15103)" (#15138)
This reverts commit 47b12eee57.
2018-10-13 18:51:18 +11:00
Shelley Vohr
05b7c2bf80 chore: update pr template for no-notes (#15137) 2018-10-12 19:24:19 -07:00
John Kleinschmidt
047cad1a4d ci: Fix timeout when generating breakpad symbols (#15126)
* ci: breakup dump symbols into multiple steps.

* Update step-zip-symbols
2018-10-13 13:02:52 +11:00
Heilig Benedek
a82bcc7e3c refactor: move printing out of chromium_src (#15023)
* remove printing related things from chromium_src

* chore: add printing build flag and patch

* fix: include PrintingService on other platforms too

* fix: printing_handler is only needed on Windows

* fix: format BUILD.gn properly

* fix: rename printing build flag to avoid conflict with chromium

* fix: place previously missed printing calls behind build flag

* fix: accidentally renamed flag in patch file

* fix: don't include all printing strings

* fix: allow ShowItemInFolder and OpenItem to block, fixing a DCHECK crash

* fix: make things compile, some changes got lost while rebasing

* fix: remove rogue line from BUILD.gn

* chore: update patch description

* style: lint fix

* chore: use chromium printing buildflag, move node related stuff out of patch

* revert: remove ScopedAllowBlockingForTesting call

* fix: fix my rebase blooper

* fix: re-add header lost during rebase, update patch

* fix: add <map> include, tweak the patch a bit

* revert: remove rogue diff from patch

* fix: clean up after rebase
2018-10-13 12:57:04 +11:00
Samuel Attard
c806c465fa chore: mark browserview api as not-experimental (#15117)
I think it's safe to say this API has been around long enough to be considered past the experimental phase 👍
2018-10-13 12:31:58 +11:00
Shelley Vohr
6fc2a2a051 fix: natively implement LoginItem functions (#15010) 2018-10-12 15:19:27 -07:00
Jeremy Apthorp
e61b88fc2a build: add v8_embedder_string to build args (#15039) 2018-10-12 08:26:35 -07:00
Andy Dill
47b12eee57 fix: export zlib symbols (#15103) 2018-10-12 10:17:06 -04:00
Jeremy Apthorp
783ee3e315 chore: roll node (#15097)
picks up:
- electron/node#73: fix: export libuv symbols
- electron/node#74: fix: include names.h in zlib header package
2018-10-12 09:39:11 -04:00
Sitong Peng
9e7bbcd8f6 docs: app.getLoginItemStatus -> app.getLoginItemSettings (#15093) 2018-10-12 09:23:37 -04:00
Felix Rieseberg
d1b2d1a10e fix: Remove statSyncNoException for good (#15092)
* fix: Small JS assignment error

* fix: Call the right og method

* fix: Goodbye, statSyncNoException
2018-10-12 19:43:19 +11:00
Heilig Benedek
5ef5d60f77 refactor: move color_chooser out of chromium_src (#15091)
* chore: move color_chooser out of chromium_src

* fix: remove deleted source files

* fix: add build flag, patch and build instructions for ColorChooser
2018-10-12 10:53:46 +11:00
Heilig Benedek
95696c9456 refactor: move text-to-speech out of chromium_src (#15024)
* chore: add tts patch and buildflag, makes tts work again

* chore: add tts patch and buildflag, makes tts work again

* fix: make things compile

* build: add relevant tts files for linux

* fix: update patch and patch description, should now compile on mac

* build: move chrome specific sources under chromium_src:chrome target

* build: enable_extensions again

We are depending on them, check `//electron/chromium_src:chrome` target
for more info.

* fix: update tts.patch to receive notifications about browser context destruction

* fix: extend browser process from chrome layer

The global state g_browser_process is shared between //chrome
and //electron.

* spec: add basic speech synthesis test

* spec: skip speech tests on ci

* build: fix compilation on windows
2018-10-11 08:52:12 -05:00
Alexey Kuzmin
5788600c46 Revert "FIXME: disable isCurrentlyAudible test to unblock merge" (#15078)
This reverts commit c8a9a3f63c.
2018-10-11 08:26:37 -05:00
Shelley Vohr
ba9a55c391 fix: update and enable osr (#15046)
* fix: update and enable osr

* fix: update MacHelper view to call GetNativeView

* style: move stuff around to make more sense

* chore: move OSR related things in SetOwnerWindow to CommonWebContentsDelegate

* fix: avoid crashing when GetOffscreenRenderWidgetHostView is called

* fix: specify default for current_device_scale_factor_
2018-10-11 09:14:01 -04:00
Samuel Attard
d46834265f chore: make FILEVERSION 4th component 0 on nightly builds (#15074)
Fixes #14900
2018-10-11 09:11:20 -04:00
Alexey Kuzmin
99f5f17a8d build: add "apply_patches" flag to gclient (#15079) 2018-10-11 15:10:26 +02:00
Alexey Kuzmin
6c3d29712f test: update notification_provenance.patch to fix unittests compilation (#15060) 2018-10-11 10:38:48 +02:00
Jeremy Apthorp
ce26687577 refactor: remove global_shortcut_listener from chromium_src/ (#15070) 2018-10-11 16:02:58 +11:00
Samuel Attard
f69e91975f fix: update node for patch that allows native modules built on < node 10 (#15073) 2018-10-11 13:54:32 +11:00
Alexey Kuzmin
a9646e3414 ci: strip linux binaries for nightly release builds (#15063) 2018-10-11 13:41:48 +11:00
Milan Burda
a9475f3590 feat: add workingDirectory option to shell.openExternal() (#15065)
Allows passing `workingDirectory` to the underlying `ShellExecuteW` API on Windows.

the motivation is that by default `ShellExecute` would use the current working directory, which would get locked on Windows and can prevent autoUpdater from working correctly. We need to be able specify a different `workingDirectory` to prevent this situation.
2018-10-10 22:46:54 +02:00
Heilig Benedek
2d186cb31a fix: close patch_file before deleting it (#15055) 2018-10-10 08:55:25 -05:00
Electron Bot
539d6d20b7 Bump v4.0.0-nightly.20181010 2018-10-10 06:38:01 -07:00
Samuel Attard
7159080ec5 chore: patch dump_syms to not hard fail on dylib resolve error (#15056) 2018-10-11 00:34:50 +11:00
Samuel Attard
5667c16767 Revert "Bump v4.0.0-nightly.20181010"
This reverts commit c96847206e.
2018-10-11 00:04:35 +11:00
Alexey Kuzmin
0662dd6449 ci: set timeouts for all steps on VSTS (#15051) 2018-10-10 13:44:07 +02:00
Alexey Kuzmin
978d16b8ab revert: "fixme: allow huge Electron archives" (#15048)
This reverts commit f7dee77f2b.
2018-10-10 13:06:58 +02:00
Electron Bot
c96847206e Bump v4.0.0-nightly.20181010 2018-10-10 03:45:40 -07:00
Samuel Attard
d48c3ec8da Revert "Bump v4.0.0-nightly.20181010"
This reverts commit 8b3f915623.
2018-10-10 21:43:32 +11:00
Electron Bot
8b3f915623 Bump v4.0.0-nightly.20181010 2018-10-10 02:22:24 -07:00
Samuel Attard
1b9600e510 Revert "Bump v4.0.0-nightly.20181010"
This reverts commit 181195ee20.
2018-10-10 20:21:17 +11:00
Electron Bot
181195ee20 Bump v4.0.0-nightly.20181010 2018-10-10 01:04:16 -07:00
Samuel Attard
b0068cecc8 Revert "Bump v4.0.0-nightly.20181009"
This reverts commit 1b9a8bb854.
2018-10-10 21:02:17 +13:00
Electron Bot
1b9a8bb854 Bump v4.0.0-nightly.20181009 2018-10-09 22:59:47 -07:00
Samuel Attard
f6dd201401 Revert "Bump v4.0.0-nightly.20181009"
This reverts commit 32e041d917.
2018-10-10 16:53:56 +11:00
Samuel Attard
37d44965d1 Revert "FIXME: try enabling dcheck to see if that will get us more info on linux-release-testing"
This reverts commit 1a17ce81d5.
2018-10-10 16:49:53 +11:00
Samuel Attard
5b43c249ce Revert "FIXME: temporary debugging to maybe diagnose netlog issue on mac"
This reverts commit f8f318da93.
2018-10-10 16:49:31 +11:00
Kevin Lynagh
af4cf1e969 fix: simpleFullscreen window should be on top of other OS X menu bars. (#14881)
If an app has no menu bar (because `app.dock.hide()` has been called),
OS X will still render the menu bar of the previously-focused app.

This commit ensures simpleFullscreen windows will be drawn on top of
that menu bar by setting their level to NSPopUpMenuWindowLevel while
simpleFullscreen mode is active.

Ref: https://github.com/electron/electron/issues/11468
2018-10-09 22:38:52 -07:00
Samuel Attard
ed065f0106 chore: dont run nightly jobs for everything
Refs: a71c814d19
2018-10-10 16:37:59 +11:00
Samuel Attard
33abd736e9 chore: add deprecation notice for webPrefences defaults (#15045) 2018-10-10 16:36:18 +11:00
Felix Rieseberg
ca826d49a5 docs: Add instructions on how to pull/push (#14903)
* docs: Add instructions on how to pull/push

* docs: Implement feedback <3

* fix: typo s/glient/gclient
2018-10-10 15:48:37 +11:00
Electron Bot
32e041d917 Bump v4.0.0-nightly.20181009 2018-10-09 21:34:34 -07:00
Milan Burda
5bd6de52e0 feat: add app.enableSandbox() (#14999) 2018-10-10 15:32:09 +11:00
Samuel Attard
cc0c6ad14a Merge pull request #14972 from electron/chromium-upgrade/69
feat: upgrade to Chromium 69.0.3497.106
2018-10-10 15:29:21 +11:00
Shelley Vohr
dd43e92186 fix: simplify SetBackgroundColor
The compositor_superview member of BridgedNativeWidgetMac has been removed so as a consequence there is only one layer on which we need to call setBackgroundColor
2018-10-09 20:37:07 -07:00
Samuel Attard
2420cdf027 fix: ensure that the window is focused when testing spellchecker 2018-10-10 14:02:46 +11:00
Samuel Attard
2b8ef344b7 fixme: dont use --enable-logging on the ffmpeg verify phase 2018-10-10 13:11:10 +11:00
Samuel Attard
a5c3091c34 chore: remove --enable-logging, causing issues on CI 2018-10-10 12:11:16 +11:00
Samuel Attard
19e02cd63e chore: add logging to zip-symbols.py to help debugging timeouts 2018-10-10 11:04:55 +11:00
Samuel Attard
6b621e203c fix: use valid markdown syntax in browser-window.md to fix docs linter 2018-10-10 11:01:05 +11:00
Nitish Sakhawalkar
185fe6ced9 fix: Lifetime of auth_info_ in login handler (#15042) 2018-10-10 10:50:44 +11:00
Jeremy Apthorp
f8f318da93 FIXME: temporary debugging to maybe diagnose netlog issue on mac 2018-10-09 15:43:33 -07:00
Jeremy Apthorp
30850f491f fix: [mac] restore SetBackgroundColor functionality 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
373ffa9fee docs: document BrowserWindow.setBackgroundColor 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
1a17ce81d5 FIXME: try enabling dcheck to see if that will get us more info on linux-release-testing 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
c8a9a3f63c FIXME: disable isCurrentlyAudible test to unblock merge 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
edb96c875e FIXME: disable getGPUInfo test to unblock merge
should be fixed and re-enabled before release
2018-10-09 14:39:39 -07:00
Jeremy Apthorp
ee8a54d186 chore: update line reference in gpuinfo comment 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
28153642a4 fix: compile error on mas 2018-10-09 14:39:39 -07:00
Aleksei Kuzmin
f7dee77f2b fixme: allow huge Electron archives 2018-10-09 14:39:39 -07:00
Aleksei Kuzmin
a71c814d19 fixme: always run "nightly-release-test" workflow 2018-10-09 14:39:39 -07:00
deepak1556
3364c04977 FIXME: disable document.visibilityState/hidden <webview> spec 2018-10-09 14:39:39 -07:00
deepak1556
ba14dbe553 FIXME: disable net log spec 2018-10-09 14:39:39 -07:00
deepak1556
7ec05fb202 spec: update media-started-playing tests based on the autoplay policy 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
26a46b6b4b ci: enable stack dumping in tests 2018-10-09 14:39:39 -07:00
deepak1556
363aafc25b fix: ensure webcontents is destroyed before its associated browser context. 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
a71755e1b6 fix: crash in webRequest due to unsafe static_cast
upstream was changed to wrap the network delegate

see https://chromium.googlesource.com/chromium/src/+/69.0.3497.106/services/network/network_context.cc#948
2018-10-09 14:38:00 -07:00
Heilig Benedek
e548ed1a6e fix: remove conflicting header 2018-10-09 14:38:00 -07:00
Heilig Benedek
4088dec630 FIXME! disable osr for now 2018-10-09 14:38:00 -07:00
Heilig Benedek
4017f3faa7 fix: make lint run on Windows in PowerShell 2018-10-09 14:38:00 -07:00
Cheng Zhao
878c5b663d fix: disable the V2 sandbox on macOS
The new v2 sandbox uses system sandbox API, there does not seem to have
a way to support it in --enable-mixed-sandbox, we should probably
deprecate the API.

See https://chromium.googlesource.com/chromium/src.git/+/master/sandbox/mac/seatbelt_sandbox_design.md
2018-10-09 14:38:00 -07:00
Cheng Zhao
7ba287a05e test: make netLog test pass when app crash on exit 2018-10-09 14:38:00 -07:00
Cheng Zhao
a6256c672a feat: getGPUInfo not longer supports 'complete' on macOS
See https://chromium-review.googlesource.com/c/chromium/src/+/1208362
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
e28eeb0c2e fix notification permission handler 2018-10-09 14:38:00 -07:00
Charles Kerr
f027e62b2a fix: only call NetworkService::SetUpHttpAuth once. 2018-10-09 14:38:00 -07:00
deepak1556
f668fc8d02 chore: roll node 2018-10-09 14:38:00 -07:00
deepak1556
55d3720a95 chore: gn format 2018-10-09 14:38:00 -07:00
deepak1556
be719a1ec3 fix: Use the new isolate initialization api
https://chromium-review.googlesource.com/c/chromium/src/+/1015020
2018-10-09 14:38:00 -07:00
Charles Kerr
fb4b50c8c9 fix: linking pepper flash on Linux 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
b539e4d486 roll node to 10.11.0 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
66018eb0f1 FIXME: disable non-compiling LOGFONT IPC message
https://chromium-review.googlesource.com/c/chromium/src/+/1134100
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
56e26c27f2 clang-format 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
c920e453dc Stop using ResourceContext::GetHostResolver()
https://chromium-review.googlesource.com/c/chromium/src/+/1135366
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
6df9c04270 Hook up HttpAuthHandlerFactory configuration to the network service
https://chromium-review.googlesource.com/c/chromium/src/+/1089661
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
67611d69af Refactor of ServiceManagerContext
https://chromium-review.googlesource.com/c/chromium/src/+/1093021
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
85372ecb6b update,,, sysroots? again???? 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
92e95a463e update sysroot 2018-10-09 14:38:00 -07:00
Samuel Attard
a0c2f3dc28 chore: re-enable bundled font config, we should fix the sysroot 2018-10-09 14:38:00 -07:00
Samuel Attard
06dbc7f613 chore: update sysroot 2018-10-09 14:38:00 -07:00
Samuel Attard
f03001c9f2 chore: re-land GetBgColor libgtkui export patch 2018-10-09 14:38:00 -07:00
Samuel Attard
80ffc26713 fixme: disable pepper flash 2018-10-09 14:38:00 -07:00
Samuel Attard
7aa01bc00a chore: dont use bundled fontconfig 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
f5eaa97d9d migrate off QuitCurrent*Deprecated in browser.cc
modelled after https://chromium-review.googlesource.com/c/chromium/src/+/1096475 and https://chromium-review.googlesource.com/c/chromium/src/+/1096475
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
98829aa916 fix default_app.js calling no-longer-existent API 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
647322e299 native_desktop_media_list.h depends on //chrome/app:generated_resources 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
8eb15f7554 Creates TaskScheduler and MessageLoop on main thread early
https://chromium-review.googlesource.com/c/chromium/src/+/1072387
2018-10-09 14:38:00 -07:00
Samuel Attard
d3a0a2300b fix: include algorithm in notification_presenter 2018-10-09 14:38:00 -07:00
Samuel Attard
9190245628 fix: exe_and_shlib_deps does not exist anymore
ce772faa73
2018-10-09 14:38:00 -07:00
Samuel Attard
f4f70a19b0 chore: bump node 2018-10-09 14:38:00 -07:00
Samuel Attard
d8e58dffe6 chore: update CHROME_VERSION_STRING 2018-10-09 14:38:00 -07:00
Samuel Attard
7589c56cea fix: intercept the isolate_holder's new isolate and register it with the node platform before initialization
Chromium Change: https://chromium-review.googlesource.com/c/chromium/src/+/1015020
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
bacc36dde1 Replace more loading methods in WebLocalFrame
https://chromium-review.googlesource.com/c/chromium/src/+/1043093
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
816c2f1893 Split WebWidgetClient and WebViewClient
https://chromium-review.googlesource.com/c/chromium/src/+/1134427
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
8d9f24d369 Remove WebCanvas alias, use cc::PaintCanvas directly in blink
https://chromium-review.googlesource.com/c/chromium/src/+/1112671
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
1adfa4d9da Rename WebFrameClient to WebLocalFrameClient
https://chromium-review.googlesource.com/c/chromium/src/+/1073398
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
b57b342352 Remove PlatformAccelerator
https://chromium-review.googlesource.com/c/chromium/src/+/1140211
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
7ce338e420 Handle deleting cookies with session-only policy in network service
https://chromium-review.googlesource.com/c/chromium/src/+/1090035
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
120b6079a8 Move Net.HttpRequestCompletionErrorCodes to NetworkContext
https://chromium-review.googlesource.com/c/chromium/src/+/1108083
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
42120b4a72 Remove SupportsOCSPStapling from CertVerifier and CertVerifyProc
https://chromium-review.googlesource.com/c/chromium/src/+/1117034
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
b8774374a8 Fixed reporting for iframe ugprade-insecure-requests upgrades
https://chromium-review.googlesource.com/c/chromium/src/+/1096360
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
34e54b93a4 Remove WebContentsUserData::kLocatorKey
https://chromium-review.googlesource.com/c/chromium/src/+/1093015
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
2d46164ce0 Switch NetworkDelegate to OnceCallbacks
https://chromium-review.googlesource.com/c/chromium/src/+/1085855
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
0955fa7bcf Remove unused RunMicrotasksObserver
https://chromium-review.googlesource.com/c/chromium/src/+/1086889
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
9e110ec915 Remove content::SpeechRecognitionResult
https://chromium-review.googlesource.com/c/chromium/src/+/1070587
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
56bc636706 Make content::PermissionManager a delegate of PermissionController
https://chromium-review.googlesource.com/c/chromium/src/+/1111340
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
eef375a428 Port //services/device/geolocation to network::SimpleURLLoader
https://chromium-review.googlesource.com/c/chromium/src/+/1119398
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
63176acde2 Collect NV12, YUY2, and BGRA overlay support information in GPUInfo
https://chromium-review.googlesource.com/c/chromium/src/+/1121622
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
e3fef30789 Refactor RWH::RestartHang...Timeout... into a generic base::Closure
https://chromium-review.googlesource.com/c/chromium/src/+/1096362
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
4570330c7b Rename WebContentsDelegate methods
https://chromium-review.googlesource.com/c/chromium/src/+/1085427
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
af03e4a962 Rename content::PermissionManager into content::PermissionControllerDelegate
https://chromium-review.googlesource.com/c/chromium/src/+/1136858
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
7861f75a3e media: Refactor KeySystemSupport
https://chromium-review.googlesource.com/c/chromium/src/+/1102836
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
9c2cd5a84c Support add/overwrite redirect request headers in NavigationURLLoader
https://chromium-review.googlesource.com/c/chromium/src/+/1072643
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
18128a1582 Use CompletionOnceCallback
several CLs, e.g. https://chromium-review.googlesource.com/c/chromium/src/+/1092933
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
ec1bd5375a FIXME: Delete RenderWidgetHostViewMac::AcceleratedWidgetGetNSView
https://chromium-review.googlesource.com/c/chromium/src/+/1121957

https://chromium-review.googlesource.com/c/chromium/src/+/1037145
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
95cec24387 FIXME: Move persistent notification id from notification database to profile
https://chromium-review.googlesource.com/c/chromium/src/+/1114840
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
d13e3324c6 Unify notification-related permission checks in its PermissionContext
https://chromium-review.googlesource.com/c/chromium/src/+/1085568

https://chromium-review.googlesource.com/c/chromium/src/+/1085466
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
2a3a845262 Change CreateWebUIControllerForURL() to return a unique_ptr
https://chromium-review.googlesource.com/c/chromium/src/+/1087627
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
c576d442fd Rename base::Timer to base::TimerBase
https://chromium-review.googlesource.com/c/chromium/src/+/1124200
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
a7c687f160 ChildProcessSecurityPolicy: only use granted schemes for requests
https://chromium-review.googlesource.com/c/chromium/src/+/1108485
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
4f540fe52a Replace DupCryptoBuffer with bssl::UpRef
https://chromium-review.googlesource.com/c/chromium/src/+/1128194
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
90aa277c26 Migrate MediaResponseCallback to OnceCallback
https://chromium-review.googlesource.com/c/chromium/src/+/1093052
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
3ded109c2e stop using x-devtools-emulate-network-conditions-client-id header
https://chromium-review.googlesource.com/c/chromium/src/+/1086949
2018-10-09 14:38:00 -07:00
Jeremy Apthorp
f514445f20 roll node to tmp version (branch more-patches) 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
3b047f1950 more gclient_gn_args 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
ea98fb37e6 //tools/gn was removed 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
ef12492d6c update chromium and v8 patches 2018-10-09 14:38:00 -07:00
Jeremy Apthorp
aefb8911ec roll Chromium to 69.0.3497.106 2018-10-09 14:37:13 -07:00
Alexey Kuzmin
36ee83875a ci: run tests on VSTS in a separate job (#15027)
* ci: run tests on VSTS in a separate job

Split current monolithic job into two: one to build Electron,
and the other to run its JavaScript tests.

Optionally a "Custom.UseArtifacts.BuildId" variable
can be used to run tests using binaries built in a different job.
Useful to rerun test jobs failed because of flaky tests.

* ci: fail a tests job on VSTS if it's started for a build of a different revision

* ci: fail a tests job on VSTS if there are no test results

* ci: run Mac tests on hosted MacOS agents

* ci: install Node.js 10 on hosted Mac agents
2018-10-09 17:01:35 -04:00
John Kleinschmidt
1cf00274ab ci: strip linux binaries for release builds (#14991) 2018-10-09 16:19:05 -04:00
Troy
d678d9ee75 fix: Check minSize constraints before resizing (#14931)
* Inital setSize check

* Only resize if above minimum size constraints

* lint

* Resize to min if size is changed

* Remove unneeded if statement

* chore: remove trailing whitespace

* Add note about setSize method in docs
2018-10-09 12:08:15 -05:00
Shelley Vohr
532ee2dadf fix: overly thin font rendering on mojave (#15007)
* fix: overly thin font rendering on mojave

* SkUniqueCFRef => UniqueCFRef
2018-10-09 10:52:11 -04:00
Charles Kerr
e9a5b19223 feat: convenience command to apply all formatter patches (#14994)
* feat: convenience to apply all formatter patches

run-clang-format.py can create multiple patchfiles.
This change prints a command that can be pasted into
a shell to apply all of them together.

* feat: put all generated style diffs in one file

This way it will be easier to `git apply` fixes to multiple
fixed files at once.
2018-10-09 10:06:27 -04:00
Charles Kerr
05f4860889 fix: power observer dbus crash (#15030)
* fix: check dbus response for nullptr before using

* chore: use BindOnce for ProxyObject::CallMethod cb

* chore: comment out name of unused argument

* fix: re-enable and fix linux power monitor tests

* fix: change tyop from code comments

* refactor: don't keep unnecessary dbus pointer

* chore: remove the 'TODO: fix this' spec comment
2018-10-09 00:32:19 -05:00
Alexey Kuzmin
7df51eef3c ci: fix breakpad symbols generation on CircleCI for PRs from forks (#15026)
E.g. https://circleci.com/gh/electron/electron/78458
2018-10-08 23:56:15 +02:00
Alexey Kuzmin
7866575385 ci: fix the upload distribution step on VSTS (#15015)
* ci: fix the upload distribution step on VSTS

* ci: fix get_electron_exec()

* ci: define "CI" env variable
2018-10-08 15:19:40 -05:00
Manoel
5416051e36 chore(eslint): add extension to .eslintrc file (#15020)
.eslintrc file without extension is deprecated.
2018-10-08 14:21:34 -05:00
Milan Burda
9177dbb584 refactor: use boolean for nodeIntegration / webviewTag (#15005) 2018-10-08 15:51:31 +02:00
Alexey Kuzmin
918488a2f0 ci: various fixes (#15004)
- ci: don't send Slack notifications for the "linux-ia32-testing-tests" job
 - ci: fix symbols collection job on VSTS
 - ci: run tests on Windows for both "testing" and "release" builds
2018-10-07 16:05:20 +02:00
Milan Burda
b50f86ef43 refactor: use separate ipc-renderer-internal / ipc-main-internal APIs for Electron internals (#13940) 2018-10-07 00:48:00 +13:00
Electron Bot
f7122610cc Bump v4.0.0-nightly.20181006 2018-10-06 02:43:36 -07:00
Samuel Attard
59681f989f Revert "Bump v4.0.0-nightly.20181006"
This reverts commit c74a3b82d7.
2018-10-06 22:21:12 +13:00
Samuel Attard
541e10b081 chore: temporarily use submodule and gn DEPS for requests/boto 2018-10-06 22:07:10 +13:00
Electron Bot
c74a3b82d7 Bump v4.0.0-nightly.20181006 2018-10-06 00:13:06 -07:00
Samuel Attard
b9cf49f32c chore: fix native_mksnapshot path on for arm releases 2018-10-06 20:10:40 +13:00
Samuel Attard
251a3c712b Revert "Bump v4.0.0-nightly.20181005"
This reverts commit 2a2ec7700e.
2018-10-06 20:10:21 +13:00
Electron Bot
2a2ec7700e Bump v4.0.0-nightly.20181005 2018-10-05 21:09:00 -07:00
Alexey Kuzmin
b45dc78751 ci: fix breakpad symbols generation (#14981) 2018-10-06 01:55:06 +02:00
Alexey Kuzmin
5eeff55e83 ci: better Slack notifications for nightly jobs (#14985)
- do not report success from Eletron build jobs
 - report failures from more jobs
 - add separate summary jobs to report success
2018-10-06 01:15:38 +02:00
Alexey Kuzmin
5525f34363 build: make external binaries download action more flexible (#14982)
* build: make external binaries download action more flexible

* chore: reformat DEPS

Make it look more like Chromium //DEPS:
 - use name-pattern-condition-action order for hooks
 - add trailing commas
 - remove some line breaks

Also remove redundant entry from "recursedeps".
2018-10-06 00:21:46 +02:00
Robo
6e5dd735f6 refactor: enable weak ptr unwrap sequence dcheck (#14816)
* refactor: enable weak ptr unwrap sequence dcheck

* spec: remove WeakPtrDeathTest.* from disabled list
2018-10-05 15:29:57 -05:00
John Kleinschmidt
643781578e ci: fix environment variables for fork prs (#14995)
Fixes #14984
Fixes xvfb for fork prs
Sets up sccache as readonly for fork prs.
2018-10-05 16:06:52 -04:00
Robo
2700eaca1e build: remove //chrome/browser/icon_loader source copies (#14955)
* build: remove //chrome/browser/icon_loader source copies

* chore: add DCHECK to ensure IconManager is accessed from UI thread
2018-10-05 14:12:53 -05:00
Shelley Vohr
71058fd9a3 fix: re-enable osr following m68 upgrade (#14973) 2018-10-05 11:03:35 -07:00
Charles Kerr
859567983a chore: run clang-format to clear linter for #14977 (#14990) 2018-10-05 10:38:27 -05:00
John Kleinschmidt
8abe43ac8b Save build artifacts for debug builds (#14992) 2018-10-05 11:11:51 -04:00
John Kleinschmidt
0dbe27714c ci: cleanup Electron dirs before running tests (#14989) 2018-10-05 11:06:46 -04:00
John Kleinschmidt
e06818e8c0 ci: use ubuntu 18.04 for arm testing (#14988) 2018-10-05 09:29:32 -05:00
Alexey Kuzmin
9187415f5e ci: temporary do no run "verify-ffmpeg.py" on Mac CI (#14986) 2018-10-05 08:28:02 -05:00
Samuel Attard
8d5de8a0fd Revert "Bump v4.0.0-nightly.20181004"
This reverts commit 53d3a96489.
2018-10-05 10:21:56 +10:00
Samuel Attard
657901c2ff chore: specify -j18 for electron ninja call 2018-10-05 10:21:36 +10:00
Alexey Kuzmin
0857ecf478 build: make boto and requests optional dependencies (#14970) 2018-10-04 20:20:25 -04:00
Charles Kerr
9d4818c784 fix relaunch on linux (#14975)
* chore: re-enable relaunch test for Linux

* fix: relauncher_linux listening for parent exit
2018-10-04 18:41:37 -05:00
Electron Bot
53d3a96489 Bump v4.0.0-nightly.20181004 2018-10-04 16:28:34 -07:00
Samuel Attard
baf40fd8f7 chore: add extra logging to the upload script 2018-10-05 09:24:19 +10:00
Samuel Attard
21348b9f3d Revert "Bump v4.0.0-nightly.20181004"
This reverts commit 7a6d0cd6d2.
2018-10-05 09:15:38 +10:00
Milan Burda
ae8c0f71b1 chore: remove duplicate code in spec/security-warnings-spec.js (#14967) 2018-10-05 00:24:14 +02:00
Electron Bot
7a6d0cd6d2 Bump v4.0.0-nightly.20181004 2018-10-04 13:56:59 -07:00
Robo
434a6e3561 refactor: create request context from network context (#14656)
* [ci skip] refactor: create request context from network context

* [ci skip] refactor: subscribe to mojo cookiemanager for cookie changes

* [ci skip] refactor: manage the lifetime of custom URLRequestJobFactory

* refactor: use OOP mojo proxy resolver

* revert: add support for kIgnoreCertificateErrorsSPKIList

* build: provide service manifest overlays for content services

* chore: gn format

* fix: log-net-log switch not working as expected

* spec: verify proxy settings are respected from pac script with session.setProxy

* chore: use chrome constants where possible

* fix: initialize request context for global cert fetcher

* refactor: fix destruction of request context getters

* spec: use custom session for proxy tests

* fix: queue up additional stop callbacks while net log is being stopped

* fix: Add CHECK for cookie manager retrieval

* chore: add helper to retrieve logging state for net log module

* fix: ui::ResourceBundle::GetRawDataResourceForScale => GetRawDataResource

* style: comment unused parameters

* build: move //components/certificate_transparency deps from //brightray

* chore: update gritsettings_resource_ids patch

* chore: update api for chromium 68

* fix: net log instance is now a property of session
2018-10-04 13:08:56 -05:00
Shelley Vohr
27bbf6a3c6 feat: add evt listeners for SetAlwaysOnTop (#14951)
* feat: add evt listeners for SetAlwaysOnTop

* only emit one event on AlwaysOnTop change

* docs: add new alwaysontop event

* dont emit if theres no change

* address feedback from review
2018-10-04 13:02:16 -05:00
Samuel Attard
d810f08b75 fix: update accelerator patch to handle recent chromium fixes (#14966) 2018-10-04 12:05:35 -05:00
John Kleinschmidt
038b56e31e ci: Trigger an arm test on VSTS after CircleCI build (#14898)
* ci: Trigger an arm test on VSTS after CircleCI build
2018-10-04 12:01:16 -04:00
Alexey Kuzmin
1acd840c38 ci: rearrange builds on CircleCI (#14969)
* ci: do not build ffmpeg for every PR on CircleCI

* ci: build and run unittests in a separate workflow on CircleCI

* ci: build chromedriver in a separate job
2018-10-04 11:50:46 -04:00
Cheng Zhao
d3ae541397 refactor: Clean up the implementation of the registerStreamProtocol (#11357)
* Use weak pointer to avoid race condition

* Use DeleteSoon to delete pointer across threads

* Simplify EventSubscriber

* No need to manually mange V8 convertions

* Fix cpplint warning

We should update cpplint for this, but let's do it in other PR.

* Move UI thread operations to EventSubscriber

* Less and more assertions

Some methods are now private so no more need to assert threads.

* Fix cpplint warnings

* No longer needs the EventEmitted

* EventSubscriber => StreamSubscriber

* Reduce the copies when passing data

* Fix cpplint warnings
2018-10-04 10:13:09 -04:00
Samuel Attard
3805c5f538 chore: enable -pie for linux builds (#14962)
Closes #14961
2018-10-04 10:10:48 -04:00
Alexey Kuzmin
f161835fc3 test: disable one test in base_unittests (#14968)
Fails after the Chromium 68 upgrade.
2018-10-04 10:00:30 -04:00
Samuel Attard
31c7891553 chore: checkout the arm resources during publish sync 2018-10-04 14:14:53 +10:00
Samuel Attard
01efb6570c Revert "Bump v4.0.0-nightly.20181003"
This reverts commit 76dab5ebd1.
2018-10-04 13:45:20 +10:00
Electron Bot
76dab5ebd1 Bump v4.0.0-nightly.20181003 2018-10-03 19:15:29 -07:00
Samuel Attard
41c6a64213 chore: fix GN linting issue in brightray 2018-10-04 12:10:18 +10:00
Samuel Attard
03e6113ef7 Merge pull request #14964 from electron/chromium-upgrade/68
feat: upgrade to Chromium 68.0.3440.128 and Node 10.11.0
2018-10-04 12:04:53 +10:00
Samuel Attard
b59e01bdb0 Revert "feat: upgrade to Chromium 68.0.3440.128 and Node 10.11.0 (#14677)" (#14963)
This reverts commit e012801420.
2018-10-04 12:03:15 +10:00
Jeremy Apthorp
e012801420 feat: upgrade to Chromium 68.0.3440.128 and Node 10.11.0 (#14677)
* Update to Chromium 68.0.3440.128 and Node 10.10.0

* update v8, ffmpeg, chromium, crashpad, boringssl, and webrtc patches

* fix SSL_get_tlsext_status_type patch

* pass encryption_modes_supported to CdmInfo

* kNoSandbox moved into service_manager

* bump CHROME_VERSION_STRING

TODO: automatically pull in the real chrome version

* PathService -> base::PathService

* net::X509Certificate::Equals -> net::X509Certificate::EqualsExcludingChain

* use content::ChildProcessTerminationInfo

* GetHandle() -> GetProcess().Handle()

* ScopedNestableTaskAllower doesn't take an argument

* net::HttpAuthCache::ClearEntriesAddedWithin -> ClearAllEntries

* std::unique_ptr<WebContents>

* blink::WebFullscreenOptions

* OnAudioStateChanged doesn't take a WebContents

* content::RESULT_CODE_NORMAL_EXIT -> service_manager::RESULT_CODE_NORMAL_EXIT

* MessageLoopCurrent

* WasResized -> SynchronizeVisualProperties

* SetTimeStamp takes a base::TimeTicks

* ExecuteScriptInIsolatedWorld is single-script only

* DispatchNonPersistentCloseEvent takes a callback now

* expose URLRequestContextGetter::{Add,Remove}Observer

* test: remove no longer existing Chromium test deps

cc_blink_unittests has been removed in
https://chromium-review.googlesource.com/1053765

mojo_common_unittests has been removed in
https://chromium-review.googlesource.com/1028000

* SetFdLimit -> IncreaseFdLimitTo

NOTE: the behaviour of this API has changed slightly, and we should
mention that in the notes.

* MessageLoop::QuitWhenIdleClosure -> RunLoop::QuitCurrentWhenIdleClosureDeprecated

* certificate_transparency moved out of net/

pending a clearer decision about what to do with CT

in the mean time, copy CreateLogVerifiersForKnownLogs from deleted chromium source

* add secure_origin_whitelist to chrome source list

NOTE: is this something we actually want? cc @deepak1556

* DrainBackgroundTasks -> DrainTasks

* use new node options parser

* fix disable_scroll_begin_dcheck.patch

* ViewsDelegate::CreateWebContents went away

see https://chromium-review.googlesource.com/c/chromium/src/+/1031314

* kZygoteProcess moved into service_manager

* test: minor improvements to the Node spec

 - reformat some parts
 - better failures reporting with `expect`
 - skip some tests instead of marking them as passed

* chromium removed *_posix.cc from the source filters

* test: fix :electron_tests compilation

* better crash diagnostics in ffmpeg test

* fix: enable back a DCHECK in viz::ServerSharedBitmapManager

Fixes #14327.
Backports https://chromium-review.googlesource.com/802574.

* chore: update linux sysroots

* chore: remove obsolete "install-sysroot.py" script

* test: fix frame-subscriber test on Mac

* disable OSR for now

* test: make before-input-event test more robust

* test: make run-as-node --inspect test more robust on windows

* roll node to v10.11.0

* avoid duplicate files when building a zip

* disable failing assert in beginFrameSubscription dirty-rectangle test

* experiment with is_cfi = false

* fix: build torque with x64 toolchain

Co-Authored-By: Alexey Kuzmin <github@alexeykuzmin.com>

* test: disable the "app.relaunch" test on Linux

* chore: bump node to get header tar file

* chore: bump node to fix tar.py line endings
2018-10-04 12:02:14 +10:00
Samuel Attard
a78fff0afe chore: bump node to fix tar.py line endings 2018-10-04 10:09:33 +10:00
Jeremy Apthorp
14fc6f3081 chore: add GN linting (#14678)
* chore: add GN linter

* chore: fix GN lint errors

* try some crazy bash to get a gn exe

* base64 on linux is different

* cloning build_tools doesn't download GN

* download_from_google_storage needs depot_tools in the path

* fixup! chore: add GN linter
2018-10-03 18:03:26 -05:00
Samuel Attard
b47081e814 chore: bump node to get header tar file 2018-10-04 08:59:33 +10:00
Aleksei Kuzmin
21f382fcae test: disable the "app.relaunch" test on Linux 2018-10-04 00:21:58 +02:00
John Kleinschmidt
df32326ce5 fix: build torque with x64 toolchain
Co-Authored-By: Alexey Kuzmin <github@alexeykuzmin.com>
2018-10-04 00:15:00 +02:00
Jeremy Apthorp
f7f93d2071 experiment with is_cfi = false 2018-10-04 00:15:00 +02:00
Jeremy Apthorp
45c2dcddb0 disable failing assert in beginFrameSubscription dirty-rectangle test 2018-10-04 00:15:00 +02:00
Jeremy Apthorp
81bd7fab55 avoid duplicate files when building a zip 2018-10-04 00:15:00 +02:00
Jeremy Apthorp
d4c8375702 roll node to v10.11.0 2018-10-04 00:15:00 +02:00
Samuel Attard
0ee46cdc26 test: make run-as-node --inspect test more robust on windows 2018-10-04 00:14:59 +02:00
Cheng Zhao
b11b4f2235 test: make before-input-event test more robust 2018-10-04 00:14:59 +02:00
Jeremy Apthorp
41d806ee45 disable OSR for now 2018-10-04 00:14:59 +02:00
Aleksei Kuzmin
0fc79ad3a9 chore: update linux sysroots 2018-10-04 00:14:59 +02:00
Aleksei Kuzmin
01179ea7b9 chore: remove obsolete "install-sysroot.py" script 2018-10-04 00:14:59 +02:00
Jeremy Apthorp
09f018ce8c test: fix frame-subscriber test on Mac 2018-10-04 00:14:59 +02:00
Aleksei Kuzmin
ae12d53884 fix: enable back a DCHECK in viz::ServerSharedBitmapManager
Fixes #14327.
Backports https://chromium-review.googlesource.com/802574.
2018-10-04 00:14:59 +02:00
Jeremy Apthorp
cc53269231 better crash diagnostics in ffmpeg test 2018-10-04 00:14:59 +02:00
Aleksei Kuzmin
6ab5c2faa1 test: fix :electron_tests compilation 2018-10-04 00:14:59 +02:00
Jeremy Apthorp
aafe83338c chromium removed *_posix.cc from the source filters 2018-10-04 00:14:59 +02:00
Aleksei Kuzmin
ae95f77d68 test: minor improvements to the Node spec
- reformat some parts
 - better failures reporting with `expect`
 - skip some tests instead of marking them as passed
2018-10-04 00:14:59 +02:00
Jeremy Apthorp
4e679a3f28 kZygoteProcess moved into service_manager 2018-10-04 00:13:37 +02:00
Jeremy Apthorp
f9ed25dd78 ViewsDelegate::CreateWebContents went away
see https://chromium-review.googlesource.com/c/chromium/src/+/1031314
2018-10-04 00:13:37 +02:00
Jeremy Apthorp
2f75777fb6 fix disable_scroll_begin_dcheck.patch 2018-10-04 00:13:37 +02:00
Jeremy Apthorp
6e037f5e71 use new node options parser 2018-10-04 00:13:37 +02:00
Jeremy Apthorp
9aaedc394e DrainBackgroundTasks -> DrainTasks 2018-10-04 00:13:37 +02:00
Jeremy Apthorp
5d882c6b91 add secure_origin_whitelist to chrome source list
NOTE: is this something we actually want? cc @deepak1556
2018-10-04 00:13:37 +02:00
Jeremy Apthorp
3657715c7b certificate_transparency moved out of net/
pending a clearer decision about what to do with CT

in the mean time, copy CreateLogVerifiersForKnownLogs from deleted chromium source
2018-10-04 00:12:55 +02:00
Jeremy Apthorp
6a202c9f52 SetFdLimit -> IncreaseFdLimitTo
NOTE: the behaviour of this API has changed slightly, and we should
mention that in the notes.
2018-10-04 00:12:55 +02:00
Jeremy Apthorp
f0da5bce80 MessageLoop::QuitWhenIdleClosure -> RunLoop::QuitCurrentWhenIdleClosureDeprecated 2018-10-04 00:12:55 +02:00
Jeremy Apthorp
e6da87b864 test: remove no longer existing Chromium test deps
cc_blink_unittests has been removed in
https://chromium-review.googlesource.com/1053765

mojo_common_unittests has been removed in
https://chromium-review.googlesource.com/1028000
2018-10-04 00:12:55 +02:00
Jeremy Apthorp
7e5d90f871 DispatchNonPersistentCloseEvent takes a callback now 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
7a043a800d ExecuteScriptInIsolatedWorld is single-script only 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
3b7657361d SetTimeStamp takes a base::TimeTicks 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
9c15c97468 expose URLRequestContextGetter::{Add,Remove}Observer 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
faf57683ce WasResized -> SynchronizeVisualProperties 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
5d9ba8b821 MessageLoopCurrent 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
08265ba3e2 content::RESULT_CODE_NORMAL_EXIT -> service_manager::RESULT_CODE_NORMAL_EXIT 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
948fe2107e OnAudioStateChanged doesn't take a WebContents 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
517d38f191 blink::WebFullscreenOptions 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
a5b09e25ea std::unique_ptr<WebContents> 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
8060e915c2 net::HttpAuthCache::ClearEntriesAddedWithin -> ClearAllEntries 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
5a757449b0 ScopedNestableTaskAllower doesn't take an argument 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
b9cd3493ac GetHandle() -> GetProcess().Handle() 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
1c60f9e468 use content::ChildProcessTerminationInfo 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
280421393e net::X509Certificate::Equals -> net::X509Certificate::EqualsExcludingChain 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
de581ca0b4 PathService -> base::PathService 2018-10-04 00:12:54 +02:00
Jeremy Apthorp
7092fa31a4 kNoSandbox moved into service_manager 2018-10-04 00:11:51 +02:00
Jeremy Apthorp
ce2c8e358d pass encryption_modes_supported to CdmInfo 2018-10-04 00:11:51 +02:00
Jeremy Apthorp
e721388bac fix SSL_get_tlsext_status_type patch 2018-10-04 00:11:51 +02:00
Jeremy Apthorp
6f2f761df3 update v8, ffmpeg, chromium, crashpad, boringssl, and webrtc patches 2018-10-04 00:11:51 +02:00
Jeremy Apthorp
d5e9b662f8 bump CHROME_VERSION_STRING
TODO: automatically pull in the real chrome version
2018-10-04 00:11:51 +02:00
Jeremy Apthorp
78c8951a50 Update to Chromium 68.0.3440.128 and Node 10.10.0 2018-10-04 00:11:51 +02:00
Milan Burda
5efb0fdff1 feat: add security warnings to sandboxed renderers (#14869)
Also refactor not to use the remote module.
2018-10-03 21:36:12 +02:00
Jeremy Apthorp
de020d0a5e ci: combine linux-*-checkout into one step (#14937) 2018-10-03 21:05:05 +02:00
Robo
7a43c8732c build: remove //chrome/common source copies (#14950)
* Removes
  * //chrome/common/chrome_constants.*
  * //chrome/common/chrome_paths*.*
  * //chrome/common/pref_names.*
2018-10-03 11:44:22 -07:00
Robo
91a965e24d build: remove //extensions source copies (#14949)
* build: remove //extensions source copies

* chore: gn format
2018-10-03 11:44:50 -05:00
Cheng Zhao
4c4d8c5bfa fix: support ASAR in fs.copyFile (#14942) 2018-10-03 09:36:20 -07:00
Robo
820d99d37f build: remove duplicate cursor resource configs (#14929)
$target_gen_dir/ui/resources/ui_unscaled_resources.rc provides
the required values during compilation.
2018-10-03 08:38:53 -07:00
Shelley Vohr
47258f7b3d fix: default_app incorrect loading by url (#14940) 2018-10-03 08:10:22 -07:00
Robo
596ae2c2df refactor: desktop capturer module (#14835)
* Revert "post all desktop capturer apis to worker threads"

This reverts commit 5a28759fea.

* refactor: desktop capturer module

* Creates the screen and window capturer for the liftime of the app
* Fixes incorrect usage of weak ptr

* build: add //ui/snapshot to chromium_src deps

* fix: handle scenarios when there are no captured sources
2018-10-03 21:26:42 +09:00
Shelley Vohr
e06bc311a9 chore: remove dead code in menu controller (#14939) 2018-10-03 16:24:28 +09:00
Cheng Zhao
a1b2162563 fix: use white background for non-OSR renderer by default (#14932) 2018-10-02 20:09:18 -07:00
John Kleinschmidt
319d9e519f ci: Use VSTS checkout of electron (#14926) 2018-10-02 16:21:27 -04:00
Samuel Attard
2b3415dfd8 chore: remove duplicate and un-needed files from dist zips (#14882)
* chore: remove duplicate and un-needed files from dist zips

* Strip chromedriver binaries

Also, fix path for files to skip

* Don't strip mksnapshot for now

Mksnapshot needs special handling for arm/arm64 because there is both an x86 and arm/arm64 binary in those cases.
2018-10-02 11:12:37 -04:00
Cheng Zhao
74badfeb56 fix: check guest view's devtools window size (#14922) 2018-10-02 09:56:33 -05:00
Cheng Zhao
b23c389f89 Revert "fix: check guest view's devtools window size"
This reverts commit 90519c3ac0.

It was an accidencal push
2018-10-02 00:17:13 -07:00
Cheng Zhao
90519c3ac0 fix: check guest view's devtools window size 2018-10-02 00:15:59 -07:00
Samuel Attard
d628aad3bf feat: remove needless mojave dark mode APIs and add instructions on how to use the macOS replacement (#14895) 2018-10-02 14:44:50 +10:00
Samuel Attard
13035612ab ci: clean up the lint config for vsts (#14914) 2018-10-02 13:11:40 +10:00
Milan Burda
3ad3ade828 refactor: add prefer-const to .eslintrc + fix errors (#14880) 2018-10-02 11:56:31 +10:00
Alexey Kuzmin
07161a8452 chore: some async await stuff for the spec runner (#14897) 2018-10-02 11:53:34 +10:00
Jeremy Apthorp
6a3402be5f ci: add -j3 to mksnapshot/ffmpeg due to smaller machine size (#14907) 2018-10-02 11:50:41 +10:00
Felix Rieseberg
79c6e7c3f7 fix: Disable new fade animation for BrowserViews (#14911) 2018-10-02 11:49:26 +10:00
Alexey Kuzmin
c9edf77e8e test: slightly rewrite getGPUInfo() tests (#14863)
Rewrite GPUInfo tests for linux and update `getGPUInfo` functionality for linux.
`basic` and `complete` GPUInfo is same for linux.
2018-10-01 18:34:52 -07:00
Alexey Kuzmin
f1b097024e ci: run more unittests (#14861) 2018-10-01 17:50:52 -05:00
Alexey Kuzmin
5da7bae1b3 ci: refactor the CircleCI config (#14891)
- explicitly mark jobs that should use sccache
 - explicitly mark jobs that should send Slack notifications
 - remove unnecessary env vars and checks
 - build and verify ffmpeg, and build native mksnapshot nightly
 - add "native" to the native mksnapshot jobs names
 - minor changes
2018-10-01 22:24:51 +02:00
Robo
a24ad6bc14 build: define compile time features with buildflag header (#14840)
* build: define compile time features with buildflag header

* refactor: switch to BUILDFLAG(ENABLE_DESKTOP_CAPTURER)

* refactor: switch to BUILDFLAG(ENABLE_RUN_AS_NODE)

* refactor: switch to BUILDFLAG(ENABLE_OSR)

* refactor: switch to BUILDFLAG(ENABLE_VIEW_API)

* refactor: switch to BUILDFLAG(ENABLE_PEPPER_FLASH)

* refactor: switch to BUILDFLAG(OVERRIDE_LOCATION_PROVIDER)

* refactor: switch to BUILDFLAG(ENABLE_PDF_VIEWER)
2018-10-01 16:00:53 -04:00
Alexey Kuzmin
4af922c9a2 ci: fail a tests job is there are no test results (#14884) 2018-10-01 16:59:55 +02:00
Shelley Vohr
ec38561254 chore: wrap new NSAppearance in correct check (#14873)
* fix: wrap new NSAppearance in correct check

* catch dark case on < 10.14

* fix @available conditional organization
2018-10-02 00:52:04 +10:00
Samuel Attard
40b676fee8 chore: skip the .bin from folder hashing due to npm not cleaning up symlinks (#14888)
- fix the ia32 specs not running on CI
 - handle rejected promises in the "spec-runner" script
2018-10-01 16:00:04 +02:00
Alexey Kuzmin
60ac03c08f test: disable getGPUInfo() tests on Linux (#14875) 2018-10-01 12:57:38 +10:00
Milan Burda
d48f9bcf7f refactor: implement <webview> methods via dedicated IPCs without the remote module (#14377) 2018-10-01 10:07:50 +09:00
Milan Burda
ce38be74df refactor: simplify process object initialization for sandboxed renderers (#14878)
Also fix `process.windowsStore`.
2018-09-30 23:24:00 +02:00
Electron Bot
0127bbc8e8 Bump v4.0.0-nightly.20180929 2018-09-29 05:11:59 -07:00
Samuel Attard
7ea0d105c0 chore: fix mac vsts config 2018-09-29 22:05:15 +10:00
Samuel Attard
3d1247933c Revert "Bump v4.0.0-nightly.20180929"
This reverts commit 3cc0a40792.
2018-09-29 22:04:05 +10:00
Electron Bot
3cc0a40792 Bump v4.0.0-nightly.20180929 2018-09-29 04:56:34 -07:00
Samuel Attard
2b107ef3e8 chore: generate ffmpeg zip on macos release 2018-09-29 21:50:31 +10:00
Samuel Attard
6d205423f5 Revert "Bump v4.0.0-nightly.20180929"
This reverts commit dac076dfb1.
2018-09-29 21:50:10 +10:00
Samuel Attard
139c98dc57 Revert "Bump v4.0.0-nightly.20180929"
This reverts commit f5fb6b6a8e.
2018-09-29 21:49:59 +10:00
Electron Bot
f5fb6b6a8e Bump v4.0.0-nightly.20180929 2018-09-29 03:20:13 -07:00
Electron Bot
dac076dfb1 Bump v4.0.0-nightly.20180929 2018-09-29 02:02:46 -07:00
Samuel Attard
f1eea4aab6 chore: run create-typescript-definitions for darwin releases 2018-09-29 18:36:28 +10:00
Samuel Attard
7ac4f7aa3b Revert "Bump v4.0.0-nightly.20180929"
This reverts commit e3adffbbac.
2018-09-29 18:36:12 +10:00
Electron Bot
e3adffbbac Bump v4.0.0-nightly.20180929 2018-09-29 00:04:20 -07:00
Samuel Attard
99cf6815a8 chore: run create-typescript-definitions for darwin releases 2018-09-29 16:39:22 +10:00
Samuel Attard
a4607d3284 chore: set TARGET_ARCH correctly for arm and arm64 builds 2018-09-29 15:32:48 +10:00
Samuel Attard
417150cecf Revert "Bump v4.0.0-nightly.20180928"
This reverts commit fa70e65e0f.
2018-09-29 15:32:20 +10:00
Electron Bot
fa70e65e0f Bump v4.0.0-nightly.20180928 2018-09-28 21:30:52 -07:00
Samuel Attard
7e5d16ce84 chore: generate ffmpeg zip on linux release 2018-09-29 14:26:58 +10:00
Samuel Attard
adc60a72ca chore: get target arch from TARGET_ARCH env var 2018-09-29 14:13:17 +10:00
Samuel Attard
d6500244a4 chore: bump node to get header tar file 2018-09-29 14:01:27 +10:00
Samuel Attard
2669f1247a Revert "Bump v4.0.0-nightly.20180928"
This reverts commit 449bd8e408.
2018-09-29 14:00:41 +10:00
Electron Bot
449bd8e408 Bump v4.0.0-nightly.20180928 2018-09-28 20:13:25 -07:00
Samuel Attard
531a4c5b8c Merge pull request #14868 from electron/fix-win-dump-syms
chore: fix windows dump syms
2018-09-29 13:11:03 +10:00
Samuel Attard
ad9e01393d chore: actually publish from circleci and always build node headers on vsts 2018-09-29 12:33:56 +10:00
Samuel Attard
9ec7137443 chore: fix ffmpeg upload path and always generate node headers 2018-09-29 12:27:29 +10:00
Samuel Attard
851cd22f10 chore: fix upload.py for symbol.zip upload 2018-09-29 12:00:33 +12:00
Milan Burda
c61db523c7 refactor: replace var with const / let (#14866) 2018-09-29 09:17:00 +10:00
Samuel Attard
689ea370e1 chore: push the symbol zip not a folder 2018-09-29 11:06:14 +12:00
John Kleinschmidt
e183bab6c5 Pass along verbose mode 2018-09-28 15:37:11 -04:00
Samuel Attard
b42493e6e6 test: guarantee the order of webview and devtools creation (#14849) 2018-09-28 12:34:57 -07:00
John Kleinschmidt
fda4112168 ci: fix windows symbol gen 2018-09-28 13:24:00 -04:00
Samuel Attard
78239ff0ad chore: add python env to zip-symbols script 2018-09-29 02:10:42 +12:00
Samuel Attard
24576fd0f1 Revert "Bump v4.0.0-nightly.20180927"
This reverts commit 40bc4afcb3.
2018-09-29 00:04:19 +12:00
Troy
0e1365fc94 fix: enable key accelerator flags for Windows and Linux (#14830)
* Fix Accelerator Flags for Windows and Linux

* Lint fix

* Lint whitespace
2018-09-28 06:59:00 -05:00
Electron Bot
40bc4afcb3 Bump v4.0.0-nightly.20180927 2018-09-27 23:51:02 -07:00
Samuel Attard
ff364901e1 chore: use get_electron_branding instead of electron_gyp in the symbol zip generator 2018-09-28 16:48:09 +10:00
Samuel Attard
462d65c203 Revert "Bump v4.0.0-nightly.20180927"
This reverts commit 8c1d6f2aa2.
2018-09-28 16:47:41 +10:00
Electron Bot
8c1d6f2aa2 Bump v4.0.0-nightly.20180927 2018-09-27 23:01:31 -07:00
Samuel Attard
46932913d1 chore: dont tag libcc when it does not exist in GN build 2018-09-28 15:58:54 +10:00
Samuel Attard
b0b9ebd448 chore: fix path to dump_syms in the windows breakpad tool 2018-09-28 15:57:16 +10:00
Samuel Attard
27d363015b chore: make zip-symbols executable 2018-09-28 15:35:30 +10:00
Samuel Attard
3006974106 Revert "Bump v4.0.0-nightly.20180927"
This reverts commit 06aaf71706.
2018-09-28 15:34:47 +10:00
Electron Bot
06aaf71706 Bump v4.0.0-nightly.20180927 2018-09-27 21:03:47 -07:00
Samuel Attard
0a4ddf4512 chore: ensure the bump-version script modified the version.h file correctly 2018-09-28 13:58:48 +10:00
Samuel Attard
d51633e598 Revert "Bump v4.0.0-nightly.20180927"
This reverts commit c48306c80f.
2018-09-28 13:57:04 +10:00
Electron Bot
c48306c80f Bump v4.0.0-nightly.20180927 2018-09-27 20:22:40 -07:00
Samuel Attard
e86298d5d9 chore: fix relative links in docs and enforce we dont break them again (#14832) 2018-09-28 13:16:38 +10:00
Samuel Attard
46141b8283 chore: initial work for running releases of GN build - Merge pull request #14831 from electron/prepare-for-4-nightlies 2018-09-28 13:06:48 +10:00
Samuel Attard
a524c5ec12 chore: move the view APIs to their own directory (#14722)
* chore: move the view APIs to their own directory

* move view api cpp files
2018-09-28 12:47:09 +10:00
Samuel Attard
37f405859f chore: fix out_dir usage in upload-symbols.py 2018-09-28 11:24:50 +10:00
Samuel Attard
55765424f9 chore: fix test command in docs 2018-09-28 11:19:00 +10:00
John Kleinschmidt
8df703a13b Update mksnapshot uploads 2018-09-28 11:18:25 +10:00
Shelley Vohr
e66a5f79a2 updating directories and related functions 2018-09-28 11:18:06 +10:00
John Kleinschmidt
1c728876e6 Fix yaml issue 2018-09-28 11:17:11 +10:00
John Kleinschmidt
3643ce5f85 Add publish jobs for CircleCI releases 2018-09-28 11:17:11 +10:00
Samuel Attard
cba749e305 chore: fix appveyor deploy working dir 2018-09-28 11:17:11 +10:00
Samuel Attard
d0691dffdf chore: remove serve-node-headers.py, unused in new testing setup and points at old out_dir 2018-09-28 11:17:11 +10:00
Samuel Attard
85464c5b46 chore: ensure boto is initialized so that s3put works 2018-09-28 11:17:11 +10:00
Samuel Attard
c1705f2789 chore: fix out_dir usage in upload-node-headers.py 2018-09-28 11:17:11 +10:00
Samuel Attard
363cf1dec2 chore: fix out_dir usage in upload-node-checksums.py 2018-09-28 11:16:38 +10:00
Samuel Attard
504581e308 chore: fix out_dir usage in upload-index-json.py 2018-09-28 11:16:38 +10:00
Samuel Attard
2adb44a402 chore: remove unused files to simply out_dir replacements 2018-09-28 11:16:37 +10:00
Samuel Attard
4b0f335aba chore: initial work for running releases of GN build 2018-09-28 11:15:46 +10:00
Jeremy Apthorp
77fb9cf416 chore: stop using electron.gyp for branding and version (#14559)
* chore: stop using electron.gyp for version info

* chore: remove branding info from electron.gyp

* Use get_electron_branding instead of gn read

* Flip project_name/product_name
2018-09-27 14:53:08 -04:00
Samuel Attard
6be69048e6 fix: handle shortcuts by default if no WebPreferences object exists (#14766)
DevTools webcontents do not have webpreferences

Fixes #14685
2018-09-28 01:41:09 +10:00
Samuel Attard
0d2a0c7583 feat: add APIs to support mojave dark modes (#14755)
* feat: add APIs to support mojave dark mode

Closes #13387

* docs: fix system-prefs typo
2018-09-27 10:33:31 -05:00
Alexey Kuzmin
8963529238 ci: run unittests and browsertests separately (#14826) 2018-09-27 11:29:27 -04:00
Nitish Sakhawalkar
5c108728d6 feat: Implementation of getGPUInfo API. (#13486)
* Implementation of getGPUInfo API.

* Clear promise set

* Changes to promise usage

* Minor fixes

* Fix linux build

* Update spec

* Fix lint (linter didn't run on windows locally)

* Test running single test for CI

* Update spec
2018-09-28 00:59:23 +10:00
Alexey Kuzmin
638311b6b3 build: turn on OSR for GN builds (#14352)
* build: turn on OSR for GN builds

* remove mac-only speech functions in osr

They were removed as a part of https://chromium-review.googlesource.com/c/chromium/src/+/923548

* implement WasResized in MacHelper

* add missing screen include

* fix: use proper bitmap operations to construct frame to avoid failing checks

* switch to SkCanvas for drawing
2018-09-27 09:32:31 -04:00
Samuel Attard
131b19403f chore: upload node.lib for v4 (#14829)
Closes #14828
2018-09-27 08:38:41 -04:00
Samuel Attard
7dc7cd1d89 fix: send null in debugger callback when no error (#14814)
Fixes #13811
2018-09-27 17:43:45 +10:00
Shelley Vohr
985d35fc1c fix: update deprecated NSWindow masks (#14760) 2018-09-26 16:00:57 -07:00
Shelley Vohr
be2c27d5b8 correct key code reqs for accel doc (#14823) 2018-09-26 15:03:55 -07:00
John Kleinschmidt
1b4d425876 build: Generate breakpad symbols for GN release builds (#14791)
* Use chromium 's generate_breakpad_symbols.py

* Add breakpad symbol gen to CI.
2018-09-26 14:56:05 -04:00
Samuel Attard
49f9019007 chore: check in the changes to package-lock.json (#14815) 2018-09-26 21:03:43 +10:00
Milan Burda
b499d57cfd refactor: use error-utils for remote exception serialization / deserialization (#14788)
* refactor: use error-utils for remote exception serialization / deserialization

* fix internal process.type in sandboxed renderer
2018-09-26 15:44:55 +10:00
Milan Burda
3df739fa89 refactor: implement crashReporter.start() without the remote module (#14434) 2018-09-26 15:43:34 +10:00
Troy
560b1c17af fix: setMaximizable to be true if window is resizable & maximizable (#14648)
* setMaximizable to be true if window is resizable & maximizable

* Fix linting

* Add regressive test to verify maxmizable state

* Leaves maximizable state of window alone if setResizable is called

* Fix exclusive test

* Fix crashing text

* SetMaximizable unconditionally

* Remember former maximizable state

* Fix accidental mac variable deletion

* Logic modification

* Lint

* Remove unneeded test

* Remove unneeded variable since only Windows is effect
2018-09-26 11:41:40 +10:00
Shelley Vohr
c9bc3471e7 fix: get background color from GtkMenuBar#menubar (#14785)
* fix: get background color from GtkMenuBar#menubar

* expose libgtkui::GetBgColor
2018-09-25 13:57:06 -07:00
Jeremy Apthorp
18c2574350 ci: migrate libcc's Dockerfile to electron and update it (#14786)
* ci: migrate libcc's Dockerfile to electron and update it

* Added nano and sudo

* Use new docker image in CircleCi

* installing nodejs needs curl

* Add needed dependencies

nacl contains dependencies needed for arm and ia32 builds
2018-09-25 15:30:22 -04:00
Shelley Vohr
c73a6906f6 chore: fix compilation with XCode 10 (#14800)
* chore: fix compilation with XCode 10

* update chromium commit ref
2018-09-25 10:42:13 -07:00
Jeremy Apthorp
442f05dfe7 chore: force patches to be checked out with LF line endings (#14789) 2018-09-26 02:04:32 +12:00
Alexey Kuzmin
c5fa7b8043 ci: add a branch name to Slack notifications (#14793) 2018-09-25 09:59:39 -04:00
Shelley Vohr
2617f50b7d chore: update mksnapshot and ffmpeg for GN (#14738)
* chore: update mksnapshot and ffmpeg for GN

* fix typo

* add non-native builds to CI

* split mksnapshot build and store steps

* Fix config order

* Use different targets for mksnapshot and native_mksnapshot

mksnapshot gets built in electron_app as part of the v8 build, so copy it from there

* Revert "Use different targets for mksnapshot and native_mksnapshot"

This reverts commit 6a1a50aa69.

* Try specifying v8_snapshot_toolchain

* Fix v8_snapshot_toolchain reference

* Fix artifact locations

* Test native mksnapshot
2018-09-24 21:48:49 -04:00
Shelley Vohr
c7b91acf41 fix: inconsistent titleBarStyle on transparent fullscreen (#14765) 2018-09-24 17:15:18 -07:00
Samuel Attard
50a4a8e9c3 spec: add test for syncronous access to blink APIs (#14637)
This test should ensure we catch a regression of #13787
2018-09-25 10:40:15 +12:00
Alexey Kuzmin
e6242d5ef8 ci: do not suppress stdout from Google Test binaries (#14782) 2018-09-24 13:47:06 -07:00
Shelley Vohr
e9549a89bb docs: update releasing info (#14675)
* docs: update releasing info

* update more release and upload files

* address feedback from review
2018-09-24 09:12:16 -07:00
Shelley Vohr
2bcc86dac7 docs: clarify allowable background colors for BrowserWindow transparency (#14762)
* docs: clarify allowable colors for transparency

* fix alpha value specification
2018-09-24 10:51:01 -05:00
Jeremy Apthorp
335caef9ad fix: support macos 10.14 SDK (#14758)
* support macos 10.14 SDK

* forward-declare NSUserActivityRestoring for backwards compatibility

* that didn't work, let's resort to #ifdef
2018-09-24 10:41:17 -04:00
Alexey Kuzmin
8a1ff7ca49 ci: run native tests on CircleCI (#14774)
* test: add a script to run Google Test binaries

* ci: run native tests on CircleCI
2018-09-24 09:44:18 -04:00
John Kleinschmidt
b3e469fa98 Merge pull request #14708 from electron/updates-for-gn-release
build: Updates for GN release builds
2018-09-24 09:36:57 -04:00
Alexey Kuzmin
0e3b2d92d7 ci: fix pattern for the Chromium branches names for CircleCI (#14769)
https://circleci.com/docs/2.0/workflows/#using-regular-expressions-to-filter-tags-and-branches
2018-09-23 10:19:43 -07:00
Samuel Attard
176a76217c chore: have 'use strict' consistently across our lib files (#14721) 2018-09-23 00:28:50 +12:00
John Kleinschmidt
70fb89e201 No longer need to filter out resources dir
Also remove not needed change
2018-09-21 21:29:55 -04:00
John Kleinschmidt
a82c4923bd Make sure resources gets skipped 2018-09-21 16:58:33 -04:00
John Kleinschmidt
806e236850 Revert to one job instead of two
Splitting into build and test jobs is slower and we can set individual timeouts on the test steps.
2018-09-21 16:54:24 -04:00
Jeremy Apthorp
0a621bfea1 chore: move crashpad patch to chromium dir (#14744)
third_party/crashpad is not a DEP, it's actually checked into the chromium tree
2018-09-21 13:02:35 -07:00
John Kleinschmidt
334fea3d7b Remove broken symlinks from buildtools before saving it to artifacts 2018-09-21 15:37:52 -04:00
John Kleinschmidt
e85ea5dcff Add buildtools to artifacts needed for testing
Also remove not needed change
2018-09-21 14:22:32 -04:00
John Kleinschmidt
bfaf3f458f Make killall Electron more friendly 2018-09-21 13:14:01 -04:00
John Kleinschmidt
96ec3e9162 Split build and test into separate jobs
Also clean from review
2018-09-21 13:14:01 -04:00
John Kleinschmidt
62172dee6c Add electron_chromedriver_zip target 2018-09-21 13:13:52 -04:00
John Kleinschmidt
e367aff8ac Cleaned up/fixed skip_path with @nornagon's suggestion.
Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>
2018-09-21 13:12:26 -04:00
John Kleinschmidt
3154275d2f Add verify ffmpeg back to CircleCI builds 2018-09-21 13:12:26 -04:00
John Kleinschmidt
e78d84165a Add chromedriver to build
Make sure certain paths/files don't make it into the dist zip
Don't build the content shell test_runner
Make sure libffmpeg.dylib gets put in the right place
Run verify-ffmpeg on Mac builds
Add ffmpeg build to VSTS
2018-09-21 13:12:26 -04:00
John Kleinschmidt
5317c2754f Merge pull request #14754 from electron/circle-ci-config-clean-up
ci: clean up the CircleCI config
2018-09-21 10:44:05 -04:00
Aleksei Kuzmin
0b560607f7 ci: run nightly builds for Chromium upgrade branches 2018-09-21 12:25:20 +02:00
Aleksei Kuzmin
499fc48ccf ci: clean up the CircleCI config 2018-09-21 12:25:08 +02:00
Samuel Attard
32a9df2940 refactor: clean up the default app implementation (#14719)
* Disable nodeIntegration
* Enable contextIsolation
* Re-implement the CSP security check to handle running in
contextIsolation
* Disable bad DCHECKS for the promise helper
* Remove the unused "-d" flag for the electron binary
* Added a way to hide the default help output for electron devs who
don't want to see it every time
2018-09-21 15:24:42 +10:00
Sylvester Keil
a24307b8e8 Fix second-instance handler signature (#14731) 2018-09-20 20:02:28 -07:00
Alexey Kuzmin
d927501139 ci: build mksnapshot in a separate job (#14741) 2018-09-20 17:50:14 -07:00
Jeremy Apthorp
2538e20c4d test: inherit stdio when 'npm install'ing spec deps (#14740) 2018-09-20 13:43:33 -07:00
John Kleinschmidt
76cd065291 ci:Make sure that tests on VSTS get marked as failed if they fail (#14734) 2018-09-20 14:21:09 -05:00
Shelley Vohr
7b8daaab67 chore: add ffmpeg dist zip (#14681) 2018-09-20 11:10:10 -07:00
Cheng Zhao
6f494b3c58 fix: do not set layer explicitly for frameless window (#14730) 2018-09-20 12:24:55 -05:00
John Kleinschmidt
1d20057df3 Merge pull request #14733 from electron/reenable-app-exit-exitCode
test: reenable app module > app.exit(exitCode) > closes all windows
2018-09-20 11:15:34 -04:00
John Kleinschmidt
d82cd7b3c7 Merge pull request #14729 from electron/verify-ffmpeg-on-a-separate-job
ci: build ffmpeg and verify it in a separate jobs
2018-09-20 11:14:57 -04:00
Aleksei Kuzmin
c75537b0bc ci: build ffmpeg and verify it in a separate jobs
- it is an independent task and should be done separately
 - we can use smaller machines for that
2018-09-20 15:52:22 +02:00
John Kleinschmidt
080d499053 Merge pull request #14712 from electron/circle-no-map-merge
ci: [circle] don't use map merge key (<<) where unneeded
2018-09-20 09:50:06 -04:00
John Kleinschmidt
8854d9872c test: reenable app moduele > app.exit(exitCode) > closes all windows 2018-09-20 09:32:02 -04:00
Samuel Attard
5541cab1ba docs: type the promises in our docs (#14715) 2018-09-20 22:37:56 +10:00
Samuel Attard
6b50dc8745 docs: add python-dbusmock to the linux requirements (#14727)
Refs #14726
2018-09-20 21:41:00 +10:00
Charles Kerr
1b3fdb18e3 fix: change subprocess.Popen calls to work on Linux too (#14689)
* fix: remove 'shell=True' when calling 'git diff'

Calling subprocess.Popen() with a list of args and shell=True causes
the args to be ignored, so ['git', 'diff', '--name-only', '--staged']
was turning into just 'git'. Instead of getting a list of changed
files, we got the --help message.

Two possible fixes: change it from a list to a single string, or remove
'shell=True'. The shell doesn't seem to be needed, so I chose that.

More reading: https://stackoverflow.com/questions/26417658/subprocess-call-arguments-ignored-when-using-shell-true-w-list

* fix: remove 'shell=True' when calling clang-format

Same problem / rationale as previous commit.

* fix: re-add shell=True for win; use different fix
2018-09-20 16:57:21 +10:00
Jeremy Apthorp
977e287cfa chore: turn off clang-format for ATOM_PRE_RELEASE_VERSION (#14711) 2018-09-20 16:55:07 +10:00
Samuel Attard
82a5a9f455 chore: ignore spec/node_modules from linting (#14717) 2018-09-20 15:41:01 +10:00
Samuel Attard
54ef906832 [RFC] perf: use an internal module resolver to improve require performance (#14633)
* perf: use an internal module resolver instead of relative requires

* perf: memoize the results of getting exported Electron properties

* perf: make internal module changes consistent across sandboxed / bundled files
2018-09-20 13:43:26 +10:00
Jeremy Apthorp
e390d611df ci: [circle] don't use map merge key (<<) where unneeded 2018-09-19 16:06:19 -07:00
Jeremy Apthorp
73d1b76b54 test: runas is not an optional dependency (#14704) 2018-09-19 15:59:37 -07:00
John Kleinschmidt
e059f303d7 Merge pull request #14526 from jakubzitny/window-open-clarifications
docs: specify BrowserWindow features passable to window.open
2018-09-19 15:05:10 -04:00
John Kleinschmidt
b48ea70eeb Merge pull request #14688 from electron/run-clang-format
chore: run clang-format
2018-09-19 14:27:21 -04:00
John Kleinschmidt
4f70f0e66a Merge pull request #14690 from electron/lint-runner-support-cc-fix
Lint runner support cc fix
2018-09-19 14:26:57 -04:00
Jeremy Apthorp
b8a8bf82ac docs: update "upgrading node" guide (#14649)
I think there's more to do here, and I'll continue to add to & update this documentation as I go through the process of upgrading node in the context of the GN build.
2018-09-19 11:08:39 -07:00
John Kleinschmidt
0e91db2188 Merge pull request #14672 from electron/use-smaller-machines-on-linux-ci
ci: use smaller size machines for some Linux CI jobs
2018-09-19 13:51:58 -04:00
John Kleinschmidt
a6e3466a62 Merge pull request #14686 from electron/refactor-circle-ci-mac-builds
ci: refactor Mac builds on CircleCI
2018-09-19 13:50:04 -04:00
Shelley Vohr
c958ed6a85 chore: fix await in cleanup script (#14670) 2018-09-19 09:38:35 -07:00
Jeremy Apthorp
1b165c2c39 chore: remove vendored depot_tools (#14676)
The GN build now requires that users install depot_tools to their path, rendering our vendored version obsolete.
2018-09-19 09:37:38 -07:00
Aleksei Kuzmin
7fc3bcaa02 chore: run clang-format
- atom/
 - brightray/
 - chromium_src/
2018-09-19 17:18:10 +02:00
Charles Kerr
03553abc11 feat: use run-clang-format in cc --fix mode 2018-09-19 08:42:03 -05:00
Charles Kerr
1988c6876d refactor: use same diff args as run-clang-format 2018-09-19 08:40:57 -05:00
Aleksei Kuzmin
2f0f88e60a ci: do not run verify-ffmpeg on Mac on CircleCI 2018-09-19 15:18:35 +02:00
Aleksei Kuzmin
be2bcbef42 ci: refactor Mac builds on CircleCI 2018-09-19 15:18:35 +02:00
Sofia Nguy
ec125b761c chore: AFP info for general public (#14650)
* migrate AFP info from maintainers

* wording changes

* capitalize headers

* move to docs and delete details

* review changes
2018-09-18 13:13:49 -05:00
Robo
b05bce1686 build: with enable_extensions=false (#14657) 2018-09-18 11:04:54 -07:00
Milan Burda
e22142ef9c feat: add process.takeHeapSnapshot() / webContents.takeHeapSnapshot() (#14456) 2018-09-18 11:00:31 -07:00
Aleksei Kuzmin
8664adaea4 ci: use smaller size machines for some Linux CI jobs
- use "medium" machines for testing jobs
 - keep "2xlarge" for checkout and compilation
2018-09-18 18:30:01 +02:00
John Kleinschmidt
1855144d26 Merge pull request #14663 from electron/add-fyi-job-for-chromium-tests
ci: add a FYI job to build Chromium test binaries
2018-09-18 10:14:58 -04:00
Samuel Attard
7f7ec23c28 chore: dont pass --stable through to bump-version.py (#14661)
I want to clean up this "stable" and "beta" code smell eventually but
for now this will unblock the 2.0.x releases.
2018-09-18 23:32:49 +10:00
Aleksei Kuzmin
6b6c1d0c0c ci: add a FYI job to build Chromium test binaries 2018-09-18 14:01:20 +02:00
Charles Kerr
eeeeae3bff refactor: use one script to launch all linters (#14622)
* refactor: use one script to launch py, js, cc linters

* lint changed files as precommit hook

* fix py linter in GN build

* add overlooked files to linter search path
2018-09-17 16:09:02 -05:00
John Kleinschmidt
ab47ad7bbc Merge pull request #14640 from electron/circle-ci-workspaces
ci: use CircleCI workspaces
2018-09-17 12:36:18 -04:00
Aleksei Kuzmin
a0dd5f03a8 ci: use CircleCI workspaces 2018-09-17 17:39:18 +02:00
Shelley Vohr
12a435273d fix: quit properly in simpleFullScreen mode (#14620) 2018-09-16 22:22:09 -07:00
Charles Kerr
a45ded5508 chore: fix python lint warnings (#14638)
* chore: fix lint warnings

* chore: another try at python import errors

Looks like the problem is that dbus_mock.py is running as
a script but living in the `lib/` directory where it's part of a
module. Moving it up into the `script/` directory seems to
solve the issue.
2018-09-16 12:24:07 -05:00
Samuel Attard
6d01952e66 chore: replace standard with eslint-config-standard and add custom rules (#14636)
* chore: replace standard with eslint-config-standard

This adds support for --cache so linting JS only takes ~1 second and only lints things that changed

It also allows us to add custom linting rules

* chore: add eslint-plugin-mocha and enable the no-exclusive-tests rule

This will block anyone from pushing / merging a `.only` test or describe
2018-09-16 03:51:23 +10:00
Samuel Attard
7065093869 feat: add will-redirect (#13866)
* feat: add will-redirect to allow people to prevent 30X redirects

* spec: add tests for the will-redirect event

* refactor: implement will-redirect using NavigationThrottle instead of PostTask

This avoids a potential race condition and immediately cancels the
navigation

* docs: add docs for did-redirect-navigation

* refactor: move AtomNavigationThrottle out of net folder

* refactor: update header guard for atom_navigation_throttle.h

* refactor: fix chromium style errors in the GN build

* refactor: update throttle impl to NOTREACHED and std::make_unqique
2018-09-16 01:42:43 +10:00
Samuel Attard
6ad8583a8b chore: remove --version from "create-api-json" (#14634)
The variable already defaults to this value and this `$` syntax does not work cross platform

Closes #13462
2018-09-16 01:40:20 +10:00
Robo
66ced07545 build: update electron patches (#14623)
* build: remove common/icu/no_inline_default_constructor.patch

It was added in https://github.com/electron/libchromiumcontent/pull/207,
the issue is no longer valid in the GN build.

* build: remove common/icu/build_gn.patch

In GN release build all code including node are linked
statically in a single binary, the workaround is no longer valid.

* build: remove ununsed patches

* build: remove is_electron_gn_build arg

* build: remove component mode crt config patch

* build: remove executable config patch for character_data_generator

* build: remove latency_info.patch

* build: remove exec_script_whitelist patch

* build: update patches/common/v8/build_gn.patch

* build: remove common/chromium/fix-arm64-linking-error.patch

It was added in a1df18ca36
to workaround a linker issue.

* build: remove common/chromium/protobuf_build_gn.patch

It was added to workaround a VS linker bug, it has been fixed
in Update 1

* build: remove common/chromium/disable-recursive-surface-sync.patch

It was added in 6bc6626e2c
to fix dcheck on macOS, it no longer appears to be an issue.
2018-09-15 06:40:18 -05:00
Alexey Kuzmin
0ea687b529 chore: copy script/patch.py from the libcc repo (#14627)
* chore: copy script/patch.py from the libcc repo

* chore: fix pylint errors
2018-09-14 15:12:05 -07:00
Alexey Kuzmin
a314a15ecd tests: fix compilation of blink_unittests (#14574) 2018-09-14 15:11:26 -07:00
John Kleinschmidt
838b26ee26 ci: Move Mac builds to Azure Devops (VSTS) (#14588)
* Add support for multiple mocha reporters

Allows us to output to junit file and to console at the same time

* Cleanup VSTS file

Don't install depot_tools everytime as it is already installed.

Only run tests if "RUN_TESTS" environment variable is set
Only notify slack if "NOTIFY_SLACK" environment variable is set

Don't use sccache for release builds

Move CircleCI mac builds to VSTS

* Only build mac PRS from forks

Don't install depot_tools everytime as it is already installed.

Only run tests if "RUN_TESTS" environment variable is set
Only notify slack if "NOTIFY_SLACK" environment variable is set

Don't use sccache for release builds

Move CircleCI mac builds to VSTS

Use sccache helper script

* rename vsts-gn.yml to vsts.yml
Make sure Electron isn't running before starting tests
2018-09-14 11:56:16 -07:00
John Kleinschmidt
451b1782ac Merge pull request #14613 from electron/update-standard
chore: update to standard 12 and fix CI
2018-09-14 10:26:15 -04:00
Samuel Attard
dc2a6c5d71 spec: fix crashReporter upload assertions 2018-09-14 22:23:58 +10:00
Samuel Attard
40f0f049a2 spec: fix final node and chromium specs after assert change 2018-09-14 18:32:17 +10:00
Samuel Attard
91f00a518a ci: fix CI runs after 9e85bdb0 2018-09-14 17:50:03 +10:00
Samuel Attard
4bcc08826b spec: fix headers tests to match APIs 2018-09-14 17:05:26 +10:00
Samuel Attard
9e59d2a78d spec: fix broken remote specs 2018-09-14 16:57:39 +10:00
Samuel Attard
3487bbe356 spec: handle null prototypes in specs 2018-09-14 16:47:54 +10:00
Samuel Attard
21aa28d60f refactor: s/resolverGetters/resolveGetters 2018-09-14 16:41:21 +10:00
Samuel Attard
5c8c31c93d spec: update 'BrowserWindow.fromBrowserView(browserView) returns undefined if not attached - returns undefined if not attached' to match docs (null not undefined) 2018-09-14 16:38:44 +10:00
Samuel Attard
91cc453ccc spec: add helper to resolve property getters 2018-09-14 16:36:23 +10:00
Jeremy Apthorp
76c5f5cc8a build: move libcc patches to electron repo (#14104)
In the GN build, libchromiumcontent is no longer a distinct library, but
merely a container for a set of scripts and patches. Maintaining those
patches in a separate repository is tedious and error-prone, so merge
them into the main repo.

Once this is merged and GN is the default way to build Electron, the
libchromiumcontent repository can be archived.
2018-09-13 22:02:16 -07:00
Samuel Attard
558fff69e7 chore: update to standard 12 2018-09-14 14:57:01 +10:00
Jeremy Apthorp
9e85bdb02c docs: prefer out/Debug to out/Default in build docs 2018-09-13 15:08:31 -07:00
Samuel Attard
238ea29fa8 chore: update package.json scripts for gn build and automated releases (#14612)
* Removes un-used and non-functional code coverage helpers
* Removes un-used release script aliases
* Moves TLS to a lib folder for cleaner directory structure
* Implements start.py as start.js for the GN build
* Adds a re-usable getElectronExec helper for future scripts
* Refactors spec runner to use the helper
2018-09-14 02:57:39 +10:00
Samuel Attard
774395d910 chore: dont install spec deps on sync needlessly (#14614)
We run install for testing only when required anyway
2018-09-14 02:51:21 +10:00
Jeremy Apthorp
961147151f fix: re-enable high-dpi support on windows (#14596)
fixes #14568
2018-09-13 10:40:29 -05:00
Samuel Attard
22ab85c39e chore: update request dep to remove warning about cryptiles (#14610) 2018-09-14 01:35:18 +10:00
Samuel Attard
05783d56f7 chore: make the 'npm run test' command work out of the box (#14602) 2018-09-14 01:30:12 +10:00
John Kleinschmidt
429b18d7a0 Merge pull request #14600 from electron/media-permission
feat: add mediaTypes to media permission requests
2018-09-13 10:39:08 -04:00
Samuel Attard
8cb449b5e1 chore: fix linting error on master (#14609) 2018-09-14 00:28:47 +10:00
Samuel Attard
73a1a8b3f0 feat: automatically round numbers that are converted to points (#14604)
Fixes #14490
2018-09-13 08:28:56 -05:00
Alexey Kuzmin
7d7401987a chore: generate API definitions in the project root (#14578)
'out' folder doesn't exist in a freshly cloned repo,
and there are not reasons to use it anyway.
2018-09-13 08:08:08 -05:00
Samuel Attard
4aa75c2b30 chore: update package-lock.json when bumping package.json (#14599) 2018-09-13 17:04:39 +10:00
Samuel Attard
7025cbd0c9 feat: add mediaTypes to media permission requests
This is done to be consistent with setPermissionCheckHandler and to be
backwards compatible

Fixes #14168
2018-09-13 16:58:57 +10:00
Samuel Attard
a55fd16349 fix: update node ref to fix patch handling unhandled rejections (#14603)
Fixes #14573
2018-09-13 16:32:49 +10:00
Robo
d9c6dd0254 chore: add debugger specs for multiple sessions (#14598) 2018-09-13 16:32:30 +10:00
Charles Kerr
d663b4eaee fix: fix gn cpplint warnings (#14583)
* chore: fix cpplint 'include_what_you_use' warnings

Typically by including <memory>, <utility> etc.

* chore: fix 'static/global string constant' warning

Use C style strings instead of std::string.

Style guide forbids non-trivial static / global variables. https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables

/home/charles/electron/electron-gn/src/electron/script/cpplint.js

* refactor: remove global string variables.

Fix 'global string variables are not permitted' linter warnings
by using the base::NoDestructor<> wrapper to make it explicit that
these variables are never destroyed.

The style guide's take on globals with nontrivial destructors:
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables

* fix: initializer error introduced in last commit

* fix: remove WIP file that was included by accident

* fix: include order

* fix: include order

* fix: include order

* fix: include order, again
2018-09-12 19:25:56 -05:00
Jeremy Apthorp
183a043216 chore: remove unneeded ssize_t hack
See electron/libchromiumcontent#682
2018-09-12 15:33:59 -07:00
Charles Kerr
a3f7e298cf refactor: remove unused, duplicated code in deprecate module (#14579)
* remove obsolete tests

 * remove unused deprecate API

 * make a warnOnce helper for the deprecate methods

 * misc. copyediting, e.g. variable names, whitespace

 * test that any deprecation warns once at most

 * use strict
2018-09-12 17:13:22 -05:00
Jeremy Apthorp
d78a2a110a Merge pull request #14590 from electron/remove-gn-build-define
chore: remove ELECTRON_GN_BUILD define
2018-09-12 14:04:33 -07:00
Nitish Sakhawalkar
e90c281ef3 fix: Windows Background color issue (#14561)
Call InvalidateRect for windows after setting the bg color
2018-09-12 13:41:47 -07:00
Charles Kerr
7b71d7cbce feat: run 'cpplint -c' as a precommit hook (#14586)
* feat: `cpplint -c` all changed files, even staged

* refactor: simplify cpplint invocation

* fix: cpplint now EXIT_FAILUREs on linter errors

* feat: precommit hook runs 'cpplint -c'
2018-09-12 14:43:54 -05:00
Jeremy Apthorp
784c06c784 chore: remove unsupported DISABLE_NACL define 2018-09-12 12:09:41 -07:00
Robo
e860748d6b fix: Invalidate weak ptrs before window Javascript object is destroyed (#14532)
* fix: Invalidate weak ptrs before window Javascript object is destroyed

* chore: add regression test for #14513

This test is similar to the original gist at https://gist.github.com/bpasero/a02a645e11f4946dcca1331d0299149d -- the key is to open multiple windows and add an `app.on('browser-window-focus') listener that accesses window.id.

* fix: last commit didn't test the right thing.

The test needs to run in the main process to reproduce the
conditions reported in #14513
2018-09-12 13:58:04 -05:00
Jeremy Apthorp
147d5f0dd9 chore: remove ELECTRON_GN_BUILD define 2018-09-12 11:47:16 -07:00
Charles Kerr
4b5cb7c548 fix: cpplint didn't work in GN (#14581)
* fix: cpplint didn't work in GN

* feat: make cpplint non-errors less noisy

* refactor: remove unneeded findCppLint helper

We don't need this in the GN world: it's the user's responsibility
to have depot_tools in their path.

* refactor: use const instead of let where possible
2018-09-12 12:44:00 -05:00
John Kleinschmidt
1682170d3d Merge pull request #14575 from electron/do-not-use-libcc-in-ci-scripts
ci: do not use scripts and binaries from the libcc repo
2018-09-12 12:23:49 -04:00
John Kleinschmidt
b2f73efcff Merge pull request #14553 from electron/appveyor-yml
ci: rename appveyor{-gn,}.yml
2018-09-12 11:02:43 -04:00
Milan Burda
932f6c8a41 feat: add screen reader support to Win32 toast notifications (#13834) 2018-09-13 00:18:35 +10:00
Jeremy Apthorp
cfcd008f02 ci: rename appveyor{-gn,}.yml 2018-09-12 09:50:58 -04:00
Robo
2cd03bf360 build: remove duplicate devtools sources (#14522)
* build: remove duplicate devtools sources

* build: create separate target for chrome sources

* Move sources that are always depended on by electron,
  starting with security_state_tab_helper.{cc|h}
* Add //component/strings to pak for devtools security tab

* fix: allow specifying type of the added filesystem.

https://chromium-review.googlesource.com/c/chromium/src/+/729250

* fix: do not index excluded folders

https://chromium-review.googlesource.com/c/chromium/src/+/972579
2018-09-12 08:45:08 -05:00
Aleksei Kuzmin
45837af24a ci: do not use scripts and binaries from the libcc repo 2018-09-12 13:08:17 +02:00
Samuel Attard
011c3b4326 chore: make large beta numbers work when publishing (#14571) 2018-09-12 17:59:06 +10:00
Shelley Vohr
a8a610cb34 chore: remove only on deprecations api spec (#14564)
* chore: remove only

* add option to ignore missing properties
2018-09-11 23:00:41 -07:00
Jeremy Apthorp
ebbaa4f89b docs: simplify git cache instructions (#14562) 2018-09-12 12:06:55 +10:00
Jeremy Apthorp
b35c8e4e1e docs: update instructions for building win32 target (#14560) 2018-09-12 12:05:51 +10:00
Jeremy Apthorp
f8828aa804 Merge pull request #13756 from electron/chromium-upgrade/67
chore: Chromium 67
2018-09-11 14:56:11 -07:00
azure-pipelines[bot]
2470bd4691 ci: set up a lint job (#14536) 2018-09-11 14:28:18 -07:00
Robo
f76a8c7b24 build: [m67] enable widevine support (#14519)
* build: [m67] enable widevine support

* fix: remove plugin cache reset hack

It was added in (#8907) to make widevine cdm shows up in
navigator.plugins, since widevine support is no longer
enabled by a plugin it can be removed safely.
2018-09-11 20:24:04 +02:00
Aleksei Kuzmin
ce8e93bad3 tests: ignore nulls and undefined in the "util.promisify" test 2018-09-11 20:24:04 +02:00
Aleksei Kuzmin
56f5d6f8fa FIXME: tests: disable a "unhandledrejection" test of the remote module 2018-09-11 20:24:04 +02:00
deepak1556
ba0a1cc5e9 build: guard widevine related code behind flag 2018-09-11 20:24:04 +02:00
Aleksei Kuzmin
1ba7e36ade ci: update Visual Studio version for AppVeyor 2018-09-11 20:24:04 +02:00
Jeremy Apthorp
917a905447 fix: force SharedArrayBuffer feature to be enabled (#14498) 2018-09-11 20:24:04 +02:00
Jeremy Apthorp
829b230b85 fix: initialize tracing controller before starting platform (#14499) 2018-09-11 20:24:03 +02:00
Aleksei Kuzmin
7589555cec inspector: stop dragging platform pointer
https://github.com/nodejs/node/commit/296fd57324
2018-09-11 20:24:03 +02:00
deepak1556
11349ebf2e build: //service/viz mojo interfaces for osr
(cherry picked from commit da2b2e7e4eb1fd8424c849d023d365619345735b)
2018-09-11 20:24:03 +02:00
Aleksei Kuzmin
9f6cf9623c chore: fix a chromium-style error
osr_render_widget_host_view.cc:1150:12:
error: [chromium-style] auto variable type must not deduce to a raw pointer type.

(cherry picked from commit cc8e4ef68376627d20377ae3491df8e4f8dee08e)
2018-09-11 20:24:03 +02:00
Heilig Benedek
1a9e253259 fix: fix osr compilation on Windows 2018-09-11 20:24:03 +02:00
Aleksei Kuzmin
8bfad3ace3 build: use default value of the enable_widevine flag 2018-09-11 20:24:03 +02:00
Aleksei Kuzmin
186f8d14b5 gpu: Merge gpu_ipc_service_unittests into gpu_unittests
https://chromium-review.googlesource.com/976983
2018-09-11 20:24:03 +02:00
Aleksei Kuzmin
f6080b04ea Update test targets paths for Blink 2018-09-11 20:24:03 +02:00
Jeremy Apthorp
d80ee5153a printing compiles on windows, but is explosively wrong 2018-09-11 20:24:03 +02:00
Jeremy Apthorp
64e79ce2b1 //printing/features/features.gni moved to buildflags.gni 2018-09-11 20:24:03 +02:00
Jeremy Apthorp
c6fbe5a7fe Fix path to blink resources 2018-09-11 20:24:03 +02:00
Jeremy Apthorp
9a296fc63e Fix code triggering new -Wmicrosoft-cast warning in M67 2018-09-11 20:24:03 +02:00
Jeremy Apthorp
5b25c2db5d Need new #include for base::UTF8ToUTF16 2018-09-11 20:24:03 +02:00
deepak1556
63006aebe8 REVIEW: Delete WidgetDelegate before widget is destroyed.
Ideally widget delegates must outlive their widget, but since
we manage the lifetime of native widget, allow the delegate to
be destroyed when widget is destroyed.
https://chromium-review.googlesource.com/c/chromium/src/+/977244
2018-09-11 20:24:03 +02:00
deepak1556
9264a00dfd Simplify EnsureProcessTerminated() implementations.
https://chromium-review.googlesource.com/c/chromium/src/+/920799
2018-09-11 20:24:03 +02:00
deepak1556
8da2bd43b8 Include the node header at the end to avoid collisions 2018-09-11 20:24:03 +02:00
Samuel Attard
cad1d9aa9c Handle case where IO thread is not yet running, in C67 this results
in a hard crash

refs: https://chromium-review.googlesource.com/c/chromium/src/+/973556
2018-09-11 20:24:03 +02:00
Samuel Attard
0b2b44becf Handle unknown symbols for media:: method
small implementation so instead of exposing with patch, copy impl

This will be fixed once we remove chromium_src as a thing from e/e
2018-09-11 20:24:03 +02:00
Samuel Attard
dc5c49ea7f SetUserAgentOverride now takes a 2nd override_for_new_tabs argument
refs: https://chromium-review.googlesource.com/c/chromium/src/+/846713
2018-09-11 20:24:03 +02:00
Samuel Attard
b381e852b1 media: Stop registering CDM adapter as a pepper plugin
https://chromium-review.googlesource.com/956255
2018-09-11 20:24:03 +02:00
Samuel Attard
6e2bb728b9 Replace ProxyConfigSource with ProxyConfigWithAnnotation.
https://chromium-review.googlesource.com/c/chromium/src/+/934126
2018-09-11 20:24:03 +02:00
Samuel Attard
a0a4c7b82c Implement GetPermissionStatusForFrame in AtomPermissionManager
Implenation and requirement comes from CR: https://chromium-review.googlesource.com/c/chromium/src/+/940744
2018-09-11 20:24:03 +02:00
Samuel Attard
8a6fccf3d1 [GURL] (1 of 2) Prep for stripping "username:password" from internal schemes
https://chromium-review.googlesource.com/c/chromium/src/+/978450
2018-09-11 20:24:03 +02:00
Samuel Attard
aa6d769229 Handle external protocols with the network service.
https://chromium-review.googlesource.com/c/chromium/src/+/956091
2018-09-11 20:24:03 +02:00
Samuel Attard
dde194d853 Remove the memory property from getAppMetrics
See 03d0bfd593 for more information
2018-09-11 20:24:03 +02:00
Samuel Attard
14df89f214 Remove the 'getProcessMemoryInfo' API
* Underlying APIs have been removed in Chromium
  * https://chromium-review.googlesource.com/c/chromium/src/+/969089
  * https://chromium-review.googlesource.com/c/chromium/src/+/953723
  * https://bugs.chromium.org/p/chromium/issues/detail?id=819289
* https://github.com/electron/electron/projects/11#card-11509601
2018-09-11 20:21:32 +02:00
Aleksei Kuzmin
833b55107d Plumb the RenderFrameHost through for CheckMediaAccessPermission
https://chromium-review.googlesource.com/938862
2018-09-11 20:21:32 +02:00
Aleksei Kuzmin
ca28b39d9c Rename buildflag_headers for consistency
https://chromium-review.googlesource.com/975990

https://chromium-review.googlesource.com/c/chromium/src/+/988132
2018-09-11 20:21:32 +02:00
deepak1556
67f6e21bd2 No longer save the IO message loop in net::EnsureNSSHttpIOInit
https://chromium-review.googlesource.com/c/chromium/src/+/963762
2018-09-11 20:21:32 +02:00
deepak1556
ed045c10ee Replace ProxyConfigSource with ProxyConfigWithAnnotation.
https://chromium-review.googlesource.com/c/chromium/src/+/934126
2018-09-11 20:21:32 +02:00
deepak1556
d15d08bad6 Improve ClearOnExit behavior of cookies using domain matching
https://chromium-review.googlesource.com/c/chromium/src/+/975861
2018-09-11 20:21:32 +02:00
deepak1556
400b23c5cb Introduce additional Certificate Transparency preferences
https://chromium-review.googlesource.com/c/chromium/src/+/987513
2018-09-11 20:21:32 +02:00
Aleksei Kuzmin
0afebdc531 The Great Blink mv for source files, part 2.
https://chromium-review.googlesource.com/1001153
2018-09-11 20:21:32 +02:00
Aleksei Kuzmin
00423b06c6 Migrate BrowserThread::IsMessageLoopValid to BrowserThread::IsThreadInitialized.
https://chromium-review.googlesource.com/977063
2018-09-11 20:21:31 +02:00
Aleksei Kuzmin
7bd1b85d4e Rename net/proxy_resolution/proxy_service* files
https://chromium-review.googlesource.com/941901
2018-09-11 20:21:31 +02:00
Aleksei Kuzmin
7c32524515 Use libcc based on Chromium 67.0.3396.99 and Node 10.6.0 2018-09-11 20:21:31 +02:00
Robo
14ed71fa1b fix: use render client id to track deleted render process hosts (#14520)
* fix: use render client id to track deleted render process hosts

Instead of relying on OS process id, which may not be unique
when a process is reused, we rely on the renderer client id
passed by the content layer when starting the renderer process
which is guaranteed to be unique for the lifetime of the app.

* fix: store context id as int64_t

Ensuring that it doesn't wrap easily with a large number
of context creation on some malformed web pages.
2018-09-11 11:18:10 -07:00
Shelley Vohr
2157d09956 chore: refactor deprecation apis (#14495) 2018-09-11 11:16:49 -07:00
Jeremy Apthorp
3a6e88c0e7 ci: fix path to dist.zip on appveyor (#14535) 2018-09-11 09:38:41 -07:00
John Kleinschmidt
58fd76b6b5 Merge pull request #14546 from electron/fix-pylint-errors
chore: fix pylint errors
2018-09-11 10:30:34 -04:00
Aleksei Kuzmin
5ba01256a4 chore: fix pylint errors 2018-09-11 14:53:23 +02:00
Milan Burda
0821edc843 refactor: cleanup web-frame-init.js (#14516)
* refactor: add error-utils.js

* fix exception handling for asyncWebFrameMethods

* remove dead code

* handle exceptions

* rename rehydratedError to deserializedError

* Revert "handle exceptions"

This reverts commit 396b179948.
2018-09-11 19:56:00 +10:00
Milan Burda
38419e3a6a chore: address TODO for WebContents.prototype.setSize / reportRemovedAttribute removal (#14517)
* chore: remove WebContents.prototype.setSize

* chore: remove reportRemovedAttribute

* chore: remove unused fixtures
2018-09-11 17:58:57 +10:00
Jeremy Apthorp
f5aac36421 chore: rename circleci builds to remove -gn and -fyi (#14531) 2018-09-11 17:57:41 +10:00
Milan Burda
58577bd431 feat: add options to webContents.loadFile (#14515) 2018-09-11 17:56:49 +10:00
Jeremy Apthorp
7a766e82f9 chore: fix cpplint.js when LINTER_PATH doesn't exist (#14537) 2018-09-11 17:54:20 +10:00
Jeremy Apthorp
0ab95b76a7 docs: add note about origin URLs to GN build docs (#14530) 2018-09-10 12:31:41 -07:00
John Kleinschmidt
f44722d5d3 Merge pull request #14523 from electron/fix-webview-ignore-shortcuts
fix: read ignoreMenuShortcuts per WebContents
2018-09-10 12:04:44 -04:00
Jakub Žitný
3ab22c6164 docs: specify BrowserWindow features passable to window.open 2018-09-10 17:49:54 +02:00
Alexey Kuzmin
382afc03ae chore: clean up asar stuff (#14505)
* chore: reformat code

* refactor: getOrCreateArchive() for ASARs

 - store cached archive in a Map
 - return `null` instead of `false` on failures

* refactor: splitPath() for ASARs

 - store custom extension in a constant
 - remove magic numbers
 - add comments

* refactor: explicitly use assert() for a developer error

* chore: remove console.log() calls

* refactor: replace "p" arguments with "pathArgument"

"path" would be a better name, but it is already taken
but the "path" Node module.

* refactor: createError() for ASARs

 - return an `Error` instance
 - use enum for error types
 - minor improvements

* refactor: use more meaningful name for an arg than just "arg"
2018-09-10 08:29:19 -07:00
John Kleinschmidt
2d2d1d2090 Merge pull request #14512 from electron/do-not-use-electron-gyp-for-verify-ffmpeg
refactor: do not use electron.gyp contents in the verify-ffmpeg script
2018-09-10 09:34:16 -04:00
Cheng Zhao
13334d023d fix: read ignoreMenuShortcuts per WebContents 2018-09-10 19:06:16 +09:00
Milan Burda
dcd580b6cf chore: remove app.makeSingleInstance / releaseSingleInstance (#14518) 2018-09-10 16:33:36 +10:00
Felix Rieseberg
f012ed8357 docs: Update menu-item with new position props (#14465)
* docs: Update menu-item with new position props

* 📦 Update electron-typescript-definitions
2018-09-09 20:03:58 -07:00
Aleksei Kuzmin
b16bf6a95d ci: pass GN_EXTRA_ARGS to the ffmpeg build
Both Electron and ffmpeg should have
the same value of the `target_cpu` build flag.
2018-09-09 12:30:51 +02:00
Aleksei Kuzmin
57a4d86669 refactor: do not use electron.gyp contents in the verify-ffmpeg script
Also run verify ffmpeg with cmd instead of powershell
2018-09-09 12:30:51 +02:00
Aleksei Kuzmin
8e525f965d build: add a helper script to retreive data from a GN project 2018-09-09 12:30:51 +02:00
Jeremy Apthorp
72526927d9 build: remove gyp build files (#14097)
* build: remove gyp build files

* docs: update build instructions

* build: temporary restore electron.gyp

* build: do not update Electron version in the electron.gyp

* chore: remove unused submodules

* ci: remove obsolete CI scripts and configs

* chore: remove obsolete scripts

* chore: remove obsolete functions from lib/util.py

* ci: send Slack notification for nightly build results
2018-09-09 10:15:32 +09:00
Alexey Kuzmin
98eee52fac Revert "fix: re-enable power monitor test (#14458)" (#14506)
This reverts commit 567f8a7583.
2018-09-08 19:37:19 -05:00
Shelley Vohr
2963e377ae refactor: clean up asar functionality (#14046) 2018-09-07 19:23:47 -07:00
Roller Bot
edc6a854d4 chore: bump libcc (master) (#14492)
* chore: bump libcc submodule to f3a3f588281aba034a0f1f85ca3c65eb5a3f7b66

* chore: bump libcc in DEPS to f3a3f588281aba034a0f1f85ca3c65eb5a3f7b66
2018-09-08 09:09:20 +10:00
Charles Kerr
567f8a7583 fix: re-enable power monitor test (#14458)
* fix: re-enable power monitor test

* update test for correct return type

* fix: mocha 'after' hook of dbus powerMonitor test
2018-09-07 15:23:27 -07:00
Jeremy Apthorp
58e8c025eb docs: expand on TODOs in BUILD.gn 2018-09-07 12:26:03 -07:00
Nitish Sakhawalkar
a2ab0d8ebe fix: notify focus change right away rather not on next tick (#14453)
* fix: Notify focus change right away, not on next tick

* fix: emit the JS blur/focus events on next tick to avoid race condition

* address feedback from review

* fix: bind deferred Emit() calls to a WeakPtr

This is so that the deferred Emit() calls will be canceled
if the TopLevelWindow is destroyed.

* chore: remove wip/test code cruft

* fix: make linter happy

* Enable disabled tests

* refactor: cleaner impl of EmitEventSoon()

* Revert "Merge branch 'fix-win-focus' of github.com:electron/electron into fix-win-focus"

This reverts commit 90576806eb, reversing
changes made to 9c13e47779.

* Restore 704722c1, which was removed in error.

We apologise again for the fault in the subtitles. Those responsible for sacking the people who have just been sacked have been sacked.
2018-09-07 13:21:58 -05:00
John Kleinschmidt
e96433243c Merge pull request #14487 from electron/manage-webview-webcontents
fix: manually manage WebContents of webview when it is detached
2018-09-07 11:27:38 -04:00
Alexey Kuzmin
c7bec13069 test: refactor the "util.promisify" test (#14491) 2018-09-07 10:13:10 -05:00
Cheng Zhao
92e094c5f6 fix: manually manage WebContents of webview when it is detached 2018-09-07 15:47:58 +09:00
Heilig Benedek
8e963f10ef fix: add shell = True to make clang-format work on Windows (#14121) 2018-09-07 09:49:43 +10:00
Nitish Sakhawalkar
826af1d676 fix: macOS Window Title And Accessibility Focus (#14472)
- Override accessibility method in atom_ns_window
- Add title attribute in accessibilityAttributeValue
2018-09-07 09:47:31 +10:00
Roller Bot
53f7fd126d chore: bump libcc (master) (#14473)
* chore: bump libcc submodule to d2ffd8ab4b238cb9fa16026ea95bd24b5c79915f

* chore: bump libcc in DEPS to d2ffd8ab4b238cb9fa16026ea95bd24b5c79915f
2018-09-06 13:09:17 -07:00
Charles Kerr
c5820bfabb fix: don't use deprecated fstatNoException API (#14463) 2018-09-06 13:06:32 -05:00
Robo
35a1849e31 chore: enable debugger api specs (#14475) 2018-09-07 00:44:22 +10:00
Shelley Vohr
9bf1fb323b chore: add removeFunction to deprecate module (#14468)
* chore: add removeFunction function to deprecate api

* re-comment deprecate.member
2018-09-05 21:55:28 -07:00
Charles Kerr
7f22442228 refactor: port the cpplint runner to javascript (#14440)
* refactor: port the cpplint runner to javascript

* fix: address code review suggestions

* refactor: make .cc, bootstrapped test funcs inline

* refactor: make CC_ROOTS inline too

* fix: test process.mainModule before calling main()

* refactor: reverse logic order in findChangedFiles

* refactor: make findChangedFiles() more readable

* fix: copy-paste error introduced in 3b17400

* chore: fix grammar in log message
2018-09-05 18:16:42 -05:00
Roller Bot
36b39b2d08 chore: bump libcc (master) (#14466)
* chore: bump libcc submodule to 6609029d431debe5c7a56da5e7ca21368bebc289

* chore: bump libcc in DEPS to 6609029d431debe5c7a56da5e7ca21368bebc289
2018-09-05 14:26:26 -07:00
Robo
c7c95fab2f build: [gn] widevine cdm support behind flag (#14423)
* build: [gn] widevine cdm support behind flag

* build: [gyp] link cdm_support in the component build
2018-09-05 16:00:37 -05:00
Robo
8441d09a18 chore: refactor webContents module isCurrentlyAudible api spec (#14410) 2018-09-05 16:00:05 -05:00
Electron Bot
4d23e200f0 Bump v4.0.0-nightly.20180905 2018-09-05 10:06:13 -07:00
Felix Rieseberg
163e2d3527 fix: Windows Store Notifications (#13258)
* 🔧 Basic 'are we in the desktop bridge' check

* 🔧 Store the result of the call

* 🔧 Create ToastNotifier correctly in UWP environment

* 🔧 Actually, improve this all around

* ❤️ Implement feedback

* 🔧 Fix compiler issues

* 🔧 Mutex is banned, go to option 2

* 🔧 Use getProcAddress

* 📝 Make comment clearer

* ❤️ Implement feedback
2018-09-06 02:06:29 +10:00
Alex Sokolsky
9fe456dec1 Update first-app.md (#14455) 2018-09-04 21:59:35 -05:00
Roller Bot
357576a114 chore: bump libcc (master) (#14442)
* chore: bump libcc submodule to 65e44d0b8aad714e17102112a22c6a31e3aa2c2d

* chore: bump libcc in DEPS to 65e44d0b8aad714e17102112a22c6a31e3aa2c2d
2018-09-05 02:36:08 +10:00
Charles Kerr
512b559211 feat: allow some features during beta (#14215)
* feat: allow all nonbreaking changes during beta

Changes the version policy: currently only nonbreaking bug/security
fixes are allowed during beta. This change would allow all nonbreaking
changes, e.g. new features, during beta.

* refactor: clarify criteria for changes during beta

* Update electron-versioning.md
2018-09-04 11:02:43 -05:00
Shelley Vohr
4c09142f61 chore: pass tag correctly for bump commit reversion (#14444) 2018-09-04 08:54:53 -07:00
Milan Burda
c63014c256 refactor: use loadFile when appropriate in tests (#14422) 2018-09-04 09:50:53 -05:00
Milan Burda
e8782f2c2d feat: Remove legacy helpers (Electron Helper EH/NP) (#14436) 2018-09-03 21:37:15 -05:00
Milan Burda
e828348904 docs: add missing documentation for <webview> methods (#14413) 2018-09-03 13:27:51 +10:00
Cheng Zhao
10176c71ff fix: webview.focus() should move page focus to webview (#14427) 2018-09-03 11:41:54 +09:00
Milan Burda
aa01a7337c refactor: replace base::Value::DeepCopy and CreateDeepCopy with Clone (#14420) 2018-09-02 17:38:35 -05:00
Felix Rieseberg
8e1452d316 docs: Add Electron Fiddle to the readme (#14396)
* 📝 Add Electron Fiddle to the readme

* 📝 Improve the language a bit

* docs: copyediting

Fix missing word

* docs: change the language a little
2018-08-31 22:56:55 -07:00
Milan Burda
c17a1b37ea feat: add event.senderId property to IPCs sent via ipcRenderer.sendTo (#14395) 2018-08-31 20:13:51 -05:00
Paulius
b89848d683 feat: allow window above full screen windows on mac (#14122)
* allow window above full screen windows on mac

* add visibility change params to higher level files

* adress feedback, fix bool issue, remove compilation hooks

* adjust readme

* switch to options object

* single argument for native window views
2018-08-31 15:06:02 -07:00
Roller Bot
c3d51bc2fe chore: bump libcc (master) (#14406)
* chore: bump libcc submodule to a664c7088a87575e7567c7b0a814d4bfa74bb118

* chore: bump libcc in DEPS to a664c7088a87575e7567c7b0a814d4bfa74bb118
2018-09-01 09:14:48 +12:00
Cheng Zhao
0ecea96048 fix: use flexbox to style webview (#14400)
* fix: use flexbox to style webview

* docs: remove notes on browserplugin based webview
2018-09-01 08:53:13 +12:00
Shelley Vohr
dac435b411 test: update power/notification specs to expect (#13497)
* spec: update power/process specs to expect

* Address comments
2018-09-01 08:52:32 +12:00
Cheng Zhao
586a6f2e6d docs: add notes on OOPIF webview's behaviors (#14401) 2018-09-01 08:52:09 +12:00
Robo
32158ca5dd chore: refactor context isolation spec (#14394)
* spec: refactor BrowserWindow module contextIsolation option

* spec: check for serialzation in isolated renderers separately
2018-09-01 08:51:29 +12:00
Milan Burda
3a79eacb6f refactor: don't expose CallbacksRegistry as an internal module (#14389) 2018-08-31 11:29:00 -07:00
Robo
0c4e7104cf build: [gn] explicitly override rtc_use_h264 (#14378)
* build: [gn] explicitly override rtc_use_h264

* build: [gn] don't override ffmpeg config from release config

* build: [gn] remove is_cfi override from release config

The original concern about node is fixed and we have been
building testing builds without the override for sometime now.
2018-08-31 12:47:45 -05:00
Shelley Vohr
cbb460d476 Revert "Bump v4.0.0-nightly.20180830"
This reverts commit 5f00e58029.
2018-08-30 23:12:00 -07:00
Electron Bot
5f00e58029 Bump v4.0.0-nightly.20180830 2018-08-30 22:10:45 -07:00
Milan Burda
5a0770f1d3 fix: allow Tray with title only (without icon) on Mac (#13851) 2018-08-30 21:16:56 +12:00
Samuel Attard
1b7418fb7b Revert "sec: deprecate some webPreference defaults to be secure-by-default (#14284)" (#14380)
This reverts commit 66d6ba8689.
2018-08-30 09:57:49 +12:00
Samuel Attard
66d6ba8689 sec: deprecate some webPreference defaults to be secure-by-default (#14284)
* feat: deprecate default value of nodeIntegration

* Use DeprecationStatus::Stable as the default instead of shadowing

* change wording of deprecations

* chore: also deprecate kWebviewTag and kContextIsolation

* chore: do as we preach, lets be secure-by-default in the default app
2018-08-29 13:14:04 -05:00
Shelley Vohr
9b2c14a745 chore: add release-artifact-cleanup script (#14250)
Adds a script to script/ that does the following:

- delete tag from nightlies repo
- delete tag from electron/electron
- revert bump commit in electron/electron
- Delete draft
2018-08-29 11:13:22 -07:00
Jacob Groundwater
d9a7fee79a feat: Add electron version to framework (#14296)
* Add electron version to framework

* Update Info.plist
2018-08-29 10:31:45 -07:00
Charles Kerr
2b4dbe409f fix: doc recipe for debug build (#14355) 2018-08-29 09:31:06 -07:00
Alexey Kuzmin
ccd63b5ed0 build: add enable_pepper_flash flag to GN build (#14349)
* chore: reformat BUILD.gn

* build: add enable_pepper_flash flag to GN build

Fixes #14339.

* build: move pepper flash under components/

* [ci skip] build: add electron.icns to mac app resources

* build: [gyp] update config to use component pepper flash

* build: [gyp] copy pepper shared libraries into executable folder in component build
2018-08-29 20:39:47 +12:00
Cheng Zhao
2f759151d2 docs: keyboard listeners no longer work on webview (#14369) 2018-08-29 15:59:23 +09:00
John Kleinschmidt
865435c491 Merge pull request #14287 from electron/miniak/ipc-refactoring
refactor: move common logic to handleRemoteCommand (rpc-server.js)
2018-08-28 17:06:38 -04:00
Cheng Zhao
459a2304b4 fix: emit focus/blur events for webview (#14344)
* fix: emit focus/blur events for webview

* test: webview can emit focus event
2018-08-28 13:35:44 -05:00
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
John Kleinschmidt
98b7a9ce9c Merge pull request #14107 from electron/channel_id_patch
fix: create persistent channel ID store when cookie store is persistent
2018-08-28 14:10:04 -04: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
Roller Bot
85ea0518c5 chore: bump libcc (master) (#14353)
* chore: bump libcc submodule to 5db50d4918b667ecba5a67cf48cf0e261d7581fa

* chore: bump libcc in DEPS to 5db50d4918b667ecba5a67cf48cf0e261d7581fa
2018-08-28 10:22:17 -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
Milan Burda
28e4fcea3b refactor: move common logic to handleRemoteCommand 2018-08-27 21:06:03 +02:00
Milan Burda
f1fe485768 fix: don't expose desktopCapturer in sandboxed renderers if the feature is disabled (#14310) 2018-08-27 13:16:52 -05:00
Samuel Attard
a43a292d18 fix: dont parse arguments after a -- in the inspector (#14297) 2018-08-27 10:50:23 -07:00
Roller Bot
61462bdba2 chore: bump libcc (master) (#14317)
* chore: bump libcc submodule to 99c3a9966a9bef4a54b1740d9fed30ce78b4c421

* chore: bump libcc in DEPS to 99c3a9966a9bef4a54b1740d9fed30ce78b4c421
2018-08-27 10:21:20 -07:00
Milan Burda
a08ca9defb fix: don't crash on tray.setContextMenu(null) (#14322) 2018-08-27 11:58:47 -05:00
John Kleinschmidt
fd27d75129 Merge pull request #14314 from electron/disable-a-test
test: disable "app moduele > app.exit(exitCode) > closes all windows"
2018-08-27 11:29:27 -04:00
Alexey Kuzmin
c8705625c9 build: windows gn linker fix (#14281)
* Fix to gn build linking

* chore: update node ref

* build: [gn win] add dependency on desktop_capture source_set in component build

* build: [gn] update definitions for node shared mode

* chore: update node ref

* chore: update node ref
2018-08-27 11:17:23 -04:00
Aleksei Kuzmin
4943f9fc14 tests: disable "app moduele > app.exit(exitCode) > closes all windows" 2018-08-27 16:21:12 +02:00
Milan Burda
edd1eaee5c fix: don't expose view APIs when not enabled (#14312) 2018-08-27 08:03:46 +09:00
Aleksei Kuzmin
1293b463ba tests: refactor "app module" tests 2018-08-26 16:54:51 +03:00
Samuel Attard
90545bda95 docs: explain "worldId" in the web frame docs (#14309)
Fixes #14288
2018-08-25 12:48:57 -07: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
Felix Rieseberg
872890ea5c docs: Developer instructions for native Node addons (#13121)
* docs: Developer instructions for native Node addons

Credits for actually finding this easy method goes to @nornagon.

* 📝 Of course there's a typo
2018-08-24 14:28:11 -07:00
Leo MG Nesfield (LMGN)
519b57838a Fix broken link (#14301) 2018-08-24 14:25:15 -07:00
Jeremy Apthorp
c452be02b9 refactor: properly report on skipped native modules tests (#13894) 2018-08-24 14:24:24 -07:00
Robin Andersson
4cf264f87a fix: Brought win speechSynthesis up-to-speed (#14070)
The implementation was brought up-to-speed with Chromium 70.0.3522.1 (https://chromium.googlesource.com/chromium/src.git/+/70.0.3522.1/chrome/browser/speech/tts_win.cc).

This to solve issues with Windows not returning voices (#11585).
2018-08-24 14:16:39 -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
John Kleinschmidt
605a4570c1 ci:Split out appveyor gn builds into separate jobs (#14282)
* Split out appveyor gn into separate jobs
2018-08-24 10:49:01 -04: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
6736d4ef29 fix: do not bubble up resize event from webview (#14271) 2018-08-23 15:42:35 +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
Roller Bot
82b75f863d chore: bump libcc (master) (#14263)
* chore: bump libcc submodule to c85470a1c379b1c4bedb372c146521bc4be9b75d

* chore: bump libcc in DEPS to c85470a1c379b1c4bedb372c146521bc4be9b75d
2018-08-22 19:44:13 -05:00
Robo
2d1b16b174 build: [gn] fix node header generation target in appveyor (#14218)
* build: [gn] fix node header generation target in appveyor

* build: fix tests run on AppVeyor

* build: [gn win] copy node.lib to node_headers on appveyor

* Fix verify-ffmpeg paths
2018-08-22 15:37:22 -04:00
Samuel Attard
7a514d26bb fix: inheritance of webPreferences sub properties 2018-08-22 11:16:46 -05:00
John Kleinschmidt
5a72441b2a build: build ffmpeg and native_mksnapshot for GN release builds (#14240)
* build ffmpeg and native_mksnapshot for GN release builds

* Test ffmpeg via verify-ffmpeg.py

* remove sccache from Windows builds
2018-08-22 11:41:25 -04:00
Charles Kerr
a2a7c6b062 chore: ask for specific info in bug templates (#14229)
* chore: ask for specific info in bug templates

* fix: change how version is asked for in bug template
2018-08-22 08:21:54 -07:00
Electron Bot
79eac1fdcb Bump v4.0.0-nightly.20180821 2018-08-21 13:34:20 -07:00
Samuel Attard
4b33d083b2 chore: retry for the meta dumper a few times (#14241) 2018-08-21 13:29:44 -07:00
Samuel Attard
20423df112 Revert "Bump v4.0.0-nightly.20180821"
This reverts commit 73c43eaea7.
2018-08-21 13:14:37 -07:00
Charles Kerr
e315e4d308 build: use electron-frameworks sccache (#14171)
* build: update-external-binaries fetches sccache

* build: add util.add_exec_bit in scripts/

* build: use util.add_exec_bit in create-dist

* build: use util.add_exec_bit in update-external-binaries

this is needed to work around a bug in python's zipfile module that doesn't preserve the exec bit

https://bugs.python.org/issue18262

* fix: linting errors

* build: vsts, circleci use patched sccache

* build: always look for the x64 sccache

as it's the only arch we have it on

* fix: windows-specific errors in updaste-external-binaries

* fix: tyop

* fix: set SCCACHE_BUCKET, SCCACHE_TWO_TIER on circleci

* fix: syntax error in circleci yaml

* fix: keep churning

* chore: add tracer to file downloader

* docs: add sccache instructions for GN builds

* build: pull down the darwin sccache on mas builds

* build: use gn sync verbosely on circleci and vsts

* docs: copyediting

* build: remove unnecessary cache-dir arg

* docs: fix shell quoting in gn build instructions

* fix: invoke gclient without -verbose in circleci

* refactor: remove debug tracer

* fix: invoke gclient without -verbose in appveyor

* fix: invoke gclient without -verbose in vsts

* fix: pull add_exec_bit from correct source

* fix: remove 'SCCACHE_TWO_TIER' from CI scripts

* refactor: remove SCCACHE_BUCKET from ci scripts

this environment variable will be set via the CI UI instead

* refactor: clarify log message

* fix: set SCCACHE_PATH correctly for Windows CI
2018-08-21 15:40:06 -04: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
Samuel Attard
776943218a ci: add better logging around request failures for releasing (#14239) 2018-08-21 11:39: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
Jeremy Apthorp
f82f89b2a3 build: [gn] add distributable zip target (#14093)
* build: [gn] add distributable zip target

* build: update the CircleCI config

- enable debug and testing builds on Mac
- run Mac release builds nightly
- run test for Mac release builds
- use shared build machines configs

* Add resources dir to zip on non mac platforms.
2018-08-21 13:06:28 -04:00
Milan Burda
7253c7f843 refactor: move SpecialStoragePolicy from brightray to atom (#13944) 2018-08-21 08:51:04 -07:00
Robo
fc730cc705 build: [gn mac] copy ffmpeg lib to framework bundle (#14225)
* build: [gn mac] copy ffmpeg lib to framework bundle

* Pull build config from enviroment variable

* build: use component ffmpeg in testing mode
2018-08-20 17:02:52 -04:00
Shelley Vohr
26925e6d48 chore: remove autorelease check logic (#14220) 2018-08-20 10:55:38 -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
Roller Bot
0fc72f1924 chore: bump libcc (master) (#14214)
* chore: bump libcc submodule to 00cce7a094c5ded91d52d2ac2aac2ab70dc66d02

* chore: bump libcc in DEPS to 00cce7a094c5ded91d52d2ac2aac2ab70dc66d02
2018-08-20 08:42:11 -07:00
Shelley Vohr
8f5923f9bf chore: add option to return next version from prepare-release (#14212)
* chore: add option to return next version from prepare-release

* shuffle logic
2018-08-20 08:17:47 -07:00
deepak1556
73b7390707 fix: create persistent channel ID store when cookie store is persistent 2018-08-20 08:52:55 +05:30
Samuel Attard
899dd03aa1 chore: match the bump commit exactly, reverts should not count (#14207) 2018-08-19 14:44:42 -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
Shelley Vohr
3715719b72 chore: update libcc ref to include osr patch (#14201) 2018-08-19 12:57:09 -07:00
Beni von Cheni
aef64c6f48 docs: chrome-command-line-switches.md: update proxy-server support (#14198)
* docs: chrome-command-line-switches.md: update proxy-server support

Per issue #12443, the proxy URL in proxy-server switch would not
support username and password authentication.

* docs: security.md: correct checklist #14 markdown

When running "npm run lint:docs" script, linting warning suggests
"Broken links: #13-disable-or-limit-creation-of-new-windows". Update
accordingly to #14.
2018-08-19 12:34:14 -07:00
Keerthi Niranjan
59e118925a fix: electron path for postinstall (#14177)
* fix #14127 issue caused by #12426

* add ELECTRON_OVERRIDE_DIST_PATH check for install.js
2018-08-19 09:40:12 -07:00
Anders Kaseorg
466fe816d5 docs: security.md: Fix navigation lockdown example code (#14185)
The `url` module is not a constructor; change `require('url')` to
`require('url').URL`. Also, check the entire origin rather than just
the hostname, since otherwise `http://my-own-server.com` is allowed in
addition to `https://my-own-server.com`, in violation of point 1 (only
load secure content).

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2018-08-18 19:41:55 -07:00
Electron Bot
dbee03d381 Bump v4.0.0-nightly.20180819 2018-08-19 01:09:28 +00:00
Shelley Vohr
55bac9325b chore: only prepare release if last commit not a bump (#14192) 2018-08-18 17:36:16 -07:00
Samuel Attard
8f23fe8ab0 chore: always target master for nightly releases (#14190) 2018-08-18 09:21:38 -07:00
Shelley Vohr
8039bdc061 fix: add dist tags for release branches (#14186)
* fix: add dist tags for release branches

* nightly => master
2018-08-17 18:30:21 -07: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
Samuel Attard
69f28aea2e chore: dont check version when publishing (#14183) 2018-08-17 16:49:16 -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
Samuel Attard
c6a8ad9e3a chore: remove v from script :sigh: (#14181) 2018-08-17 15:49:12 -07:00
Alexey Kuzmin
2f352d2517 build: add Chromium tests targets (#14172)
* chore: properly format BUILD.gn

* build: gn: add targets for Chromium tests

Those should only include test targets Electron cares about.
2018-08-17 15:28:00 -07:00
Samuel Attard
c9e704863e correctly get pre (#14179) 2018-08-17 15:15:45 -07:00
Electron Bot
b900ea44bf Bump v4.0.0-nightly.20180817 2018-08-17 21:40:50 +00:00
Shelley Vohr
bdc65f2823 fix: update_electron_gyp regex for nightlies 2018-08-17 14:35:58 -07:00
Samuel Attard
73f2a7dda9 Revert "Bump v4.0.0-nightly.20180817"
This reverts commit 76a592a419.
2018-08-17 14:34:31 -07:00
Troy
5ea05ddee7 fix: Stricter Testing For Menu Items (#13992)
This PR includes stricter testing for empty objects so that false context menus are not created along with the tests to ensure future compatibility.
2018-08-17 13:10:14 -07:00
Electron Bot
76a592a419 Bump v4.0.0-nightly.20180817 2018-08-17 20:06:28 +00:00
Samuel Attard
c2063bc139 chore: make beta bumps work (#14174) 2018-08-17 13:00:43 -07:00
Samuel Attard
0c0ca57f4b chore: use --bump for all releases
Approved by @codebytere
2018-08-17 12:23:27 -07:00
Shelley Vohr
6861c10183 chore: allow nightlies from release branches (#14157)
* chore: allow nightlies from release branches

* keep current version from beta to nightly

* move version bump logic to bump-versi.py
2018-08-17 10:42:45 -07:00
Robin Andersson
ba98ef382d chore: update serve version 6.5.3 -> 6.5.8 (#14159) 2018-08-17 09:48:01 -07:00
Charles Kerr
51b76f0635 build: use GIT_CACHE_PATH (#14165)
* build: add GIT_CACHE_PATH

The merge at https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1105473 was to specify git cache entirely from the environment variable  [and] removal of the general --cache-dir option from gclient

* docs: document GIT_CACHE_PATH in GN build

* fix: try to fix appveyor-gn env syntax
2018-08-17 09:20:20 -07:00
Samuel Attard
59d6c1e063 chore: use metadumper service to create index.json file (#14158) 2018-08-16 22:23:46 -07:00
Shelley Vohr
8b6072b411 chore: fix npm nightly dist-tag (#14155) 2018-08-16 17:17:59 -07:00
Shelley Vohr
966d776c18 chore: support otp (#14154) 2018-08-16 17:08:52 -07:00
Alexey Kuzmin
aca2293fa9 build: gn: commit patches after they have been applied (#14147)
* chore: bump libcc

* build: gn: commit patches after they have been applied

It prevents a hooks run failure when `gclient sync` is called
for a second time. Error message:

```
error: ui/latency/ui_latency_export.h: already exists in working directory
latency_info.patch failed to apply
```
2018-08-16 16:29:19 -07:00
Alexey Kuzmin
8adc24eef9 build: add config to build Electron for tests (#14101)
* build: add config to build Electron for tests

* build: run nightly linux builds for the 3-0-x branch

* build: gn: update CI config for linux builds

- run GN debug and testing builds for PRs (as FYI)
- do not run tests for GN debug builds
- run GN release builds nightly

* build: gn: run testing builds on CI instead of release on Windows

Should save some time since release builds set 'official_build=true'
which make the builds take much more time.

* build: gn: use testing config to run CI jobs on Mac

Tests should run faster for testing builds.
2018-08-16 16:28:01 -07:00
Shelley Vohr
6872180739 don't update index.json in release (#14151) 2018-08-16 16:15:00 -07: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
John Kleinschmidt
48407c5b93 Merge pull request #14148 from electron/update-node
chore: update node revision
2018-08-16 14:49:14 -07:00
Aleksei Kuzmin
ac2f823eed chore: update node revision 2018-08-16 14:24:40 -07:00
John Kleinschmidt
33d914d6ff Merge pull request #14144 from electron/jumbo-gn-release-builds
chore: enable jumbo builds in the GN release config
2018-08-16 14:04:19 -07:00
Charles Kerr
03e8c65b8b chore: remove duplicate setting 2018-08-16 13:56:03 -07:00
Charles Kerr
575b6df844 chore: promote 'is_jumbo_build=true' to all.gn 2018-08-16 13:41:47 -07:00
Samuel Attard
840db11a92 chore: add flag to skip version check (#14145) 2018-08-16 12:04:32 -07:00
Shelley Vohr
22a51625d4 fix: remove arm build validation from release script (#14143) 2018-08-16 11:50:29 -07:00
Charles Kerr
3e0d961684 chore: alphabetize config list 2018-08-16 11:46:35 -07:00
Charles Kerr
d294637e9c chore: enable jumbo builds in GN release configuration 2018-08-16 11:45:04 -07:00
Samuel Attard
982a2f0da2 Bump v4.0.0-nightly.20180816 2018-08-16 10:35:49 -07:00
Samuel Attard
ee4f27ca3f chore: 0.0.0-dev 2018-08-16 10:32:11 -07:00
Milan Burda
9076a20dc8 docs: fix electron.d.ts typings (#14125) 2018-08-16 10:26:36 -07:00
Samuel Attard
3330d4cb35 chore: fix linting (#14135) 2018-08-16 10:24:21 -07:00
Samuel Attard
38ae93f0a4 Bump v4.0.0-nightly.20180816 2018-08-16 10:05:00 -07:00
Samuel Attard
e2ba01b1fc build: replace nightly and dev versions in the release script (#14134) 2018-08-16 09:56:24 -07:00
Samuel Attard
d3067cc334 build: nightly is nightly, beta is beta (#14133) 2018-08-16 09:28:17 -07:00
John Kleinschmidt
74426ad45e Merge pull request #14132 from electron/fix-crashreporter-arg
docs: crashReporter companyName is not optional
2018-08-16 09:22:16 -07:00
Shelley Vohr
e415efaceb docs: crashReporter companyName is not optional 2018-08-16 09:15:17 -07:00
Samuel Attard
a58c7c7447 Bump v4.0.0-nightly.20180816 2018-08-16 09:13:36 -07:00
Samuel Attard
2556b5d181 build: use targetRepo in prepare-release (#14131) 2018-08-16 09:12:06 -07:00
Samuel Attard
4cf2cde7fb Bump v4.0.0-nightly.20180816 2018-08-16 08:58:46 -07:00
Shelley Vohr
b9afc68c35 chore: introduce concept of nightly builds to release scripts (#14130)
* chore: introduce concept of nightly builds to release scripts

* build: publish nightly releases to dedicated repo
2018-08-16 08:57:12 -07:00
John Kleinschmidt
22a2d9bd44 Merge pull request #14100 from electron/gn-arm-builds
ci: Add arm/arm64 debug gn builds
2018-08-15 15:37:06 -07:00
John Kleinschmidt
847a9c0ed9 Merge pull request #14099 from electron/vsts-gn-fix
ci: [vsts] use the PR's branch rather than master
2018-08-15 12:02:12 -07:00
John Kleinschmidt
9317ee8910 Add arm/arm64 gn builds 2018-08-15 11:39:16 -07:00
Samuel Attard
5f7a595f0a chore: add FIXME for remote deref (#14116) 2018-08-15 09:06:44 -07:00
Shelley Vohr
08a8a3fbfc chore: update PR template for new notes bot (#14103)
* chore: update PR template for new notes bot

* include link to release note readme
2018-08-15 08:43:11 -07:00
Samuel Attard
55a1f5d351 fix: add a hidden option to disable remote dereferencing (#14102) 2018-08-15 08:08:14 -07:00
Jeremy Apthorp
da3a80ef00 ci: [vsts] build the PR branch 2018-08-14 21:43:47 -07:00
John Kleinschmidt
7ff17ee3ad Merge pull request #14089 from electron/appveyor-gn-simplify
ci: [win] simplify call to electron.exe in appveyor
2018-08-14 14:30:11 -07:00
John Kleinschmidt
dda6bb135a Merge pull request #14017 from electron/node-gn
build: build node with GN
2018-08-14 14:29:17 -07:00
Robo
9989195f19 fix: notify request context shutdown on IO before cleanup (#14058) 2018-08-14 14:07:53 -07:00
Jeremy Apthorp
379f40ef93 ci: [win] simplify call to electron.exe in appveyor
the python junk was there previously because PowerShell is bad at exit
codes
2018-08-14 11:31:22 -07:00
Jeremy Apthorp
49ee5167c3 Update DEPS 2018-08-14 10:43:55 -07:00
John Kleinschmidt
8c21762bee Merge pull request #14081 from electron/vs2017-15-4-5
ci: Use VS2017 15.4.5 for Chromium 66
2018-08-14 09:50:55 -07:00
John Kleinschmidt
1c509c4743 Use VS2017 15.4.5 for Chromium 66 2018-08-14 09:34:34 -07:00
Roller Bot
3ac8aad495 chore: bump libcc (#14071)
* chore: bump libcc submodule to d6411e421b0b2f0105d274ac4e5c90dc979463ca

* chore: bump libcc in DEPS to d6411e421b0b2f0105d274ac4e5c90dc979463ca
2018-08-14 06:46:33 -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
John Kleinschmidt
cb4b3e7be0 Merge pull request #14049 from electron/fix-flaky-sandbox-tests
fix: Fix flaky sandbox tests
2018-08-13 13:26:52 -07:00
John Kleinschmidt
828e317360 Fix flaky sandbox tests
Windows apparently has issues running opening two windows at once which is causing flakiness on the mixed sandbox tests.
2018-08-13 09:30:20 -07:00
John Kleinschmidt
a53a5ac071 Merge pull request #14045 from electron/enable-mixed-sandbox
fix: re-enable mixed-sandbox tests
2018-08-13 08:48:19 -07:00
Shelley Vohr
2ac3d89279 fix: lint js and docs alongside clang-format (#14044)
* fix: lint js and docs alongside clang-format

* chore: change lint scripts to colon format
2018-08-13 08:20:55 -07:00
Sidney
23541b5b2a feat: On macOS, Closing Notifications Triggers the 'close' Event (#13306)
* feat(macOS): implement NotificationDismissed() for Cocoa

* feat(macOS): emit NotificationDismissed() when closing "Alert" notifications

* feat(macOS): emit NotificationDismissed() when closing "Banner" notifications

* fix(macos): Remove calls to private APIs from MAS builds (github.com/electron/electron/pull/13306)
2018-08-13 23:09:25 +12:00
Shelley Vohr
590ae5cd29 fix: re-enable mixed-sandbox tests 2018-08-12 21:29:29 -07:00
Shelley Vohr
c0959bd534 refactor: add 'npm run bootstrap', 'npm run build' (#14034)
* docs: update package.json and build docs

* fix build release

* address feedback from review

* whoops forgot one

* fix build script

* address feedback from review
2018-08-12 14:01:46 -07:00
Shelley Vohr
b785f45852 fix: override fs.realpathSync.native and fs.realpath.native (#14031)
* fix: override fs.realpathSync.native and fs.realpath.native
* spec: test new native functions
2018-08-12 00:10:55 -07:00
Shelley Vohr
8dae1c8447 fix: make asarStatsToFsStats nherit from fs.stats (#14030) 2018-08-11 23:20:33 -07:00
Jeremy Apthorp
c0dfc4b2eb ci: [gn] build 32-bit node modules on 32-bit linux (#14021) 2018-08-11 12:21:34 -05:00
Jeremy Apthorp
ae79fd1bb3 docs: update GN developer docs (#14018) 2018-08-11 12:20:19 -05:00
Jeremy Apthorp
db7cec8d86 ci: build x86 builds on GN in appveyor (#14019) 2018-08-10 17:52:54 -05: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
John Kleinschmidt
e08ce7127a Merge pull request #13877 from electron/gn-ci-win-appveyor
ci: [gn] add ci build for gn on windows
2018-08-10 13:40:44 -04:00
Jeremy Apthorp
6d277ec784 [wip] build: try building node with GN 2018-08-10 10:06:27 -07: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
secult
9902d42760 docs: cancelId works on windows (#13882)
The note about cancelId not working on windows is not valid. Tried on Windows 7 and Windows 10 and it works in both cases (tested on electron 1.8.7).
2018-08-10 16:07:39 +10:00
Samuel Attard
1c879870ee chore: add a Mac App Store Private API Rejection template (#14009) 2018-08-10 15:35:30 +10:00
Samuel Attard
637280e060 core: add security report issue template (#14010)
Basically tell people not to raise an issue but to send an email to our security email address.  This hasn't happened yet but we should do everything we can to send people in the right direction 😄
2018-08-10 15:30:24 +10:00
Shelley Vohr
7c7543cb39 spec: re-enable app.getAppMetric API (#13962) 2018-08-09 13:35:29 -05:00
Milan Burda
271d582aac refactor: make methods const, cleanup (#13937) 2018-08-09 10:15:23 -07:00
GhostlyDark
9005803667 Fix typos (#13999) 2018-08-09 10:04:03 -05:00
Milan Burda
9a1ad2b93f fix: ipcRemote.sendSync regression after moving away from JSON for return values (#13941) 2018-08-09 19:45:10 +10:00
Dominic
a7052efaf4 fix: make menu.popup options optional (#13977)
* add empty object as default param for options

* update docs

* add spec for optional options

* fix: add null check for options
2018-08-08 17:38:52 -05:00
Jeremy Apthorp
fc4499ebd4 chore: roll libcc 2018-08-08 09:33:02 -07:00
Charles Kerr
29f07889e6 feat: add location url to "Node.js Integration with Remote Content" warning (#13973)
* docs: fix typo

* feat: add location url to Node+Remote warning
2018-08-07 20:40:21 -05:00
Jeremy Apthorp
e6e621515f chore: disable flaky isCurrentlyAudible test (#13970) 2018-08-07 14:23:48 -05:00
John Kleinschmidt
06786e7bb8 Merge pull request #13828 from nornagon/gn-ci-mac
ci: [gn] add Mac support to VSTS build
2018-08-06 10:54:22 -04:00
Jeremy Apthorp
2551837ffb docs: min windows server version for building is 2012 (#13935) 2018-08-03 17:32:07 -07:00
Jeremy Apthorp
379998e2f6 docs: recommend windows 10 as the minimum build OS
I'm pretty sure building on windows 7 doesn't work.
2018-08-03 15:42:12 -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
Jeremy Apthorp
cecb8fb0c4 chore: roll libcc and node DEPS (#13931) 2018-08-03 12:36:56 -07: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
deepak1556
e0735baff2 docs: [gn] update build instructions 2018-08-03 11:54:21 -07:00
Jeremy Apthorp
96c39923b6 ci: [gn] add builders for 32-bit linux 2018-08-03 11:08:12 -07:00
Milan Burda
fceed0fcbc fix: dipToScreenRect / screenToDipRect - window can be null (#13903) 2018-08-03 13:08:42 +10:00
Jeremy Apthorp
03293d78a2 chore: roll libcc DEPS (#13917) 2018-08-03 10:55:49 +10: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
Shelley Vohr
48ae9b7a9c docs: update node upgrade doc (#13891)
Updates the node upgrade doc to take path changes into account as well as to incorporate the new `get-patch` script which simplifies work significantly.
2018-08-01 23:33:37 -07:00
Jeremy Apthorp
c068bc7d3d test: make nativeImage relative path test robust to different cwd 2018-08-01 15:19:26 -07:00
Jeremy Apthorp
651e7d21c4 Try setting npm_config_msvs_version 2018-08-01 10:35:03 -07:00
Jeremy Apthorp
63604278ec Add env var to skip native module tests 2018-08-01 10:29:35 -07:00
Jeremy Apthorp
00b2d94785 ci: start the dbus mock server in GN CI 2018-08-01 10:08:02 -07:00
Jeremy Apthorp
a4f02724bf refactor: use env var to skip native module tests on win32/debug (#13890) 2018-08-01 13:33:13 +10:00
Samuel Attard
4990b3990b spec: add more assertions to help smoke out the close all window failures (#13868) 2018-08-01 13:32:07 +10:00
Milan Burda
c52b3d921e fix: some APIs modified for ASAR support cannot be util.promisify'ed (#13845) 2018-08-01 13:06:48 +10:00
Jeremy Apthorp
80d22e8dc0 test out build matrix for debug/release 2018-07-31 17:28:32 -07:00
Jeremy Apthorp
083ec2f60a ci: [gn] add ci build for gn on windows 2018-07-31 15:28:12 -07:00
Samuel Attard
eb79ad4dab fix: handle SIGINT and SIGTERM from the Electron CLI helper (#13867)
Fixes #12840
2018-07-31 13:44:04 -05:00
Felix Rieseberg
a99cc969b5 📝 Update security docs: will-navigate, new-window (#13884) 2018-07-31 13:40:26 -05:00
Jeremy Apthorp
31ac89fa2f ci: gn linux release builds (#13809) 2018-07-31 11:18:36 -07:00
Jeremy Apthorp
e22a80b210 chore: [gn] run 'gn format' over BUILD.gn 2018-07-31 09:55:27 -07:00
Jeremy Apthorp
32f456de07 chore: [gn] run 'gn format' over build/node/BUILD.gn 2018-07-31 09:55:27 -07:00
Jeremy Apthorp
260f7775e7 ci: more lenient check for is_ci in lib.util.download
AppVeyor sets CI=True or CI=true, not CI=1
2018-07-31 09:51:40 -07:00
Jeremy Apthorp
28b6f2f46d build: [gn] fix rpath when building with component ffmpeg (#13874) 2018-07-30 15:46:04 -07:00
Jeremy Apthorp
ae29d562eb build: [gn] add //ui/strings:app_locale_settings to locale pak
Fixes a crash on Windows when accessing IDS_UI_FONT_FAMILY
2018-07-30 13:59:00 -07:00
Jeremy Apthorp
d0a9c2c77f build: [gn] build release with is_cfi = false
When is_cfi = true (the default on Linux Release), Electron crashes at
boot with SIGILL in V8::InitializePlatform.
2018-07-30 13:58:38 -07: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
Jeremy Apthorp
6e224df00e [wip] ci: add Mac support to VSTS build 2018-07-30 12:50:16 -07:00
Samuel Attard
b22ac5f0a2 build: commit changes to the package-lock.json file (#13864) 2018-07-30 15:09:06 +10:00
Alexandre Lacheze
2bba11c5b0 docs: warning unicity of webRequest event listener (#13482) 2018-07-30 11:38:59 +10: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
Alexey Kuzmin
69f6bd921b chore(tests): allow usage of deprecated APIs in tests (#13659) 2018-07-30 11:27:58 +10:00
Felix Rieseberg
c2218cc414 📝 First draft: Here be dragons (#13835) 2018-07-30 11:19:23 +10:00
Milan Burda
39c5c200ba fix: util.promisify(setTimeout) (#13840) 2018-07-30 11:14:04 +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
Milan Burda
aacbd76baa docs: fix electron.d.ts typings (#13841) 2018-07-30 11:11:23 +10:00
Jeremy Apthorp
a6bc8030ea build: [gn win] fix path names in js2asar 2018-07-27 12:08:39 -07:00
Jeremy Apthorp
27e6805889 build: [gn] pack ui_strings in locales (#13827)
Fixes a crash when running the tests on linux:

[15860:0726/132247.086106:WARNING:resource_bundle.cc(586)] unable to find resource: 27282
[15860:0726/132247.086189:FATAL:resource_bundle.cc(587)] Check failed: false.
0 0x7f1cad88ed7d base::debug::StackTrace::StackTrace()
1 0x7f1cad88eccc base::debug::StackTrace::StackTrace()
2 0x7f1cad9327ba logging::LogMessage::~LogMessage()
3 0x7f1ca4dea3ae ui::ResourceBundle::GetLocalizedString()
4 0x7f1ca4db5113 l10n_util::GetStringUTF16()
5 0x7f1ca3753bdd views::(anonymous namespace)::EmptyMenuMenuItem::EmptyMenuMenuItem()
2018-07-27 08:05:36 -07:00
Jeremy Apthorp
38ca2b342b build: [gn] fix resource path conflict on mac (#13824) 2018-07-27 08:04:03 -07: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
Jeremy Apthorp
7ed9a88277 build: [gn] fix linking against base_static (#13810)
* build: [gn] fix linking against base_static

* chore: run 'gn format' over brightray/BUILD.gn
2018-07-26 08:30:37 -07:00
Birunthan Mohanathas
acbabc7635 build: Bump libcc to latest (#13821)
This picks up electron/libchromiumcontent#617.
2018-07-26 08:26:08 -07:00
Josh Goldberg
a11e8654cc Grammar fix in application-architecture.md (#13798) 2018-07-26 23:14:20 +10: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
Cheng Zhao
e125569f87 fix: check string encoding before creating value (#13815) 2018-07-26 18:38:17 +09:00
Jeremy Apthorp
9f26dfc23e build: [gn] win and linux depend on :packed_resources
Also, roll libcc to include
9b66eb4f04
2018-07-25 15:49:42 -07:00
Jeremy Apthorp
0efb5853d6 build: [gn] centralize GN args under build/args/*.gn
Devs can still locally override or add settings by adding lines after
the `import` statement in args.gn.

This will help make sure that everyone has a common set of build args,
and will allow us to update everyone's build args in git.
2018-07-25 14:24:45 -07:00
Jeremy Apthorp
d1cb8b7d67 build: [gn win] fix webrtc link error in component build 2018-07-25 11:45:40 -07:00
Jeremy Apthorp
3971fbc671 build: [gn] include node_modules in default_app asar
The default_app asar was recently changed to reference files inside
`node_modules/` in addition to files inside `default_app/`. The
`js2asar.py` script was updated to interpret what this meant, but the GN
build wasn't. This change somewhat hackily makes the GN build reuse the
`js2asar.py` script so that this and also hopefully any future changes
will work in the GN build as well as the GYP build.
2018-07-25 11:45:22 -07:00
Jeremy Apthorp
58dc6ccd1a build: [gn] roll node DEPS 2018-07-25 11:45:02 -07:00
Zeke Sikelianos
9220ca2b98 Merge pull request #13784 from electron/fix-enable-disable-features
fix: Use --enable-features and --disable-features
2018-07-25 11:09:36 -07:00
Zeke Sikelianos
4822c130a3 Merge pull request #13801 from electron/update-ch-upgrade-docs
docs: update an estimate of how much we are behind Chromium
2018-07-25 10:46:03 -07:00
Birunthan Mohanathas
f788143c1a pr: Update docs 2018-07-25 10:12:27 -07: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
Birunthan Mohanathas
39ff5100bf fix: Use --enable-features and --disable-features
Unlike Chrome, we were not using the --enable-features and
--disable-features command-line arguments to initialize
`base::FeatureList`.
2018-07-25 19:07:49 +02:00
Birunthan Mohanathas
00c0c180ab build: Bump libcc to latest
This picks up electron/libchromiumcontent#609.
2018-07-25 09:52:57 -07:00
Aleksei Kuzmin
3b2424b4c8 docs: update an estimate of how much we are behind Chromium 2018-07-25 16:35:17 +02:00
Jeremy Apthorp
a01b4d78a4 build: [gn] link dwmapi in component build (#13773) 2018-07-25 11:21:36 +10:00
Zeke Sikelianos
89a9ccab8b docs: clarify default auto-updater installation behavior (#12783)
* docs: clarify default auto-updater installation behavior

* remove redundant note
2018-07-25 08:33:53 +10:00
Jeremy Apthorp
76a62b44dc build: [gn] simplify resource pak build 2018-07-24 10:18:27 -07:00
Aleksei Kuzmin
ea16445be7 chore: [tests] update some BrowserWindow tests
- manually close an existing windows before creating a new one.
  We have to do it because the `afterEach` hook doesn't get called
  if a test fails.
- add some async/await goodies
2018-07-24 10:02:54 -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
Jeremy Apthorp
d7b41462af build: [gn win] fix dllimport usage in node's usage of icu
We're abusing the nodejs build a little bit by building it without ICU support, but forcing the inspector to be built, which depends on ICU. This synchronizes one of the build flags that's required to get ICU to link on Windows.
2018-07-23 10:11:32 -07:00
Cheng Zhao
305e3aad40 refactor: remove private webContents.getId() API (#13674) 2018-07-23 18:08:36 +09:00
Cheng Zhao
a88cdf2d1f spec: suppress mixed-sandbox test in Windows CI (#13769) 2018-07-23 18:08:06 +09:00
Cheng Zhao
9d6f1a372e fix: create WebContents for webview on request (#13713) 2018-07-21 11:11:28 +09:00
Jeremy Apthorp
014832237c Merge pull request #13747 from nornagon/nornagon/gn-ci-builds
build: [ci] add GN linux CI build
2018-07-20 16:08:45 -07:00
Jeremy Apthorp
4918e279e2 build: stop defining is_mas_build (#13742)
is_mas_build is now defined in libcc.
2018-07-20 14:34:12 -07:00
Jeremy Apthorp
77004c6be8 Update DEPS 2018-07-20 14:33:51 -07:00
Jeremy Apthorp
1aa16d0ac0 build: [gn win] fix webrtc link error
Fixes link errors of the form

```
init_webrtc.lib(init_webrtc.obj) : error LNK2005: "class webrtc::metrics::Histogram * __cdecl webrtc::metrics::HistogramFactoryGetCounts(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int,int,int)" (?HistogramFactoryGetCounts@metrics@webrtc@@YAPAVHistogram@12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HHH@Z) already defined in metrics_default.obj
```
2018-07-20 14:30:14 -07:00
John Kleinschmidt
6b3ee233ff Use actual binary instead of python wrapper 2018-07-20 17:07:31 -04:00
John Kleinschmidt
856483fe61 Add sccache
Also removed unneeded slack notifcations
2018-07-20 16:29:57 -04:00
John Kleinschmidt
004abe3ce8 build: [ci] add GN linux CI build 2018-07-20 13:02:28 -07:00
Tiago Danin
1fd6d38a0a docs: Improved documentation (#13403) 2018-07-20 10:58:19 -07:00
John Kleinschmidt
2440d03595 Merge pull request #13739 from electron/fix-rebuild-native-modules
fix: update rebuild-test-modules.py for node 10
2018-07-20 11:20:32 -04:00
John Kleinschmidt
af241c8b4b Merge pull request #13748 from electron/gn-win32
build: [gn] working on 32bit windows
2018-07-20 10:25:04 -04:00
John Kleinschmidt
d757e03d86 Merge pull request #13746 from electron/gn-refactor
build: [gn] reorganize :electron_lib target
2018-07-20 10:10:47 -04:00
Jeremy Apthorp
16b66db9c7 build: [gn] working on 32bit windows 2018-07-19 17:04:44 -07:00
Jeremy Apthorp
803f84d7ec build: [gn] reorganize :electron_lib target 2018-07-19 16:30:23 -07:00
Zeke Sikelianos
a2ac31a4bf Merge pull request #13736 from electron/build--make-nightly-filenames-more-guessable-with-YMD-format
build: make nightly filenames more guessable with YMD format
2018-07-19 16:23:11 -07:00
Jeremy Apthorp
9fff635453 build: stop defining is_mas_build 2018-07-19 16:10:16 -07:00
Zeke Sikelianos
9b91d632e0 build: make nightly filenames more guessable with YMD format 2018-07-19 14:12:12 -07:00
John Kleinschmidt
3247d789f2 Merge pull request #13737 from electron/build--do-not-load-dotenv-on-CI
chore(ci): do not load dotenv on CI
2018-07-19 15:32:10 -04: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
Zeke Sikelianos
94ea703a32 build: do not load dotenv on CI 2018-07-19 11:48:13 -07:00
Jeremy Apthorp
f2a7fd44ce build: enable v8 checks in debug mode 2018-07-19 11:39:36 -07: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
John Kleinschmidt
3f228ad715 fix: update for node 10 2018-07-19 13:18:10 -04:00
John Kleinschmidt
9acfe34286 Merge pull request #13724 from electron/windows-release-test-fix
build: Temporarily disable found-in-page event test
2018-07-18 21:31:30 -04:00
John Kleinschmidt
f1cc40e3bf Merge pull request #13359 from electron/release-notes-generator
build: New release notes generator
2018-07-18 16:19:32 -04:00
John Kleinschmidt
1d6766008a Merge pull request #13725 from electron/node-headers
build: [gn] add target for building node headers
2018-07-18 16:16:18 -04:00
Jeremy Apthorp
70068f313a build: [gn] add target for building node headers 2018-07-18 12:01:16 -07:00
John Kleinschmidt
613b03c3c7 build: disable found-in-page event test
On Windows release builds, the found-in-page event test causes the test suite to hang.  If the test is run individually, it works fine, but running it as part of the whole test suite causes the test suite to hang.  This works around the issue in #13704 by temporarily disabling that test.
2018-07-18 14:59:46 -04:00
John Kleinschmidt
fc33130aa3 Merge pull request #13672 from brunolemos/patch-1
docs: remove known issues from mac app store submission guide
2018-07-18 14:44:50 -04:00
Samuel Attard
f26880db03 Update docs on semantic requirements for #13359 (#13365) 2018-07-18 10:41:58 -05:00
Jeremy Apthorp
91172d6387 build: [gn] move native_mate build config to native_mate dir (#13706) 2018-07-18 11:45:13 +10:00
Jeremy Apthorp
0c366f5a7a chore: [gn] roll libcc DEPS 2018-07-17 15:54:58 -07:00
Samuel Attard
81640806bc add semantic prefixes from docs 2018-07-18 02:25:56 +10:00
Samuel Attard
57a18d4c49 clean up release notes script 2018-07-18 02:25:56 +10:00
Samuel Attard
2c255680a9 new release notes generator 2018-07-18 02:25:56 +10:00
John Kleinschmidt
05538aa32c Merge pull request #13629 from electron/use-dot-env
docs: use .env (and .env.example) for tokens used in release
2018-07-17 11:57:42 -04:00
John Kleinschmidt
6edbb3e3ed Merge pull request #13662 from electron/nightly-updates
chore: Updates for nightly builds
2018-07-17 11:13:20 -04:00
John Kleinschmidt
3581bf0cfc Merge pull request #13688 from electron/gn-custom-sysroot
build: [gn] use libnotify from custom sysroot
2018-07-17 09:22:49 -04:00
Milan Burda
c8030a0f2a feat: support chrome:// URLs in default_app (#13575) 2018-07-17 17:23:44 +10:00
Samuel Attard
c313fd614c build: handle win32 path separator in js2asar (#13694) 2018-07-17 15:31:06 +10: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
Samuel Attard
ad9e64d086 fix: remove race condition for executeJavaScript (#13691)
Replaces 'did-finish-load' with 'did-stop-loading' which semantically
maps to the events inside Chromium.  Before I think we were relying
on a natural 99% winnable race condition.

Fixes #13504
2018-07-17 13:32:28 +10:00
Jeremy Apthorp
5864fa321c build: [gn] use libnotify from custom sysroot
Instead of hackily copying from the local machine.

Depends on electron/libchromiumcontent#601
2018-07-16 17:33:42 -07:00
Samuel Attard
12fcac59a2 refactor: clean up the default app, add CSP (#13437)
* refactor: clean up the default app, add CSP

* chore: appease the linter

* refactor: make js2asar more generic, dont assume default_app as target
2018-07-17 10:26:58 +10:00
John Kleinschmidt
1c70a1cccd Make sure artifacts are properly saved for nightly release builds
Also fix VSTS slack integration and make sure tests don't run for GitHub releases.
Update to latest libchromiumcontent
2018-07-16 17:07:48 -04:00
Shelley Vohr
6045d1218a refactor: remove experimentalCanvasFeatures property (#13684) 2018-07-16 13:32:42 -07:00
John Kleinschmidt
cc03213b62 Merge pull request #13664 from electron/tweak-release-docs
docs: update release docs from Fri 13 release session
2018-07-16 16:22:30 -04:00
John Kleinschmidt
1b5b98212d chore: Don't show download stats of libchromiumcontent for CI. (#13681)
* Update libcc to latest

* Pass along verbose mode to libcc download
2018-07-16 11:19:53 -07:00
John Kleinschmidt
55ba113678 Merge pull request #13685 from electron/roll-libcc
chore: roll libcc DEPS
2018-07-16 13:17:54 -04:00
Jeremy Apthorp
399fe7248f chore: roll libcc DEPS 2018-07-16 09:57:58 -07:00
Samuel Attard
b44e7fb1f1 docs: update second-instance event docs (#13656) 2018-07-16 09:59:44 -05:00
John Kleinschmidt
5764d76efa Fix formatting
Add alternate url for security token (depends on whether you are using new or old navigation on VSTS)
2018-07-16 10:39:31 -04:00
John Kleinschmidt
ede6fd91d0 Merge pull request #13673 from electron/fix-frameless-devtools-crash
Fix crash when opening devtools for frameless window
2018-07-16 09:39:16 -04:00
Cheng Zhao
222291631d spec: openDevTools should not crash for frameless window 2018-07-16 10:23:43 +09:00
Cheng Zhao
4a7c85f43e fix: use InspectableWebContentsView as content view 2018-07-16 10:20:35 +09:00
Bruno Lemos
f23d6fc107 docs: remove known issues from mac app store submission guide
not necessary since #10552
2018-07-15 17:45:50 -03:00
Jeremy Apthorp
5b81fde8a7 build: [gn win] link comctl32.lib to fix component build 2018-07-13 17:21:49 -07:00
John Kleinschmidt
87f34ccda4 Update Windows VS2017 requirement (#13663) 2018-07-13 17:43:27 -05:00
Charles Kerr
3653730cba Add post-publish 'npm dist-tag ls electron' step 2018-07-13 16:17:02 -05:00
John Kleinschmidt
6ea0e73b47 Merge branch 'master' into use-dot-env 2018-07-13 16:02:49 -04:00
Charles Kerr
da92abf964 document ELECTRON_S3_ tokens 2018-07-13 14:42:36 -05:00
Charles Kerr
452b5f342c add note about multiple calls to validateRelease 2018-07-13 14:17:31 -05:00
Charles Kerr
02d072ed9d fix VSTS token generation URL 2018-07-13 13:47:40 -05: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
John Kleinschmidt
d4486b0fc4 Merge pull request #13660 from Tomyail/patch-1
docs: using chrome://flash to get the flash path
2018-07-13 10:49:15 -04:00
Lxx
b7bc16b39a docs: using chrome://flash to get the flash path
chrome://about no longer works , so we should use chrome://flash instead.
2018-07-13 22:10:04 +08: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
John Kleinschmidt
6b5ccec0c6 chore: Updates for release process (#13632)
* Fix Appveyor URL

* Update docs to reflect current process

Also added troubleshooting steps.
2018-07-12 07:53:07 -05:00
John Kleinschmidt
facb210f64 Merge pull request #13494 from electron/expect-short-specs
chore(spec): convert smaller specs to expect
2018-07-12 08:45:34 -04:00
John Kleinschmidt
9c2287c142 Merge pull request #13635 from electron/node-win32-lean-and-mean
build: [gn] define WIN32_LEAN_AND_MEAN in the node build
2018-07-12 08:25:25 -04:00
John Kleinschmidt
f634bbcd99 Merge pull request #13634 from electron/node-clang
build: [gn] build node with clang-cl
2018-07-12 08:22:50 -04:00
John Kleinschmidt
fded6e7d0b Merge pull request #13639 from torycl/torycl/current-master-libcc
chore: use current master of libcc to include recent patches
2018-07-12 08:18:31 -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
Tomas Rycl
d352e6dc9e Using current master of libcc to include recent patches 2018-07-12 10:39:28 +02:00
Cheng Zhao
e90c4abc0d Merge pull request #13603 from electron/fix-remote
fix: guard against double-freeing remote references
2018-07-12 11:10:22 +09: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
6089254439 build: [gn linux] link static libs for node release build 2018-07-11 18:11:48 -07:00
Jeremy Apthorp
aa4982d830 build: [gn] define WIN32_LEAN_AND_MEAN in the node build 2018-07-11 17:52:18 -07:00
Jeremy Apthorp
097daa6e32 build: [gn] build node with clang-cl 2018-07-11 17:51:35 -07:00
Zeke Sikelianos
2bb970b98e remove asserts that were obviated by dotenv 2018-07-11 13:56:40 -07:00
Zeke Sikelianos
4f9b8d5d5a clarify purpose of .env.example 2018-07-11 12:55:15 -07:00
Jeremy Apthorp
98f944c807 build: [gn] link child as well as browser in electron_lib 2018-07-11 11:32:17 -07:00
Zeke Sikelianos
849cddf4be update tokens portion of releasing docs 2018-07-11 11:02:41 -07:00
Zeke Sikelianos
823f03c1ff load .env in various release scripts 2018-07-11 11:02:03 -07:00
Zeke Sikelianos
5a796f62ab add .env.example 2018-07-11 11:00:21 -07:00
Jeremy Apthorp
c44cf88a6e build: [gn] fix include_dirs ordering error 2018-07-11 10:49:17 -07:00
Jeremy Apthorp
af7800bab1 build: [gn mac] only link libnode.dylib in component build 2018-07-11 10:46:48 -07:00
Jeremy Apthorp
7bec61bac5 build: [gn] fix dllimport warnings 2018-07-11 10:45:21 -07:00
Jeremy Apthorp
03131c5e77 build: [gn] node as a static lib 2018-07-11 10:43:52 -07:00
Jeremy Apthorp
98255ee413 chore: roll libcc DEPS 2018-07-11 10:39:01 -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
Jeremy Apthorp
6fbec9d5a9 chore: [gn] support MAS build 2018-07-11 10:25:07 -07:00
Samuel Attard
addac43bbc fix: remember the render_process_id when permission requests occur on the IO thread (#13621)
Fixes #13620
2018-07-11 12:21:47 -05:00
John Kleinschmidt
376094fc0c Merge pull request #13515 from nornagon/gn-linux
chore: [gn] fix linux build
2018-07-11 08:02:42 -04:00
Shelley Vohr
d5d76c56ed address feedback 2018-07-10 14:20:03 -07:00
Jeremy Apthorp
9241645a4b build: [gn] depend on /gtk instead of /gtk3
(We still depend on gtk3, just via one extra layer of abstraction. The
/gtk target itself depends on /gtk3.)
2018-07-10 13:42:41 -07:00
Jeremy Apthorp
62f62264da build: [gn] move crashpad to mac-only 2018-07-10 13:42:40 -07:00
Jeremy Apthorp
1e1adef9b6 build: [gn] use clang and custom stdlib when building node on linux 2018-07-10 13:42:36 -07:00
Jeremy Apthorp
d4cf3cee22 build: [gn] use platform-appropriate shlib_suffix when building node 2018-07-10 13:42:33 -07:00
Jeremy Apthorp
99ecbfbd3b build: [gn] use consistent node configuration between gyp and build 2018-07-10 13:42:29 -07:00
John Kleinschmidt
4ebe71655b Merge pull request #13597 from electron/release-updates
build: Updates to the release process
2018-07-10 11:40:04 -04:00
Jeremy Apthorp
3a58545a59 chore: replace _ASSERT with DCHECK in toast.cc (#13598)
_ASSERT was triggering errors about unused values when in debug mode
2018-07-10 08:01:26 -07:00
John Kleinschmidt
2040095b96 Move github release checking to node.js
Our upload script was relying on an old python script to find the GitHub release for uploading.
2018-07-10 09:40:24 -04:00
John Kleinschmidt
90339b7260 Update to run new AppVeyor jobs
AppVeyor builds got split into two jobs, `electron-x64` and `electron-ia32`
2018-07-10 09:40:24 -04: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
Tomas Rycl
9b6a37ead7 test: Better path compare than just strings (#13548)
* Better path comparision than just strings

* Linter fix

* Resolving paths first to always obtain absolute path so path.relative() can work

* Using assert.ok which better fits the test

* No need to resolve parameters of path.resolve

* Added assertion to type of returned path for download item
2018-07-10 21:38: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
Jeremy Apthorp
810909425e chore: breakpad #include compatibility between GN and GYP 2018-07-09 16:53:06 -07:00
John Kleinschmidt
28d4f7f25a Update to latest libchromiumcontent (#13594) 2018-07-10 09:49:00 +10:00
Shelley Vohr
ab7a90e82f feat: ability to apply patch to clang-format errors (#13576)
* feat: ability to apply patch to clang-format errors

* improve error message formatting

* fix line length linting error
2018-07-09 10:26:10 -05:00
Cheng Zhao
35b867ff7d Fix failed devtools tests due to fs.statSyncNoException not working (#13584)
* Revert "spec: disable the i18nString test"

This reverts commit 86c79653de.

* update node to fix fs.statSyncNoException
2018-07-09 09:38:48 -05:00
John Kleinschmidt
17fc7bb9fd Merge pull request #13567 from electron/nightly-release-notifications
ci: Add/update slack notifications for nightly builds
2018-07-06 15:20:29 -04:00
Jeremy Apthorp
f50f8e3f3d chore: [gn] fix CSP warning in debugger API test (#13541)
There's an attempt to suppress the warning in `spec/static/main.js`, which
sets `process.env.ELECTRON_DISABLE_SECURITY_WARNINGS`. However, it sets the
variable too late in the boot process: by the time that line in main.js has
run, a child zygote has already been booted. `test.py` works around this by
setting that environment variable outside of the test process, to ensure that
it gets propagated to all children.

I've been running the GN tests directly with `./out/Default/electron
electron/spec`, rather than through the wrapper script, and the
`api-debugger-spec.js` tests were failing, because they depend on a particular
log message being the first one emitted, and the CSP warning was causing that
test to fail, since it wasn't being correctly suppressed.

Instead of writing another wrapper script, this just fixes the underlying thing
that the warning is complaining about, which I think is reasonable because the
test's pass/fail depends on this specific behaviour.
2018-07-06 15:01:33 -04:00
John Kleinschmidt
368da14581 Add/update slack notifications
Add slack notifications for CircleCI nightly releases
Update VSTS slack notifications to match other platforms.
2018-07-06 10:23:31 -04:00
Cheng Zhao
dd46b3ec85 Merge pull request #13562 from electron/fix-devtools
Fix devtools not functioning well
2018-07-06 10:11:43 +09:00
Cheng Zhao
86c79653de spec: disable the i18nString test
It is failed because of fs.statSyncNoException, I'll fix it in another
PR.
2018-07-06 09:07:56 +09:00
Cheng Zhao
56c24406d6 spec: enable back devtools tests 2018-07-06 09:07:56 +09:00
Cheng Zhao
61ea03ed2d fix: update devtools url 2018-07-06 09:07:56 +09:00
Cheng Zhao
705bbd31e9 add stubs for new devtools messages 2018-07-06 09:07:56 +09:00
Cheng Zhao
29ff9873f4 implement devtools showItemInFolder message 2018-07-06 09:07:56 +09:00
John Kleinschmidt
5aa136a23d run test.py with --rebuild_native_modules (#13570)
Fixes script\verify-ffmpeg crash
2018-07-05 16:53:11 -05: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
Cheng Zhao
cb6ab4de20 fix: update libcc to fix private APIs in mas build (#13529) 2018-07-03 11:24:43 +09: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
Shelley Vohr
42d173b343 spec: convert menu specs to expect (#13485)
* spec: convert menu-item spec to expect

* spec: convert menu spec to expect
2018-06-30 00:25:28 -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
67673cbf7f chore: fix chromium-style errors in native_mate
Also clang-format some stuff.
2018-06-29 12:01:09 -07:00
Jeremy Apthorp
180b41ab73 chore: [gn] use merged-in native_mate 2018-06-29 12:01:09 -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
1186f082db chore: [gn] roll libcc & node deps (#13508) 2018-06-29 09:24:58 -07:00
Jeremy Apthorp
9525c94b5e chore: [gn] remove now-meaningless skia-related #defines (#13496)
`SK_SUPPORT_LEGACY_GETTOPDEVICE` was removed in [Jan 2017](https://chromium.googlesource.com/skia/+/76467a11a0aa4ba15f0f2e3ee078ba9b6ecbaa91)

`SK_SUPPORT_LEGACY_SAFESIZE64` was removed in [Oct 2017](https://chromium.googlesource.com/skia/+/3bd0fece5fadd522c2e8c1b0ca9934d7455d9ccd)
2018-06-29 08:36:20 -07:00
Zac Walker
05096f8a65 Removed WTL include folder 2018-06-29 13:26:46 +02:00
Cheng Zhao
e42c6d3eb7 fix the crash when loading site with jquery (#13475) 2018-06-29 09:42:04 +09:00
Shelley Vohr
9489401e7d spec: convert smaller specs to expect 2018-06-28 15:40:30 -07:00
Jeremy Apthorp
8ad3a2cc42 chore: [gn] add electron_app target for windows (#13491)
This allows building electron.exe on windows 🎉
2018-06-28 14:58:43 -07:00
Jeremy Apthorp
59fb4eccb4 chore: [gn] link against debug node when in debug mode (#13490)
This is required on Windows, because in Debug mode, C++ stdlib containers have a different size to when in Release mode, so the code in `node.dll` thought that `node::Environment` was a different size to the code in `electron.exe`, which uh, caused problems.

It should also make debugging through node a bit easier on all platforms.
2018-06-28 14:42:09 -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
475eef01c3 chore: [gn] copy node.dll in addition to node.dll.lib (#13489)
On Windows, you need to link against the `.lib` but the `.dll` needs to be next to the `.exe` at runtime, so we need to copy both.
2018-06-28 14:25:56 -07:00
Jeremy Apthorp
6492732631 chore: [gn] fix link errors relating to static members (#13488)
I'm not 100% sure why this is working in the gyp build, but I was getting link errors with these variables being defined in the headers.
2018-06-28 14:25:26 -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
Shelley Vohr
fa0704665f test: temporarily disable failing specs (#13470) 2018-06-27 14:15:24 -07:00
Jeremy Apthorp
4f8acb0cdd docs: add link to Chromium windows debugging docs
I found this tidbit in particular helpful: 

```sh
> devenv /debugexe out\Debug\chrome.exe <options to Chromium can go here>
```
2018-06-27 23:06:30 +02: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
Samuel Attard
28d148b475 docs: add native_mate to source code directory structure doc (#13451) 2018-06-27 17:46:14 +10:00
Shelley Vohr
f9e2ec43d0 fix: deprecate properties in app.getAppMetrics() (#13446)
* fix: deprecate properties in app.getAppMetrics()

* address feedback from review

* fix deprecated property location

* simplify test
2018-06-26 23:47:01 -07:00
Milan Burda
08ccc2d624 refactor: rpc-server.js cleanup (#13420)
* refactor: don't declare variables C-style in JavaScript

* refactor: use new constructor(...args) in rpc-server.js
2018-06-27 11:00:05 +10:00
Cheng Zhao
44aad039c6 fix: do not expose Node's external strings (#13438) 2018-06-27 10:18:09 +10: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
39e6943f1e chore: [gn] changes to BUILD.gn for windows (#13434)
Grab basket of changes needed to get the `electron_lib` target building on Windows with GN.
2018-06-26 22:58:20 +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
2d9a491771 chore: [gn] correct library paths for node on windows (#13429)
For some reason the windows node build needs `.dll` on the ends of these libraries, and also needs to be linked against `dbghelp`.

Additionally, copy the `WHOLEARCHIVE` hacks from common.gypi, which was doing the same thing.
2018-06-26 22:57:05 +02:00
Alexey Kuzmin
f4039d82c3 spec: rewrite and enable a webview's disableguestresize attr test (#13428) 2018-06-26 08:38:04 -07:00
Jeremy Apthorp
4255384abc chore: [gn] remove vendor/ from windows include paths (#13432) 2018-06-26 15:03:56 +10:00
Jeremy Apthorp
418c4e170c chore: [gn] only define WIN32_LEAN_AND_MEAN if not already defined (#13430)
Chromium's GN build already defines `WIN32_LEAN_AND_MEAN` and `NOMINMAX` (see [build/config/win/BUILD.gn](dbe762aaff/build/config/win/BUILD.gn (515)) in chrome), so we don't need to define them ourselves. Left as #ifndefs so as not to break the gyp build.
2018-06-26 02:00:50 +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
Shelley Vohr
1c64ac8c41 fix: repair fs.statSyncNoException throwing exceptions (#13390) 2018-06-23 00:01:28 -07:00
Samuel Attard
a96fc9170c Merge pull request #13379 from electron/native-mate-in-electron
Merge native_mate into electron/electron
2018-06-23 02:00:58 +10:00
John Kleinschmidt
1c4d20eb94 Merge pull request #13322 from electron/pepper_flash_feature
build: move pepper flash behind feature flag
2018-06-22 11:58:10 -04:00
John Kleinschmidt
a971cbf57d Merge pull request #13377 from electron/chromium-style-win
chore: fix chromium-style errors in windows code
2018-06-22 11:46:29 -04:00
John Kleinschmidt
8b6d4b6f0e Merge pull request #13376 from electron/gn-windows-deps
chore: [gn] fix DEPS to work on windows
2018-06-22 10:53:36 -04:00
Samuel Attard
d068ff3afb fix linting 2018-06-22 13:43:39 +10:00
Samuel Attard
daa64e21f6 rename back to expected values 2018-06-22 11:42:55 +10:00
Samuel Attard
ea4a497442 move native_mate script to the electron scripts dir 2018-06-22 11:38:36 +10:00
Samuel Attard
b6f063d954 update paths for native_mate 2018-06-22 11:36:03 +10:00
Samuel Attard
8b31886c77 remove native_mate submodule 2018-06-22 11:35:14 +10:00
Samuel Attard
d04cdbb367 Merge 'native_mate' into 'electron' 2018-06-22 11:32:08 +10:00
Samuel Attard
4cada5e845 prepare for merging to electron 2018-06-22 11:29:57 +10:00
Jeremy Apthorp
43c1a7778d chore: fix chromium-style errors in windows code 2018-06-21 16:50:58 -07:00
Jeremy Apthorp
0660fb3f25 chore: [gn] fix DEPS to work on windows 2018-06-21 16:43:41 -07:00
Jeremy Apthorp
57d365a9f4 Update build-instructions-windows.md 2018-06-21 12:10:33 -07:00
Jeremy Apthorp
aa4ca406c8 chore: update GN build for chrome 66 2018-06-21 11:30:43 -07:00
deepak1556
337cb7910e update libcc ref 2018-06-21 22:32:22 +05:30
Zeke Sikelianos
4a7dda7c45 Merge pull request #13366 from c960657/patch-1
docs: fix links to webview API doc
2018-06-21 09:10:31 -07:00
Jeremy Apthorp
f4d0cef619 chore: [gn] remove gclient hook for node config.gypi (#13354) 2018-06-22 00:44:19 +10:00
Alexey Kuzmin
10a174fc6a spec: refactor helper closeWindow() function (#13337) 2018-06-22 00:43:15 +10:00
Alexey Kuzmin
b9da1575f0 spec: enable a disabled test (#13346) 2018-06-22 00:42:55 +10:00
Christian Schmidt
cdd2bab7d5 Fix links to webview.md 2018-06-21 16:39:07 +02:00
Samuel Attard
e15ffd96eb Merge pull request #30 from electron/chromium-66-upgrade
Chromium 66 Updates
2018-06-21 22:35:49 +10: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
Jeremy Apthorp
99b4aac979 chore: Roll DEPS for chrome 66 in GN build 2018-06-20 14:13:43 -07:00
Milan Burda
122d00f415 Revert "Drop support of Mac OS 10.9" (#13348)
This reverts commit efa0ec0263.
2018-06-20 13:40:18 -07:00
The Moses
6ecd8077e5 Fix broken link of electron-builder (#13341) 2018-06-20 09:42:46 -05:00
John Kleinschmidt
552399af2f Merge pull request #13334 from electron/mas-fix-linking
Fix linking error for MAS build
2018-06-20 09:59:46 -04:00
John Kleinschmidt
55d1dde0f7 Merge pull request #13327 from electron/fix-tls
fix: tls check shouldnt rely on an external service
2018-06-20 08:59:45 -04:00
Samuel Attard
79fbd6bab1 Revert "fix: Drop support for OS X Mavericks (version 10.9)" (#13333) 2018-06-20 07:27:55 -05:00
Cheng Zhao
2b080ab575 fix: link with crashpad_client for MAS build 2018-06-20 20:50:56 +09:00
Felix Rieseberg
562eddf0e9 test: Upgrade spec dependencies (#13310)
* 📦 Update mocha, mocha-junit-reporter

* 📦 Update graceful-fs, multiparty, q, walkdir

* 📦 Update basic-auth

* 📦 Update ws

* 📦 Update dbus-native

* 📦 Upgrade yargs

* 🔒 Run `npm audit fix`

* 🔧 Fix websocket API change
2018-06-20 17:18:24 +10:00
Samuel Attard
436b124fc8 fix linting in the tls script' 2018-06-20 17:12:09 +10:00
Samuel Attard
0ca2496481 fix: tls check shouldnt rely on an external service 2018-06-20 17:05:43 +10:00
Husayn
1a8c986fb1 set mac protocol to none (#13302) 2018-06-20 13:16:37 +10:00
gnahzak
951aa83bdf Disable node options in node config (#13311) 2018-06-20 13:08:24 +10:00
Shelley Vohr
c20e0c30a2 src: base::Value::HasKey(key) => base::Value::FindKey(key) (#13312) 2018-06-20 13:07:10 +10:00
Zeke Sikelianos
0802f82356 doc: add CSP examples (#13167)
* doc: add CSP examples

* Deafult to zero-permissions CSP
2018-06-20 10:36:37 +10:00
John Kleinschmidt
fc12b5cab3 Merge pull request #13283 from jack-teng1/fix-asar-pack-cant-find-module
fix: can't load module error when app is packaged
2018-06-19 14:58:37 -04: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
Jack Teng
3044607746 spec: fix asar spec due to change in node.js
node.js rename the internalModuleReadFile to internalModuleReadJSON
change spec to reflect this change
2018-06-19 10:42:21 -07:00
Jack Teng
10df019075 fix: can't load module error when app is packaged
due to change in node.js(https://github.com/nodejs/node/issues/17076)
internalModuleReadFile has been renamed to internalModuleReadJSON, and
in vendor/node/lib/internal/modules/cjs/loader.js it will call
internalModuleReadJSON and result in can't read the package.json file.
2018-06-19 10:42:21 -07:00
John Kleinschmidt
295c823a1b Merge pull request #13298 from electron/update-libcc-ref
Update vendor/libchromiumcontent ref
2018-06-19 13:24:05 -04: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
Aleksei Kuzmin
e683af1eb6 Update vendor/libchromiumcontent ref 2018-06-19 18:12:41 +02:00
Milan Burda
794fe741e9 fix: Drop support for OS X Mavericks (version 10.9) 2018-06-19 17:49:27 +02:00
Jeremy Apthorp
c598272891 refactor: [gn] compile node with boringssl (#13285) 2018-06-19 10:39:43 -05: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
popod
13f97b4cae Add Sentry.io to 3rd party hosted solution list for crash reports (#13281)
* Add Sentry.io to 3rd party hosted solution list for crash reports

* Single link to sentry doc
2018-06-19 10:32:37 -05:00
Jeremy Apthorp
9e8f83e25c refactor: fix chromium-style in url_request_asar_job (#13284) 2018-06-19 10:31:55 -05:00
Jeremy Apthorp
e177117fa5 chore: [gn] add desktop capturer sources to GN build (#13286) 2018-06-19 10:29:36 -05:00
Danny Brown
dd6c776a19 docs: add note about how to remove a previously set aspect ratio (#13293) 2018-06-19 10:24:42 -05:00
John Kleinschmidt
36c1e4cd75 Merge pull request #13267 from electron/expect-debugger-spec
spec: convert debugger spec to expect
2018-06-19 11:22:47 -04:00
John Kleinschmidt
faef453df5 Merge branch 'master' into expect-debugger-spec 2018-06-19 11:22:25 -04:00
Shelley Vohr
cba3a9fcce spec: convert deprecations to expect (#13268)
* spec: convert deprecations to expect

* address feedback from review
2018-06-19 10:22:08 -05:00
Shelley Vohr
9a79889692 spec: convert ipc specs to expect (#13273)
* spec: convert ipc specs to expect

* fix buffer value comparison
2018-06-19 10:21:50 -05:00
John Kleinschmidt
0219ef0feb Merge pull request #13269 from electron/expect-desktop-capturer-spec
spec: convert desktop capturer to expect
2018-06-19 11:21:13 -04:00
John Kleinschmidt
be29a1973b Merge pull request #13291 from electron/slightly-rewrite-webview-tests
spec: slightly rewrite webview tests
2018-06-19 11:20:45 -04:00
John Kleinschmidt
0fdcc5d485 Merge pull request #13294 from electron/MarshallOfSound-patch-1
Mark browser window affinity as experimental
2018-06-19 11:20:22 -04:00
John Kleinschmidt
a3bc989426 Merge pull request #13292 from electron/fix-release-tests
build:Fix VSTS config for release builds
2018-06-19 11:00:07 -04:00
Samuel Attard
c58fa02e58 Mark browser window affinity as experimental 2018-06-20 00:33:24 +10:00
John Kleinschmidt
d2a950e054 Fix VSTS config for release builds 2018-06-19 10:19:51 -04:00
Aleksei Kuzmin
5151a04613 spec: slightly rewrite webview tests 2018-06-19 13:27:49 +02:00
Aleksei Kuzmin
bbc8d50799 spec: add helper functions for async/await tests 2018-06-19 13:27:43 +02:00
Samuel Attard
bcbcb4c643 Merge pull request #12477 from electron/upgrade-to-chromium-66
Chromium 66
2018-06-19 19:10:37 +10:00
Milan Burda
d5d5386017 use std::make_unique<T> 2018-06-19 10:20:39 +02:00
Samuel Attard
f0e2da7089 Link to the desktop_capture libs 2018-06-19 17:41:43 +10:00
Samuel Attard
906ef3da6a Fix windows desktop_capturer build 2018-06-19 17:41:43 +10:00
Samuel Attard
2720fa751b Fix windows desktop_capturer build 2018-06-19 15:29:16 +10:00
Samuel Attard
42c37cc26d Bump libcc for desktop capturer fix 2018-06-19 15:16:13 +10:00
John Kleinschmidt
56ae882bb8 Update libcc 2018-06-18 23:20:31 -04:00
Samuel Attard
9d18be8fde Remove removed variable popup_bounds_in_view_ 2018-06-19 11:58:26 +10:00
Samuel Attard
ed1f8d3646 Add missing network:: for net log switches 2018-06-19 11:52:17 +10:00
Samuel Attard
efdf4f44c8 Remove stray .only 2018-06-19 11:49:46 +10:00
Samuel Attard
650631421f re-enable desktop capturer 2018-06-19 11:49:46 +10:00
Samuel Attard
518f0005ad mark worker thread taskrunner as WithBaseSyncPrimitives 2018-06-19 11:49:46 +10:00
Samuel Attard
5a28759fea post all desktop capturer apis to worker threads 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
6c604e1eb3 Update vendor/libchromiumcontent ref 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
25e5c174f5 Disable a test 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
b70ca6309c Disable a test 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
8f4d6a1995 Rewrite and enable one of the webview tests 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
ad74fb9210 Enable a test 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
da7cfba357 Enable Desktop Capturer tests 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
10c5141da0 Enable a few tests 2018-06-19 11:49:46 +10:00
Samuel Attard
10160b369b FIXME: getAppMetrics fails on windows CI 2018-06-19 11:49:46 +10:00
Samuel Attard
76f26341bf powerMontor crashes linux ia32, re-disable 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
Samuel Attard
c4f80a6d89 Enable power monitor test for linux 2018-06-19 11:49:46 +10:00
Samuel Attard
10e0d9b198 Enable process resource test 2018-06-19 11:49:46 +10:00
Samuel Attard
e70b93ad91 Enable childprocess.fork asar specs, fixed during run_as_node fixes 2018-06-19 11:49:46 +10:00
Samuel Attard
bc8525d2f3 re-enable native module tests 2018-06-19 11:49:46 +10:00
Samuel Attard
c882b37a40 Bump node to fix native module rebuilding 2018-06-19 11:49:46 +10:00
Samuel Attard
d9ec885dbc Fixed the spawn tests with the RUN_AS_NODE tests 2018-06-19 11:49:46 +10:00
Samuel Attard
f43eafb94e Fixed the fork tests, remove comment 2018-06-19 11:49:46 +10:00
Samuel Attard
de5bdc8be4 Fix inspector tests, you can now have multiple inspector sessions
Refs: https://github.com/nodejs/node/pull/20137
2018-06-19 11:49:46 +10:00
Samuel Attard
b7d00e26bf Default LoadV8Snapshot changed in C66
CR Ref: https://chromium-review.googlesource.com/c/chromium/src/+/859577
2018-06-19 11:49:46 +10:00
Samuel Attard
9b37e7d988 Re-enable node fork specs 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
0b12e425bd FIXME: Disable powerMonitor tests 2018-06-19 11:49:46 +10:00
Samuel Attard
a64def5745 Bump node vendor to remove openssl compile warning 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
0c69b0e224 FIXME: Disable Desktop Capturer 2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
03a63a485f FIXME: Disable some of the focus related tests
They all pass localy, so it must be a CI issue.
2018-06-19 11:49:46 +10:00
Aleksei Kuzmin
e96d8b664d Skip one of the "chromium feature" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
1fae6a321c Skip crashReported tests on linux 2018-06-19 11:49:45 +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
Aleksei Kuzmin
792bb9b4a8 Update vendor/libchromiumcontent ref 2018-06-19 11:49:45 +10:00
John Kleinschmidt
67558d65a6 Use Node.js 10 for CI builds 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
caed1c37e0 Update vendor/libchromiumcontent ref 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
de6a5de914 Disable all failing tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
cd428a047f Update vendor/libchromiumcontent ref 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
417fe29dc0 Fix the media events test
Playing a media now requires a user gesture.
See https://goo.gl/xX8pDD.
2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
a7d2f7531c Update vendor/node ref 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
c786abf1e9 Add gfx:PointF support to mate::Converter
It's needed by atom_api_screen, BuildPrototype function on Windows.
2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
622544a902 Check embedder_message_dispatcher_ before sending a message
HandleMessageFromDevToolsFrontend() might be called
after the WebContentsDestroyed() is.
2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
6481161ef2 Update vendor/libchromiumcontent ref 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
6e11494d0b Update vendor/node ref 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
7886cfe408 FIXME: Disable "node feature child_process.fork" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
368734b8ab FIXME: Disable "node feature inspector" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
e240a16a20 FIXME: Disable "ses.cookies calls back with an error when setting a cookie with missing required fields" test 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
4a08779bc8 FIXME: Disable a couple of "debugger module debugger.sendCommand" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
3ca288aba4 FIXME: Disable "BrowserWindow module extensions and dev tools extensions works when used with partitions" test 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
6c0b5cd76c FIXME: Disable "BrowserWindow module beginFrameSubscription method" tests 2018-06-19 11:49:45 +10:00
Aleksei Kuzmin
c3ccd42a23 Update the vendor/libchromiumcontent ref 2018-06-19 11:49:45 +10:00
Tomas Rycl
f9278e518c Fix linker error on Windows
base_jumbo_7.obj, unresolved external symbol __imp_InitPropVariantFromCLSID
2018-06-19 11:49:44 +10:00
Tomas Rycl
40bf582c81 Use /guard:cf during both compile and link parts of the build on Windows
Thanks jack-teng1 for info.
2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
81398c1fde Use Chromium 66.0.3359.181 and Node.js 10.2.0 2018-06-19 11:49:44 +10:00
John Kleinschmidt
08ee965270 Fix pr builds 2018-06-19 11:49:44 +10:00
Heilig Benedek
65b8dd48d8 Update OSR code 2018-06-19 11:49:44 +10:00
Heilig Benedek
91d16c9b3a FIXME: comment out ppapi code that blocks compilation 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
9b9a818c43 FIXME: Disable one of the <webview> tag tests. 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
7e4c0b304b Enable a few tests 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
Aleksei Kuzmin
dd444fd429 Update vendor/libchromiumcontent ref 2018-06-19 11:49:44 +10:00
Nitish Sakhawalkar
58b9203b9b Update link lib in brightray 2018-06-19 11:49:44 +10:00
John Kleinschmidt
ddaf2cfdc5 Fix appveyor config 2018-06-19 11:49:44 +10:00
John Kleinschmidt
1321e8a6df Use vs2017 only vm for CI 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
6d7e281dc8 Update vendor/node ref 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
32ff2ff8fb FIXME: Disable some of <webview> tag tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
a45b1a9205 FIXME: Disable a couple of webContents module tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
123b35a7f1 FIXME: Disable "asar package child_process.fork" tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
77ae8b65f7 FIXME: Disable desktopCapturer tests 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
5656cb34b8 Use libpdfium_skia_shared.a 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
7616cb38a7 Update vendor/libchromiumcontent ref 2018-06-19 11:49:44 +10:00
Tomas Rycl
a9eb267f92 Update vendor/node ref 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
496dbb6b7e Set llvm_version to "7.0" 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
3e6e01eb94 Update vendor/libchromiumcontent ref 2018-06-19 11:49:44 +10:00
Aleksei Kuzmin
42d84bbd70 Use Node 10.0.0 2018-06-19 11:49:44 +10:00
Tomas Rycl
650f7a920a Correct windows header order 2018-06-19 11:49:44 +10:00
Tomas Rycl
7b17f15703 Fixing pdf print errors on Windows build 2018-06-19 11:49:43 +10:00
deepak1556
8f00240c73 chrome style plugin: remove check-auto-raw-pointer option
This is always enabled now, so the corresponding flag can be removed.
https://chromium-review.googlesource.com/734132
2018-06-19 11:49:43 +10:00
Nitish Sakhawalkar
3ac4c1f03f Update libcc and replace snapshot_blob.bin by v8_context_snapshot.bin 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
a45862c93f Link against device_service and viz_service libs 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
623ed84b23 Update vendor/libchromiumcontent ref 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
000bbd45b8 Add ForceFeedback to the frameworks list on Mac 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
016ac8ff6e Set CHROME_VERSION_STRING to 66.0.3359.117 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
aaef07e637 Update vendor/libchromiumcontent ref 2018-06-19 11:49:43 +10:00
Tomas Rycl
101cd90d37 More pdf printing fixes for Windows 2018-06-19 11:49:43 +10:00
Tomas Rycl
32ebd9e221 Proper dpi parameter type for PdfRenderSettings 2018-06-19 11:49:43 +10:00
Tomas Rycl
bbd6b478ac Add missing header
For ThreadRestrictions class.
2018-06-19 11:49:43 +10:00
Tomas Rycl
7ca1b0704d Rename ScopedWindowsThreadEnvironment::succeeded() to Succeeded()
https://chromium-review.googlesource.com/742447
2018-06-19 11:49:43 +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
Aleksei Kuzmin
97414cc931 Update vendor/libchromiumcontent ref 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
5451635df0 Update vendor/node ref 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
Aleksei Kuzmin
28f6e10e5a Add "-fno-exceptions" to "cflags_cc" on linux 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
ac33694028 Update chrome_version.h 2018-06-19 11:49:43 +10:00
Aleksei Kuzmin
9e3011dbcd Update libcc ref 2018-06-19 11:49:43 +10:00
deepak1556
c97706de50 Remove deps on libcommon.a and libjavascript.a 2018-06-19 11:49:43 +10:00
deepak1556
844ef4291c PepperFlashRendererHost to use SkFontStyle.
https://chromium-review.googlesource.com/c/chromium/src/+/602469
2018-06-19 11:49:43 +10:00
deepak1556
43ca4d5bfd Move HTTPBad flags into SSLStatus user data
https://chromium-review.googlesource.com/c/chromium/src/+/709458
2018-06-19 11:49:43 +10:00
deepak1556
3f7bb61b7f Convert base::UInt64ToString to base::NumberToString
https://chromium-review.googlesource.com/813101
2018-06-19 11:49:43 +10:00
deepak1556
39b30b76ea Printing: Remove PrintedPage on non-Windows
https://chromium-review.googlesource.com/c/chromium/src/+/804178
https://chromium-review.googlesource.com/c/chromium/src/+/770492
https://chromium-review.googlesource.com/c/chromium/src/+/704262
2018-06-19 11:49:42 +10:00
Aleksei Kuzmin
37d64e6a00 Update vendor/node ref
To get changes from
a635a8aa8f
2018-06-19 11:49:42 +10:00
Aleksei Kuzmin
4236c17654 Use native-mate from the Ch66 branch 2018-06-19 11:49:42 +10:00
Aleksei Kuzmin
24db18f34e Update libcc ref 2018-06-19 11:49:42 +10:00
deepak1556
405adb938b Permissions: Remove CONTENT_SETTINGS_TYPE_PUSH_MESSAGING
https://chromium-review.googlesource.com/c/chromium/src/+/758456
2018-06-19 11:49:42 +10:00
deepak1556
4068a62fa6 Define gfx::AcceleratedWidget to be uint64_t instead of NSView*
https://chromium-review.googlesource.com/c/chromium/src/+/792295
2018-06-19 11:49:42 +10:00
deepak1556
c4b8e106c0 Create network_converter for services/network/* types 2018-06-19 11:49:42 +10:00
deepak1556
f1e2304585 Remove OSCertHandle typedefs, use smart pointers for CRYPTO_BUFFER ownership.
https://chromium-review.googlesource.com/c/chromium/src/+/775540
2018-06-19 11:49:42 +10:00
deepak1556
77f427acc8 Check for key system support using new mojo service KeySystemSupport
https://chromium-review.googlesource.com/c/chromium/src/+/834764
2018-06-19 11:49:42 +10:00
Aleksei Kuzmin
e1f25253db REVIEW: Don't use removed and deprecated Value::To* APIs
See https://chromium-review.googlesource.com/848782 for removed APIs.
2018-06-19 11:49:42 +10:00
Aleksei Kuzmin
a218c9696c Fix error: no matching constructor for initialization of 'v8::TryCatch'
The deprecated constructor has been removed
in https://chromium-review.googlesource.com/848782
2018-06-19 11:49:42 +10:00
deepak1556
5df0362361 Remove obsolete ShouldHandleSystemCommands function.
https://chromium-review.googlesource.com/c/chromium/src/+/924315
2018-06-19 11:49:42 +10:00
deepak1556
2f7c413199 v8: set fatal error handler per isolate 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
ea7e273a06 gin: Make gin/ remember external reference table
https://chromium-review.googlesource.com/c/chromium/src/+/778741
2018-06-19 11:49:42 +10:00
deepak1556
383b21e20a Change calls to GeolocationProvider::UserDidOptIntoLocationServices() to occur via Mojo.
https://chromium-review.googlesource.com/c/chromium/src/+/760239
2018-06-19 11:49:42 +10:00
deepak1556
a5bdb8103b Remove invalid include headers 2018-06-19 11:49:42 +10:00
deepak1556
0cbffb15cc NetworkService: Implement URLLoader::OnAuthRequired
https://chromium-review.googlesource.com/c/chromium/src/+/938960
2018-06-19 11:49:42 +10:00
deepak1556
27cb84eee0 NetworkService: Implement URLLoader::OnCertificateRequested
https://chromium-review.googlesource.com/c/chromium/src/+/848303
2018-06-19 11:49:42 +10:00
deepak1556
b268e37663 Simplify ShouldInterceptResourceAsStream to remove unneeded code path.
https://chromium-review.googlesource.com/c/chromium/src/+/939857
2018-06-19 11:49:42 +10:00
deepak1556
c9f20516ac Make reading blobs work through Blob mojo interface.
https://chromium-review.googlesource.com/c/chromium/src/+/773199
2018-06-19 11:49:42 +10:00
deepak1556
a1683eb4e8 Give the JS dialog manager the alerting frame.
https://chromium-review.googlesource.com/c/chromium/src/+/928828
https://chromium-review.googlesource.com/c/chromium/src/+/791517
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
Samuel Attard
3da6450b0c Bump libcc to get builds 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
deepak1556
2047929cb5 Convert ax_enums.idl to mojom.
https://chromium-review.googlesource.com/c/chromium/src/+/877417
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
7732da41ba Revert "Revert "Add support for OOPIF printing in renderer""
https://chromium-review.googlesource.com/924566
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
93fc60720a Feature Policy Onion Soup (1)
https://chromium-review.googlesource.com/726343
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
bb150185ac Fix includes in AtomQuotaPermissionContext 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
Aleksei Kuzmin
4bb3e0da15 Rename buildflag_header targets in base for consistency
https://chromium-review.googlesource.com/930033
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
576bf8f6c0 Move resource_response.h to //services/network/public/cpp.
https://chromium-review.googlesource.com/865664
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
1a11bb936b ui::Display cleanup: some enums --> enum classes
https://chromium-review.googlesource.com/915211
2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
4602d940cf Add missing header 2018-06-19 11:49:41 +10:00
Aleksei Kuzmin
38f18d9aa2 FIXME: Disable OSR 2018-06-19 11:49:41 +10:00
deepak1556
b7bc3ec20d Update AtomBrowserClient::RenderProcessWillLaunch api
https://chromium-review.googlesource.com/c/chromium/src/+/742344
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
2c4bbacec1 Remove base::Value::GetType()
https://chromium-review.googlesource.com/718458
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
d3c6aa12d1 Remove AtomAccessTokenStore
Its a dummy class since chromium 63,
https://chromium-review.googlesource.com/c/chromium/src/+/708494
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
5e320994f4 Remove content/linux_sandbox dependence on content_switches.h
https://chromium-review.googlesource.com/734265
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
Aleksei Kuzmin
a315d6330c Remove base::Value::IsType
https://chromium-review.googlesource.com/659798
2018-06-19 11:49:40 +10:00
Aleksei Kuzmin
48c3340d95 Update the vendor/node reference 2018-06-19 11:49:40 +10:00
Aleksei Kuzmin
341f698ace Use latest libcc with Ch66 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
83632f15a9 Fix session restore with network service.
https://chromium-review.googlesource.com/c/chromium/src/+/818486
2018-06-19 11:49:40 +10:00
deepak1556
bbb2393031 Remove base::SizeTToString
https://chromium-review.googlesource.com/c/chromium/src/+/799550
2018-06-19 11:49:40 +10:00
deepak1556
c31d7ef70a Implement SpecialStoragePolicy::ShouldDeleteCookieOnExit
https://chromium-review.googlesource.com/c/chromium/src/+/926369
2018-06-19 11:49:40 +10:00
deepak1556
3666935c06 [DevTools] Make Inspect Element work for OOPIF
https://chromium-review.googlesource.com/c/chromium/src/+/881522
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
026e7bff40 Update NetworkDelegate
* Remove Deprecated OnResponseStarted.
  https://chromium-review.googlesource.com/c/chromium/src/+/763193
* Replace cookie lines with CanonicalCookie in CanSetCookie delegates.
  https://chromium-review.googlesource.com/c/chromium/src/+/775606
* Reporting: Check upload permissions asynchronously
  https://chromium-review.googlesource.com/c/chromium/src/+/937566
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
deepak1556
529ced80f2 Remove CancelRequest for PermissionManager
https://chromium-review.googlesource.com/c/chromium/src/+/876746
2018-06-19 11:46:59 +10:00
deepak1556
01fdfc4574 Remove Permission manager from brightray
Electron manages its own implementation, this was
missed out when merging the brightray/ component.
2018-06-19 11:46:59 +10:00
deepak1556
f6665edc73 Convert ColorChooser from ipc to mojo.
https://chromium-review.googlesource.com/c/chromium/src/+/800350
https://chromium-review.googlesource.com/c/chromium/src/+/821954
2018-06-19 11:46:59 +10:00
deepak1556
c29f08c53e DevTools: remove the 'forced' attribute from the AgentHostClosed in DevToolsAgentHost.
https://chromium-review.googlesource.com/c/chromium/src/+/745301
2018-06-19 11:46:59 +10:00
deepak1556
bf620363b9 Devtools: Remove session_id in browser
https://chromium-review.googlesource.com/c/chromium/src/+/866213
2018-06-19 11:46:59 +10:00
deepak1556
f32e59d4b2 Update devtools_file_system_indexer
* Switch DevToolsFileSystemIndexer to use SequencedTaskRunner
  https://chromium-review.googlesource.com/c/chromium/src/+/545200
* Remove dead code from devtools_file_system_indexer.cc
  https://codereview.chromium.org/2508443002
* Fix DCHECKs and a crash in DevToolsFileSystemIndexer
  https://chromium-review.googlesource.com/c/chromium/src/+/553958
* reset trigram cache when devtools window closes
  https://chromium-review.googlesource.com/c/chromium/src/+/969969
* Directly use base::File instead of FileProxy in DevToolsFileSystemIndexer
  https://chromium-review.googlesource.com/c/chromium/src/+/544793
2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
deb8cd458d Use latest libcc with Ch66 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
079e5df740 Adds ability for BrowserMainParts::PreEarlyInitialization() to fail
https://chromium-review.googlesource.com/862964
2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
2f11870970 Update Chrome version 2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
11b96c214d Use latest libcc with Ch66 2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
cb604026d6 DevTools: move remote debugging hosted URL to single location.
https://chromium-review.googlesource.com/905983
2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
8020cd9994 Use the same GOOGLE_PROTOBUF_* defines for "brightray" as for Electron 2018-06-19 11:46:59 +10:00
Aleksei Kuzmin
70cc5d87af ResourceBundle → ui::ResourceBundle
Fixes "error: use of undeclared identifier 'ResourceBundle';
did you mean 'ui::ResourceBundle'?".
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
Aleksei Kuzmin
5a2de2108e Add ".../third_party/protobuf/src" to the include_dirs list
Fixes "fatal error: 'google/protobuf/stubs/common.h' file not found".
2018-06-19 11:46:58 +10:00
Aleksei Kuzmin
c7691d8a40 Use latest libcc with Ch66 2018-06-19 11:46:58 +10:00
Aleksei Kuzmin
f5b68b8950 Update crashpad ref 2018-06-19 11:46:58 +10:00
Aleksei Kuzmin
260908cb06 Update Clang revision for Chromium 66
https://chromium.googlesource.com/chromium/src.git/+/66.0.3359.66/tools/clang/scripts/update.py#30
2018-06-19 11:46:58 +10:00
Aleksei Kuzmin
79010b9e06 Set CHROME_VERSION_STRING to 66.0.3359.66 2018-06-19 11:46:58 +10:00
Aleksei Kuzmin
06410202d0 Use latest libcc with Chromium 66.0.3359.66 2018-06-19 11:46:58 +10:00
Aleksei Kuzmin
0c0d31e13a Use the same Crashpad as Chromium 66.0.3359.66 2018-06-19 11:46:58 +10:00
Samuel Attard
17b5870ca1 Change node ref 2018-06-19 11:46:58 +10:00
Samuel Attard
72c7fe5e56 Bump chromium version 2018-06-19 11:46:58 +10:00
Samuel Attard
a9db673cdf Bump libcc 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
Shelley Vohr
adea26bd8f docs: update pr template with checklist (#13270)
This PR updates the Pull Request template so that contributors see a clearer checklist of items they need to complete in order to have a given PR reviewed and landed.
2018-06-18 13:58:30 -07:00
Shelley Vohr
b4cce8e240 spec: convert IAP and GC specs to expect (#13272)
* spec: convert IAP and GC specs to expect

* address review
2018-06-18 09:50:37 -07:00
Shelley Vohr
c65844a7d0 address review feedback 2018-06-18 08:56:24 -07:00
Zeke Sikelianos
994f613450 Merge pull request #13099 from electron/breaking-changes
docs: improve breaking API changes docs
2018-06-18 08:52:53 -07: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
Shelley Vohr
314071d79f feedback from review 2018-06-18 08:12:54 -07:00
Shelley Vohr
fe94bf7c1d spec: convert dialog spec to expect (#13271) 2018-06-18 07:56:03 -07:00
John Kleinschmidt
78e199b5d7 Merge pull request #13187 from LostPlayer99/patch-1
docs: update bluetooth example
2018-06-18 09:16:54 -04:00
Cheng Zhao
a564744cd0 Merge pull request #13110 from electron/entry-and-button
feat: add TextField and Button APIs
2018-06-18 18:29:35 +09:00
Cheng Zhao
18dde0a0bd load all pak files on macOS 2018-06-18 16:51:36 +09: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
Shelley Vohr
2c2e8317de spec: convert desktop capturer to expect 2018-06-17 16:00:28 -07:00
Shelley Vohr
4dec5ec5f9 spec: update browser-view spec to expect (#13238)
* spec: update browser-view spec to expect
2018-06-17 15:56:04 -07:00
Shelley Vohr
79c2d22c25 remove assert require 2018-06-17 15:37:16 -07:00
Shelley Vohr
8d5fc61c12 spec: update browser-window-affinity spec to expect (#13239)
* spec: update browser-window-affinity spec to expect

* final cleanup
2018-06-17 15:36:30 -07:00
Shelley Vohr
e023035393 spec: convert debugger spec to expect 2018-06-17 15:35:24 -07:00
Shelley Vohr
c5c571f8ec spec: update callback registry spec to expect (#13263)
* spec: update callback-reg-spec to sexpect

* remove stray only

* remove redundant assertions
2018-06-17 15:08:17 -07:00
Shelley Vohr
0ef0e69f03 spec: convert clipboard spec to use expect (#13266) 2018-06-17 14:47:51 -07:00
Shelley Vohr
a0d252870c spec: update auto-updater spec to expect (#13237)
* spec: update auto-updater to expect
2018-06-16 00:28:28 -07:00
Michael Khalil
ef1e2d6fe0 fix: tray title not inverting when highlighted (#13085) 2018-06-16 16:24:26 +10:00
az-chris
83dc8cc13b docs: update remote.md (#13229)
* Update remote.md

Addressing Issue #9421

* Minor copyediting
2018-06-16 16:21:07 +10:00
Vlad Hashimoto
a67c992c36 docs: fix broken link to commit message guidelines (#13233)
* docs: fix broken link  to commit message guidelines

* Fix another broken links
2018-06-15 19:43:03 -05:00
Felix Rieseberg
1647c12c73 📝 Make appUserModelId requirement clearer (#13259) 2018-06-15 19:32:19 -05:00
Milan Burda
c4942d931c Add FILE_DIALOG_TREAT_PACKAGE_APP_AS_DIRECTORY to web open file dialog (#13220) 2018-06-15 15:51:38 -05:00
Charles Kerr
2d15b8fe78 change c++ std from gnu++14 to c++14 (#13248) 2018-06-15 11:12:49 -05:00
John Kleinschmidt
fa79b40946 Merge pull request #13241 from electron/test-releases
spec: run tests on release builds
2018-06-14 15:14:02 -04:00
Shelley Vohr
91559191c9 spec: update app spec to assert (#13155)
* convert app spec from assert to expect and add dirty-chai
2018-06-14 09:44:27 -07:00
John Kleinschmidt
832b5a36fa Add slack notifications 2018-06-14 11:12:35 -04:00
John Kleinschmidt
38ebf5ac9f Run tests on release builds
Also, added ability to call VSTS release builds via API.
2018-06-14 09:42:55 -04:00
Alexey Kuzmin
6a59b37bea spec: better texts for the Crash Reporter tests (#13227)
* Better failure messages for a Crash Reporter test

* Add a TODO
2018-06-14 19:24:28 +10:00
Alexey Kuzmin
dee9aef975 Add "enable_desktop_capturer" build flag (#13133)
* Make it possible to disable a module for a renderer

* Put DesktopCapturer API under a build flag

The name is "enable_desktop_capturer".
Enabled by default.
2018-06-13 11:15:34 -05: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
Mateus Silva
1b3cd01851 Doc: Delete unnecessary require and update flag name 2018-06-12 20:17:16 +01:00
John Kleinschmidt
fa1a5f2a42 Merge pull request #13215 from electron/add-space
chore: add space in TLS version check log
2018-06-11 09:35:20 -04:00
Samuel Attard
fc1469175b chore: add space in log 2018-06-11 18:23:59 +10:00
Milan Burda
6ad0a22602 Add process.getHeapStatistics() (#13183) 2018-06-10 22:00:36 +10:00
Mateus Silva
370d790776 Doc: Update bluetooth example
Update event select-bluetooth-device example documentation.
2018-06-07 20:29:20 +01:00
mdpetuum
1b8790aeb2 fix: tray icon bounds didn't allow negative macOS (#13162) 2018-06-07 18:48:39 +02:00
Charles Kerr
828545c128 Merge pull request #13142 from pravdomil/patch-1
docs: clarify docs
2018-06-03 09:58:05 +02:00
pravdomil
fd6eeed5c4 clarify docs 2018-06-02 20:41:19 +02:00
Charles Kerr
6301582e77 Merge pull request #13124 from nornagon/node-configure
refactor: [gn] Build node by calling ./configure
2018-06-01 20:39:23 +02:00
Alexey Kuzmin
0d5e98a201 Slightly rewrite <webview> tag tests (#13122) 2018-06-01 10:56:48 +02:00
Jeremy Apthorp
4321db401c Build node by calling ./configure 2018-05-31 11:18:26 -07:00
Charles Kerr
c7d1f95240 Merge branch 'master' into breaking-changes 2018-05-31 12:12:02 +02:00
John Kleinschmidt
1eddb5cf98 Merge pull request #13052 from electron/fix-vs2017-release
build: update copy_vcruntime_binaries for VS2017
2018-05-30 10:46:40 -04: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
Zeke Sikelianos
cb9ab213bb Merge pull request #13005 from nornagon/gn-docs
docs: dev instructions for GN build
2018-05-29 15:17:16 -07:00
Zeke Sikelianos
326e379154 Merge pull request #13103 from dsandler/patch-1
fix: link to macOS notifications HIG
2018-05-29 15:14:19 -07:00
John Kleinschmidt
8a15231475 Update copy_vcruntime_binaries for VS2017 2018-05-29 17:25:47 -04:00
Jeremy Apthorp
886230f64f Roll libchromiumcontent (#13105) 2018-05-29 13:07:14 -07:00
Charles Kerr
d907f43e6e Merge pull request #13101 from electron/deprecate-property
feat: add deprecate.property()
2018-05-29 12:09:32 -05:00
Shelley Vohr
d40cce92bf remove deprecated signature tests 2018-05-29 11:42:03 -04:00
Dan Sandler
442ec7113e Fix link to macOS notifications HIG 2018-05-29 11:16:26 -04:00
Shelley Vohr
2660859434 update signature for setCertificateVerifyProc in session spec 2018-05-29 10:54:27 -04:00
Charles Kerr
6935addd38 fix: remove unused variable 2018-05-29 16:14:21 +02:00
Charles Kerr
2275625e1a feat: warn if deprecated property is already set 2018-05-29 15:58:02 +02:00
Charles Kerr
61fac1bbc1 test: add tests for deprecate.property() 2018-05-29 15:40:48 +02:00
Charles Kerr
0a614217ce feat: re-add deprecate.property() 2018-05-29 15:40:19 +02:00
Charles Kerr
57cda797f3 docs: copyediting of breaking-changes.md
Tweak the phrasing of sections' introductions
2018-05-29 11:42:20 +02:00
Charles Kerr
b0f1b5f65b Modify 2.0 section's phrasing to use past tense 2018-05-29 11:37:42 +02:00
Charles Kerr
b621321ea0 Re-add missing section 2018-05-29 11:24:39 +02:00
Charles Kerr
066b92c7cd docs: re-document the 2.0 breaking API changes 2018-05-29 11:23:28 +02:00
Charles Kerr
57ad506cde Reorder the version sections newest-to-oldest
This puts 4.0 before 3.0, making room to re-add
the 2.0 changes back in at the end of the file.
2018-05-29 11:17:26 +02:00
Charles Kerr
7f64dbc1ba Make FIXME and API Contract their own H1 sections
Previously they were inside the 3.0 section,
which doesn't really make sense
2018-05-29 11:15:30 +02:00
Charles Kerr
e943cce125 docs: tweak phrasing 2018-05-29 11:10:23 +02:00
Charles Kerr
ac03b81624 docs: add breaking-changes to README 2018-05-29 11:08:49 +02:00
Charles Kerr
bb4979a82e docs: move breaking-changes to api 2018-05-29 11:06:56 +02:00
hkhere
0f1fcc3f4b docs: fix a typo in remote.md (#13084) 2018-05-29 03:14:06 -05:00
Maksym Dogadailo
562831ec1a fix tls script path in documentation (#13089) 2018-05-29 03:12:27 -05: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
Sven Hüster
ec44fb79d8 updated path to widevine libraries on windows (#13063) 2018-05-28 16:11:51 +09:00
Mikael Finstad
86fcdd0bae docs: Simplify loading of html in example (#13013)
* Simplify loading of html

See new api: https://github.com/electron/electron/pull/11565

* Update first-app.md

* Update first-app.md
2018-05-25 13:05:15 -07:00
Shelley Vohr
104fa96d4d fix options switch for kBlinkFeatures 2018-05-25 11:13:15 -07:00
Shelley Vohr
8bb7525fe0 fix missing instance of kBlinkFeatures => kEnableBlinkFeatures 2018-05-25 11:12:40 -07:00
Shelley Vohr
b7e245aba1 remove atom_api_screen_mac from filenames.gypi 2018-05-25 11:01:05 -07:00
Shelley Vohr
265aa3da29 docs: deprecate UploadFileSystem (#13064)
Deprecate UploadFileSystem in preparation for its being phased out completely in Chromium 66 and correspondingly Electron 4.0.0.
2018-05-25 10:50:27 -07:00
Shelley Vohr
5beadd90ee update electron-typescript-definitions to 1.3.5 2018-05-25 10:41:26 -07:00
Zhuo Lu
fd25f594cd Do not capture cookies and credentials (#13065) 2018-05-24 14:46:54 -07:00
John Kleinschmidt
01a9b32637 Merge pull request #13066 from barinali/fix/dock-link
fix: Update broken dock link in app doc
2018-05-24 16:06:38 -04:00
John Kleinschmidt
46ed623dad Merge pull request #13067 from electron/docs--fix-wrapping-of-welcome-comment
fix wrapping of welcome comment
2018-05-24 16:05:43 -04:00
Zeke Sikelianos
de30defb62 docs: fix wrapping of welcome comment 2018-05-24 12:25:46 -07:00
Ali BARIN
b0b31e67da fix: Update broken dock link in app doc 2018-05-24 21:21:08 +02:00
Jeremy Apthorp
8ea864d6eb docs: dev instructions for GN build 2018-05-24 11:46:35 -07:00
John Kleinschmidt
8bf7ec0c21 Merge pull request #13058 from electron/symserver-posix
Update upload symbols script for posix
2018-05-24 14:10:08 -04:00
Milan Burda
4cfe5ecaa4 add proper support for typed arrays in remote (#13055) 2018-05-24 21:05:46 +09:00
Cheng Zhao
a798a40026 Merge pull request #13044 from electron/more-view-apis
Add layout support for View API
2018-05-24 16:34:03 +09: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
Nitish Sakhawalkar
55c8aa7f1c Update upload symbols script for posix 2018-05-23 23:16:03 -07:00
Shelley Vohr
322a303683 address changes from review 2018-05-23 15:57:58 -07:00
Shelley Vohr
5f5322c64e rename blinkFeatures to enableBlinkFeatures 2018-05-23 14:01:34 -07:00
Shelley Vohr
bc10be3de6 rename exposed session method to setCertificateVerifyProc 2018-05-23 13:51:28 -07:00
Shelley Vohr
fb4a8e9cb9 remove ses.setCertificateVerifyProc() deprecation 2018-05-23 09:47:14 -07:00
Shelley Vohr
22fed0c798 remove nativeImage.createFromBuffer() deprecation 2018-05-23 09:43:58 -07:00
Shelley Vohr
94e825378c remove webFrame.registerURLSchemeAsSecure() deprecation 2018-05-23 09:33:57 -07:00
Shelley Vohr
4a90056462 remove webContents.openDevTools() deprecation 2018-05-23 09:30:15 -07:00
Shelley Vohr
3deffa859d remove appcommand media-play_pause option deprecation 2018-05-23 09:24:32 -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
Shelley Vohr
cc30f4c4fd remove crashReporter deprecation 2018-05-23 09:07:14 -07:00
Shelley Vohr
438ac61ff7 remove clipboard deprecations 2018-05-23 09:04:39 -07:00
John Kleinschmidt
b3edfd7d89 Merge pull request #13042 from electron/nightly-release-builds
Updated CI configs for nightly release builds
2018-05-23 10:49:23 -04:00
John Kleinschmidt
6dff60b899 Updated CI configs for nightly builds
Add timestamp to s3 uploads
2018-05-23 10:23:28 -04:00
Aleš Pergl
93bee69266 Remove command line argument black-list (#13039)
* Remove command line argument black-list

Instead block all arguments following a URL.

* Updated tests
2018-05-22 11:51:03 -05:00
John Kleinschmidt
c320da5ec8 Merge pull request #13030 from electron/miniak/member-init
Refactoring: use C++11 class member variable initialization
2018-05-22 10:34:12 -04:00
Shelley Vohr
560c0e72e6 Fix vulnerabilities both top-level and in spec (#13029)
* fix dependency vulnerabilities

* fix vulnerabilities in spec
2018-05-21 21:15:18 -07:00
Milan Burda
2337237d58 Refactoring: use C++11 class member variable initialization 2018-05-22 00:18:38 +02:00
John Kleinschmidt
ee57c95aa6 Merge pull request #12999 from electron/miniak/native-mate
Bump vendor/native_mate
2018-05-21 14:16:53 -04:00
John Kleinschmidt
42ec7b317f Add a tag to libchromiumcontent when a release is created. (#12977) 2018-05-21 13:03:23 -05:00
Thiago de Arruda
6f076f7433 Refactor sandbox preload initialization. (#12877)
Use a single synchronous IPC call to retrieve data required by early
sandbox scripts. This has two purposes:

- Optimize preload script initialization by:
  - Using one synchronous IPC call to retrieve preload script,
  webContentsId (more on that later), process.{platform,execPath,env}
  - Lazy loading as many modules as possible.
- Fix #12316 for sandbox. @MarshallOfSound addressed the issue in
  #12342, but it was still present in sandbox mode. By loading
  webContentsId very early and skipping remote module at early
  startup, we fix it for sandbox.
2018-05-21 22:56:05 +10:00
Cheng Zhao
ef7947d176 Merge pull request #12995 from electron/web-contents-view-tests
Fix crashes and add tests for View API
2018-05-21 14:36:53 +09:00
Cheng Zhao
595b0663b2 WebContents may be managed by multiple owners 2018-05-21 10:53:09 +09:00
Cheng Zhao
300c7a4b04 add tests for View and WebContentsView 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
aeeb2a259f destruct objects in stack order 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
htk3
7c2303c758 Correct app-command name of APPCOMMAND_MEDIA_PLAY_PAUSE (#12408)
* correct app-command name

* add compatibility with old app-command name

* add temporary compatibility with old app-command name

* add a comment saying that media-play_pause is deprecated

* fix lint
2018-05-21 10:52:04 +09:00
Nitish Sakhawalkar
b842a4b133 update mac symbol dump (#12982)
* Update mac symbol dump

Update posix generate_breakpad_symbols.py file to use argparse instead of deprecated optparse.
Also, make changes to the posix generate_breakpad_symbols.py file to accept multiple binaries.
And update dump-symbols.py to get symbols for the mac helper app as well.

* Changes to appease the linter
2018-05-21 10:01:17 +09:00
Milan Burda
7c19ae302e replace isEventEmitter with instanceof EventEmitter (rpc-server) (#12998) 2018-05-21 10:00:56 +09:00
Heilig Benedek
8b2bffcf9e Only expand maximum size constraint if there was a constraint originally (#13003) 2018-05-21 10:56:45 +10:00
Jeremy Apthorp
156a97b80d fix: Menu.setApplicationMenu(null) crash on Linux (#12983) 2018-05-18 10:29:28 -07:00
Milan Burda
a0a5e4abb2 Bump vendor/native_mate 2018-05-18 16:30:20 +02:00
John Kleinschmidt
91173320e6 Merge pull request #12987 from electron/fix-arm-release-build
Fix ARM Release build
2018-05-18 08:17:06 -04:00
Felix Rieseberg
f087f8e205 docs: Document missing quit events during shutdown (#12986)
* docs: Document missing events during shutdown
2018-05-18 07:27:44 -04:00
John Kleinschmidt
7177e941eb Merge pull request #12993 from electron/electron-download-4.x
feat: upgrade electron-download to 4.x
2018-05-18 07:20:42 -04:00
John Kleinschmidt
3fbc3869dc Merge pull request #12991 from electron/drop-arm-alias-builds
build: don't upload aliased arm builds anymore
2018-05-18 07:19:17 -04:00
Mark Lee
cda13e5e79 feat: upgrade electron-download to 4.x
This is a breaking change, as it causes the `electron` module to require
Node 4.x (which has been EOL'd anyway).

Upgrading adds features such as a customizable cache location (via the
`ELECTRON_CACHE` environment variable).

Originally merged in https://github.com/electron/electron/pull/10922 but
was reverted because it was going into a version of Electron that did
not allow breaking changes.
2018-05-17 23:16:27 -07:00
Mark Lee
022ffe69e0 Don't upload aliased arm builds anymore
They are literally a copy/paste of the armv7l builds, and have been
deprecated ever since they were renamed 2 years ago.
2018-05-17 22:22:46 -07:00
Milan Burda
5a5eb43359 detect EventEmitter in removeRemoteListenersAndLogWarning (#12975) 2018-05-18 11:09:25 +09:00
Cheng Zhao
5f461cd5cd fix release build on arm 2018-05-18 10:50:31 +09:00
Milan Burda
850051463b don't use native_mate/compat.h macros (#12984) 2018-05-18 09:08:28 +09:00
Cheng Zhao
ddec87224c Merge pull request #34 from electron/remove-compat
Remove native_mate/compat.h
2018-05-18 09:07:24 +09:00
Milan Burda
d7b8cce162 Remove native_mate/compat.h 2018-05-17 23:39:40 +02:00
Shelley Vohr
83993fede8 update locale documentation (#12967) 2018-05-17 10:34:54 -07: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
Shelley Vohr
f068ed9ee7 fix docs formatting for ts defs (#12968) 2018-05-16 14:59:44 -07:00
Felix Rieseberg
e8735cc005 docs: Document Python TLS requirements (#12276)
* 🔧 Add simple test script

* 📝 Add documentation

* 🔧 It works, use it

* 🔧 Make the linter happy

* 🔧 Check on bootstrap

* Trivial copyediting

s/operation system/operating system/
2018-05-16 14:19:49 -07:00
Jeremy Apthorp
b160093b91 refactor: GN builds on linux (#12957) 2018-05-16 12:51:11 -07:00
Jeremy Apthorp
da0fd10423 refactor: chromium-style warnings in linux code (#12949) 2018-05-16 14:12:45 -05:00
Mod John
2a161e1725 Fix broken link (#12387)
* Fix broken link

Link was producing a 404 error as the file no longer exists. Wasn't sure where this intended link used to go so took a guess at a appropriate target.

* Update quick-start.md
2018-05-16 10:23:46 -07:00
John Kleinschmidt
04855bc499 Merge pull request #12921 from electron/commit-package-lock
Add package-lock.json
2018-05-16 11:47:21 -04:00
John Kleinschmidt
2b26206ea2 Merge pull request #12844 from didrocks/fix-communitheme-session
fix: support multiple inherited ubuntu session for indicators
2018-05-16 11:44:04 -04: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
John Kleinschmidt
e1c374de6e Merge pull request #12954 from electron/web-dialog-helper
Fix empty description when only one extension is given (GetFileTypesFromAcceptType)
2018-05-16 10:15:54 -04:00
Didier Roche
6feec2e2a5 Fix linting error
Thx @MarshallOfSound
2018-05-16 14:34:13 +02:00
Milan Burda
211d7825d3 feat: DIP <-> screen coordinate conversions (#12879) 2018-05-16 18:34:09 +09:00
Milan Burda
9d9d6ca20b Fix empty description when only one extension is given 2018-05-16 01:58:58 +02:00
Jeremy Apthorp
73eb5af2cc refactor: remove unnecessary std::moves in linux code (#12951)
The compiler was complaining that the move was preventing copy elision.
2018-05-15 14:33:47 -07:00
Jeremy Apthorp
8fa48d1c04 fix: unused variable warnings in linux code (#12950) 2018-05-15 13:49:27 -05:00
Jeremy Apthorp
c4134c3516 refactor: breakpad #includes to work with GN and GYP (#12953) 2018-05-15 11:33:19 -07:00
Jeremy Apthorp
136105e353 fix: wrong list index type in file_dialog_gtk.cc (#12952) 2018-05-15 13:22:52 -05:00
Jeremy Apthorp
0fb6dc79d8 Merge pull request #12948 from nornagon/node-config
[gn] Include node/common.gypi when building node
2018-05-15 10:42:29 -07:00
Jeremy Apthorp
7a36322432 [gn] Include node/common.gypi when building node
Not sure how this ever worked, but the GN build certainly doesn't work
on Linux without this.
2018-05-15 09:53:24 -07:00
Milan Burda
6a4d9309b2 Remove unnecessary heap allocations of atom::V8ValueConverter instances (#12924) 2018-05-15 09:21:23 -05:00
Cheng Zhao
9fc6b9dda2 Merge pull request #12858 from electron/api-view
Refactor NativeWindow (Part 13): Add View and WebContentsView APIs
2018-05-15 22:05:27 +09:00
Cheng Zhao
2f3fcb9dbe give window a default content view
Certain APIs are expecting the window to have a content view, having a
default one simplifies our design.
2018-05-15 14:12:47 +09:00
Cheng Zhao
ea97f43145 check content view in SetMenuBarVisibility 2018-05-15 14:12:47 +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
Cheng Zhao
874af5c982 Merge pull request #12837 from nornagon/build-gn
GN build
2018-05-15 14:02:51 +09:00
Milan Burda
56cdf94f95 Fix contents.setSize(options) documentation in web-contents.md (#12922) 2018-05-15 10:17:04 +10:00
Alexey Kuzmin
fc34076c2b Refactor <webview> tag tests (#12886) 2018-05-14 17:00:49 -05:00
John Kleinschmidt
cc2cd95ec5 Release updates in prep for 3-0-x releases (#12916)
* Add autorelease logic

* Fix UnboundLocalError when using s3 upload
2018-05-14 16:21:51 -05:00
Thiago de Arruda
54a506c8eb Add package-lock.json
In order to have 100% reproducible builds, Electron needs
package-lock.json. This is necessary because some dependencies affect
the build output (browserify for example, is used to generate the common
js environment for sandboxed renderers).
2018-05-14 15:23:52 -03:00
Alexey Kuzmin
d5dfb19508 Update some tests (#12917)
* Use Chai for webview tests

* Slightly rewrite one of the <webview> tests

"dom-ready event" > "throws a custom error..."

* Use Chai for BrowserWindow tests

* Rewrite BrowserWindow.addDevToolsExtension tests
2018-05-14 13:17:31 -05:00
John Kleinschmidt
fe7947da90 Merge pull request #12805 from electron/update-blacklist-switches
update command-line backlist switches
2018-05-14 13:31:26 -04:00
John Kleinschmidt
14f4108e55 Merge pull request #12912 from chicoxyzzy/patch-1
Update installation instructions
2018-05-14 13:30:49 -04:00
John Kleinschmidt
6248aaf8dd Merge pull request #12913 from electron/update-libcc-ref
Update vendor/libchromiumcontent ref
2018-05-14 10:50:27 -04:00
John Kleinschmidt
0fd8513c80 Merge pull request #12904 from electron/fix-12875
Allow frameless transparent windows to be sized smaller than 64x64 on Windows
2018-05-14 10:46:40 -04:00
Aleksei Kuzmin
aec3c3fb66 Update vendor/libchromiumcontent ref 2018-05-14 14:18:58 +02:00
Sergey Rubanov
5d3692c16f Update installation instructions 2018-05-14 14:06:22 +03:00
Didier Roche
5df0fd9dc8 fix: more scalable code by factorizing appindicator support
- introduce a currentPlatformSupportsAppIndicator() function determining
  if app indicators are supported here.
- handle undefined process.env.XDG_CURRENT_DESKTOP
- added some comments to ensure that the intents are clear
Thanks MarshallOfSound
2018-05-14 11:00:41 +02:00
Heilig Benedek
ce8af7d499 #else instead of #elif 2018-05-12 22:05:25 +02:00
Heilig Benedek
c6bf39b283 Only include windows headers on windows 2018-05-12 21:33:47 +02:00
Heilig Benedek
f1fd457411 Format code with clang-format 2018-05-12 19:51:19 +02:00
Heilig Benedek
eae0674f61 Match chromium's workaround when setting size of unresizable windows 2018-05-12 17:37:31 +02:00
Samuel Attard
0bb29e092d fix: update docs for the ts parser (#12902) 2018-05-12 18:12:28 +10:00
John Kleinschmidt
bbba9ff906 Merge pull request #12900 from electron/make-httpReferrer-docs-consistent
fix broken doc errors
2018-05-11 14:57:22 -04:00
Charles Kerr
c2282ce4bd remove accidentally-commited changes 2018-05-11 13:33:27 -05:00
Charles Kerr
5354e804d0 Fix oops: remove duplicate doc from last commit 2018-05-11 13:27:35 -05:00
Charles Kerr
bdae243552 Reinstate docs for app.makeSingleInstance()
Since this method is mentioned in breaking-changes.md, we need
the docs to prevent create-typescript-definitions from failing with
"error TS2339: Property 'makeSingleInstance' does not exist on type 'App'."

The reinstated docs are marked with deprecation warnings
that refer the reader to the new API calls.
2018-05-11 13:17:11 -05:00
John Kleinschmidt
8a69a09868 Merge pull request #12896 from electron/remove-chai-as-promised-from-top-level-package-json
Remove chai-as-promised from the top-level package.json
2018-05-11 14:13:03 -04:00
Charles Kerr
13877ce2c8 Fix routingId type
Previous phrasing confused electron-typescript-definitions,
thinking that routingId was of type `unique` 😃
2018-05-11 13:05:05 -05:00
Charles Kerr
8acbfca06b Make Referrer.policy types parseable by e-t-d 2018-05-11 12:40:46 -05:00
Charles Kerr
cf6d36cb72 Consistent docs for LoadURLOptions.httpReferrer 2018-05-11 12:18:38 -05:00
John Kleinschmidt
e79751c8d4 Merge pull request #12892 from electron/skip_pdf_resource
build: don't ship pdf_viewer_resources.pak when feature flag is disabled
2018-05-11 11:46:45 -04:00
Charles Kerr
2c87dfef8a add fs-extra devDependency to spec 2018-05-11 10:36:25 -05:00
Aleksei Kuzmin
8f7a0ca90c Remove chai-as-promised from the top-level package.json
It's a tests dependency and its already present in spec/package.json.
2018-05-11 18:11:46 +03:00
deepak1556
3c76cc21ec build: don't ship pdf_viewer_resources.pak when feature flag is disabled 2018-05-11 16:00:43 +05:30
Jeremy Apthorp
9aa18d29a5 Merge pull request #12885 from nornagon/is-desktop-unity
Don't declare IsDesktopEnvironmentUnity on non-Linux
2018-05-10 14:41:29 -07: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
3090550e53 Merge pull request #12882 from nornagon/gn-includes
Fix up #includes to work with both GYP and GN
2018-05-10 14:10:12 -07:00
Jeremy Apthorp
f2b1b3f6b8 Add GN build 2018-05-10 14:03:02 -07:00
Jeremy Apthorp
26f5390ac0 Don't declare IsDesktopEnvironmentUnity on non-Linux 2018-05-10 13:59:48 -07:00
Jeremy Apthorp
73ac019882 Fix up #includes to work with both GYP and GN 2018-05-10 13:38:40 -07:00
Zeke Sikelianos
1cc5492784 Merge pull request #12870 from electron/remove-macci-refs
Remove references to no longer used https://mac-ci.electronjs.org
2018-05-09 22:25:57 -07:00
John Kleinschmidt
fd8e330760 Remove references to no longer used https://mac-ci.electronjs.org 2018-05-09 16:41:24 -04:00
Shelley Vohr
daf75dd375 add app.isPackaged (#12656)
* add isPackaged method

* add false test case for app.isPackaged()

* document add.isPackaged()

* check isPackaged() without fs call

* convert to non-method property

* document app.isPackaged as a property

* update tests for app.isPackaged

* remove unused fs require

* clarify docs for isPackaged()
2018-05-07 23:15:31 -07:00
Charles Kerr
4d078fdb03 Remove more words (#12852)
* remove 'basically' from docs

* remove 'simply' from docs

* remove most uses of 'just' from docs
2018-05-08 00:16:09 -05:00
biuuu
86d023b02f fix: listeners out of limit warning (#12841)
When the Chrome Extension has too many content scripts (above default
10 counts), there will be a warning: possible EventEmitter memory leak
detected. 11 listeners added.
2018-05-08 14:10:11 +09:00
John Kleinschmidt
c13d1e8ae6 Merge pull request #12847 from electron/friendly-docs
Remove judgmental docs terms
2018-05-07 12:41:17 -04:00
Shelley Vohr
82dd5fee12 Update issue templates (#12848)
Move to prescribed templates for bugs and features
2018-05-07 09:30:44 -07:00
John Kleinschmidt
428f10f9ee Merge pull request #12532 from electron/native-arm-mksnapshot
Add native arm/arm64 mksnapshot
2018-05-07 11:48:53 -04:00
Shelley Vohr
52e3d5e4f0 remove some beginner-unfriendly terms from docs 2018-05-07 08:46:14 -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
Didier Roche
811ae1a936 Support multiple inherited ubuntu session for indicators
Multiple sessions inherits the "ubuntu" base settings properties in ubuntu.
One of the most popular one is communitheme: the next ubuntu default theme
has its dedicated session, with thus duplicated indicators for dropbox.
Rather than a string comparison for ubuntu, only match a substring then.
XDG_CURRENT_DESKTOP can be of form: "communitheme:ubuntu:GNOME",
"ubuntu:GNOME", …
Fixes: #12843.
2018-05-07 11:49:37 +02:00
Shelley Vohr
9c8952aef0 Add menu item order control (#12362)
Add four new optional properties to menus in Electron. The four properties are:
'before'
'after'
'beforeGroupContaining'
'afterGroupContaining'

'before/after' - provides a means for a single context menu item to declare its placement relative to another context menu item. These also imply that menu item in question should be placed in the same “group” as the item.

'beforeGroupContaining/afterGroupContaining - provides a means for a single menu item to declare the placement of its containing group, relative to the containing group of the specified item.
2018-05-05 09:37:29 -07:00
Jeremy Apthorp
118da36b52 Send document-start/end to the right context when contextIsolation=true (#12738) 2018-05-04 23:39:54 -07:00
John Kleinschmidt
022b6973b2 Merge pull request #12836 from electron/revert-12833-update-templates
Revert "Update issue templates"
2018-05-04 17:17:40 -04:00
Shelley Vohr
7aa101ba8b Revert "Update issue templates (#12833)"
This reverts commit dac584f7d6.
2018-05-04 13:54:07 -07:00
Shelley Vohr
dac584f7d6 Update issue templates (#12833)
Move to prescribed templates for bugs and features
2018-05-04 13:51:12 -07:00
Milan Burda
48fe013549 Expose events (EventEmitter) to sandboxed renderer (#12828) 2018-05-04 09:51:32 -07:00
Shelley Vohr
f67c625e6a don't filter out invisible menu separators (#12825) 2018-05-04 07:59:40 -07:00
Jeremy Apthorp
b280ea5579 chromium-style fixes (#12826) 2018-05-03 23:45:12 -07:00
Cheng Zhao
7be30bb249 Merge pull request #12787 from electron/mac-content-view
Refactor NativeWindow (Part 12): Do not use custom content view on macOS
2018-05-04 12:48:15 +09:00
Milan Burda
9b56ca3961 Fix optimizeSimpleObject for arrays of objects (#12815) 2018-05-03 22:34:30 -05:00
Cheng Zhao
a2c3db666e viewDidMoveToSuperview may not be implemented 2018-05-04 09:55:09 +09:00
Cheng Zhao
5547df6073 report correct content size in AtomNSWindow
The views framework relies on NSWindow to return content size of window,
since we don't use the borderless window, the original result would
include titlebar. We have to override the function to return correct
result for frameless window.
2018-05-04 09:55:09 +09:00
Cheng Zhao
28fc58067b remove usage of FullSizeContentView 2018-05-04 09:55:09 +09:00
Cheng Zhao
a9709a635c display WebContents as views::View on macOS 2018-05-04 09:55:09 +09:00
Cheng Zhao
ada884a129 refactor: setup contentView on initialization 2018-05-04 09:55:09 +09:00
mikeykhalil
3aba515bbc update docs for getIgnoreDoubleClickEvents method 2018-05-03 13:49:33 -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
664e14b91f fixed typo found in code review 2018-05-03 13:49:32 -07:00
mikeykhalil
e1dcd79e48 updated Tray API docs to include new setIgnoreDoubleClickEvents method 2018-05-03 13:49:32 -07:00
mikeykhalil
1f29124d11 updated Tray API to ignore double click events on macOS (#8952) 2018-05-03 13:49:32 -07:00
Zeke Sikelianos
a08b4f780c Merge pull request #12822 from stephanwlee/stephanwlee-patch-1
Fix the type information in in-app-purchase.md
2018-05-03 10:05:00 -07:00
Stephan Lee
6646ef71da docs: fix the type information in in-app-purchase
Method returns Boolean, Manually confirmed the
correctness by running `npm run create-api-json`.
2018-05-03 09:34:21 -07:00
Alexey Kuzmin
3fd0ec99ae Better OSR tests (#12817)
* Add features.isOffscreenRenderingEnabled()

* Use .isOffscreenRenderingEnabled() to determine if OSR is available

* Add a helper closeTheWindow() function

* Skip OSR tests if they are disabled
2018-05-03 11:10:25 -05:00
Charles Kerr
0a2dc1efb0 fix: lint is a devDependency, not a dependency (#12818) 2018-05-03 08:43:40 -07:00
Jeremy Apthorp
cdc5022305 Fix chromium-style errors (#12802) 2018-05-03 09:04:22 -05:00
Rahat Ahmed
5ba9f6a966 docs: Fix typo in transaction.md (#12804) 2018-05-03 00:01:49 -05:00
David Chawei Hsu
091ddb3c34 Fixed several broken links to the sections (#12797) 2018-05-02 21:51:37 -05:00
Charles Kerr
1b8b73ce71 update command-line backlist switches
part of the diff comes from the fact that we've bumped
to a new version of libcc.

another part comes from adding network_switch_list.h, whose
switch definitions follow a slightly different format.
2018-05-02 20:58:22 -05:00
Tim Fish
82329124ff Fixes #12710 (#12786) 2018-05-02 12:19:52 -04:00
Zeke Sikelianos
36c4519d7e Merge pull request #12781 from electron/more-code-signing
More code signing docs
2018-05-02 08:39:03 -07:00
Charles Kerr
c81dac774a Fix some broken documentation links (#12794) 2018-05-02 10:33:07 -05:00
Zeke Sikelianos
1957eb9429 summarize semantic commit requirements (#12665)
* summarize semantic commit requirements

* move semantic commit details into contributing docs

* keep those messages short
2018-05-02 09:47:26 -05:00
Samuel Attard
63d670c286 explain platform differences in code signing 2018-05-02 11:52:52 +10:00
Samuel Attard
94e6be6cae more code signing docs 2018-05-02 11:12:15 +10:00
Zeke Sikelianos
f1c7df8c28 add code signing tutorial (#12767)
* docs: add code signing tutorial

* docs: link to code signing tutorial from readme

* docs: remove unneeded use of "application" from docs readme
2018-05-01 19:56:44 -05:00
Jeremy Apthorp
78ab97ab04 Fix crash when releasing a script context that never had node injected (#12741) 2018-05-01 20:00:46 -04:00
John Kleinschmidt
d355bf0267 Merge pull request #12756 from electron/support-policy
Support policy
2018-05-01 15:40:55 -04:00
Charles Kerr
2cecc6ec2c Remove text about ia32 emulator 2018-05-01 14:31:01 -05:00
Charles Kerr
49cab41fdf Tweak ARM support with suggestion from jkleinsc 2018-05-01 14:25:18 -05:00
Charles Kerr
b0a8d825b3 Clarify the text on Windows for ARM support 2018-05-01 13:40:21 -05:00
Charles Kerr
af60a2fdf6 Add placeholder for supported-platforms.md 2018-05-01 13:32:11 -05:00
Charles Kerr
b602714e06 Use correct Slack channel name 2018-05-01 13:31:48 -05:00
Zeke Sikelianos
013a28a527 Merge pull request #12736 from electron/update-updates-tutorial
document update.electronjs.org in updates tutorial
2018-05-01 09:17:37 -07:00
Cheng Zhao
d46aa92f0b make security-warnings tests more robust (#12757) 2018-05-01 14:28:55 +09: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
Cheng Zhao
c67d1b62e3 refactor: NativeWindowViews should not be a View (#12750) 2018-05-01 13:28:22 +09:00
Cheng Zhao
e00b128a50 fix flaky security-warnings test (#12749) 2018-05-01 09:49:45 +09:00
Charles Kerr
400fb79dc2 Fix tyop 2018-04-30 18:36:17 -05:00
Charles Kerr
7c5b70d304 Fix broken link 2018-04-30 18:33:40 -05:00
Charles Kerr
221b103721 Finish consolidating the finding-support section 2018-04-30 18:26:08 -05:00
Charles Kerr
c0dc2d0238 Copyedit the 'finding support' section 2018-04-30 18:11:10 -05:00
Charles Kerr
37a68aebcf Link issues.md back to support.md 2018-04-30 18:06:29 -05:00
Charles Kerr
a332930cdf add 'finding support' section 2018-04-30 17:58:19 -05:00
Charles Kerr
e44b62d5a3 copyediting 2018-04-30 17:17:42 -05:00
Charles Kerr
d76b0223d9 add end-of-support policy 2018-04-30 17:16:15 -05: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
Samuel Attard
c1381ac598 Add sccache option to bootstrap (#12582)
* Add sccache option to bootstrap

Couldn't see a CC wrapper style option for gyp so we inject the sccache commands directly into the generated ninja files.

* Use CC_wrapper

* Update toolchain.gypi

* s/sccache/cc_wrapper
2018-05-01 01:03:43 +10:00
Cheng Zhao
51b7322a0f Merge pull request #12716 from electron/share-more-window-code
Refactor NativeWindow (Part 10): Share more code between NativeWindow implementations
2018-04-30 15:24:38 +09:00
Samuel Attard
b90ff86f8c Add missing chai-as-promised dep (#12746) 2018-04-29 22:46:29 -04:00
Cheng Zhao
089428857c remove unnecessary defines 2018-04-30 10:56:54 +09:00
Cheng Zhao
e07ea24610 remove unnecessary static_cast 2018-04-30 10:56:54 +09:00
Cheng Zhao
2225cc9608 refactor: manage widget_ in NativeWindow 2018-04-30 10:56:54 +09:00
Cheng Zhao
727cd68cee refactor: Use widget() instead of window_ 2018-04-30 10:56:54 +09:00
Cheng Zhao
6d18bd0633 refactor: Make NativeWindow inherit WidgetDelegate 2018-04-30 10:56:54 +09:00
Shelley Vohr
ee2c3607ad fix patch output filename (#12742) 2018-04-27 21:43:04 -04:00
Zeke Sikelianos
21ffcbddad document update.electronjs.org in updates tutorial 2018-04-27 10:49:42 -07:00
Shelley Vohr
21e5a2e071 Add clang-format script and precommit hook (#12651)
* add second arg to hook

* fix clang-format script

* remove format script

* help

* first pass at only checking formatting for changed files

* ensure clang-format only runs against changes

* add quiet option for print output

* fix script outputs for clang-format

* wrap conditional for exit error

* remove cpplint include ordering from brightray

* fix python style errors

* add clang-format to linting

* fix var error and add mm extension

* fix diff checking for commit hook

* show incorrectly formatted lines when linting fails

* don't try to check formatting for deleted files
2018-04-27 13:01:12 -04:00
Cheng Zhao
4cd7d11391 Merge pull request #33 from nornagon/build-gn
Don't copy things in Dictionary::Set
2018-04-27 08:41:09 +09: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
Jeremy Apthorp
dd7e0f80fe Turn off visual zoom by default (#12679) 2018-04-26 10:27:35 -05:00
Jeremy Apthorp
1a64b9f0c2 Disable navigating on drag/drop (#12655)
* Disable navigating on drag/drop

* Add a WebPreferences option to re-enable navigate on drag/drop
2018-04-26 10:23:27 -05: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
Cheng Zhao
152422af81 Merge pull request #12696 from electron/mac-use-widget
Refactor NativeWindow (Part 9): Use views::Widget on macOS
2018-04-26 15:49:49 +09:00
Cheng Zhao
cf70267871 remove unnecessary overrides 2018-04-26 09:48:12 +09:00
Jeremy Apthorp
7733b87431 Don't copy things on Dictionary::Set 2018-04-25 15:18:27 -07:00
Cheng Zhao
5e48dd9d45 be aware of views::Widget's layer 2018-04-25 15:10:29 +09:00
Cheng Zhao
39242c978f fix failed BrowserWindow tests 2018-04-25 15:10:29 +09:00
Cheng Zhao
75a624434c refactor: use views::Widget on macOS 2018-04-25 15:10:29 +09:00
Shelley Vohr
7c4964fae6 revert to more graceful template structure check (#12699) 2018-04-24 11:21:26 -04:00
Tatsuya Hiroishi
9c65abd746 handle remote exception (#12694)
* add cause property to exception in callFunction

* update exceptionToMeta function

* add sender argument
* and cause property to return value

* update exception convert in metaToValue function

* add from and cause properties to the exception error

* unit test for remote exception
2018-04-24 08:40:19 -04: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
Leo MG Nesfield (LMGN)
975964f9f0 Not required. (#12682)
VS Code automatically executes from the `windows` object on win32.
2018-04-23 11:13:46 -05:00
James Wheare
bf2b4814e0 [docs] app.isDefaultProtocolClient is available on Linux now (#12674) 2018-04-23 01:16:43 +10:00
Shelley Vohr
12a57ff1c2 clang-format objc files (#12673) 2018-04-20 11:47:04 -07:00
Paul Frazee
94236bf4eb Create automated-testing-with-a-custom-driver.md (#12446)
* Create automated-testing-with-a-custom-driver.md

* Update automated-testing-with-a-custom-driver.md

* Add 'Automated Testing with Custom Driver' to ToC

* Update automated-testing-with-a-custom-driver.md
2018-04-20 12:39:13 -04:00
Shelley Vohr
f9ee24f8f0 Merge pull request #12627 from vijaypushkin/patch-1
Corrected the name of Capitalization Styles
2018-04-20 09:49:28 -04:00
Cheng Zhao
28b85762fd Merge pull request #12660 from electron/mac-views
Refactor NativeWindow (Part 8): Prepare work for using views::Widget on macOS
2018-04-20 21:31:28 +09: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
Cheng Zhao
aa5c80f8a6 Fix new clang warnings 2018-04-20 19:26:20 +09:00
Cheng Zhao
c44279bb10 Move AtomNSWindow to a new file 2018-04-20 19:26:20 +09:00
Cheng Zhao
569967ac21 Move QLPreviewPanelDataSource to AtomNSWindowDelegate 2018-04-20 19:17:08 +09:00
Cheng Zhao
f6a7e5ea23 Move NSTouchBarDelegate to AtomNSWindowDelegate 2018-04-20 19:15:45 +09:00
Cheng Zhao
8e9667d86c Manage AtomTouchBar in NativeWindow instead of AtomNSWindow 2018-04-20 19:15:01 +09:00
Cheng Zhao
ce54fd334d Move AtomNSWindowDelegate to a new file 2018-04-20 19:12:17 +09:00
Cheng Zhao
1c6c75da4f Merge the logic of managing ViewsDelegate 2018-04-20 19:10:37 +09:00
Cheng Zhao
9bc79f840e mac: Override NativeWidgetMac 2018-04-20 19:10:37 +09:00
Cheng Zhao
37a7df49d6 mac: Provide ViewsDelegate 2018-04-20 19:10:37 +09:00
Alexey Kuzmin
fcc82ebd35 Add "app.whenReady()" (#12652)
* Make "chai-as-promised" avaialble in tests

* Add "app.whenReady()"

Closes #9561.
2018-04-20 17:09:23 +10:00
Shelley Vohr
c7a0b419a9 Merge pull request #12669 from electron/MarshallOfSound-patch-1
Add last known working electron version
2018-04-20 00:25:36 -04:00
Samuel Attard
032b7c68d8 Add last known working electron version 2018-04-20 14:23:01 +10:00
Cheng Zhao
55e2dbdbc8 Merge pull request #12647 from nornagon/chromium-style
Fix a bunch of chromium-style errors
2018-04-20 08:15:51 +09:00
deepak1556
6d0ac6593c [chromium-style] Complex class/struct needs an explicit out-of-line copy constructor. 2018-04-19 11:12:58 -07:00
deepak1556
30f1d0991b enable chromium style checker plugin for electron and brightray targets 2018-04-19 11:12:58 -07:00
Jeremy Apthorp
7c5fcecbec Build mac code with -Wunguarded-availability -Wobjc-missing-property-sythesis 2018-04-19 11:12:58 -07:00
Jeremy Apthorp
eb7ccf8afa Bring mac code into conformance with -Wobjc-missing-property-synthesis 2018-04-19 11:12:58 -07:00
Jeremy Apthorp
f3c00e96aa Bring mac code into conformance with -Wunguarded-availability 2018-04-19 11:12:58 -07:00
Jeremy Apthorp
27cee90e5e [chromium-style] move methods out of headers 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
6c26bb1cf8 [chromium-style] destructors of ref-counted objects should be private 2018-04-19 11:12:10 -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
Shelley Vohr
667c43398c Merge pull request #12650 from electron/clang-format-chromium-src
clang-format chromium_src
2018-04-19 08:37:02 -04: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
6c9f3066fd Merge pull request #12637 from electron/expose-toplevel-window
Refactor NativeWindow (Part 7): Expose TopLevelWindow in JavaScript
2018-04-19 14:52:04 +09: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
e7bb7dd78b force windows above other includes 2018-04-18 23:33:15 -04:00
Shelley Vohr
f7d4437b3f format previously missed chromium_src .cc files 2018-04-18 22:59:34 -04:00
Shelley Vohr
8cc81509d7 clang-format chromium_src 2018-04-18 22:59:33 -04:00
Shelley Vohr
c090dd2f81 Merge pull request #12649 from electron/clang-format-brightray
clang-format brightray
2018-04-18 22:59:04 -04:00
Cheng Zhao
47826a1262 Merge pull request #12648 from electron/clang-format-atom
clang-format atom files
2018-04-19 11:49:35 +09:00
Cheng Zhao
89d909ab43 Only include UIAutomationCoreApi.h where necessary 2018-04-19 11:14:55 +09:00
Shelley Vohr
35a4a07320 fix include definition errors 2018-04-18 20:48:46 -04:00
Shelley Vohr
ec35966715 remove unused macro 2018-04-18 20:48:45 -04:00
Shelley Vohr
9f7a8832a1 remove include ordering filter 2018-04-18 20:48:45 -04: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
John Kleinschmidt
717f55b012 Merge pull request #11328 from electron/add-env-to-release-docs
expanded release docs
2018-04-18 11:28:16 -04:00
Shelley Vohr
f8e523b277 Merge pull request #12646 from electron/new-base-bind-converters
add converters for base::BindOnce and base::BindRepeating
2018-04-17 22:18:54 -04:00
Shelley Vohr
49c8c31220 format previously misses .cc files 2018-04-17 21:56:12 -04:00
Shelley Vohr
284aca68c0 clang-format brightray 2018-04-17 21:46:27 -04:00
Shelley Vohr
ca406637af add converters for base::BindOnce and base::BindRepeating 2018-04-17 18:47:12 -04:00
Alexey Kuzmin
a254f3d02c Update trop whitelist (#12642)
* Sort authorizedUsers alphabetically

* Add alexeykuzmin to the authorizedUsers list

* Add deepak1556 to the authorizedUsers list

* Add nornagon to the authorizedUsers list

* Add nitsakh to the authorizedUsers list

* Add zcbenz to the authorizedUsers list

* Add jkleinsc to the authorizedUsers list
2018-04-18 01:23:03 +10:00
Shelley Vohr
7a8a0f6b4b Merge pull request #12616 from electron/fix-copy-to
switch to sk_tool_utils::copy_to()
2018-04-16 22:18:23 -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
354f872919 run clang-format 2018-04-16 15:08:17 -04:00
Shelley Vohr
a19ddfc578 fix copy_to conditional 2018-04-16 12:14:35 -04:00
Nitish Sakhawalkar
875706f660 Address breaking API 2018-04-16 15:40:50 +02:00
Shelley Vohr
59527165ec Merge pull request #31 from electron/fix-ci
Fix failing CI
2018-04-16 09:35:12 -04:00
Samuel Attard
d06c79f5d3 Correct the default of allowRunningInsecureContent as per docs (#12556)
* Correct the default of allowRunningInsecureContent as per docs

* fix linting

* Update calls to match native_mate API change
2018-04-16 08:28:54 -05:00
Alexey Kuzmin
d0c80b5b55 Remove mate::TryCatch (#26)
It's not used anywhere. We use v8::TryCatch instead.
2018-04-16 22:16:48 +09:00
Shelley Vohr
90a7b5ebce switch to simplified version of copy_to 2018-04-16 08:47:34 -04:00
Shelley Vohr
91f97ca02f Update appveyor settings
Use Visual Studio 2017.
2018-04-16 14:38:35 +02:00
Shelley Vohr
1e2828b80e Update travis settings
Use Node.js 9.7.0 and Xcode 9.3.
2018-04-16 14:37:44 +02:00
Shelley Vohr
4cb41ac425 clarify usage around before-quit-for-update event 2018-04-16 08:13:04 -04:00
Samuel Attard
8a94d4fcf9 Merge pull request #23 from electron/promise
Add mate::Promise
2018-04-16 20:18:33 +10:00
Samuel Attard
b180f18b7e Add mate::Promise 2018-04-16 20:08:04 +10:00
Vijay Pushkin
82cbd4327f Corrected the name of Capitalization Styles
Corrected CamelCase to PascalCase and 
mixedCase to camelCase
2018-04-16 13:14:11 +05:30
Shelley Vohr
bb2fb93355 Merge pull request #29 from electron/revert-c66-change
Revert "Address breaking API"
2018-04-15 13:48:22 -04:00
Shelley Vohr
a10564c3b1 Revert "Address breaking API"
This reverts commit e20cf8687e.
2018-04-15 13:26:35 -04:00
Samuel Attard
7cc3b877dc Fix event leak on reuse of touchbar item (#12527)
* fix event leak on reuse of touchbar item

* Clean up child touch bar item event listeners and escape item listeners
2018-04-15 10:24:47 -05:00
Birunthan Mohanathas
cd8278dceb Add missing event parameter to console-message (#12617) 2018-04-15 10:13:02 -05:00
Shelley Vohr
06892775d4 add new event to auto-updater 2018-04-14 21:29:36 -04:00
Shelley Vohr
43a9092c16 remove accidental file change 2018-04-14 21:24:19 -04:00
Shelley Vohr
1727a9eca9 pull up definition and remove include 2018-04-14 21:23:05 -04:00
Shelley Vohr
8b4a89c445 .deepCopyTo() => sk_tool_utils::copy_to() 2018-04-14 12:50:55 -04:00
Zeke Sikelianos
e606a74de3 Merge pull request #12595 from Zhangdroid/fix-broken-url
[doc] Fix broken url
2018-04-13 19:08:20 -07: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 Zhang
de1eae288c doc: rename 'blink-feature-string' as 'runtime-enabled-features'
make it more meaningful :)
2018-04-14 08:49:30 +08:00
Charles Kerr
03d119d539 Address @jkleinsc's 2018-03-21 comments 2018-04-13 16:10:53 -05:00
John Kleinschmidt
7acbbf2ef3 Add logic to bundle native mksnapshot for arm/arm64 2018-04-13 15:52:08 -04:00
Zeke Sikelianos
23bb3bd963 Merge pull request #12577 from TiagoDanin-Forks/DeadURLs
[Docs] Fix dead urls
2018-04-13 11:04:11 -07:00
Zhuo Lu
a0cac05555 Clear cache storage data (#12546) 2018-04-13 13:03:16 -04:00
Charles Kerr
3edb1eed8d Merge pull request #27 from electron/fix-to-details-string-call
Fix Value::ToDetailString() call
2018-04-13 11:19:17 -05:00
Robo
ad2baccefa tools: pass custom template for js2c (#12593)
* Update node v9.7.0 ref

* tools: pass custom template to node/tools/js2c.py
2018-04-13 08:20:04 -04:00
Shelley Vohr
9e5c264012 Merge pull request #12601 from electron/makeunique-replace
Replace base::MakeUnique with std::make_unique
2018-04-13 08:19:26 -04:00
Shelley Vohr
d722008367 remove unnecessary ptr_util.h include 2018-04-12 22:34:26 -04:00
Aleksei Kuzmin
3dce1dd240 Fix Value::ToDetailString() call
See https://chromium-review.googlesource.com/848782
2018-04-12 15:36:44 +02:00
Shelley Vohr
b05932310b replace base::MakeUnique with std::make_unique 2018-04-12 08:48:32 -04:00
Jeremy Apthorp
97fb15ac49 Enable WebFrame method forwarding in sandboxed renderers (#12538)
* Enable WebFrame method forwarding in sandboxed renderers

Fixes #9073

* Non-change to kick CI
2018-04-12 11:57:40 +10:00
Zhuo Zhang
dd45473356 fix broken url for 'blink-feature-string' 2018-04-11 15:02:54 +08:00
Cheng Zhao
558d36c1f3 Merge pull request #12584 from electron/no-webcontents-in-constructor
Refactor NativeWindow (Part 5): Add NativeWindow::SetContentView
2018-04-11 15:34:29 +09:00
Cheng Zhao
311d730bce Merge pull request #25 from nitsakh/fix-update-ch
Address breaking API
2018-04-11 15:14:06 +09:00
Cheng Zhao
d706a30849 Fix crash when releasing window 2018-04-11 15:12:53 +09:00
Cheng Zhao
2b5bde4071 InstallView is no longer needed 2018-04-11 15:12:53 +09:00
Cheng Zhao
5a95aaaa54 kVibrancyType should be read in InitFromOptions 2018-04-11 15:12:53 +09:00
Cheng Zhao
cfd8ea8eb0 mac: Correctly unload previous content view 2018-04-11 15:12:53 +09:00
Cheng Zhao
56735d4ff5 Add NativeWindow::SetContentView 2018-04-11 15:12:53 +09:00
Cheng Zhao
13473ee138 web_view_ => content_view_ 2018-04-11 15:12:53 +09:00
Cheng Zhao
97e8800677 Remove web_contents from NativeWindow's constructor 2018-04-11 15:12:53 +09:00
Nitish Sakhawalkar
e20cf8687e Address breaking API 2018-04-10 16:17:20 -07: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
TiagoDanin
d7a003b0bc 📝 Fix dead urls 2018-04-09 17:58:10 -03:00
John Kleinschmidt
eca0436f58 Use CircleCI for Mac builds (#12572) 2018-04-09 14:19:54 -05:00
Andreas
6b5e09478c Mouse forward on macOS (#12281)
* Accept mouse events according to the forward parameter on macOS.

* Update BrowserWindow docs: mouse forward is available on macOS
2018-04-09 19:35:05 +09:00
Cheng Zhao
0e5aaab0b5 Merge pull request #11959 from yuya-oc/filter-for-mac-dialog
show file filter name for accessory view of file dialog
2018-04-09 19:32:29 +09:00
Cheng Zhao
41134f52d9 Fix memory leaks in file_dialog_mac.mm 2018-04-09 16:51:25 +09:00
Yuya Ochiai
2131dc839a Show file filter name for accessory view of file dialog
- Respect filters option of dialog.showOpenDialog() and
  dialog.showSaveDialog(). (#10335)
- Show "All Files" for <input> apart from "accept" attribute. (#11456)
2018-04-09 16:50:21 +09:00
OJ Kwon
4c51c03779 feat(performspellcheck): queue spell check request asynchronously (#12112)
* feat(spellcheckrequest): implement spellcheckrequest

* feat(performspellcheck): queue spell check request asynchronously
2018-04-09 15:18:50 +09:00
OJ Kwon
dabd61bf80 chore(build): support generating compilation db (#12104) 2018-04-09 14:54:14 +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
89f2eb1023 asar: remove patch to support graceful-fs (#12562) 2018-04-07 10:13:32 -05:00
Nitish Sakhawalkar
970f79e32f Check for devtools in BrowserWindow.getFocusedWindow() (#12526) 2018-04-06 09:21:32 -04:00
loc
82f8914f9e remove defines from build-libchromiumcontent (#11927) 2018-04-06 08:22:15 -04: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
Charles Kerr
f8b8dc1494 Simplify views/menu_bar focus management (#12536)
* Simplify views/menu_bar focus management

* Make the linter happy

* Remove NativeWindowView focus manager listener API

* remove unnecessary change

* MenuBar ctor now takes a views::View
2018-04-05 21:53:08 -05:00
Charles Kerr
cad8eed6e4 Use ui:view's Activate() on Linux (#12539)
In NativeWindowViews, we started rolling our own _NET_ACTIVE_WINDOW
event in June 2016 to raise windows because Chromium's implementation
wasn't working as expected. (See commit 32b692b6)

I'm not seeing this behavior in our current version of libcc,
so I wonder if this workaround is still needed?
2018-04-05 22:39:53 -04: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
Vanessa Yuen
4316949a1d Merge pull request #12542 from natsuozawa/patch-1
Minor grammatical issue in first-app.md
2018-04-05 13:06:06 +02:00
Natsu
7a01ff11cd Fixed one minor grammatical issue
Line 93: "principals and methods" -> "principles and methods"
2018-04-05 19:26:26 +09:00
Kristof Mattei
c1439bb02b Use Visual Studio's vswhere to find Visual Studio, and use proper version numbers to locate (#12537) 2018-04-05 16:13:30 +09:00
Heilig Benedek
a14ebc80d2 Disable chromium's redraw locking on Windows when DWM is disabled (#12501)
* disable redraw locking on windows

* update libcc ref
2018-04-05 15:55:26 +09: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
Zeke Sikelianos
9d570dc645 add IDL and Mojo to glossary (#12504) 2018-04-03 07:58:25 -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
Charles Kerr
1a649a6ac3 Handle in-app-purchase less fatally on non-Darwin (#12511)
Fixes #12311

Right now it throws a new error when the file is even require()d, but this isn't ideal as there are cases where everything is mass-required, such as Spectron. Instead, we should throw an error on non-Darwin environments only when the IAP methods are invoked.
2018-04-02 18:55:44 -05:00
Jeremy Apthorp
a7352e57d5 WebFrame.setVisualZoomLevelLimits sets user-agent scale constraints (#12488)
Fixes #11216.
2018-04-02 18:20:13 -04:00
Nitish Sakhawalkar
fbff355742 Support for navigator.languages (#12419) 2018-04-02 12:47:00 +09:00
Cheng Zhao
02693839ca Merge pull request #24 from electron/remove_independent_lifetime
Remove usage of MarkIndependent api
2018-03-31 21:42:13 +09:00
deepak1556
894c96f39f Remove usage of MarkIndependent api
https://bugs.chromium.org/p/chromium/issues/detail?id=780749
Use Active/Not Active as indicator whether the Scavenger can drop wrappers
2018-03-31 15:08:17 +05:30
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
Alexey Kuzmin
fc00a2ba32 Use latest libcc (#12476) 2018-03-29 16:35:07 -05:00
Shelley Vohr
a677c22e1f re-enable null check against menu item accelerators (#12449) 2018-03-27 20:32:55 -04:00
Sean
5f7c6ccfe4 update doc for setProgressBar (#12428)
* update doc for setProgressBar

The linter was unable to get `paused` as a possible value for `mode`

* update doc for setProgressBar

Addressing PR feedback
2018-03-28 10:29:31 +11:00
Jeremy Apthorp
22da843efa s/now/not/ in allowRunningInsecureContent documentation (#12452) 2018-03-28 10:15:29 +11:00
Samuel Attard
2e5cb930de Provide an easy way to use a local build of Electron (#12426)
* Provide an easy way to use a local build of Electron

For instance from ~/projects/electron/out/D

* document ELECTRON_OVERRIDE_DIST_PATH

* Make the linter happy

* Tweak ELECTRON_OVERRIDE_DIST_PATH docs
2018-03-25 00:03:17 -04:00
Charles Kerr
cfd91a3b56 Fix documentation tyop (#12422) 2018-03-23 18:35:14 -04:00
Cheng Zhao
6a3d238b7e Merge pull request #21 from yzgyyang/master
Add support for FreeBSD
2018-03-23 09:19:00 +09:00
Guangyuan Yang
31206cfa0a Add support for FreeBSD 2018-03-22 14:14:26 -04:00
Jeremy Apthorp
95cbd69e48 Update testing docs to reflect --grep syntax (#12400)
* Update testing docs to reflect --grep syntax

* Use @zeke's suggestion to s/suites/tests/
2018-03-22 13:19:53 -04:00
Cheng Zhao
f41cce96a3 Increase timeout for inAppPurchase test (#12403) 2018-03-22 08:47:29 -05:00
Zhuo Lu
c50a460ce6 Do not block main process for async dialog (#12404) 2018-03-22 08:57:33 -04:00
Clément Beffa
642f5a84d4 Workspace notifications support on macOS (#12093) 2018-03-22 18:41:03 +09:00
Nitish Sakhawalkar
9d1527b1df Fix context menu for sandbox devtools (#11933) 2018-03-22 16:15:57 +09:00
Cheng Zhao
67f052a6e1 Merge pull request #12168 from electron/easier-web-contents-preferences
Cleanup the static methods of WebContentsPreferences
2018-03-22 15:58:04 +09:00
Cheng Zhao
05fcec829e Use Clone explicitly instead of MergeDictionary 2018-03-22 15:29:20 +09:00
Cheng Zhao
0abbedcdae Fix error caused by refactor 2018-03-22 15:21:56 +09:00
Cheng Zhao
6df2326a30 Cleanup the static methods of WebContentsPreferences
The static methods are totally unnecessary, and it makes code harder to
understand since we are using different ways to do the same things.
2018-03-22 15:21:56 +09:00
Cheng Zhao
001275339b Hide WebContentPreferences::GetWebContentsFromProcessID from public 2018-03-22 15:20:03 +09:00
Cheng Zhao
3d47a8a2fd Remove the static getter methods from WebContentsPreferences 2018-03-22 15:20: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
Zeke Sikelianos
d323ce2c42 Merge pull request #12399 from electron/now-we-call-ourselves-electrocats
now we call ourselves electrocats
2018-03-21 17:06:59 -07:00
Zeke Sikelianos
7c0c798c90 now we call ourselves electrocats 2018-03-21 16:50:52 -07:00
Shelley Vohr
05dc04dacc don't check darkmode for drawStatusBarBackgroundInRect (#12395) 2018-03-21 19:03:57 -04:00
Charles Kerr
0d7becff87 Use the appname as the tray icon's default tooltip (#12388)
This makes an upstream DCHECK happy in AppIndicatorIcon::SetToolTip.
Empty tooltip strings are discouraged, as discussed in commit log
b6c510aa543193337041517c2d70113840189b06.

Fixes #12386.
2018-03-21 12:15:30 -05:00
htk3
6fa4ec22c5 fix broken fragment link in ipc-main.md (#12389) 2018-03-21 12:05:27 -05:00
bughit
37eccbcd33 Update 3 (of Visual Studio 2017) is leftover from 2015 (#12372)
does not apply to 2017
it's not clear to me that it's possible to download a non current version of vs2017
but if a specific version is required the directions should explain how to get it
2018-03-20 16:15:59 -05:00
Zeke Sikelianos
e3dfffb77b add docs/development/README.md (#12373) 2018-03-20 15:36:48 -04: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
cd30a4e2d4 Merge pull request #11459 from electron/upgrade-to-chromium-63
Upgrade to Chromium 63
2018-03-20 17:25:34 +09:00
Cheng Zhao
c70150847d Ignore warning LNK4199
We are now sharing the /DELAYLOAD settings between configurations.
2018-03-20 10:13:17 +03:00
Cheng Zhao
2e94a730cc Isolate the code using content::WebContentsImpl 2018-03-20 10:13:17 +03:00
Gellert Hegyi
a9cdd6614a fixes class name 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
deepak1556
f5e1ee010b FIXME: disable pdf viewer feature 2018-03-20 10:13:17 +03:00
deepak1556
e24c0dda5d add features module to detect availability of build time features at runtime 2018-03-20 10:13:17 +03:00
deepak1556
4b39d17e5f move pdf viewer behind feature flag 2018-03-20 10:13:17 +03:00
deepak1556
c1908147a9 Fix windows build 2018-03-20 10:13:17 +03:00
John Kleinschmidt
6aebae5a98 Remove custom appveyor config 2018-03-20 10:13:17 +03:00
Aleksei Kuzmin
714a793a0e Update to the latest libcc with Ch63 2018-03-20 10:13:17 +03:00
Cheng Zhao
94fce43ed9 Emit document-start for the correct env
This fixes the crash in RunScriptsAtDocumentStart when "affinity" option
is specified. Previously we were assuming only one main frame exists in
the renderer process, but the "affinity" option breaks this option.

There is also a bug that "node::Environment::GetCurrent" does not return
nullptr for context without a env in it, I'm not sure whether it is a
bug of Node or V8.
2018-03-20 10:13:17 +03:00
deepak1556
c3f8f6bc42 re-use request context from IOThread 2018-03-20 10:13:17 +03:00
Cheng Zhao
97fcf7079b Update chrome_version.h 2018-03-20 10:13:17 +03:00
Cheng Zhao
cb4c54eec1 Use 60 as module version for V8 6.3 2018-03-20 10:13:17 +03:00
deepak1556
9702898dcd AccessTokenStore is only needed to initialize network location service 2018-03-20 10:13:17 +03:00
deepak1556
97eb7f2c98 REVIEW: ContentBrowserClient now provides geolocation api key and request context 2018-03-20 10:13:16 +03:00
deepak1556
f9de29ed8c Enable node crypto spec 2018-03-20 10:13:16 +03:00
Cheng Zhao
246f6318e4 Fix release build on Windows 2018-03-20 10:13:16 +03:00
Aleksei Kuzmin
d5ecbfc539 spec: Do not assume en-US locale to be the current 2018-03-20 10:13:16 +03:00
John Kleinschmidt
750c3d05aa debug build issues 2018-03-20 10:13:16 +03:00
John Kleinschmidt
dfc4dbdbd3 Drop clone folder 2018-03-20 10:13:16 +03:00
John Kleinschmidt
d58b366123 Add whole appveyor config 2018-03-20 10:13:16 +03:00
John Kleinschmidt
d90b600bc1 Use visual studio 17 image 2018-03-20 10:13:16 +03:00
Aleksei Kuzmin
d3afb595dc Tab Capture in VIZ: CopyOutputRequest/Result API changes.
https://chromium-review.googlesource.com/637003
2018-03-20 10:13:16 +03:00
Aleksei Kuzmin
639be7f7bc Simplify transparent backgrounds
https://chromium-review.googlesource.com/669646
2018-03-20 10:13:16 +03:00
Cheng Zhao
b6b7707dc3 Fix Windows linking error 2018-03-20 10:13:16 +03:00
Cheng Zhao
624e09533c Avoid using deprecated skia size methods 2018-03-20 10:13:16 +03:00
Cheng Zhao
42938de973 Build with Visual Studio 2017 2018-03-20 10:13:16 +03:00
deepak1556
e6d38cb64e update node ref to fix --typed_array_max_size_in_heap error 2018-03-20 10:13:16 +03:00
Nitish Sakhawalkar
524f56354c Fix webview resize test 2018-03-20 10:13:16 +03:00
deepak1556
5e9da04ab7 update libcc ref to disable ScriptForbuddenScope check 2018-03-20 10:13:16 +03:00
deepak1556
f4ee48eaf4 v8-platform header is not required explicitly 2018-03-20 10:13:16 +03:00
Cheng Zhao
d141d2445d Fix build error caused by base::Passed changes 2018-03-20 10:13:16 +03:00
deepak1556
b08d086b0f fix stale rebase 2018-03-20 10:13:16 +03:00
Shelley Vohr
7e7634d344 Chromium 63 - upgrade to Node v9.7.0 (#12219)
* OPENSSL_PRODUCT => openssl_product

* node => node_lib and V8_BASE => v8_base

* build node target for <(node_lib_target_name)

* update node ref

* update node::Environment::TickInfo calls

* update node ref

* Use InternalCallbackScope for ticking event loop

* enter context scope before InternalCallbackScope

* don't lint v8 platform header
2018-03-20 10:13:16 +03:00
Cheng Zhao
ecefe41728 Linker behaves differently on arm 2018-03-20 10:13:16 +03:00
Cheng Zhao
34cb9cf1fe Use lld for linking on both Debug/Release builds
This follows Chromium's config, otherwise we get linking error:
/usr/bin/ld: shared_library/libmirclient.so.9: __cxa_finalize: invalid needed version 2
shared_library/libmirclient.so.9: error adding symbols: Bad value
2018-03-20 10:13:16 +03:00
Cheng Zhao
76ef6e3ecc CertificateList => ScopedCERTCertificateList 2018-03-20 10:13:16 +03:00
Cheng Zhao
0f9f04e4ec Fix cpplint warning 2018-03-20 10:13:16 +03:00
Cheng Zhao
aa25381651 Fix warning when building openssl-cli 2018-03-20 10:13:16 +03:00
Cheng Zhao
5f71fbc6b3 Fix warnings when building node 2018-03-20 10:13:16 +03:00
Nitish Sakhawalkar
ecd0f9d0e7 Fix build by adding define in node_includes.h 2018-03-20 10:13:15 +03:00
Tomas Rycl
f2116c50c0 Unity detection now works in all OSes - returns false. 2018-03-20 10:13:15 +03:00
Tomas Rycl
c15e09b71e rtc_base_approved renamed to generic 2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
f68cba0c71 Update Chrome version 2018-03-20 10:13:15 +03:00
deepak1556
80772c2419 FIXME: Disable node crypto spec 2018-03-20 10:13:15 +03:00
deepak1556
b9bb4dfc06 FIXME: re-enable guest webcontents based on OOPIF feature 2018-03-20 10:13:15 +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
b552ad7065 add taskpriority when creating sequences task runners 2018-03-20 10:13:15 +03:00
deepak1556
1f2d229862 re-use title information from NavigationEntry 2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
fa3d9d32ae Use XDG_CURRENT_DESKTOP to determine if the desktop environment is Unity
https://chromium-review.googlesource.com/682615
2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
e35b128fa3 Update crashpad to match Chromium 63.0.3239.108 2018-03-20 10:13:15 +03:00
deepak1556
6de49f515e FIXME: Disbale browser side navigation aka PlzNavigate 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
Aleksei Kuzmin
490b1e2532 FIXME: Disable some tests to avoid crashes 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
78266db427 Fix webrtc linking issues 2018-03-20 10:13:15 +03:00
Samuel Attard
b0fe23072d Update chrome version 2018-03-20 10:13:15 +03:00
Samuel Attard
a21e0c652c Fix WorkerPool and IPC send inside print job/manager 2018-03-20 10:13:15 +03:00
Samuel Attard
0b6293e2f5 Pickle write methods now return void and use GE_CHECK instead 2018-03-20 10:13:15 +03:00
Samuel Attard
9181db1304 Disable tautological check for chromium code 2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
dcece31519 FIXME: Disable OSR by default 2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
aab6f27503 Move DrawQuads to components/viz/
https://chromium-review.googlesource.com/667539
2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
74cedd3255 Move ReleaseCallbacks and CopyOutputRequests out of quads/
https://chromium-review.googlesource.com/682760
2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
d1061692d5 Move CompositorFrame{Metadata} to viz/common/quads.
https://chromium-review.googlesource.com/676726
2018-03-20 10:13:14 +03:00
Aleksei Kuzmin
481c70311a Move SoftwareOutputDevice to the viz service display compositor.
https://chromium-review.googlesource.com/677463
2018-03-20 10:13:14 +03:00
Aleksei Kuzmin
4d234e3abc Update Node.js submodule to fix a compilation error 2018-03-20 10:13:14 +03:00
Samuel Attard
37a321a601 Fix super fast hash and blocking pool 2018-03-20 10:13:14 +03:00
Samuel Attard
7c8be94a6e IPC fixes for WebContents 2018-03-20 10:13:14 +03:00
Samuel Attard
1c648f9714 Add new includes for leveldb and webrtc 2018-03-20 10:13:14 +03:00
Samuel Attard
fdc7c183e8 Update libcc 2018-03-20 10:13:14 +03:00
Samuel Attard
f80b328937 WebExceptionCode has been removed 2018-03-20 10:13:14 +03:00
Samuel Attard
5a2f85600d Add support for size 64 skbitmap operations 2018-03-20 10:13:14 +03:00
Samuel Attard
7356be0164 Convert optional webpoint 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
c3dec709ab PrintedPageSource has been removed 2018-03-20 10:08:58 +03:00
Samuel Attard
6402b23041 tracked_objects::Location --> base::Location 2018-03-20 10:08:58 +03:00
Samuel Attard
1158d35021 experimental_webgl_enabled is not supported, now use webgl1/2_enabled 2018-03-20 10:08:58 +03:00
Samuel Attard
e65815e34c Implement GetBackgroundFetchDelegate in brightray::BrowserContext 2018-03-20 10:08:58 +03:00
Samuel Attard
021e383418 GetBlockingPool has been removed 2018-03-20 10:08:58 +03:00
Samuel Attard
0291dc8214 Calling non-const callbacks requires some tricks 2018-03-20 10:08:58 +03:00
Samuel Attard
ce755483ba DialogClosedCallback are not const references anymore 2018-03-20 10:08:58 +03:00
Samuel Attard
de2981a767 Move proxy constructor to ProxyService namespace 2018-03-20 10:08:58 +03:00
Samuel Attard
41b9825f00 WebContents are no longer IPC Sender's 2018-03-20 10:08:58 +03:00
Samuel Attard
6f695b93d5 Fix system proxy config resolver constructor 2018-03-20 10:08:58 +03:00
Samuel Attard
f2edd5d068 v8 proxy service has been removed 2018-03-20 10:08:58 +03:00
Samuel Attard
f0ef11b856 BlockingPool has been removed 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
461e33104e HandleCommand now takes session_id and returns success boolean. It is assumed a nullptr from the handler means failure 2018-03-20 10:08:57 +03:00
Samuel Attard
ed992ae6a1 trackable_object has moved to base namespace 2018-03-20 10:08:57 +03:00
Aleksei Kuzmin
b608152c41 Update Chrome version to 63.0.3239.84 2018-03-20 10:08:57 +03:00
Aleksei Kuzmin
5cf1ef7be0 Update clang revision to match Chromium 63.0.3239.70 2018-03-20 10:08:57 +03:00
Aleksei Kuzmin
6649a82776 Use libcc with Chromium 63 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
42934a1006 Make BrowserView DragRegionViews children of the WebContents view
Previously they were children of the `InspectableWebContentsView` view,
which caused this assertion to fail:

f993888424/brightray/browser/mac/bry_inspectable_web_contents_view.mm (L162)
2018-03-19 20:45:40 +02:00
Birunthan Mohanathas
3b8ddd0997 Use NSView convertRect:toView: for BrowserView DragRegionView positioning 2018-03-19 20:44:05 +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
Shelley Vohr
9599615b23 Fix nil tray title crash (#12352)
* Add check for title_ being nil

* remove print stub
2018-03-19 10:49:39 -05:00
John Kleinschmidt
6b80865bfe Merge pull request #12351 from electron/update-to-node8
Update CI to use Node.js 8
2018-03-19 11:04:52 -04:00
John Kleinschmidt
ed1c84445c Update CI to use Node 8 2018-03-19 10:19:32 -04:00
Cheng Zhao
f993888424 Merge pull request #12328 from electron/delay_load
Use same delay-load settings in both debug and release
2018-03-17 11:32:30 +09: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
558ef7352d Better GTK+ Menu color support (#12300)
* Better GTK+ Menu color support

 * Fix 'invisible menu' issue (#12275)

 * Now updates menu text color when focus changes!

 * Better caching of colors when system theme changes

 * Removed all GTK+ deprecation warnings from menubar

* Don't highlight menu text on mouseover in GTK+

* Fix textColor declaration scope error

* Simplify FocusManager connection management a bit

* Make the linter happy

* Decouple MenuBar view recoloring from rebuilding

This way we don't need to rebuild the subview each time a recolor
is needed, e.g. when window focus changes or the system theme changes

* Don't iterate child views if we don't need to

* Move variable declaration outside of a loop

* More efficient iteration of MenuBar children

* Cleaner MenuButton bounds testing

* Fix oops

* Add a nullptr check in MenuBar::GetItemCount()

* Simplify iteration in MenuBar::RebuildChildren()

* Make the linter happy

* Fix signed-unsigned comparison

* Remove declarations of nonexistent methods

* Make SubmenuButton accessor const

* Cleaner accelerator iteration

* Windows fixes
2018-03-17 06:37:36 +09:00
Shelley Vohr
31d688ad3d Check menu.popup options are an object (#12325)
* check menu.popup options are an object

* Add a spec for menu.popup options check

* remove stray .only
2018-03-17 06:31:10 +09:00
Ales Pergl
84ce3a9ea1 Use same delay-load settings in both debug and release 2018-03-16 17:10:38 +01:00
Robo
792837bd71 net: change mime type deduction in Change URLRequestAsarJob (#12319) 2018-03-16 16:48:26 +09:00
Samuel Attard
e93c587b8e Delete .node-version (#12304)
This removes the .node-version file, it is a source of confusion and not incredibly useful.

It doesn't actually indicate the version of node that Electron uses, it's like a development helper that sets the version of node you should be using locally when devving on Electron.  Not many major tools use it so too remove confusion I think we should remove it
2018-03-16 10:12:12 +09:00
zhao-lin-li
bb73a0e2cb Update example code (#12315)
path and url needed to be require'd
2018-03-16 07:20:51 +09:00
Felix Rieseberg
243ab45111 🔧 Fix security warning (#12309) 2018-03-16 06:21:38 +09:00
John Kleinschmidt
71c3483f55 Fix AttributeError: 'dict' object has no attribute 'required' 2018-03-15 13:20:41 -04:00
Samuel Attard
4b476f13bb Revert "Fixes electron/electron#12147" (#12293)
* Revert "Set appropriate defaults for webview options (#12271)"

This reverts commit c2673aa970.

* Revert "Fixes electron/electron#12147 (#12193)"

This reverts commit f54c94d6c9.
2018-03-15 16:18:36 +09:00
Birunthan Mohanathas
2681e769a6 Document BrowserView.{destroy,isDestroyed} (#12274) 2018-03-15 16:15:56 +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
nous-
f54c94d6c9 Fixes electron/electron#12147 (#12193) 2018-03-15 13:29:32 +09:00
Shelley Vohr
9aeb61181a Fix require on network share path (#12282)
* first pass at server/network require fix

* refactor for clarity
2018-03-15 11:45:13 +09:00
Jacob Groundwater
1f8de33e75 Change Contact Emails (#12278) 2018-03-15 04:37:40 +09:00
Samuel Attard
9ed9885c8d fix remote setInterval flake (#12263) 2018-03-14 14:51:47 +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
Samuel Attard
90dc897f71 add missing report.length > 1 assertion (#12257) 2018-03-14 13:14:29 +09:00
Samuel Attard
8993a2c6ed Enable easy rebuild of native modules for unreleased electron (#12217)
* Enable easy rebuild of native modules for unreleased electron

Sometimes when developing locally (as I found this morning) you want to rebuild native modules
against an unreleased version of Electron (in this case local master).  This PR adds a simple
script to launch a local HTTP server that generates and hosts the required header and checksum
files to rebuild modules.  So far only tested on macOS but should work on all OS's

* Allow custom port

* clean up serve script

* make optionality more obvious
2018-03-14 12:59:18 +09:00
Hari Juturu
704af29543 Exposing process.env status (#12166) 2018-03-14 12:01:40 +09:00
Cheng Zhao
134872e9c1 Merge pull request #12198 from electron/fix_crash_handler
Fixed passing of exception to the system crash handler
2018-03-14 11:40:11 +09:00
Robo
e741bc0577 fix crash when using getWebPreferences api with devtools webContents (#12254) 2018-03-14 11:19:22 +09:00
Samuel Attard
e62349cffb Merge pull request #12253 from felixrieseberg/fix-last-crash-report
fix: Ensure that `getLastCrashReport()` is actually the last crash report
2018-03-14 10:36:27 +09:00
Samuel Attard
8664dd2139 Merge pull request #12190 from electron/fix-double-preload-master
Ensure that a document has been created before sending IPC messages
2018-03-14 10:34:05 +09:00
Felix Rieseberg
ee67211035 🔧 Linter's gotta lint 2018-03-13 17:41:02 -07:00
Felix Rieseberg
582ef30b4a 👷 Tests, how do they work 2018-03-13 17:35:55 -07:00
Felix Rieseberg
1b3568e66e 👷 Fancy test 2018-03-13 17:28:15 -07:00
Felix Rieseberg
3575dae75c 🔪 Cut typo 2018-03-13 16:58:40 -07:00
Felix Rieseberg
673335de4b 🔧 Actually test the method 2018-03-13 16:51:20 -07:00
Vanessa Yuen
48dd8f96b7 Fix broken links (#12232)
* Update system-preferences.md

* Fix broken documentation links.
2018-03-14 08:07:36 +09:00
Felix Rieseberg
72579f9bab 🔧 Sort crashes 2018-03-13 13:57:12 -07:00
John Kleinschmidt
5a81cfbbc6 Merge pull request #12241 from electron/sw-file-scheme-flaky-patch
spec: isolate sw file scheme spec storage with temp partition
2018-03-13 13:30:43 -04:00
deepak1556
c3bcb606a9 spec: isolate sw file scheme spec storage with temp partition 2018-03-14 02:03:55 +09:00
Samuel Attard
8e07e7483f Merge pull request #12228 from electron/fix-window-open-not-showing
Parent's visibility trumps inherited 'show' option
2018-03-13 17:41:00 +09:00
Charles Kerr
e400585a0e Apply further ES6 bikeshedding 2018-03-13 17:09:47 +09:00
Shelley Vohr
e648662cfd Add config for trop (backporting bot) (#12238)
* add config for trop

* backportWhitelist => authorizedUsers
2018-03-13 16:39:50 +09:00
Charles Kerr
2d90e763ad Use idiomatic ES6 when merging options 2018-03-13 16:23:39 +09:00
Charles Kerr
379bd79de4 Remove unnecessary work when merging options 2018-03-13 16:18:50 +09:00
Charles Kerr
e4d5ae53fc Add tests 2018-03-13 15:55:48 +09:00
Felix Rieseberg
71795ecc62 fix: Incorrect warnings in webviews (#12234)
* 🔧 Get correct webContents

* 🔧 Err, webPreferences
2018-03-13 10:55:32 +09:00
Charles Kerr
685948bcaa Parent's visibility trumps inherited 'show' option 2018-03-13 00:28:34 +09:00
Charles Kerr
dd2c2660b9 Fix desktop-id notification edge case (#12216)
* Fix desktop-id notification edge case

* Extract-method platform_util::GetDesktopName()

This removes duplicated code from libnotify_notifications.cc
and atom/common/linux/application_info.cc.

* Check for empty case in GetDesktopName().

* Move GetDesktopName() to brightray::util

* Remove unnecessary changes in platform_util

* Add a brightray::platform_util namespace
2018-03-12 16:02:47 +09:00
Charles Kerr
86af20ded0 Linux named notifications (#12192)
* Set name & desktop-entry on Linux notifications

* DBusMock now honors verbose mode flag

* Disable DBus Notification tests on ia32
2018-03-12 09:33:06 +09:00
Phil Freo
9d090e00f2 Make link to related guide/tutorial more obvious (#12204)
It's generally not a good practice to just link the word "here"
2018-03-10 23:04:07 +09:00
John Kleinschmidt
e085c01a2e Merge pull request #12202 from electron/readme-heading
Add heading for README
2018-03-09 14:29:42 -05:00
Vanessa Yuen
9c0e579bd3 Add heading for README 2018-03-09 20:16:56 +01:00
Robo
06bf72da67 remove process preference lock from AtomBrowserClient (#12194) 2018-03-09 12:37:26 -05:00
Ales Pergl
4673c67835 Fixed passing of exception to the system crash handler 2018-03-09 15:46:27 +01:00
John Kleinschmidt
f685e389d3 Merge pull request #12196 from electron/fix_run_as_node
Fixed Mac build when enable_run_as_node==false
2018-03-09 09:22:42 -05:00
Ales Pergl
94299f6cd8 Fixed Mac build when enable_run_as_node==false 2018-03-09 13:33:04 +01:00
deepak1556
2bf1131dab add NOLINT rule for include order in renderer_client_base 2018-03-09 15:19:07 +05:30
deepak1556
3cfe66e4c3 move ipc use from rvh to rfh 2018-03-09 15:01:09 +05:30
Charles Kerr
0d12fc3033 Make the linter happy 2018-03-09 17:03:00 +09:00
Cheng Zhao
30405a3441 Merge pull request #12101 from electron/upgrade-node-v9.7.0
Update to node v9.7.0
2018-03-09 16:41:23 +09:00
Cheng Zhao
e79b18762e Enter context scope before InternalCallbackScope 2018-03-09 16:14:24 +09:00
Cheng Zhao
83f01096c0 When a render process is crashed, it might be reused 2018-03-09 16:13:51 +09:00
Cheng Zhao
5d2452608d Use InternalCallbackScope for ticking event loop 2018-03-09 15:23:40 +09:00
deepak1556
50a5a69c46 update node ref fixing crash with buffer allocation 2018-03-09 15:23:40 +09:00
Shelley Vohr
1882b88c78 clean node ref and remove short circuit 2018-03-09 15:23:39 +09:00
deepak1556
3fea581ec8 build node target for <(node_lib_target_name) 2018-03-09 15:23:39 +09:00
Shelley Vohr
c8ef15cf40 update node::Environment::TickInfo calls 2018-03-09 15:23:39 +09:00
Shelley Vohr
e3bb3c3906 node => node_lib and V8_BASE => v8_base 2018-03-09 15:23:38 +09:00
Shelley Vohr
d88fa8b787 OPENSSL_PRODUCT => openssl_product 2018-03-09 15:23:38 +09:00
Shelley Vohr
068f0cce96 update node ref to electron-node-v9.7.0 2018-03-09 15:23:38 +09:00
Cheng Zhao
cf36fdecbf Skip client-certificate test for Linux (#12189) 2018-03-09 14:43:49 +09:00
Samuel Attard
a9dcce82ed Ensure that a document has been created before sending IPC messages
* Reverts 370476c4af in favor of moving the previous logic to the new RenderFrameObserver instead of RenderViewObserver

Fixes #12045
2018-03-09 14:24:56 +11:00
Charles Kerr
5f48f91d94 Newer CI images (#12188)
* Bump electronbuilds/electron* versions

The linux-appname branch has been gathering dust for awhile.
Some of the versions in `master` are higher, and some of the
versions in `linux-appname` are higher to add libnotify.

This commit takes the higher of the two numbers in each case.

* Add libnotify to the Dockerfiles
2018-03-08 22:07:50 -05:00
Cheng Zhao
15503a3b9e Merge pull request #12187 from electron/ia32-more-debug
Enable more debug info for electron-linux-ia32
2018-03-09 12:00:10 +09:00
Cheng Zhao
5c15d263e0 Enable more debug info for electron-linux-ia32 2018-03-09 11:06:42 +09:00
Cheng Zhao
cde0c1d418 Print detailed error for serviceWorker test (#12186) 2018-03-08 21:06:29 -05:00
Cheng Zhao
44c66fc284 Merge pull request #12167 from lyallh/menubar-autohide-fix
Fix menubar toggle alt key detection on focus
2018-03-09 10:13:32 +09:00
Cheng Zhao
3885674877 Merge pull request #12080 from electron/build-on-arm64-hw
Allow CI testing on arm64 hardware
2018-03-09 08:54:32 +09:00
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
51f89048d6 Use bundled freetype from Chromium 2018-03-08 10:47:19 -05:00
John Kleinschmidt
134d3f98c9 Allow CI building on arm64 hardware 2018-03-08 09:53:47 -05:00
Lyall Hamilton
ba24920fec Fix menubar toggle alt key detection on focus
Reset alt keypress flag on window blur so switching window via
Alt+* window manager keybindings can't incedentally trigger
annoying menubar toggles
2018-03-08 21:48:43 +13:00
Jake
569b87ff83 Added session-created event documentation (#12123)
* Added session-created event documentation 

Emitted at 1c0ea0286e/lib/browser/api/session.js (L21)

* Removed trailing spaces
2018-03-08 11:32:52 +09:00
Samuel Attard
8c138e74be More vibrancy fixes (#12157)
* Only set title bar to transparent when vibrant with a custom titlebar
* Correctly set the transparent state of the GpuSwitcher so vibrancy works on reload
* Document case where using frame: false without custom titleBarStyle and vibrant
2018-03-07 11:40:36 -05:00
Hari Juturu
2f4fd3324b Preload doesn't load in sandboxed render if preload path contains special chars (#12037)
* Adding missing headers

* adding ut

* Removing the file path exists check

* fixing test

* exposing window.require in UT
2018-03-07 11:40:00 -05:00
Andreas
69e7afee26 fix dev tools window interfering with mouse forward (#12132) 2018-03-07 07:44:55 -05:00
Samuel Attard
fdab98aa59 Merge pull request #12155 from electron/modify-deprecation-guarantee
Deprecations come >=1 major release before removal
2018-03-07 23:28:05 +11:00
Charles Kerr
35a512310a Merge branch 'master' into add-env-to-release-docs 2018-03-07 16:38:14 +09:00
Charles Kerr
3b2a494033 Update to master. 2018-03-07 16:32:36 +09:00
Charles Kerr
b0820e4886 Fix broken link 2018-03-07 16:18:47 +09:00
Charles Kerr
4ab7b2d2b1 Deprecations come >=1 major release before removal 2018-03-07 16:12:28 +09:00
Shelley Vohr
c31bf8474c clean planned breaking changes for 3.0 (#12145) 2018-03-07 16:06:33 +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
Charles Kerr
65ee977a86 Exit gracefully on linux (#12139)
* Fix timing issue in singleton fixture.

Singleton now sends the "we've started" message out only after it's
received a `'ready'` event from `app`. Previously it sent the message
out immediately, resulting in the parent test trying to manipulate it
before Singleton's event loop was fully bootstrapped.

* Check for graceful exits on Linux, too.

Rewrite the "exits gracefully on macos" spec to run on Linux too.

* Check for graceful exits everywhere.

* Tweak comment

* Better error logging in api-app-spec.js. (#12122)

In the 'exits gracefully' test for app.exit(exitCode),
print the relevant error information if the test fails.

* Run the exit-gracefully test on macOS and Linux.

Windows does not support sending signals, but Node.js offers some
emulation with process.kill(), and subprocess.kill(). Sending signal 0
can be used to test for the existence of a process. Sending SIGINT,
SIGTERM, and SIGKILL cause the unconditional termination of the target
process.

So, we'll need a different approach if we want to test this in win32.
2018-03-06 22:01:17 -05:00
br0nstein
f170914def Fix getFocusedWindow return type (#12149) 2018-03-07 10:23:02 +09:00
Cheng Zhao
ea9d33374f Merge pull request #12140 from electron/native-window-no-web-contents
Refactor NativeWindow (Part 2):  NativeWindow is no longer WebContentsObserver
2018-03-07 10:12:37 +09:00
Vanessa Yuen
7f664aa18c Merge pull request #12105 from electron/update-references-to-renamed-i18n-repo
update references to renamed i18n repo
2018-03-06 19:08:20 +00:00
shelley vohr
1413f22095 Merge pull request #12103 from electron/fix-broken-links
[docs] switch footnote links to regular links syntax
2018-03-06 07:52:08 -08:00
shelley vohr
a3e33a313a Merge pull request #12131 from nitsakh/xcode-debugging
Add XCode debugging doc
2018-03-06 07:34:05 -08:00
Cheng Zhao
411da169ac Repect old logic in windowWillUseStandardFrame 2018-03-06 16:54:20 +09:00
Cheng Zhao
78468098c5 Don't store WebContents in NativeWindow 2018-03-06 16:21:18 +09:00
Cheng Zhao
9000bd6679 views: Explicitly set initially focused view 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
9c7854aef6 NativeWindow is no longer WebContentsObserver 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
8bbe28e998 No need to get BrowserContext from NativeWindow 2018-03-06 16:21:17 +09:00
Cheng Zhao
702f1631a3 Remove NativeWindow::FromWebContents 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
5a4c2fb61d mac: Pass the view to install 2018-03-06 16:20:37 +09:00
Cheng Zhao
498f5d65fd mac: UninstallView is not used 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
8a1884c407 mac: AcceleratedWidget should be window's content view 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
4c7b48e596 mac: Window's native view should be its content view 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
7b8890a4c9 web_contents can't be null 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
Cheng Zhao
e73326a324 Merge pull request #11613 from electron/safe-dialogs
Implement dialog (alert/confirm) blocking as a user switch after the first dialog
2018-03-06 14:28:53 +09:00
Cheng Zhao
90bd1fd7e9 Native confirm/alert throws differently 2018-03-06 14:06:29 +09:00
Cheng Zhao
ca42325ade Make OnMessageBoxCallback a method since it is accessing members 2018-03-06 11:35:53 +09:00
Cheng Zhao
7516b059fe Code style fixes 2018-03-06 11:31:56 +09:00
Cheng Zhao
d8f16f4116 docs: Default message is not localized 2018-03-06 11:24:42 +09:00
Cheng Zhao
26a071ea00 docs: Defaults of safeDialogs 2018-03-06 11:21:40 +09:00
Samuel Attard
7dec3c9320 Fixup cpplint 2018-03-06 11:19:15 +09:00
Samuel Attard
731240e0e9 Use USER_WANTS_NO_MORE_DIALOGS constant for -1 magic number 2018-03-06 11:19:15 +09:00
Charles Kerr
a5a068b2ee fix cpplint errors
atom/browser/atom_javascript_dialog_manager.cc:39:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
atom/browser/atom_javascript_dialog_manager.cc:39:  If/else bodies with multiple statements require braces  [readability/braces] [4]
atom/browser/atom_javascript_dialog_manager.cc:62:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
atom/browser/atom_javascript_dialog_manager.cc:89:  If/else bodies with multiple statements require braces  [readability/braces] [4]
2018-03-06 11:19:15 +09:00
Charles Kerr
2435ffaf09 fix cpplint error
atom/browser/atom_javascript_dialog_manager.h:9:  Include "map" not in alphabetical order  [build/include_alpha] [4]
2018-03-06 11:19:15 +09:00
Samuel Attard
795447f61a Implement dialog (alert/confirm) blocking as a user switch after the first dialog
* This is to enable more browser-like behavior so that users who run third-party code
  will not be DOS'ed with alerts and confirms.  This is already handled like this
  in most major browsers so this will greatly help these developers
2018-03-06 11:19:15 +09:00
shelley vohr
a3d4d461a3 Merge pull request #12135 from electron/deprecate-getMenuBarHeight
deprecate screen.getMenuBarHeight
2018-03-05 17:56:51 -08:00
Shelley Vohr
3635872f37 remove screen.getMenuBarHeight spec 2018-03-05 20:10:34 -05:00
Shelley Vohr
199cf31b9e deprecate screen.getMenuBarHeight 2018-03-05 19:45:51 -05:00
Nitish Sakhawalkar
dc29b3add1 Add XCode debugging doc 2018-03-06 00:03:14 +05:30
Charles Kerr
642dc96956 Add optional verbose switch '-v' to build script. (#12118)
* Add optional verbose switch '-v' to build script.

* Remove tracer comment.

* Add --ninja-path switch.

For compatiblity with https://github.com/electron/electron/pull/12120
2018-03-06 03:27:58 +09:00
Charles Kerr
e9808d138f Better error logging in api-app-spec.js. (#12122)
In the 'exits gracefully on macos' test for app.exit(exitCode),
print the relevant error information if the test fails.
2018-03-06 03:13:47 +09:00
Samuel Attard
b530d70a7b Merge pull request #12058 from philfreo/patch-1
Include backtrace i/o as a crash reporter backend option
2018-03-06 05:13:18 +11:00
John Kleinschmidt
1005a63130 Merge pull request #12127 from electron/set-dev-version-everywhere
Use version 0.0.0-dev everywhere
2018-03-05 12:28:55 -05:00
Aleksei Kuzmin
52c0864cb8 Use version 0.0.0-dev everywhere 2018-03-05 16:24:48 +01:00
John Kleinschmidt
3a55e5b384 Merge pull request #12113 from electron/FranzDeCopenhague-patch-1
Fix typo found during the Spanish translation
2018-03-05 10:08:17 -05:00
Franz de Copenhague
847cf17b77 Fix typo found during the Spanish translation 2018-03-04 10:07:46 -08:00
Zeke Sikelianos
e9de194b89 update references to renamed i18n repo 2018-03-02 12:05:49 -08:00
Sofia Nguy
e76d5bc7cf switch links to regular syntax 2018-03-02 10:41:55 -08:00
Adrien Fery
6d82966ebe Update inAppPurchase API doc (#12072)
* Update inAppPurchase API doc

`addTransactionsListener` is no longer supported. Users have to listen for the `transactions-updated` event instead.

* Tweak `transactions-updated` timing description

Make the documentation edit suggested by @felixrieseberg and thumbs-upped by @AdrienFery
2018-03-02 07:25:37 -06:00
Tiago Danin
efeabfe3ef 📝 Fix url to unity-launcher and tiny correction (#12084) 2018-02-28 18:28:40 -06:00
Phil Freo
738b10adea Include backtrace i/o as a crash reporter backend option
Note: I have no affiliation with this company - just thought this would be helpful for people
2018-02-28 14:21:14 -05:00
shelley vohr
dfa1dc43df Merge pull request #12059 from electron/add-tabbedwindow-warning
add warning when addTabbedWindow is called on self
2018-02-28 01:18:10 -08: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
Zeke Sikelianos
1db05a2655 Merge pull request #12067 from electron/fix-typo-in-inAppPurchase-API-doc
fix typo in inAppPurchase API doc
2018-02-27 11:07:45 -08:00
Zeke Sikelianos
b05d818f45 fix typo in inAppPurchase API doc 2018-02-27 10:22:29 -08:00
Shelley Vohr
837a2d4bbd appease the linter 2018-02-26 22:25:09 -08:00
Cheng Zhao
35cbe9d140 Fix dockMenu not being referenced in JavaScript (#12062)
* Fix dockMenu not being referenced in JavaScript

* spec: Test garbage collecting dock menu
2018-02-26 22:15:06 -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
Shelley Vohr
e84d7c0cda add warning when addTabbedWindow is called on self 2018-02-26 14:47:36 -08: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
fdd66bd76d Merge pull request #11607 from bughit/frame_navigation_api
frame navigation API
2018-02-26 15:50:11 +09:00
Cheng Zhao
ccf30e0934 Coding style fixes 2018-02-26 15:19:44 +09:00
Cheng Zhao
25f04d5b03 Fix descriptions to make docs parser happy 2018-02-26 15:05:46 +09:00
Cheng Zhao
f7786a9e48 Merge pull request #11230 from electron/upgrade-to-chromium-62
Upgrade to Chromium 62
2018-02-26 14:20:21 +09:00
shelley vohr
cc608a3fb0 Merge pull request #12043 from kaylieEB/fix-menu-item
Fix context menu click callback
2018-02-25 17:33:32 -08:00
kaylie
da9f12d1e2 restore old cb 2018-02-25 14:19:40 -08:00
Samuel Attard
35cc197d0b Quick typo (#12040) 2018-02-25 09:11:18 -06:00
shelley vohr
18362eb948 improve Menu and MenuItem testing (#12015)
* split menu/menuitem and add some tests

* fix ipc send issue

* feedback: make tests less brittle

* clean up MenuItem accelerator and label tests
2018-02-23 07:53:59 -06:00
Cheng Zhao
3948323a8c Update libcc to latest chrome62 2018-02-23 10:23:53 +09:00
Aleksei Kuzmin
7e3b690257 Update libcc revision 2018-02-23 10:22:00 +09:00
Cheng Zhao
b9ab2fe0fb Disable stack dumping for 32bit ARM 2018-02-23 10:22:00 +09:00
Cheng Zhao
81c23b84e7 Fix error when cross compilation 2018-02-23 10:22:00 +09:00
Cheng Zhao
b25175a19a Fix assertion when get X11 error in new thread 2018-02-23 10:22:00 +09:00
Cheng Zhao
39e0433570 Fix build error after rebasing 2018-02-23 10:22:00 +09:00
Cheng Zhao
9d05c59600 node.so should link with libc++.so 2018-02-23 10:22:00 +09:00
Cheng Zhao
2fcf2c81bf Make sure --sysroot is appended at last 2018-02-23 10:22:00 +09:00
Cheng Zhao
9fec1a3cb4 Link with libcc's libc++ on Linux 2018-02-23 10:22:00 +09:00
Cheng Zhao
b7b40d9c3a Fix linking error with atomic 2018-02-23 10:22:00 +09:00
shelley vohr
653ceb9860 update update submodule ref for updated node 9.3.0 (#11708) 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
Aleksei Kuzmin
31eb5e26e3 Update libcc reference 2018-02-23 10:21:24 +09:00
Cheng Zhao
12b37c7386 Update node: Fix crash when doing crypto operation 2018-02-23 10:21:24 +09:00
deepak1556
7cad5d0cd2 update libcc for loading service worker under file scheme 2018-02-23 10:21:24 +09:00
Cheng Zhao
e6bad6e183 Update sysroot images to fix linking error 2018-02-23 10:21:24 +09:00
Aleksei Kuzmin
f5d207f8f0 Improve process launch handle sharing API.
https://codereview.chromium.org/2950153002
2018-02-23 10:21:24 +09:00
Cheng Zhao
da7fc54e37 Update sysroot to Debian Stretch 2018-02-23 10:21:24 +09:00
Aleksei Kuzmin
0ec2eba2a3 Add init_webrtc lib to the list of static libraries 2018-02-23 10:21:24 +09:00
Aleksei Kuzmin
dcb369ee46 Fail "navigator.serviceWorker" tests if WebContents crashes 2018-02-23 10:21:24 +09:00
deepak1556
041b32b01f remove invalid cookie_details.h filename from brightray 2018-02-23 10:21:24 +09:00
deepak1556
cdab073614 FIX: add chrome-devtools:// to list of WebUI schemes
https://chromium-review.googlesource.com/c/chromium/src/+/617598
2018-02-23 10:21:24 +09:00
Aleksei Kuzmin
fbd5e4c2b3 Disable the "ffi" module test 2018-02-23 10:21:24 +09:00
deepak1556
5eb0a89579 REVIEW: let browser context manage cookie change sub list 2018-02-23 10:21:24 +09:00
Aleksei Kuzmin
9fa08fdbc0 Merge views::CustomButton into views::Button.
https://chromium-review.googlesource.com/617407
2018-02-23 10:21:24 +09:00
Aleksei Kuzmin
6f00e4a014 REVIEW: Implements core logic for Pixel Canvas
https://codereview.chromium.org/2877483003
2018-02-23 10:21:24 +09:00
deepak1556
f52f752acd fxedit is removed and pdfwindow renamed to pwl
https://pdfium-review.googlesource.com/c/pdfium/+/8552
https://pdfium-review.googlesource.com/c/pdfium/+/8791
2018-02-23 10:21:24 +09:00
deepak1556
d846c9006e Replace somemore uses of SetStringWithoutPathExpansion 2018-02-23 10:21:24 +09:00
deepak1556
69ca6ccdc1 Remove chrome_utility_messages.h, it's unused 2018-02-23 10:21:23 +09:00
deepak1556
25d966110e FIXME: PDF component IPC should be converted to Mojo.
https://codereview.chromium.org/2455543002
2018-02-23 10:21:23 +09:00
deepak1556
e03f7baa60 gfx::Image::SwapRepresentations is removed in favor of std::move
https://chromium-review.googlesource.com/c/chromium/src/+/588033
2018-02-23 10:21:23 +09:00
deepak1556
62635f43f4 base::LaunchOptions fds_to_remap is no longer a pointer
https://codereview.chromium.org/2950153002
2018-02-23 10:21:23 +09:00
deepak1556
248d572077 REVIEW: Subscribe to cookie store for changes in place of CookieMonsterDelegate 2018-02-23 10:21:23 +09:00
Tomas Rycl
60f69ad77b Removed QuitWhenIdle 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
b02edd014a Rename CompositionUnderline to ImeTextSpan
https://chromium-review.googlesource.com/609524
2018-02-23 10:21:23 +09:00
Tomas Rycl
024f84f1be chromium_src print_job updated to match current chromium implementation in Quit method 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
5d870837cf Remove WebCString from Blink
https://chromium-review.googlesource.com/594673
2018-02-23 10:21:23 +09:00
Shelley Vohr
de576fa82e Refactor Skia document type into an enum class
https://chromium-review.googlesource.com/619502
2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
412b9e9ad8 Move IDMap to base namespace.
https://chromium-review.googlesource.com/618801
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
Aleksei Kuzmin
91a339b625 viz: Move BeginFrame(Args|Ack) to components/viz/common/frame_sinks 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
1a9b056e93 Move CompositorFrameSink and FrameSinkManager mojom from cc to viz 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
abc6003640 viz: Move BeginFrameSource to components/viz/common/frame_sinks 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
76683c0af5 viz: Move CopyOutput(Request|Result)=> components/viz/common/quads 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
Aleksei Kuzmin
8c0c1e4ded media: Replace ENABLE_PEPPER_CDMS buildflag with ENABLE_LIBRARY_CDMS
https://chromium-review.googlesource.com/582309
2018-02-23 10:21:23 +09:00
Shelley Vohr
e59f788c43 Update submodule ref for node 2018-02-23 10:21:23 +09:00
Tomas Rycl
8d6c7955ad Add path to skia gpu 2018-02-23 10:21:23 +09:00
Shelley Vohr
233679865b fix some more compilation errors 2018-02-23 10:21:23 +09:00
Tomas Rycl
6a61ec7763 Add path to khrplatform.h file 2018-02-23 10:21:23 +09:00
Tomas Rycl
1b866e20c6 REVIEW: Disable warning 4275 on Windows
It prevents Brightray classes to be inherited from other classes
from V8, Chromium, etc...
2018-02-23 10:21:23 +09:00
deepak1556
75c17cf846 Use generic base::Value::SetKey
Remove base::Value::SetDoubleWithoutPathExpansion
https://chromium-review.googlesource.com/591654

Remove base::Value::SetStringWithoutPathExpansion
https://chromium-review.googlesource.com/592368

Remove base::Value::SetIntegerWithoutPathExpansion
https://chromium-review.googlesource.com/591655
2018-02-23 10:21:23 +09:00
Tomas Rycl
8250dbd172 Removing some function parameters 2018-02-23 10:21:23 +09:00
Tomas Rycl
0d83b69fe2 FIXME: Fix brightray::DevToolsNetworkTransaction compilation
See
https://chromium-review.googlesource.com/631119
https://chromium-review.googlesource.com/611089
2018-02-23 10:21:23 +09:00
Shelley Vohr
a6412d0690 Update submodule ref for crashpad 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
dda64bd652 Use c++14
https://chromium-review.googlesource.com/c/chromium/src/+/583635
2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
9d6db65c7c Set minimum Mac SDK version to 10.12 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
5783ce0b3c Update chrome_version.h 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
8ef705ad10 Update clang revision to match Chromium 62.0.3202.89 2018-02-23 10:21:23 +09:00
Aleksei Kuzmin
381cf55434 Use libcc revision based on Chromium 62 2018-02-23 10:21:23 +09:00
Cheng Zhao
15ce235eed Merge pull request #12008 from electron/window-refactor-1
Refactor NativeWindow (Part 1): Remove WebContentsObserver methods
2018-02-23 10:06:34 +09:00
Cheng Zhao
3be92f550c Better clarity and fix typo 2018-02-23 09:15:13 +09:00
John Kleinschmidt
366638b1b9 Merge pull request #12013 from electron/release-fix
Fixes from running 2.0.0-beta.1 release
2018-02-22 10:43:29 -05:00
John Kleinschmidt
fa6510a90c Fixes from running 2.0.0-beta.1 release
This provides the following fixes:
1. Remove logic to delete release branch because that branch is no longer used.
2. Fix --validateRelease to not verifyShasums when release is in draft mode.
2018-02-22 08:53:32 -05: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
Cheng Zhao
44e7282b4b The UpdateDraggableRegions does not share implementations 2018-02-22 19:01:45 +09:00
Cheng Zhao
c2aa312e0c Check weak ptr before using it 2018-02-22 19:01:45 +09:00
Cheng Zhao
384b03d49b UpdateDraggableRegionViews is redundant 2018-02-22 19:01:45 +09:00
Cheng Zhao
6650a06339 Move RenderViewCreated logic to api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
c256a43139 Move ready-to-show to api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
0d9a157914 Turn api::Window into a WebContentsObserver 2018-02-22 19:01:45 +09:00
Cheng Zhao
47950f7b97 Merge pull request #12004 from electron/window-rename
Rename api::Window to api::BrowserWindow
2018-02-22 19:00:51 +09:00
Cheng Zhao
f9c48e1fb0 Merge pull request #12003 from electron/tools-new-api
Fix deprecated API in tools/dump-version-info.js
2018-02-22 18:58:24 +09:00
Cheng Zhao
973647eaa2 Rename api::Window to api::BrowserWindow 2018-02-22 12:50:47 +09:00
Samuel Attard
3bda63c350 Remove needless quotes around electron key 2018-02-22 13:37:53 +11:00
bughit
88b887fe47 frame navigation API 2018-02-21 18:50:15 -05:00
Cheng Zhao
58e15c7755 Fix deprecated API in tools/dump-version-info.js 2018-02-22 08:43:39 +09:00
John Kleinschmidt
7365a45948 Merge pull request #11937 from electron/groundwater-patch-1
Use New Versioning Strategy
2018-02-21 16:54:25 -05:00
shelley vohr
e8a57376f0 Merge pull request #12000 from kalikiana/quoted-snap-version
tutorial: Surround the snap version in quotes
2018-02-21 16:42:49 -05:00
Vanessa Yuen
8e51659237 Merge pull request #11966 from electron/documentation-overhaul
Documentation Overhaul
2018-02-21 20:51:52 +01:00
Felix Rieseberg
c403968230 ❤️ One more feedback item 2018-02-21 10:29:17 -08:00
Felix Rieseberg
9d4c68d272 ❤️ Feedback 2018-02-21 10:12:19 -08:00
Christian Dywan
8268afdf33 tutorial: Surround the snap version in quotes 2018-02-21 18:08:39 +01:00
Felix Rieseberg
975e6e6194 ❤️ First round of feedback 2018-02-20 09:47:18 -06:00
Cheng Zhao
99d9e262eb Merge pull request #19 from electron/get-wrapper-const
GetWrapper should be const
2018-02-20 10:07:55 +09:00
Felix Rieseberg
037ee0cff3 📝 Fix the fix 2018-02-19 18:38:59 -06:00
Cheng Zhao
91ee99ab8a GetWrapper should be const 2018-02-20 09:29:02 +09:00
Felix Rieseberg
64fc523977 📝 Fix dead links 2018-02-19 18:25:02 -06:00
Felix Rieseberg
b869471068 📝 Add missing links 2018-02-19 18:20:35 -06:00
Felix Rieseberg
322f7dadc7 📝 Native drag & drop documentation 2018-02-19 18:20:21 -06:00
Felix Rieseberg
191463397b 📝 Cleanup this hot mess 2018-02-19 18:20:10 -06:00
Felix Rieseberg
683e02fbcd 📝 TIE IT ALL TOGETHER 2018-02-19 18:09:58 -06:00
Felix Rieseberg
ebbecce56d 📝 Document debugging 2018-02-19 18:09:38 -06:00
Felix Rieseberg
e98637596d 📝 Installation 2018-02-19 17:53:29 -06:00
Felix Rieseberg
3c66e810c0 📝 Document asar 2018-02-19 17:50:38 -06:00
Felix Rieseberg
20ca6b4a55 📝 Offscreen Rendering 2018-02-19 17:50:26 -06:00
Felix Rieseberg
69b0a358f3 📝 A11y documentation 2018-02-19 17:36:49 -06:00
Felix Rieseberg
8dd44f66ca 📝 Some consistency 2018-02-19 17:28:24 -06:00
Felix Rieseberg
eeb5845aac 📝 Documenting updates 2018-02-19 17:24:15 -06:00
Felix Rieseberg
fe4762588c 📝 Document the progress bar 2018-02-19 17:17:11 -06:00
Felix Rieseberg
c3362c7617 📝 Document the app architecture (main/renderer) 2018-02-19 17:16:51 -06:00
Felix Rieseberg
ffd607bb52 📝 Document the first app 2018-02-19 17:16:35 -06:00
Felix Rieseberg
d7360e3203 📝 Ensure that quick-start.md still exists 2018-02-19 17:14:31 -06:00
Felix Rieseberg
879d21c80e 📝 Document Unity Launcher 2018-02-19 17:14:07 -06:00
Felix Rieseberg
3623cf9729 📝 Windows Taskbar documentation 2018-02-19 17:10:25 -06:00
Felix Rieseberg
8d219e94dc 📝 Recent documents documentation 2018-02-19 17:09:58 -06:00
Felix Rieseberg
d552af97c3 📝 macOS Dock documentation 2018-02-19 17:09:43 -06:00
Felix Rieseberg
fc7e50dce2 📝 Add cli and boilerplate documentation 2018-02-19 15:34:33 -06:00
Felix Rieseberg
bdc0cd4418 📝 Document development environment 2018-02-19 12:25:38 -06:00
Jacob Groundwater
cdcd031192 Use New Versioning Strategy
The `package.json` file in master should always read `0.0.0-dev`. See https://electronjs.org/docs/tutorial/electron-versioning
2018-02-16 09:16:30 -08:00
Cheng Zhao
a38fb5df41 Merge pull request #18 from electron/upgrade-to-chromium-63
virtual members need a virtual destructor
2017-12-19 10:25:22 +09:00
Samuel Attard
66c0d6620b virtual members need a virtual destructor 2017-12-18 14:55:27 +11:00
Cheng Zhao
29b03fc242 Merge pull request #17 from sethlu/remove-getwrapper-dcheck
Remove WrappableBase::GetWrapper() DCHECK
2017-12-18 09:22:13 +09:00
Zhuo Lu
e0b77db46f Remove WrappableBase::GetWrapper() DCHECK 2017-12-13 13:26:51 -08:00
Charles Kerr
f0d9b93ede note that 'publish-to-npm' needs node 6 2017-12-05 09:10:26 -06:00
Charles Kerr
f398b5d843 add a tip for testing version number with 'bump-version.py --dry-run' 2017-12-05 08:51:37 -06:00
Charles Kerr
b8259a82c1 note that 'npm run release -- --validateRelease' must be run in release branch 2017-12-05 08:38:16 -06:00
Charles Kerr
7bcea57241 fix tyop 2017-12-04 21:09:12 -06:00
Charles Kerr
3cd6c2e9eb explain using the Electron S3 Bucket environment variables 2017-12-04 20:34:34 -06:00
Charles Kerr
455a61d210 in the npm upload step, explain the needed npm credentials 2017-12-04 20:32:24 -06:00
Charles Kerr
83e94f3de1 fix invocation of validateRelease pass 2017-12-04 20:19:43 -06:00
Charles Kerr
ffdd6ab821 add a troubleshooting note about branch checkout 2017-12-04 10:26:35 -06:00
Charles Kerr
60fe728c0f add section on environment variables 2017-12-04 10:13:22 -06:00
Charles Kerr
b209620514 trim whitespace 2017-12-04 09:51:12 -06:00
Charles Kerr
e5f4916e31 fix numbering of 'Edit the release draft' steps 2017-12-04 09:50:24 -06:00
Charles Kerr
5212b98c87 wrap lines at 80 characters 2017-12-04 09:48:06 -06:00
Cheng Zhao
88fa343387 Merge pull request #16 from brenca/mark-independent-high-only
Only use MarkIndependent if high_memory_ flag is set
2017-11-28 10:52:03 +09:00
Heilig Benedek
40bd3336a5 only mark handle as independent when it's a high memory user 2017-11-27 00:50:51 +01:00
Cheng Zhao
bf92fa88b7 Merge pull request #15 from mgc/muon-crash-workarounds
Upstream Muon changes to avoid crashing
2017-10-26 18:46:25 +09:00
Matt Crocker
6ea2755095 Upstream Muon changes to avoid crashing 2017-10-23 23:19:23 -07:00
Cheng Zhao
f047bb61bb Merge pull request #14 from enlight/nullptr-converter
Add a converter for `nullptr_t`
2017-08-17 16:01:27 +09:00
Vadim Macagon
747495e77c Add a converter for nullptr_t 2017-08-16 00:24:20 +07:00
Kevin Sawicki
159a25d8e7 Merge pull request #13 from tsekityam/patch-1
Fix broken link
2017-05-09 16:14:28 -07:00
Tse Kit Yam
c8cc021ea1 Fix broken link 2017-05-09 15:24:43 +08:00
Cheng Zhao
7d9c1a80f0 Merge pull request #12 from brenca/add-high-memory-option
Add a flag that skips the two round GC and instead uses only one
2017-05-01 16:06:50 +09:00
Heilig Benedek
ff8f439afd add ability to set high memory usage, skipping the second round of GC callbacks 2017-04-12 15:51:28 +02:00
Cheng Zhao
fd0e7dc4ab Use gin to manage FunctionTemplate
Sadly there is no way for us to know when V8 is closing, thus it is
impossible for us to clean the FunctionTemplate on exit at the right
time, which is critcal for multi-thread environment.
2017-03-08 17:11:29 +09:00
Cheng Zhao
ed909cd54c Make Wrappable thread safe 2017-03-08 16:33:05 +09:00
Kevin Sawicki
ad0fd82566 Merge pull request #10 from electron/five-argument-member-function
Remove template_util.h and use std functions
2017-02-17 10:25:02 -08:00
Kevin Sawicki
d2b9766886 Use std functions instead of template_util 2017-02-17 09:32:45 -08:00
Kevin Sawicki
f56ec818fb Support 5 argument member function 2017-02-17 09:32:45 -08:00
Kevin Sawicki
11a1b824c0 Merge pull request #11 from electron/ci
Add Travis/AppVeyor CI build through Electron
2017-02-17 09:32:30 -08:00
Kevin Sawicki
db542f2a26 Add CI build through Electron 2017-02-17 08:39:54 -08:00
Cheng Zhao
eb109cf905 Merge pull request #9 from renaesop/master
Add Converter<std::map<std::string, T>>::ToV8
2017-02-13 17:04:05 +09:00
renaesop
7197368c6d Add Converter<std::map<std::string, T>>::ToV8 2017-02-06 16:54:11 +08:00
Cheng Zhao
400d6c3de5 Merge pull request #8 from electron/set-read-only
Support setting read-only property value
2017-01-16 06:53:42 +09:00
Kevin Sawicki
c78a6fa7d4 Support setting read-only property value 2017-01-12 12:21:23 -08:00
Kevin Sawicki
6b7e73db92 Merge pull request #7 from deepak1556/empty_handle_converter_patch
create empty handle for null value
2016-12-12 12:55:31 -08:00
deepak1556
70092b493e create empty handle for null or undefined value 2016-12-07 16:41:45 +05:30
Cheng Zhao
912307386c Merge pull request #6 from enlight/add-readme
Add README
2016-08-12 20:48:19 +09:00
Vadim Macagon
03b4f57d23 Add README 2016-08-12 17:33:41 +07:00
Cheng Zhao
b5e5de626c Merge pull request #5 from kevinsawicki/detail-string
Use ToDetailString for arguments error message
2016-08-11 17:22:39 +09:00
Kevin Sawicki
8155da152f Add back empty handle string 2016-08-10 10:04:04 -07:00
Kevin Sawicki
1dbaec0edd Use ToDetailString for processing error message 2016-08-10 09:34:33 -07:00
Cheng Zhao
fa483e1fe0 Do not set constructor name in SetConstructor 2016-08-02 19:27:58 +09:00
Cheng Zhao
4dbe051494 Pass FunctionTemplate in BuildPrototype 2016-08-02 18:06:20 +09:00
Cheng Zhao
3a7a6efffb GetConstructor should init default constructor 2016-08-02 17:20:41 +09:00
Cheng Zhao
2d26eebca8 Remove the Constructor class 2016-08-02 17:01:19 +09:00
Cheng Zhao
a259d10bcb NewOperatorFactory is not used 2016-08-02 16:20:29 +09:00
Cheng Zhao
0a48af9ff7 Create objects from InstanceTemplate 2016-08-02 16:08:00 +09:00
Cheng Zhao
d55c3c5030 Turn Wrappable into using FunctionTemplate 2016-08-02 15:56:47 +09:00
Cheng Zhao
ab62755a88 Make InitWith virtual 2016-08-02 15:28:09 +09:00
Cheng Zhao
bd20bde1a2 Call the user call Init in Constructor 2016-08-02 15:14:48 +09:00
Cheng Zhao
d9bfe6a49d CHECK is not needed 2016-07-21 16:51:48 +09:00
Cheng Zhao
8a31e2d9c0 Update to API changes of V8 5.2 2016-07-04 15:08:08 +09:00
Cheng Zhao
a1efa28520 Setup v8::MicrotasksScope for callbacks 2016-06-24 14:40:47 +09:00
Cheng Zhao
e75f2aa087 Add converter for std::map 2016-06-13 09:26:48 +09:00
Cheng Zhao
4ad6ecd196 Handle.ToV8 should return Object 2016-05-20 15:38:51 +09:00
Cheng Zhao
ea07d4c6c8 Leak Wrappable's template
Since it is declared as static variable it will be released
automatically when process exits, which causes crashes in
renderer process because the template will then be released
later than V8 is closed.

This commit simply leaks the template so the crash won't happen,
this leak should be fine since leaking resource on exit is not
a bad thing.
2016-05-10 16:07:04 +09:00
Cheng Zhao
0df2d882ea Make Wrappable a template class 2016-04-25 10:17:39 +09:00
Cheng Zhao
553326b006 Merge pull request #4 from deepak1556/dictionary_patch
use v8::private symbols as identifiers for object properties
2016-03-31 10:18:26 +09:00
Robo
309887c444 use v8::private symbols as identifiers for object properties 2016-03-24 01:32:08 +05:30
Cheng Zhao
38834cb997 Merge pull request #3 from paulcbetts/chrome49
basictypes.h => macros.h
2016-03-08 17:43:54 +09:00
Paul Betts
16270fa080 basic_types.h => macros.h 2016-03-07 20:36:14 -08:00
Cheng Zhao
e719eab878 Clear internal field when Wrapper is destroyed 2016-02-02 19:50:27 +08:00
Cheng Zhao
26520c5cf4 Improve error message for type error
Close atom/electron#4307.
2016-02-02 10:10:59 +08:00
Cheng Zhao
a3dcf8ced6 Fix converter for std::set 2015-12-11 21:13:33 +08:00
Cheng Zhao
5e70868fd0 isDestroy => isDestroyed 2015-12-04 19:23:13 +08:00
Cheng Zhao
e859228db1 Do not manually destroy native resources 2015-12-03 15:38:14 +08:00
Cheng Zhao
9398494100 Add Dictionary::Delete 2015-11-11 00:25:10 +08:00
Cheng Zhao
21cda4e7fc Don't return v8::Maybe for std::vector 2015-11-02 20:45:29 +08:00
Cheng Zhao
b7387da085 Check whether key exists in Dictionary::Get 2015-09-10 15:57:30 +08:00
Cheng Zhao
8ca005eb41 Use the new SetWeak in Wrappable 2015-08-27 15:55:48 +08:00
Cheng Zhao
f5e34deb1a Add SetHidden for Dictionary 2015-08-27 15:21:27 +08:00
Cheng Zhao
b41635e809 Don't pass callback as const reference 2015-08-13 12:07:35 +08:00
Cheng Zhao
24d31e2046 Don't convert Function to Dictionary 2015-08-12 21:31:45 +08:00
Cheng Zhao
7160054927 GetNext should have no side effect when failed 2015-08-12 21:31:31 +08:00
Cheng Zhao
b6c353ee80 Add Dictionary::CreateEmpty 2015-08-12 21:18:59 +08:00
Cheng Zhao
67d9eaa215 Remove locker.h 2015-08-07 19:32:27 +08:00
Cheng Zhao
ebcf4c0224 Remove callback.h 2015-08-07 18:09:37 +08:00
Cheng Zhao
656e403f01 Use C++11 version of CreateFunctionTemplate 2015-07-23 14:59:32 +08:00
Cheng Zhao
41cd6d13c9 Allow specify methods that can be called after object is destroyed 2015-07-06 21:25:55 +08:00
Cheng Zhao
7b9926807d Add IsDestroyed method for Wrappable 2015-07-06 18:16:57 +08:00
Cheng Zhao
cc4e2fcd94 Check for null when converting Wrappable 2015-06-24 16:35:37 +08:00
Cheng Zhao
cad1fa50a9 Make isolate() public 2015-06-23 17:13:02 +08:00
Cheng Zhao
0586822808 Remember isolate in Wrappable 2015-06-23 17:09:20 +08:00
Cheng Zhao
f310222ce1 Allow converting Array 2015-06-10 11:14:42 +08:00
Cheng Zhao
ad207eeabb Enter context before calling callback 2015-05-29 13:41:59 +08:00
Cheng Zhao
1696237a3f Pass Handle to upper HandleScope when returning a V8 Handle 2015-05-22 21:23:16 +08:00
Cheng Zhao
269be86998 Use Local instead of Handle 2015-05-22 19:11:02 +08:00
Cheng Zhao
047a8de934 Merge pull request #1 from deepak1556/converter_patch
added std::set converter
2015-04-20 16:16:42 +08:00
deepak1556
39fae3a480 added std::set converter 2015-04-18 01:33:54 +05:30
Cheng Zhao
40da835cbb Don't reset handle before Wrappable is destroyed
It is possible that the user wants to use the V8 object in the destructor.

Fixes atom/atom-shell#1112.
2015-03-23 16:20:59 +08:00
Cheng Zhao
38aba07290 usigned long is uint64 on Linux 2015-03-14 18:47:36 +00:00
Cheng Zhao
a636fad51e Add converter for unsigned long 2015-03-10 16:46:54 -07:00
Cheng Zhao
d0db7bfb58 Add AfterInit method for Wrappable 2015-02-13 11:37:55 +08:00
Cheng Zhao
8d537ee2b6 Remove unneeded helper 2015-02-12 12:55:50 +08:00
Cheng Zhao
3387f33a8e Check internal field before converting 2015-02-11 22:09:42 +08:00
Cheng Zhao
1116a36c15 Avoid unnecessary copy in ConvertToV8 2015-01-14 18:55:38 -08:00
Cheng Zhao
bcf87fd3c9 OVERRIDE => override 2015-01-09 17:23:18 -08:00
Cheng Zhao
753d5675dd Fix ignored exception thrown from constructor. 2015-01-04 22:13:19 -08:00
Cheng Zhao
be2934d9b5 Fix throwing error in constructor 2015-01-02 18:05:25 -08:00
Cheng Zhao
4a1d11b2be Guard against non-constructor call in Constructor::New 2014-10-30 21:54:29 +08:00
Cheng Zhao
b1f7cfa9da Don't throw error in Constructor 2014-10-30 21:31:53 +08:00
Cheng Zhao
cc9d222923 Use NODE_VERSION_AT_LEAST to determine node version 2014-09-30 22:44:27 +08:00
Cheng Zhao
c5b39126ee Make throwing exception when parsing args easier 2014-09-23 23:28:52 +08:00
Cheng Zhao
12f4e9b7ea Add PersistentDictionary. 2014-09-09 14:12:59 +08:00
Cheng Zhao
742923c73d Remove unused constructor of Dictionary. 2014-09-09 13:32:41 +08:00
Cheng Zhao
980036b78a Make ScopedPersistent's interface consistent with V8. 2014-08-10 21:18:42 +08:00
Cheng Zhao
1387d3969e Add callback converter. 2014-08-10 19:05:25 +08:00
Cheng Zhao
5d6921ff2a Use pump to generate source files. 2014-08-10 16:59:50 +08:00
Cheng Zhao
cbb5004ff9 Fix compilation error of Constructor and ScopedPersistent in node 0.10. 2014-08-10 12:17:47 +08:00
Cheng Zhao
9145a08395 Fix compilation error with node 0.10. 2014-08-10 11:20:41 +08:00
Cheng Zhao
3d713baa4c Enable converting ScopedPersistent. 2014-07-21 13:07:56 +08:00
Cheng Zhao
14c851e9f8 Reset handle in weak callback.
This doesn't seem to be neccesary, but we had better follow what upstream does.
2014-07-18 09:37:07 +08:00
Cheng Zhao
e6db1875d0 Some more APIs fixes. 2014-06-28 22:32:35 +08:00
Cheng Zhao
8e056672bc Bring back ScopedPersistent.SetWeak. 2014-06-28 21:26:34 +08:00
Cheng Zhao
6f574c3802 Add APIs to match new V8 APIs. 2014-06-28 19:48:49 +08:00
Cheng Zhao
a5c4a2c7c6 Add .gitignore. 2014-06-23 21:50:00 +08:00
Cheng Zhao
bfd5f5d221 Strictly check for boolean type. 2014-06-23 21:47:39 +08:00
Cheng Zhao
94044b2950 Mark Dictionary.Get as const. 2014-06-23 21:39:03 +08:00
Cheng Zhao
51a55810b9 Enable creating empty Dictionary directly. 2014-06-23 21:38:46 +08:00
Cheng Zhao
1884b9a235 Add converter for const char*. 2014-06-23 21:24:18 +08:00
Cheng Zhao
730acd59c7 Add object() accessor for Dictionary. 2014-06-23 21:11:00 +08:00
Cheng Zhao
c79aecf64d Call object._init if we have one. 2014-05-27 08:47:06 +08:00
Cheng Zhao
f033e23ea3 No need to reset wrapper_ when we would run destructor. 2014-04-23 12:29:22 +08:00
Cheng Zhao
3d219b4be6 Do not wrap an object when it's already wrapped. 2014-04-22 15:57:23 +08:00
Cheng Zhao
d950fe3736 Add Arguments.Length method. 2014-04-22 15:57:11 +08:00
Cheng Zhao
9cc90ac7d5 Make ScopedPersistent do type conversion. 2014-04-18 16:45:44 +08:00
Cheng Zhao
94dec0ff85 Add v8::Handle<v8::String> to converter. 2014-04-16 15:28:43 +08:00
Cheng Zhao
c9fa29ef64 Enable setting method in Dictionary. 2014-04-16 15:13:44 +08:00
Cheng Zhao
213ac43721 Enable converting void*. 2014-04-16 14:56:33 +08:00
Cheng Zhao
d0bf1a842f Support function with 7 parameters. 2014-04-16 14:56:05 +08:00
Cheng Zhao
2d3af6fc38 Remove helper typedefs. 2014-04-16 14:29:45 +08:00
Cheng Zhao
ace550d6b2 Simplify Wrappable API. 2014-04-16 11:58:17 +08:00
Cheng Zhao
ac5be7dad7 Constructor should wrap the this pointer. 2014-04-16 10:36:54 +08:00
Cheng Zhao
bdfbef41c6 Cleanup. 2014-04-16 10:25:22 +08:00
Cheng Zhao
e2e1faa225 Make the Constructor accept arbitrary callback. 2014-04-16 09:50:51 +08:00
Cheng Zhao
78ab726ec7 Fix passing the wrong parameter. 2014-04-15 15:39:13 +08:00
Cheng Zhao
caa5ea0316 Add initial Constructor type. 2014-04-15 15:30:46 +08:00
Cheng Zhao
a20e02ee23 Fix compilation error of function_template. 2014-04-15 15:30:30 +08:00
Cheng Zhao
6ac926aa32 Enable modifying existing ObjectTemplate. 2014-04-15 11:34:07 +08:00
Cheng Zhao
4cada31f80 Do not rely on latest base/template_util. 2014-04-15 11:15:19 +08:00
Cheng Zhao
ff65b7dae1 Initial commit. 2014-04-15 11:04:36 +08:00
2561 changed files with 180161 additions and 130945 deletions

File diff suppressed because it is too large Load Diff

7
.circleci/fix-known-hosts.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
set -e
mkdir -p ~/.ssh
echo "|1|B3r+7aO0/x90IdefihIjxIoJrrk=|OJddGDfhbuLFc1bUyy84hhIw57M= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|rGlEvW55DtzNZp+pzw9gvyOyKi4=|LLWr+7qlkAlw3YGGVfLHHxB/kR0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts

View File

@@ -1,3 +1,3 @@
*
!tools/xvfb-init.sh
!tools/run-electron.sh
!build/install-build-deps.sh

7
.env.example Normal file
View File

@@ -0,0 +1,7 @@
# These env vars are only necessary for creating Electron releases.
# See docs/development/releasing.md
APPVEYOR_CLOUD_TOKEN=
CIRCLE_TOKEN=
ELECTRON_GITHUB_TOKEN=
VSTS_TOKEN=

36
.eslintrc.json Normal file
View File

@@ -0,0 +1,36 @@
{
"extends": "standard",
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"env": {
"browser": true
},
"rules": {
"semi": ["error", "always"],
"no-var": "error",
"no-unused-vars": 0,
"no-global-assign": 0,
"guard-for-in": 2,
"@typescript-eslint/no-unused-vars": ["error", {
"vars": "all",
"args": "after-used",
"ignoreRestSiblings": false
}],
"prefer-const": ["error", {
"destructuring": "all"
}],
"node/no-deprecated-api": 0
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"overrides": [
{
"files": "*.js",
"rules": {
"@typescript-eslint/no-unused-vars": "off"
}
}
]
}

4
.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
# `git apply` and friends don't understand CRLF, even on windows. Force those
# files to be checked out with LF endings even if core.autocrlf is true.
*.patch text eol=lf
patches/**/.patches merge=union

29
.github/CODEOWNERS vendored
View File

@@ -3,19 +3,20 @@
# https://help.github.com/articles/about-codeowners
# https://git-scm.com/docs/gitignore
# Everything that falls through the cracks:
* @electron/reviewers
# Most stuff in here is owned by the Community & Safety WG...
/.github/* @electron/wg-community
# filename patterns
*browser_view* @electron/browserview
*notification* @electron/notifications
*pdf* @electron/printing
*printing* @electron/printing
*updater* @electron/updater
# ...except the Admin WG maintains this file.
/.github/CODEOWNERS @electron/wg-admin
# directories
/.github/ @electron/hubbers
/default_app/ @electron/docs
/docs/ @electron/docs
/docs-translations/ @electron/i18n
/npm/ @electron/hubbers
# Upgrades WG
/patches/ @electron/wg-upgrades
DEPS @electron/wg-upgrades
# Docs & Tooling WG
/default_app/ @electron/wg-docs-tools
/docs/ @electron/wg-docs-tools
# Releases WG
/npm/ @electron/wg-releases
/script/release @electron/wg-releases

View File

@@ -1,35 +0,0 @@
<!--
Thanks for opening an issue! A few things to keep in mind:
- The issue tracker is only for bugs and feature requests.
- Before reporting a bug, please try reproducing your issue against
the latest version of Electron.
- If you need general advice, join our Slack: http://atom-slack.herokuapp.com
-->
* Electron version:
* Operating system:
### Expected behavior
<!-- What do you think should happen? -->
### Actual behavior
<!-- What actually happens? -->
### How to reproduce
<!--
Your best chance of getting this bug looked at quickly is to provide a REPOSITORY that can be cloned and run.
You can fork https://github.com/electron/electron-quick-start and include a link to the branch with your changes.
If you provide a URL, please list the commands required to clone/setup/run your repo e.g.
$ git clone $YOUR_URL -b $BRANCH
$ npm install
$ npm start || electron .
-->

58
.github/ISSUE_TEMPLATE/Bug_report.md vendored Normal file
View File

@@ -0,0 +1,58 @@
---
name: Bug report
about: Create a report to help us improve Electron
---
<!-- As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->
### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->
* [ ] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [ ] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [ ] I have searched the issue tracker for an issue that matches the one I want to file, without success.
### Issue Details
* **Electron Version:**
* <!-- (output of `node_modules/.bin/electron --version`) e.g. 4.0.3 -->
* **Operating System:**
* <!-- (Platform and Version) e.g. macOS 10.13.6 / Windows 10 (1803) / Ubuntu 18.04 x64 -->
* **Last Known Working Electron version:**
* <!-- (if applicable) e.g. 3.1.0 -->
### Expected Behavior
<!-- A clear and concise description of what you expected to happen. -->
### Actual Behavior
<!-- A clear and concise description of what actually happened. -->
### To Reproduce
<!--
Your best chance of getting this bug looked at quickly is to provide an example.
-->
<!--
For bugs that can be encapsulated in a small experiment, you can use Electron Fiddle (https://github.com/electron/fiddle) to publish your example to a GitHub Gist and link it your bug report.
-->
<!--
If Fiddle is insufficient to produce an example, please provide an example REPOSITORY that can be cloned and run. You can fork electron-quick-start (https://github.com/electron/electron-quick-start) and include a link to the branch with your changes.
-->
<!--
If you provide a URL, please list the commands required to clone/setup/run your repo e.g.
```sh
$ git clone $YOUR_URL -b $BRANCH
$ npm install
$ npm start || electron .
```
-->
### Screenshots
<!-- If applicable, add screenshots to help explain your problem. -->
### Additional Information
<!-- Add any other context about the problem here. -->

View File

@@ -0,0 +1,27 @@
---
name: Feature request
about: Suggest an idea for Electron
---
<!-- As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->
### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->
* [ ] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [ ] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [ ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
### Problem Description
<!-- Is your feature request related to a problem? Please add a clear and concise description of what the problem is. -->
### Proposed Solution
<!-- Describe the solution you'd like in a clear and concise manner -->
### Alternatives Considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
### Additional Information
<!-- Add any other context about the problem here. -->

View File

@@ -0,0 +1,25 @@
---
name: Mac App Store Private API Rejection
about: Your app was rejected from the Mac App Store for using private API's
---
<!-- As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->
### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->
* [ ] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [ ] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
### Issue Details
* **Electron Version:**
* <!-- (output of `node_modules/.bin/electron --version`) e.g. 4.0.3 -->
### Rejection Email
<!-- Paste the contents of your rejection email here, censoring any private information such as app names.-->
### Additional Information
<!-- Add any other context about the problem here. -->

View File

@@ -0,0 +1,10 @@
---
name: Security report
about: Do not create an issue for security reports, send an email to security@electronjs.org
---
### Notice
**DO NOT** create an issue for security reports.
Send an email to: **security@electronjs.org**.

View File

@@ -1,8 +1,21 @@
#### Description of Change
<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.
Bug fixes and new features should include tests and possibly benchmarks.
Contributors guide: https://github.com/electron/electron/blob/master/CONTRIBUTING.md
-->
-->
#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->
- [ ] PR description included and stakeholders cc'd
- [ ] `npm test` passes
- [ ] tests are [changed or added](https://github.com/electron/electron/blob/master/docs/development/testing.md)
- [ ] relevant documentation is changed or added
- [ ] PR title follows semantic [commit guidelines](https://github.com/electron/electron/blob/master/docs/development/pull-requests.md#commit-message-guidelines)
- [ ] [PR release notes](https://github.com/electron/clerk/blob/master/README.md) describe the change in a way relevant to app developers, and are [capitalized, punctuated, and past tense](https://github.com/electron/clerk/blob/master/README.md#examples).
#### Release Notes
Notes: <!-- Please add a one-line description for app developers to read in the release notes, or `no-notes` if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/master/README.md#examples -->

34
.github/config.yml vendored
View File

@@ -1,25 +1,23 @@
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome
# Comment to be posted to on first time issues
newIssueWelcomeComment: |
👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.
To help make it easier for us to investigate your issue, please follow the [contributing guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md#submitting-issues).
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
# Comment to be posted to on PRs from first time contributors in your repository
newPRWelcomeComment: |
💖 Thanks for opening this pull request! 💖
![typing cat](https://user-images.githubusercontent.com/2289/36400158-2c7c589e-1584-11e8-81c7-bd34fd3c392b.gif)
We use [semantic commit messages](https://github.com/electron/electron/blob/master/docs/development/pull-requests.md#commit-message-guidelines) to streamline the release process. Before your pull request can be merged, you should **update your pull request title** to start with a semantic prefix.
Examples of commit messages with semantic prefixes:
- `fix: don't overwrite prevent_default if default wasn't prevented`
- `feat: add app.isPackaged() method`
- `docs: app.isDefaultProtocolClient is now available on Linux`
Things that will help get your PR across the finish line:
Here is a list of things that will help get it across the finish line:
- Follow the JavaScript, C++, and Python [coding style](https://github.com/electron/electron/blob/master/docs/development/coding-style.md).
- Run `npm run lint` locally to catch formatting errors earlier.
- Document any user-facing changes you've made following the [documentation styleguide](https://github.com/electron/electron/blob/master/docs/styleguide.md).
- Include tests when adding/changing behavior.
- Include screenshots and animated GIFs whenever possible.
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can.
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
@@ -28,4 +26,14 @@ newPRWelcomeComment: |
firstPRMergeComment: >
Congrats on merging your first pull request! 🎉🎉🎉
# It is recommend to include as many gifs and emojis as possible
# Users authorized to run manual trop backports
authorizedUsers:
- alexeykuzmin
- ckerr
- codebytere
- deepak1556
- jkleinsc
- MarshallOfSound
- miniak
- nornagon
- zcbenz

25
.github/stale.yml vendored
View File

@@ -1,25 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 45
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- fixme/bug
- fixme/crash
- fixme/regression
- fixme/security
- blocked
- blocking-stable
- needs-review
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity and is not currently prioritized. It will be closed
in a week if no further activity occurs :)
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
If you still think this issue is relevant, please ping a maintainer or
leave a comment!

51
.gitignore vendored
View File

@@ -16,26 +16,15 @@
*.vcxproj.user
*.xcodeproj
/.idea/
/brightray/brightray.opensdf
/brightray/brightray.sdf
/brightray/brightray.sln
/brightray/brightray.suo
/brightray/brightray.v12.suo
/brightray/brightray.vcxproj*
/brightray/brightray.xcodeproj/
/build/
/dist/
/external_binaries/
/out/
/vendor/.gclient
/vendor/debian_jessie_amd64-sysroot/
/vendor/debian_jessie_arm-sysroot/
/vendor/debian_jessie_arm64-sysroot/
/vendor/debian_jessie_i386-sysroot/
/vendor/debian_jessie_mips64-sysroot/
/vendor/debian_wheezy_amd64-sysroot/
/vendor/debian_wheezy_arm-sysroot/
/vendor/debian_wheezy_i386-sysroot/
/vendor/debian_stretch_amd64-sysroot/
/vendor/debian_stretch_arm-sysroot/
/vendor/debian_stretch_arm64-sysroot/
/vendor/debian_stretch_i386-sysroot/
/vendor/gcc-4.8.3-d197-n64-loongson/
/vendor/readme-gcc483-loongson.txt
/vendor/download/
@@ -43,6 +32,36 @@
/vendor/llvm/
/vendor/npm/
/vendor/python_26/
/vendor/native_mksnapshot
/vendor/LICENSES.chromium.html
/vendor/pyyaml
node_modules/
SHASUMS256.txt
**/package-lock.json
**/package-lock.json
compile_commands.json
.envrc
# npm package
/npm/dist
/npm/path.txt
.npmrc
# Generated API definitions
electron-api.json
electron.d.ts
# Spec hash calculation
spec/.hash
# Eslint Cache
.eslintcache
# Generated native addon files
/spec-main/fixtures/native-addon/echo/build/
# If someone runs tsc this is where stuff will end up
ts-gen
# Used to accelerate CI builds
.depshash

24
.gitmodules vendored
View File

@@ -1,30 +1,6 @@
[submodule "vendor/node"]
path = vendor/node
url = https://github.com/electron/node.git
[submodule "vendor/depot_tools"]
path = vendor/depot_tools
url = https://chromium.googlesource.com/chromium/tools/depot_tools.git
[submodule "vendor/breakpad"]
path = vendor/breakpad
url = https://github.com/electron/chromium-breakpad.git
[submodule "vendor/native_mate"]
path = vendor/native_mate
url = https://github.com/electron/native-mate.git
[submodule "vendor/crashpad"]
path = vendor/crashpad
url = https://github.com/electron/crashpad.git
[submodule "vendor/requests"]
path = vendor/requests
url = https://github.com/kennethreitz/requests
[submodule "vendor/boto"]
path = vendor/boto
url = https://github.com/boto/boto.git
[submodule "vendor/pdf_viewer"]
path = vendor/pdf_viewer
url = https://github.com/electron/pdf-viewer.git
[submodule "vendor/gyp"]
path = vendor/gyp
url = https://github.com/electron/gyp
[submodule "vendor/libchromiumcontent"]
path = vendor/libchromiumcontent
url = https://github.com/electron/libchromiumcontent

View File

@@ -1 +0,0 @@
v8.2.1

View File

@@ -1,34 +0,0 @@
git:
depth: 10
notifications:
email: false
before_install:
- export BOTO_CONFIG=/dev/null
language: node_js
node_js:
- "4"
os:
- linux
- osx
env:
- TARGET_ARCH=x64
osx_image: xcode7.3
matrix:
include:
- os: linux
env: TARGET_ARCH=arm
- os: linux
env: TARGET_ARCH=ia32
- os: linux
env: TARGET_ARCH=arm64
allow_failures:
- os: osx
script: './script/cibuild'
branches:
only:
- master

1395
BUILD.gn Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [electron@github.com](mailto:electron@github.com). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [coc@electronjs.org](mailto:coc@electronjs.org). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

View File

@@ -4,7 +4,7 @@
This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable
behavior to electron@github.com.
behavior to coc@electronjs.org.
The following is a set of guidelines for contributing to Electron.
These are just guidelines, not rules, use your best judgment and feel free to
@@ -20,13 +20,23 @@ Issues are created [here](https://github.com/electron/electron/issues/new).
* [Triaging a Bug Report](https://electronjs.org/docs/development/issues#triaging-a-bug-report)
* [Resolving a Bug Report](https://electronjs.org/docs/development/issues#resolving-a-bug-report)
### Issue Maintenance and Closure
* If an issue is inactive for 45 days (no activity of any kind), it will be
marked for closure with `stale`.
* If after this label is applied, no further activity occurs in the next 7 days,
the issue will be closed.
* If an issue has been closed and you still feel it's relevant, feel free to
ping a maintainer or add a comment!
### Issue Closure
Bug reports will be closed if the issue has been inactive and the latest affected version no longer receives support. At the moment, Electron maintains its three latest major versions, with a new major version being released every 12 weeks. (For more information on Electron's release cadence, see [this blog post](https://electronjs.org/blog/12-week-cadence).)
_If an issue has been closed and you still feel it's relevant, feel free to ping a maintainer or add a comment!_
### Languages
We accept issues in *any* language.
When an issue is posted in a language besides English, it is acceptable and encouraged to post an English-translated copy as a reply.
Anyone may post the translated reply.
In most cases, a quick pass through translation software is sufficient.
Having the original text _as well as_ the translation can help mitigate translation errors.
Responses to posted issues may or may not be in the original language.
**Please note** that using non-English as an attempt to circumvent our [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) will be an immediate, and possibly indefinite, ban from the project.
## [Pull Requests](https://electronjs.org/docs/development/pull-requests)
@@ -54,3 +64,7 @@ dependencies, and tools contained in the `electron/electron` repository.
See [Coding Style](https://electronjs.org/docs/development/coding-style) for information about which standards Electron adheres to in different parts of its codebase.
## Further Reading
For more in-depth guides on developing Electron, see
[/docs/development](/docs/development/README.md)

156
DEPS Normal file
View File

@@ -0,0 +1,156 @@
gclient_gn_args_file = 'src/build/config/gclient_args.gni'
gclient_gn_args = [
'build_with_chromium',
'checkout_android',
'checkout_android_native_support',
'checkout_libaom',
'checkout_nacl',
'checkout_oculus_sdk',
'checkout_openxr'
]
vars = {
'chromium_version':
'80.0.3987.165',
'node_version':
'v12.13.0',
'nan_version':
'2ee313aaca52e2b478965ac50eb5082520380d1b',
'boto_version': 'f7574aa6cc2c819430c1f05e9a1a1a666ef8169b',
'pyyaml_version': '3.12',
'requests_version': 'e4d59bedfd3c7f4f254f4f5d036587bcd8152458',
'boto_git': 'https://github.com/boto',
'chromium_git': 'https://chromium.googlesource.com',
'electron_git': 'https://github.com/electron',
'nodejs_git': 'https://github.com/nodejs',
'requests_git': 'https://github.com/kennethreitz',
'yaml_git': 'https://github.com/yaml',
# KEEP IN SYNC WITH utils.js FILE
'yarn_version': '1.15.2',
# To be able to build clean Chromium from sources.
'apply_patches': True,
# Python interface to Amazon Web Services. Is used for releases only.
'checkout_boto': False,
# To allow in-house builds to checkout those manually.
'checkout_chromium': True,
'checkout_node': True,
'checkout_nan': True,
# It's only needed to parse the native tests configurations.
'checkout_pyyaml': False,
# Python "requests" module is used for releases only.
'checkout_requests': False,
# To allow running hooks without parsing the DEPS tree
'process_deps': True,
# It is always needed for normal Electron builds,
# but might be impossible for custom in-house builds.
'download_external_binaries': True,
'checkout_nacl':
False,
'checkout_libaom':
True,
'checkout_oculus_sdk':
False,
'checkout_openxr':
False,
'build_with_chromium':
True,
'checkout_android':
False,
'checkout_android_native_support':
False,
}
deps = {
'src': {
'url': (Var("chromium_git")) + '/chromium/src.git@' + (Var("chromium_version")),
'condition': 'checkout_chromium and process_deps',
},
'src/third_party/nan': {
'url': (Var("nodejs_git")) + '/nan.git@' + (Var("nan_version")),
'condition': 'checkout_nan and process_deps',
},
'src/third_party/electron_node': {
'url': (Var("nodejs_git")) + '/node.git@' + (Var("node_version")),
'condition': 'checkout_node and process_deps',
},
'src/electron/vendor/pyyaml': {
'url': (Var("yaml_git")) + '/pyyaml.git@' + (Var("pyyaml_version")),
'condition': 'checkout_pyyaml and process_deps',
},
'src/electron/vendor/boto': {
'url': Var('boto_git') + '/boto.git' + '@' + Var('boto_version'),
'condition': 'checkout_boto and process_deps',
},
'src/electron/vendor/requests': {
'url': Var('requests_git') + '/requests.git' + '@' + Var('requests_version'),
'condition': 'checkout_requests and process_deps',
},
}
hooks = [
{
'name': 'patch_chromium',
'condition': '(checkout_chromium and apply_patches) and process_deps',
'pattern': 'src/electron',
'action': [
'python',
'src/electron/script/apply_all_patches.py',
'src/electron/patches/config.json',
],
},
{
'name': 'electron_external_binaries',
'pattern': 'src/electron/script/update-external-binaries.py',
'condition': 'download_external_binaries',
'action': [
'python3',
'src/electron/script/update-external-binaries.py',
],
},
{
'name': 'electron_npm_deps',
'pattern': 'src/electron/package.json',
'action': [
'python',
'-c',
'import os, subprocess; os.chdir(os.path.join("src", "electron")); subprocess.check_call(["python", "script/lib/npx.py", "yarn@' + (Var("yarn_version")) + '", "install", "--frozen-lockfile"]);',
],
},
{
'name': 'setup_boto',
'pattern': 'src/electron',
'condition': 'checkout_boto and process_deps',
'action': [
'python',
'-c',
'import os, subprocess; os.chdir(os.path.join("src", "electron", "vendor", "boto")); subprocess.check_call(["python", "setup.py", "build"]);',
],
},
{
'name': 'setup_requests',
'pattern': 'src/electron',
'condition': 'checkout_requests and process_deps',
'action': [
'python',
'-c',
'import os, subprocess; os.chdir(os.path.join("src", "electron", "vendor", "requests")); subprocess.check_call(["python", "setup.py", "build"]);',
],
},
]
recursedeps = [
'src',
]
# Touch DEPS to bust cache

View File

@@ -1,21 +1,50 @@
FROM electronbuilds/libchromiumcontent:0.0.4
FROM ubuntu:18.04
USER root
RUN groupadd --gid 1000 builduser \
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
# Set up HOME directory
ENV HOME=/home
RUN chmod a+rwx /home
# Set up TEMP directory
ENV TEMP=/tmp
RUN chmod a+rwx /tmp
# Install node.js
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get install -y nodejs
# Install Linux packages
ADD build/install-build-deps.sh /setup/install-build-deps.sh
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
RUN dpkg --add-architecture i386
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
curl \
libnotify-bin \
locales \
lsb-release \
nano \
python-dbus \
python-pip \
python-setuptools \
sudo \
vim-nox \
wget \
g++-multilib \
libgl1:i386 \
&& /setup/install-build-deps.sh --syms --no-prompt --no-chromeos-fonts --lib32 --arm \
&& rm -rf /var/lib/apt/lists/*
# Install wget used by crash reporter
RUN apt-get install -y wget
# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# Install python-dbusmock
RUN apt-get install -y python-dbusmock
# crcmod is required by gsutil, which is used for filling the gclient git cache
RUN pip install -U crcmod
# dbusmock is needed for Electron tests
RUN pip install python-dbusmock
RUN mkdir /tmp/workspace
RUN chown builduser:builduser /tmp/workspace
# Add xvfb init script
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
USER builduser
WORKDIR /home/builduser

59
Dockerfile.arm32v7 Normal file
View File

@@ -0,0 +1,59 @@
FROM arm32v7/ubuntu:18.04
RUN groupadd --gid 1000 builduser \
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
# Set up TEMP directory
ENV TEMP=/tmp
RUN chmod a+rwx /tmp
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
bison \
build-essential \
clang \
curl \
gperf \
git \
libasound2 \
libasound2-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
libgnome-keyring-dev \
libgtk2.0-0 \
libgtk2.0-dev \
libgtk-3-0 \
libgtk-3-dev \
libnotify-bin \
libnss3 \
libnss3-dev \
libxss1 \
libxtst-dev \
libxtst6 \
lsb-release \
locales \
nano \
python-setuptools \
python-pip \
python-dbusmock \
sudo \
unzip \
wget \
xvfb \
&& rm -rf /var/lib/apt/lists/*
# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# crcmod is required by gsutil, which is used for filling the gclient git cache
RUN pip install -U crcmod
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
RUN usermod -aG sudo builduser
RUN echo 'builduser ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
WORKDIR /home/builduser

View File

@@ -1,34 +0,0 @@
FROM multiarch/debian-debootstrap:arm64-jessie
RUN apt-get update && apt-get install -y\
bison \
build-essential \
clang \
curl \
gperf \
libasound2 \
libasound2-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
libgconf-2-4 \
libgconf2-dev \
libgnome-keyring-dev \
libgtk-3-0 \
libgtk-3-dev \
libnotify-dev \
libnss3 \
libnss3-dev \
libx11-xcb-dev \
libxss1 \
libxtst-dev \
libxtst6 \
python-dbusmock \
wget \
xvfb
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
ADD tools/run-electron.sh /run-electron.sh
RUN chmod a+x /run-electron.sh
CMD sh /run-electron.sh

65
Dockerfile.arm64v8 Normal file
View File

@@ -0,0 +1,65 @@
FROM arm64v8/ubuntu:18.04
RUN groupadd --gid 1000 builduser \
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
# Set up TEMP directory
ENV TEMP=/tmp
RUN chmod a+rwx /tmp
RUN dpkg --add-architecture armhf
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
bison \
build-essential \
clang \
curl \
gperf \
git \
libasound2 \
libasound2-dev \
libc6:armhf \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
libgnome-keyring-dev \
libgtk2.0-0 \
libgtk2.0-dev \
libgtk-3-0 \
libgtk-3-dev \
libnotify-bin \
libnss3 \
libnss3-dev \
libstdc++6:armhf \
libxss1 \
libxtst-dev \
libxtst6 \
lsb-release \
locales \
nano \
python-setuptools \
python-pip \
sudo \
unzip \
wget \
xvfb \
&& rm -rf /var/lib/apt/lists/*
# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# crcmod is required by gsutil, which is used for filling the gclient git cache
RUN pip install -U crcmod
# dbusmock is needed for Electron tests
RUN pip install python-dbusmock
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
RUN usermod -aG sudo builduser
RUN echo 'builduser ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
WORKDIR /home/builduser

View File

@@ -1,40 +0,0 @@
FROM multiarch/debian-debootstrap:armhf-jessie
RUN apt-get update && apt-get install -y\
bison \
build-essential \
clang \
curl \
gperf \
libasound2 \
libasound2-dev \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
libgconf-2-4 \
libgconf2-dev \
libgnome-keyring-dev \
libgtk-3-0 \
libgtk-3-dev \
libnotify-dev \
libnss3 \
libnss3-dev \
libx11-xcb-dev \
libxss1 \
libxtst-dev \
libxtst6 \
python-dbusmock \
git \
wget \
xvfb
# Install node.js
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get install -y nodejs
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
ADD tools/run-electron.sh /run-electron.sh
RUN chmod a+x /run-electron.sh
CMD sh /run-electron.sh

View File

@@ -1,20 +0,0 @@
FROM electronbuilds/libchromiumcontent:0.0.4
USER root
# Install node.js
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get install -y nodejs
# Install wget used by crash reporter
RUN apt-get install -y wget
# Install python-dbusmock
RUN apt-get install -y python-dbusmock
# Add xvfb init script
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
USER builduser
WORKDIR /home/builduser

1
ELECTRON_VERSION Normal file
View File

@@ -0,0 +1 @@
8.2.5

48
Jenkinsfile vendored
View File

@@ -1,48 +0,0 @@
pipeline {
agent none
stages {
stage('Build') {
parallel {
stage('electron-osx-x64') {
agent {
label 'osx'
}
steps {
timeout(60) {
sh 'script/bootstrap.py --target_arch=x64 --dev'
sh 'npm run lint'
sh 'script/build.py -c D'
sh 'script/test.py --ci --rebuild_native_modules'
}
}
post {
always {
cleanWs()
}
}
}
stage('electron-mas-x64') {
agent {
label 'osx'
}
environment {
MAS_BUILD = '1'
}
steps {
timeout(60) {
sh 'script/bootstrap.py --target_arch=x64 --dev'
sh 'npm run lint'
sh 'script/build.py -c D'
sh 'script/test.py --ci --rebuild_native_modules'
}
}
post {
always {
cleanWs()
}
}
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
Copyright (c) 2013-2018 GitHub Inc.
Copyright (c) 2013-2019 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

View File

@@ -2,13 +2,11 @@
[![CircleCI Build Status](https://circleci.com/gh/electron/electron/tree/master.svg?style=shield)](https://circleci.com/gh/electron/electron/tree/master)
[![AppVeyor Build Status](https://windows-ci.electronjs.org/api/projects/status/nilyf07hcef14dvj/branch/master?svg=true)](https://windows-ci.electronjs.org/project/AppVeyor/electron/branch/master)
[![Jenkins Build Status](https://mac-ci.electronjs.org/buildStatus/icon?job=Electron%20org/electron/master)](https://mac-ci.electronjs.org/blue/organizations/jenkins/Electron%20org%2Felectron/activity?branch=master)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/4lggi9dpjc1qob7k/branch/master?svg=true)](https://ci.appveyor.com/project/electron-bot/electron-ljo26/branch/master)
[![devDependency Status](https://david-dm.org/electron/electron/dev-status.svg)](https://david-dm.org/electron/electron?type=dev)
[![Join the Electron Community on Slack](https://atom-slack.herokuapp.com/badge.svg)](https://atom-slack.herokuapp.com/)
:memo: Available Translations: 🇨🇳 🇹🇼 🇧🇷 🇪🇸 🇰🇷 🇯🇵 🇷🇺 🇫🇷 🇹🇭 🇳🇱 🇹🇷 🇮🇩 🇺🇦 🇨🇿 🇮🇹.
View these docs in other languages at [electron/electron-i18n](https://github.com/electron/electron-i18n/tree/master/content/).
:memo: Available Translations: 🇨🇳 🇹🇼 🇧🇷 🇪🇸 🇰🇷 🇯🇵 🇷🇺 🇫🇷 🇹🇭 🇳🇱 🇹🇷 🇮🇩 🇺🇦 🇨🇿 🇮🇹 🇵🇱.
View these docs in other languages at [electron/i18n](https://github.com/electron/i18n/tree/master/content/).
The Electron framework lets you write cross-platform desktop applications
using JavaScript, HTML and CSS. It is based on [Node.js](https://nodejs.org/) and
@@ -21,7 +19,7 @@ announcements.
This project adheres to the Contributor Covenant
[code of conduct](https://github.com/electron/electron/tree/master/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable
behavior to [electron@github.com](mailto:electron@github.com).
behavior to [coc@electronjs.org](mailto:coc@electronjs.org).
## Installation
@@ -30,19 +28,24 @@ The preferred method is to install Electron as a development dependency in your
app:
```sh
npm install electron --save-dev --save-exact
npm install electron --save-dev [--save-exact]
```
The `--save-exact` flag is recommended as Electron does not follow semantic
versioning. For info on how to manage Electron versions in your apps, see
The `--save-exact` flag is recommended for Electron prior to version 2, as it does not follow semantic
versioning. As of version 2.0.0, Electron follows semver, so you don't need `--save-exact` flag. For info on how to manage Electron versions in your apps, see
[Electron versioning](docs/tutorial/electron-versioning.md).
For more installation options and troubleshooting tips, see
[installation](docs/tutorial/installation.md).
## Quick start
## Quick start & Electron Fiddle
Clone and run the
Use [`Electron Fiddle`](https://github.com/electron/fiddle)
to build, run, and package small Electron experiments, to see code examples for all of Electron's APIs, and
to try out different versions of Electron. It's designed to make the start of your journey with
Electron easier.
Alternatively, clone and run the
[electron/electron-quick-start](https://github.com/electron/electron-quick-start)
repository to see a minimal Electron app in action:
@@ -55,12 +58,13 @@ npm start
## Resources for learning Electron
- [electronjs.org/docs](https://electronjs.org/docs) - all of Electron's documentation
- [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - a very basic starter Electron app
- [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - sample starter apps created by the community
- [electron/simple-samples](https://github.com/electron/simple-samples) - small applications with ideas for taking them further
- [electron/electron-api-demos](https://github.com/electron/electron-api-demos) - an Electron app that teaches you how to use Electron
- [hokein/electron-sample-apps](https://github.com/hokein/electron-sample-apps) - small demo apps for the various Electron APIs
- [electronjs.org/docs](https://electronjs.org/docs) - All of Electron's documentation
- [electron/fiddle](https://github.com/electron/fiddle) - A tool to build, run, and package small Electron experiments
- [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - A very basic starter Electron app
- [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - Sample starter apps created by the community
- [electron/simple-samples](https://github.com/electron/simple-samples) - Small applications with ideas for taking them further
- [electron/electron-api-demos](https://github.com/electron/electron-api-demos) - An Electron app that teaches you how to use Electron
- [hokein/electron-sample-apps](https://github.com/hokein/electron-sample-apps) - Small demo apps for the various Electron APIs
## Programmatic usage
@@ -85,26 +89,16 @@ const child = proc.spawn(electron)
## Documentation Translations
Find documentation translations in [electron/electron-i18n](https://github.com/electron/electron-i18n).
Find documentation translations in [electron/i18n](https://github.com/electron/i18n).
## Contributing
If you are interested in reporting/fixing issues and contributing directly to the code base, please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information on what we're looking for and how to get started.
## Community
You can ask questions and interact with the community in the following
locations:
- [`electron`](https://discuss.atom.io/c/electron) category on the Atom
forums
- `#atom-shell` channel on Freenode
- [`Atom`](https://atom-slack.herokuapp.com) channel on Slack
- [`electron-ru`](https://telegram.me/electron_ru) *(Russian)*
- [`electron-br`](https://electron-br.slack.com) *(Brazilian Portuguese)*
- [`electron-kr`](https://electron-kr.github.io/electron-kr) *(Korean)*
- [`electron-jp`](https://electron-jp.slack.com) *(Japanese)*
- [`electron-tr`](https://electron-tr.herokuapp.com) *(Turkish)*
- [`electron-id`](https://electron-id.slack.com) *(Indonesia)*
- [`electron-pl`](https://electronpl.github.io) *(Poland)*
Check out [awesome-electron](https://github.com/sindresorhus/awesome-electron)
for a community maintained list of useful example apps, tools and resources.
Info on reporting bugs, getting help, finding third-party tools and sample apps,
and more can be found in the [support document](docs/tutorial/support.md#finding-support).
## License

View File

@@ -2,7 +2,7 @@
The Electron team and community take security bugs in Electron seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
To report a security issue, email [electron@github.com](mailto:electron@github.com) and include the word "SECURITY" in the subject line.
To report a security issue, email [security@electronjs.org](mailto:security@electronjs.org) and include the word "SECURITY" in the subject line.
The Electron team will send a response indicating the next steps in handling your report. After the initial reply to your report, the security team will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.

182
appveyor.yml Normal file
View File

@@ -0,0 +1,182 @@
# The config expects the following environment variables to be set:
# - "GN_CONFIG" Build type. One of {'debug', 'testing', 'release'}.
# - "GN_EXTRA_ARGS" Additional gn arguments for a build config,
# e.g. 'target_cpu="x86"' to build for a 32bit platform.
# https://gn.googlesource.com/gn/+/master/docs/reference.md#target_cpu
# Don't forget to set up "NPM_CONFIG_ARCH" and "TARGET_ARCH" accordningly
# if you pass a custom value for 'target_cpu'.
# - "ELECTRON_RELEASE" Set it to '1' upload binaries on success.
# - "NPM_CONFIG_ARCH" E.g. 'x86'. Is used to build native Node.js modules.
# Must match 'target_cpu' passed to "GN_EXTRA_ARGS" and "TARGET_ARCH" value.
# - "TARGET_ARCH" Choose from {'ia32', 'x64', 'arm', 'arm64', 'mips64el'}.
# Is used in some publishing scripts, but does NOT affect the Electron binary.
# Must match 'target_cpu' passed to "GN_EXTRA_ARGS" and "NPM_CONFIG_ARCH" value.
# - "UPLOAD_TO_S3" Set it to '1' upload a release to the S3 bucket.
# Otherwise the release will be uploaded to the Github Releases.
# (The value is only checked if "ELECTRON_RELEASE" is defined.)
#
# The publishing scripts expect access tokens to be defined as env vars,
# but those are not covered here.
#
# AppVeyor docs on variables:
# https://www.appveyor.com/docs/environment-variables/
# https://www.appveyor.com/docs/build-configuration/#secure-variables
# https://www.appveyor.com/docs/build-configuration/#custom-environment-variables
# Uncomment these lines to enable RDP
#on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
version: 1.0.{build}
build_cloud: libcc-20
image: vs2019-16.3-10.0.18362
environment:
GIT_CACHE_PATH: C:\Users\electron\libcc_cache
ELECTRON_OUT_DIR: Default
ELECTRON_ENABLE_STACK_DUMPING: 1
MOCHA_REPORTER: mocha-multi-reporters
MOCHA_MULTI_REPORTERS: mocha-appveyor-reporter, tap
notifications:
- provider: Webhook
url: https://electron-mission-control.herokuapp.com/rest/appveyor-hook
method: POST
headers:
x-mission-control-secret:
secure: 90BLVPcqhJPG7d24v0q/RRray6W3wDQ8uVQlQjOHaBWkw1i8FoA1lsjr2C/v1dVok+tS2Pi6KxDctPUkwIb4T27u4RhvmcPzQhVpfwVJAG9oNtq+yKN7vzHfg7k/pojEzVdJpQLzeJGcSrZu7VY39Q==
on_build_success: false
on_build_failure: true
on_build_status_changed: false
build_script:
- ps: >-
if(($env:APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME -split "/")[0] -eq ($env:APPVEYOR_REPO_NAME -split "/")[0]) {
Write-warning "Skipping PR build for branch"; Exit-AppveyorBuild
} else {
node script/yarn.js install --frozen-lockfile
if ($(node script/doc-only-change.js --prNumber=$env:APPVEYOR_PULL_REQUEST_NUMBER --prBranch=$env:APPVEYOR_REPO_BRANCH;$LASTEXITCODE -eq 0)) {
Write-warning "Skipping build for doc only change"; Exit-AppveyorBuild
}
}
- echo "Building $env:GN_CONFIG build"
- git config --global core.longpaths true
- cd ..
- mkdir src
- ps: Move-Item $env:APPVEYOR_BUILD_FOLDER -Destination src\electron
- ps: $env:CHROMIUM_BUILDTOOLS_PATH="$pwd\src\buildtools"
- ps: $env:SCCACHE_PATH="$pwd\src\electron\external_binaries\sccache.exe"
- ps: >-
if ($env:GN_CONFIG -eq 'release') {
$env:GCLIENT_EXTRA_ARGS="$env:GCLIENT_EXTRA_ARGS --custom-var=checkout_boto=True --custom-var=checkout_requests=True"
} else {
$env:NINJA_STATUS="[%r processes, %f/%t @ %o/s : %es] "
}
- >-
gclient config
--name "src\electron"
--unmanaged
%GCLIENT_EXTRA_ARGS%
"https://github.com/electron/electron"
- gclient sync --with_branch_heads --with_tags --ignore_locks --break_repo_locks
- ps: >-
if ($env:SAVE_GCLIENT_SRC -eq 'true') {
# archive current source for future use
# only run on x64/woa to avoid contention saving
if ($(7z a $zipfile src -xr!android_webview -xr!electron -xr'!*\.git' -xr!third_party\WebKit\LayoutTests! -xr!third_party\blink\web_tests -xr!third_party\blink\perf_tests -slp -t7z -mmt=30;$LASTEXITCODE -ne 0)) {
Write-warning "Could not save source to shared drive; continuing anyway"
}
}
- ps: >-
if ($env:GN_CONFIG -ne 'release') {
if (Test-Path 'env:RAW_GOMA_AUTH') {
$env:GOMA_OAUTH2_CONFIG_FILE = "$pwd\.goma_oauth2_config"
$env:RAW_GOMA_AUTH | Set-Content $env:GOMA_OAUTH2_CONFIG_FILE
}
git clone https://github.com/electron/build-tools.git
cd build-tools
npm install
mkdir third_party
node -e "require('./src/utils/goma.js').downloadAndPrepare()"
$env:GN_GOMA_FILE = node -e "console.log(require('./src/utils/goma.js').gnFilePath)"
$env:LOCAL_GOMA_DIR = node -e "console.log(require('./src/utils/goma.js').dir)"
cd ..
.\src\electron\script\start-goma.ps1 -gomaDir $env:LOCAL_GOMA_DIR
}
- cd src
- set BUILD_CONFIG_PATH=//electron/build/args/%GN_CONFIG%.gn
- if DEFINED GN_GOMA_FILE (gn gen out/Default "--args=import(\"%BUILD_CONFIG_PATH%\") import(\"%GN_GOMA_FILE%\") %GN_EXTRA_ARGS% ") else (gn gen out/Default "--args=import(\"%BUILD_CONFIG_PATH%\") %GN_EXTRA_ARGS% cc_wrapper=\"%SCCACHE_PATH%\"")
- gn check out/Default //electron:electron_lib
- gn check out/Default //electron:electron_app
- gn check out/Default //electron:manifests
- gn check out/Default //electron/shell/common/api:mojo
- if DEFINED GN_GOMA_FILE (ninja -j 300 -C out/Default electron:electron_app) else (ninja -C out/Default electron:electron_app)
- if "%GN_CONFIG%"=="testing" ( python C:\Users\electron\depot_tools\post_build_ninja_summary.py -C out\Default )
- gn gen out/ffmpeg "--args=import(\"//electron/build/args/ffmpeg.gn\") %GN_EXTRA_ARGS%"
- ninja -C out/ffmpeg electron:electron_ffmpeg_zip
- ninja -C out/Default electron:electron_dist_zip
- ninja -C out/Default shell_browser_ui_unittests
- ninja -C out/Default electron:electron_mksnapshot_zip
- ninja -C out/Default electron:hunspell_dictionaries_zip
- ninja -C out/Default electron:electron_chromedriver_zip
- ninja -C out/Default third_party/electron_node:headers
- if "%GN_CONFIG%"=="testing" ( python %LOCAL_GOMA_DIR%\goma_ctl.py stat )
- appveyor PushArtifact out/Default/dist.zip
- appveyor PushArtifact out/Default/shell_browser_ui_unittests.exe
- appveyor PushArtifact out/Default/chromedriver.zip
- appveyor PushArtifact out/ffmpeg/ffmpeg.zip
- 7z a node_headers.zip out\Default\gen\node_headers
- appveyor PushArtifact node_headers.zip
- appveyor PushArtifact out/Default/mksnapshot.zip
- appveyor PushArtifact out/Default/hunspell_dictionaries.zip
- appveyor PushArtifact out/Default/electron.lib
- ps: >-
if ($env:GN_CONFIG -eq 'release') {
# Needed for msdia140.dll on 64-bit windows
$env:Path += ";$pwd\third_party\llvm-build\Release+Asserts\bin"
ninja -C out/Default electron:electron_symbols
}
- ps: >-
if ($env:GN_CONFIG -eq 'release') {
python electron\script\zip-symbols.py
appveyor PushArtifact out/Default/symbols.zip
} else {
# It's useful to have pdb files when debugging testing builds that are
# built on CI.
7z a pdb.zip out\Default\*.pdb
appveyor PushArtifact pdb.zip
}
- python electron/script/zip_manifests/check-zip-manifest.py out/Default/dist.zip electron/script/zip_manifests/dist_zip.win.%TARGET_ARCH%.manifest
test_script:
# Workaround for https://github.com/appveyor/ci/issues/2420
- set "PATH=%PATH%;C:\Program Files\Git\mingw64\libexec\git-core"
- ps: >-
if ((-Not (Test-Path Env:\TEST_WOA)) -And (-Not (Test-Path Env:\ELECTRON_RELEASE)) -And ($env:GN_CONFIG -in "testing", "release")) {
$env:RUN_TESTS="true"
}
- ps: >-
if ($env:RUN_TESTS -eq 'true') {
New-Item .\out\Default\gen\node_headers\Release -Type directory
Copy-Item -path .\out\Default\electron.lib -destination .\out\Default\gen\node_headers\Release\node.lib
} else {
echo "Skipping tests for $env:GN_CONFIG build"
}
- cd electron
- if "%RUN_TESTS%"=="true" ( echo Running test suite & node script/yarn test -- --ci --enable-logging)
- cd ..
- if "%RUN_TESTS%"=="true" ( echo Verifying non proprietary ffmpeg & python electron\script\verify-ffmpeg.py --build-dir out\Default --source-root %cd% --ffmpeg-path out\ffmpeg )
- echo "About to verify mksnapshot"
- if "%RUN_TESTS%"=="true" ( echo Verifying mksnapshot & python electron\script\verify-mksnapshot.py --build-dir out\Default --source-root %cd% )
- echo "Done verifying mksnapshot"
deploy_script:
- cd electron
- ps: >-
if (Test-Path Env:\ELECTRON_RELEASE) {
if (Test-Path Env:\UPLOAD_TO_S3) {
Write-Output "Uploading Electron release distribution to s3"
& python script\release\uploaders\upload.py --upload_to_s3
} else {
Write-Output "Uploading Electron release distribution to github releases"
& python script\release\uploaders\upload.py
}
} elseif (Test-Path Env:\TEST_WOA) {
node script/release/ci-release-build.js --job=electron-woa-testing --ci=VSTS --armTest --appveyorJobId=$env:APPVEYOR_JOB_ID $env:APPVEYOR_REPO_BRANCH
}

View File

@@ -1 +0,0 @@
filter=+build/include_alpha

View File

@@ -1,225 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/app/atom_content_client.h"
#include <string>
#include <vector>
#include "atom/common/atom_constants.h"
#include "atom/common/atom_version.h"
#include "atom/common/chrome_version.h"
#include "atom/common/options_switches.h"
#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "content/public/common/content_constants.h"
#include "content/public/common/pepper_plugin_info.h"
#include "content/public/common/user_agent.h"
#include "pdf/pdf.h"
#include "ppapi/shared_impl/ppapi_permissions.h"
#include "third_party/widevine/cdm/stub/widevine_cdm_version.h"
#include "ui/base/l10n/l10n_util.h"
#include "url/url_constants.h"
#if defined(WIDEVINE_CDM_AVAILABLE) && BUILDFLAG(ENABLE_PEPPER_CDMS)
#include "chrome/common/widevine_cdm_constants.h"
#endif
namespace atom {
namespace {
content::PepperPluginInfo CreatePepperFlashInfo(const base::FilePath& path,
const std::string& version) {
content::PepperPluginInfo plugin;
plugin.is_out_of_process = true;
plugin.name = content::kFlashPluginName;
plugin.path = path;
plugin.permissions = ppapi::PERMISSION_ALL_BITS;
std::vector<std::string> flash_version_numbers = base::SplitString(
version, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
if (flash_version_numbers.empty())
flash_version_numbers.push_back("11");
// |SplitString()| puts in an empty string given an empty string. :(
else if (flash_version_numbers[0].empty())
flash_version_numbers[0] = "11";
if (flash_version_numbers.size() < 2)
flash_version_numbers.push_back("2");
if (flash_version_numbers.size() < 3)
flash_version_numbers.push_back("999");
if (flash_version_numbers.size() < 4)
flash_version_numbers.push_back("999");
// E.g., "Shockwave Flash 10.2 r154":
plugin.description = plugin.name + " " + flash_version_numbers[0] + "." +
flash_version_numbers[1] + " r" + flash_version_numbers[2];
plugin.version = base::JoinString(flash_version_numbers, ".");
content::WebPluginMimeType swf_mime_type(
content::kFlashPluginSwfMimeType,
content::kFlashPluginSwfExtension,
content::kFlashPluginSwfDescription);
plugin.mime_types.push_back(swf_mime_type);
content::WebPluginMimeType spl_mime_type(
content::kFlashPluginSplMimeType,
content::kFlashPluginSplExtension,
content::kFlashPluginSplDescription);
plugin.mime_types.push_back(spl_mime_type);
return plugin;
}
#if defined(WIDEVINE_CDM_AVAILABLE) && BUILDFLAG(ENABLE_PEPPER_CDMS)
content::PepperPluginInfo CreateWidevineCdmInfo(const base::FilePath& path,
const std::string& version) {
content::PepperPluginInfo widevine_cdm;
widevine_cdm.is_out_of_process = true;
widevine_cdm.path = path;
widevine_cdm.name = kWidevineCdmDisplayName;
widevine_cdm.description = kWidevineCdmDescription +
std::string(" (version: ") +
version + ")";
widevine_cdm.version = version;
content::WebPluginMimeType widevine_cdm_mime_type(
kWidevineCdmPluginMimeType,
kWidevineCdmPluginExtension,
kWidevineCdmPluginMimeTypeDescription);
// Add the supported codecs as if they came from the component manifest.
std::vector<std::string> codecs;
codecs.push_back(kCdmSupportedCodecVp8);
codecs.push_back(kCdmSupportedCodecVp9);
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
codecs.push_back(kCdmSupportedCodecAvc1);
#endif // BUILDFLAG(USE_PROPRIETARY_CODECS)
std::string codec_string = base::JoinString(
codecs, std::string(1, kCdmSupportedCodecsValueDelimiter));
widevine_cdm_mime_type.additional_param_names.push_back(
base::ASCIIToUTF16(kCdmSupportedCodecsParamName));
widevine_cdm_mime_type.additional_param_values.push_back(
base::ASCIIToUTF16(codec_string));
widevine_cdm.mime_types.push_back(widevine_cdm_mime_type);
widevine_cdm.permissions = kWidevineCdmPluginPermissions;
return widevine_cdm;
}
#endif
void ComputeBuiltInPlugins(std::vector<content::PepperPluginInfo>* plugins) {
content::PepperPluginInfo pdf_info;
pdf_info.is_internal = true;
pdf_info.is_out_of_process = true;
pdf_info.name = "Chromium PDF Viewer";
pdf_info.description = "Portable Document Format";
pdf_info.path = base::FilePath::FromUTF8Unsafe(kPdfPluginPath);
content::WebPluginMimeType pdf_mime_type(kPdfPluginMimeType, "pdf",
"Portable Document Format");
pdf_info.mime_types.push_back(pdf_mime_type);
pdf_info.internal_entry_points.get_interface = chrome_pdf::PPP_GetInterface;
pdf_info.internal_entry_points.initialize_module =
chrome_pdf::PPP_InitializeModule;
pdf_info.internal_entry_points.shutdown_module =
chrome_pdf::PPP_ShutdownModule;
pdf_info.permissions = ppapi::PERMISSION_PRIVATE | ppapi::PERMISSION_DEV;
plugins->push_back(pdf_info);
}
void ConvertStringWithSeparatorToVector(std::vector<std::string>* vec,
const char* separator,
const char* cmd_switch) {
auto command_line = base::CommandLine::ForCurrentProcess();
auto string_with_separator = command_line->GetSwitchValueASCII(cmd_switch);
if (!string_with_separator.empty())
*vec = base::SplitString(string_with_separator, separator,
base::TRIM_WHITESPACE,
base::SPLIT_WANT_NONEMPTY);
}
} // namespace
void AddPepperFlashFromCommandLine(
std::vector<content::PepperPluginInfo>* plugins) {
auto command_line = base::CommandLine::ForCurrentProcess();
base::FilePath flash_path = command_line->GetSwitchValuePath(
switches::kPpapiFlashPath);
if (flash_path.empty())
return;
auto flash_version = command_line->GetSwitchValueASCII(
switches::kPpapiFlashVersion);
plugins->push_back(CreatePepperFlashInfo(flash_path, flash_version));
}
#if defined(WIDEVINE_CDM_AVAILABLE) && BUILDFLAG(ENABLE_PEPPER_CDMS)
void AddWidevineCdmFromCommandLine(
std::vector<content::PepperPluginInfo>* plugins) {
auto command_line = base::CommandLine::ForCurrentProcess();
base::FilePath widevine_cdm_path = command_line->GetSwitchValuePath(
switches::kWidevineCdmPath);
if (widevine_cdm_path.empty())
return;
if (!base::PathExists(widevine_cdm_path))
return;
auto widevine_cdm_version = command_line->GetSwitchValueASCII(
switches::kWidevineCdmVersion);
if (widevine_cdm_version.empty())
return;
plugins->push_back(CreateWidevineCdmInfo(widevine_cdm_path,
widevine_cdm_version));
}
#endif
AtomContentClient::AtomContentClient() {
}
AtomContentClient::~AtomContentClient() {
}
std::string AtomContentClient::GetProduct() const {
return "Chrome/" CHROME_VERSION_STRING;
}
std::string AtomContentClient::GetUserAgent() const {
return content::BuildUserAgentFromProduct(
"Chrome/" CHROME_VERSION_STRING " "
ATOM_PRODUCT_NAME "/" ATOM_VERSION_STRING);
}
base::string16 AtomContentClient::GetLocalizedString(int message_id) const {
return l10n_util::GetStringUTF16(message_id);
}
void AtomContentClient::AddAdditionalSchemes(Schemes* schemes) {
schemes->standard_schemes.push_back("chrome-extension");
std::vector<std::string> splited;
ConvertStringWithSeparatorToVector(&splited, ",",
switches::kRegisterServiceWorkerSchemes);
for (const std::string& scheme : splited)
schemes->service_worker_schemes.push_back(scheme);
schemes->service_worker_schemes.push_back(url::kFileScheme);
ConvertStringWithSeparatorToVector(&splited, ",", switches::kSecureSchemes);
for (const std::string& scheme : splited)
schemes->secure_schemes.push_back(scheme);
}
void AtomContentClient::AddPepperPlugins(
std::vector<content::PepperPluginInfo>* plugins) {
AddPepperFlashFromCommandLine(plugins);
#if defined(WIDEVINE_CDM_AVAILABLE) && BUILDFLAG(ENABLE_PEPPER_CDMS)
AddWidevineCdmFromCommandLine(plugins);
#endif
ComputeBuiltInPlugins(plugins);
}
} // namespace atom

View File

@@ -1,36 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_ATOM_CONTENT_CLIENT_H_
#define ATOM_APP_ATOM_CONTENT_CLIENT_H_
#include <set>
#include <string>
#include <vector>
#include "brightray/common/content_client.h"
namespace atom {
class AtomContentClient : public brightray::ContentClient {
public:
AtomContentClient();
virtual ~AtomContentClient();
protected:
// content::ContentClient:
std::string GetProduct() const override;
std::string GetUserAgent() const override;
base::string16 GetLocalizedString(int message_id) const override;
void AddAdditionalSchemes(Schemes* schemes) override;
void AddPepperPlugins(
std::vector<content::PepperPluginInfo>* plugins) override;
private:
DISALLOW_COPY_AND_ASSIGN(AtomContentClient);
};
} // namespace atom
#endif // ATOM_APP_ATOM_CONTENT_CLIENT_H_

View File

@@ -1,20 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_ATOM_LIBRARY_MAIN_H_
#define ATOM_APP_ATOM_LIBRARY_MAIN_H_
#include "build/build_config.h"
#if defined(OS_MACOSX)
extern "C" {
__attribute__((visibility("default")))
int AtomMain(int argc, char* argv[]);
__attribute__((visibility("default")))
int AtomInitializeICUandStartNode(int argc, char *argv[]);
}
#endif // OS_MACOSX
#endif // ATOM_APP_ATOM_LIBRARY_MAIN_H_

View File

@@ -1,38 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/app/atom_library_main.h"
#include "atom/app/atom_main_delegate.h"
#include "atom/app/node_main.h"
#include "atom/common/atom_command_line.h"
#include "base/at_exit.h"
#include "base/i18n/icu_util.h"
#include "base/mac/bundle_locations.h"
#include "base/mac/scoped_nsautorelease_pool.h"
#include "brightray/common/mac/main_application_bundle.h"
#include "content/public/app/content_main.h"
#if defined(OS_MACOSX)
int AtomMain(int argc, char* argv[]) {
atom::AtomMainDelegate delegate;
content::ContentMainParams params(&delegate);
params.argc = argc;
params.argv = const_cast<const char**>(argv);
atom::AtomCommandLine::Init(argc, argv);
return content::ContentMain(params);
}
int AtomInitializeICUandStartNode(int argc, char *argv[]) {
base::AtExitManager atexit_manager;
base::mac::ScopedNSAutoreleasePool pool;
base::mac::SetOverrideFrameworkBundlePath(
brightray::MainApplicationBundlePath()
.Append("Contents")
.Append("Frameworks")
.Append(ATOM_PRODUCT_NAME " Framework.framework"));
base::i18n::InitializeICU();
return atom::NodeMain(argc, argv);
}
#endif // OS_MACOSX

View File

@@ -1,11 +0,0 @@
#import <Cocoa/Cocoa.h>
int main(int argc, char* argv[]) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSArray* pathComponents = [[[NSBundle mainBundle] bundlePath] pathComponents];
pathComponents = [pathComponents subarrayWithRange:NSMakeRange(0, [pathComponents count] - 4)];
NSString* path = [NSString pathWithComponents:pathComponents];
[[NSWorkspace sharedWorkspace] launchApplication:path];
[pool drain];
return 0;
}

View File

@@ -1,187 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/app/atom_main.h"
#include <cstdlib>
#include <vector>
#if defined(OS_WIN)
#include <windows.h> // windows.h must be included first
#include <atlbase.h> // ensures that ATL statics like `_AtlWinModule` are initialized (it's an issue in static debug build)
#include <shellapi.h>
#include <shellscalingapi.h>
#include <tchar.h>
#include "atom/app/atom_main_delegate.h"
#include "atom/app/command_line_args.h"
#include "atom/common/crash_reporter/win/crash_service_main.h"
#include "base/environment.h"
#include "base/process/launch.h"
#include "base/strings/utf_string_conversions.h"
#include "base/win/windows_version.h"
#include "content/public/app/sandbox_helper_win.h"
#include "sandbox/win/src/sandbox_types.h"
#elif defined(OS_LINUX) // defined(OS_WIN)
#include "atom/app/atom_main_delegate.h" // NOLINT
#include "content/public/app/content_main.h"
#else // defined(OS_LINUX)
#include "atom/app/atom_library_main.h"
#endif // defined(OS_MACOSX)
#include "atom/app/node_main.h"
#include "atom/common/atom_command_line.h"
#include "base/at_exit.h"
#include "base/i18n/icu_util.h"
namespace {
#ifdef ENABLE_RUN_AS_NODE
const auto kRunAsNode = "ELECTRON_RUN_AS_NODE";
#endif
bool IsEnvSet(const char* name) {
#if defined(OS_WIN)
size_t required_size;
getenv_s(&required_size, nullptr, 0, name);
return required_size != 0;
#else
char* indicator = getenv(name);
return indicator && indicator[0] != '\0';
#endif
}
} // namespace
#if defined(OS_WIN)
int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd, int) {
struct Arguments {
int argc = 0;
wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc);
~Arguments() { LocalFree(argv); }
} arguments;
if (!arguments.argv)
return -1;
#ifdef _DEBUG
// Don't display assert dialog boxes in CI test runs
static const auto kCI = "ELECTRON_CI";
bool is_ci = IsEnvSet(kCI);
if (!is_ci) {
for (int i = 0; i < arguments.argc; ++i) {
if (!_wcsicmp(arguments.argv[i], L"--ci")) {
is_ci = true;
_putenv_s(kCI, "1"); // set flag for child processes
break;
}
}
}
if (is_ci) {
_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
_CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
_set_error_mode(_OUT_TO_STDERR);
}
#endif
#ifdef ENABLE_RUN_AS_NODE
bool run_as_node = IsEnvSet(kRunAsNode);
#else
bool run_as_node = false;
#endif
// Make sure the output is printed to console.
if (run_as_node || !IsEnvSet("ELECTRON_NO_ATTACH_CONSOLE"))
base::RouteStdioToConsole(false);
#ifndef DEBUG
// Chromium has its own TLS subsystem which supports automatic destruction
// of thread-local data, and also depends on memory allocation routines
// provided by the CRT. The problem is that the auto-destruction mechanism
// uses a hidden feature of the OS loader which calls a callback on thread
// exit, but only after all loaded DLLs have been detached. Since the CRT is
// also a DLL, it happens that by the time Chromium's `OnThreadExit` function
// is called, the heap functions, though still in memory, no longer perform
// their duties, and when Chromium calls `free` on its buffer, it triggers
// an access violation error.
// We work around this problem by invoking Chromium's `OnThreadExit` in time
// from within the CRT's atexit facility, ensuring the heap functions are
// still active. The second invocation from the OS loader will be a no-op.
extern void NTAPI OnThreadExit(PVOID module, DWORD reason, PVOID reserved);
atexit([]() {
OnThreadExit(nullptr, DLL_THREAD_DETACH, nullptr);
});
#endif
#ifdef ENABLE_RUN_AS_NODE
if (run_as_node) {
std::vector<char*> argv(arguments.argc);
std::transform(
arguments.argv, arguments.argv + arguments.argc, argv.begin(),
[](auto& a) { return _strdup(base::WideToUTF8(a).c_str()); });
base::AtExitManager atexit_manager;
base::i18n::InitializeICU();
auto ret = atom::NodeMain(argv.size(), argv.data());
std::for_each(argv.begin(), argv.end(), free);
return ret;
}
#endif
if (IsEnvSet("ELECTRON_INTERNAL_CRASH_SERVICE")) {
return crash_service::Main(cmd);
}
if (!atom::CheckCommandLineArguments(arguments.argc, arguments.argv))
return -1;
sandbox::SandboxInterfaceInfo sandbox_info = {0};
content::InitializeSandboxInfo(&sandbox_info);
atom::AtomMainDelegate delegate;
content::ContentMainParams params(&delegate);
params.instance = instance;
params.sandbox_info = &sandbox_info;
atom::AtomCommandLine::Init(arguments.argc, arguments.argv);
return content::ContentMain(params);
}
#elif defined(OS_LINUX) // defined(OS_WIN)
int main(int argc, char* argv[]) {
#ifdef ENABLE_RUN_AS_NODE
if (IsEnvSet(kRunAsNode)) {
base::i18n::InitializeICU();
base::AtExitManager atexit_manager;
return atom::NodeMain(argc, argv);
}
#endif
atom::AtomMainDelegate delegate;
content::ContentMainParams params(&delegate);
params.argc = argc;
params.argv = const_cast<const char**>(argv);
atom::AtomCommandLine::Init(argc, argv);
return content::ContentMain(params);
}
#else // defined(OS_LINUX)
int main(int argc, char* argv[]) {
#ifdef ENABLE_RUN_AS_NODE
if (IsEnvSet(kRunAsNode)) {
return AtomInitializeICUandStartNode(argc, argv);
}
#endif
return AtomMain(argc, argv);
}
#endif // defined(OS_MACOSX)

View File

@@ -1,10 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_ATOM_MAIN_H_
#define ATOM_APP_ATOM_MAIN_H_
#include "content/public/app/content_main.h"
#endif // ATOM_APP_ATOM_MAIN_H_

View File

@@ -1,208 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/app/atom_main_delegate.h"
#include <iostream>
#include <string>
#include "atom/app/atom_content_client.h"
#include "atom/browser/atom_browser_client.h"
#include "atom/browser/relauncher.h"
#include "atom/common/google_api_key.h"
#include "atom/common/options_switches.h"
#include "atom/renderer/atom_renderer_client.h"
#include "atom/renderer/atom_sandboxed_renderer_client.h"
#include "atom/utility/atom_content_utility_client.h"
#include "base/command_line.h"
#include "base/debug/stack_trace.h"
#include "base/environment.h"
#include "base/logging.h"
#include "chrome/common/chrome_paths.h"
#include "content/public/common/content_switches.h"
#include "ipc/ipc_features.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
#if BUILDFLAG(IPC_MESSAGE_LOG_ENABLED)
#define IPC_MESSAGE_MACROS_LOG_ENABLED
#include "content/public/common/content_ipc_logging.h"
#define IPC_LOG_TABLE_ADD_ENTRY(msg_id, logger) \
content::RegisterIPCLogger(msg_id, logger)
#include "atom/common/common_message_generator.h"
#endif
namespace atom {
namespace {
const char* kRelauncherProcess = "relauncher";
bool IsBrowserProcess(base::CommandLine* cmd) {
std::string process_type = cmd->GetSwitchValueASCII(::switches::kProcessType);
return process_type.empty();
}
#if defined(OS_WIN)
void InvalidParameterHandler(const wchar_t*, const wchar_t*, const wchar_t*,
unsigned int, uintptr_t) {
// noop.
}
#endif
} // namespace
AtomMainDelegate::AtomMainDelegate() {
}
AtomMainDelegate::~AtomMainDelegate() {
}
bool AtomMainDelegate::BasicStartupComplete(int* exit_code) {
auto command_line = base::CommandLine::ForCurrentProcess();
logging::LoggingSettings settings;
#if defined(OS_WIN)
// On Windows the terminal returns immediately, so we add a new line to
// prevent output in the same line as the prompt.
if (IsBrowserProcess(command_line))
std::wcout << std::endl;
#if defined(DEBUG)
// Print logging to debug.log on Windows
settings.logging_dest = logging::LOG_TO_ALL;
settings.log_file = L"debug.log";
settings.lock_log = logging::LOCK_LOG_FILE;
settings.delete_old = logging::DELETE_OLD_LOG_FILE;
#else
settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
#endif // defined(DEBUG)
#else // defined(OS_WIN)
settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
#endif // !defined(OS_WIN)
// Only enable logging when --enable-logging is specified.
std::unique_ptr<base::Environment> env(base::Environment::Create());
if (!command_line->HasSwitch(::switches::kEnableLogging) &&
!env->HasVar("ELECTRON_ENABLE_LOGGING")) {
settings.logging_dest = logging::LOG_NONE;
logging::SetMinLogLevel(logging::LOG_NUM_SEVERITIES);
}
logging::InitLogging(settings);
// Logging with pid and timestamp.
logging::SetLogItems(true, false, true, false);
// Enable convient stack printing.
#if defined(DEBUG) && defined(OS_LINUX)
bool enable_stack_dumping = true;
#else
bool enable_stack_dumping = env->HasVar("ELECTRON_ENABLE_STACK_DUMPING");
#endif
if (enable_stack_dumping)
base::debug::EnableInProcessStackDumping();
chrome::RegisterPathProvider();
#if defined(OS_MACOSX)
SetUpBundleOverrides();
#endif
#if defined(OS_WIN)
// Ignore invalid parameter errors.
_set_invalid_parameter_handler(InvalidParameterHandler);
// Disable the ActiveVerifier, which is used by Chrome to track possible
// bugs, but no use in Electron.
base::win::DisableHandleVerifier();
#endif
return brightray::MainDelegate::BasicStartupComplete(exit_code);
}
void AtomMainDelegate::PreSandboxStartup() {
brightray::MainDelegate::PreSandboxStartup();
// Set google API key.
std::unique_ptr<base::Environment> env(base::Environment::Create());
if (!env->HasVar("GOOGLE_API_KEY"))
env->SetVar("GOOGLE_API_KEY", GOOGLEAPIS_API_KEY);
auto command_line = base::CommandLine::ForCurrentProcess();
std::string process_type = command_line->GetSwitchValueASCII(
::switches::kProcessType);
// Only append arguments for browser process.
if (!IsBrowserProcess(command_line))
return;
if (!command_line->HasSwitch(switches::kEnableMixedSandbox)) {
if (command_line->HasSwitch(switches::kEnableSandbox)) {
// Disable setuid sandbox since it is not longer required on
// linux(namespace sandbox is available on most distros).
command_line->AppendSwitch(::switches::kDisableSetuidSandbox);
} else {
// Disable renderer sandbox for most of node's functions.
command_line->AppendSwitch(::switches::kNoSandbox);
}
}
// Allow file:// URIs to read other file:// URIs by default.
command_line->AppendSwitch(::switches::kAllowFileAccessFromFiles);
#if defined(OS_MACOSX)
// Enable AVFoundation.
command_line->AppendSwitch("enable-avfoundation");
#endif
}
content::ContentBrowserClient* AtomMainDelegate::CreateContentBrowserClient() {
browser_client_.reset(new AtomBrowserClient);
return browser_client_.get();
}
content::ContentRendererClient*
AtomMainDelegate::CreateContentRendererClient() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableSandbox) ||
!base::CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kNoSandbox)) {
renderer_client_.reset(new AtomSandboxedRendererClient);
} else {
renderer_client_.reset(new AtomRendererClient);
}
return renderer_client_.get();
}
content::ContentUtilityClient* AtomMainDelegate::CreateContentUtilityClient() {
utility_client_.reset(new AtomContentUtilityClient);
return utility_client_.get();
}
int AtomMainDelegate::RunProcess(
const std::string& process_type,
const content::MainFunctionParams& main_function_params) {
if (process_type == kRelauncherProcess)
return relauncher::RelauncherMain(main_function_params);
else
return -1;
}
#if defined(OS_MACOSX)
bool AtomMainDelegate::ShouldSendMachPort(const std::string& process_type) {
return process_type != kRelauncherProcess;
}
bool AtomMainDelegate::DelaySandboxInitialization(
const std::string& process_type) {
return process_type == kRelauncherProcess;
}
#endif
std::unique_ptr<brightray::ContentClient>
AtomMainDelegate::CreateContentClient() {
return std::unique_ptr<brightray::ContentClient>(new AtomContentClient);
}
} // namespace atom

View File

@@ -1,56 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_ATOM_MAIN_DELEGATE_H_
#define ATOM_APP_ATOM_MAIN_DELEGATE_H_
#include <string>
#include "brightray/common/content_client.h"
#include "brightray/common/main_delegate.h"
namespace atom {
class AtomMainDelegate : public brightray::MainDelegate {
public:
AtomMainDelegate();
~AtomMainDelegate();
protected:
// content::ContentMainDelegate:
bool BasicStartupComplete(int* exit_code) override;
void PreSandboxStartup() override;
content::ContentBrowserClient* CreateContentBrowserClient() override;
content::ContentRendererClient* CreateContentRendererClient() override;
content::ContentUtilityClient* CreateContentUtilityClient() override;
int RunProcess(
const std::string& process_type,
const content::MainFunctionParams& main_function_params) override;
#if defined(OS_MACOSX)
bool ShouldSendMachPort(const std::string& process_type) override;
bool DelaySandboxInitialization(const std::string& process_type) override;
#endif
// brightray::MainDelegate:
std::unique_ptr<brightray::ContentClient> CreateContentClient() override;
#if defined(OS_MACOSX)
void OverrideChildProcessPath() override;
void OverrideFrameworkBundlePath() override;
#endif
private:
#if defined(OS_MACOSX)
void SetUpBundleOverrides();
#endif
std::unique_ptr<content::ContentBrowserClient> browser_client_;
std::unique_ptr<content::ContentRendererClient> renderer_client_;
std::unique_ptr<content::ContentUtilityClient> utility_client_;
DISALLOW_COPY_AND_ASSIGN(AtomMainDelegate);
};
} // namespace atom
#endif // ATOM_APP_ATOM_MAIN_DELEGATE_H_

View File

@@ -1,65 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/app/atom_main_delegate.h"
#include "base/mac/bundle_locations.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/mac/foundation_util.h"
#include "base/mac/scoped_nsautorelease_pool.h"
#include "base/path_service.h"
#include "base/strings/sys_string_conversions.h"
#include "brightray/common/application_info.h"
#include "brightray/common/mac/main_application_bundle.h"
#include "content/public/common/content_paths.h"
namespace atom {
namespace {
base::FilePath GetFrameworksPath() {
return brightray::MainApplicationBundlePath().Append("Contents")
.Append("Frameworks");
}
base::FilePath GetHelperAppPath(const base::FilePath& frameworks_path,
const std::string& name) {
return frameworks_path.Append(name + " Helper.app")
.Append("Contents")
.Append("MacOS")
.Append(name + " Helper");
}
} // namespace
void AtomMainDelegate::OverrideFrameworkBundlePath() {
base::mac::SetOverrideFrameworkBundlePath(
GetFrameworksPath().Append(ATOM_PRODUCT_NAME " Framework.framework"));
}
void AtomMainDelegate::OverrideChildProcessPath() {
base::FilePath frameworks_path = GetFrameworksPath();
base::FilePath helper_path = GetHelperAppPath(frameworks_path,
ATOM_PRODUCT_NAME);
if (!base::PathExists(helper_path))
helper_path = GetHelperAppPath(frameworks_path,
brightray::GetApplicationName());
if (!base::PathExists(helper_path))
LOG(FATAL) << "Unable to find helper app";
PathService::Override(content::CHILD_PROCESS_EXE, helper_path);
}
void AtomMainDelegate::SetUpBundleOverrides() {
base::mac::ScopedNSAutoreleasePool pool;
NSBundle* bundle = brightray::MainApplicationBundle();
std::string base_bundle_id =
base::SysNSStringToUTF8([bundle bundleIdentifier]);
NSString* team_id = [bundle objectForInfoDictionaryKey:@"ElectronTeamID"];
if (team_id)
base_bundle_id = base::SysNSStringToUTF8(team_id) + "." + base_bundle_id;
base::mac::SetBaseBundleID(base_bundle_id.c_str());
}
} // namespace atom

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +0,0 @@
// Copyright (c) 2018 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_COMMAND_LINE_ARGS_H_
#define ATOM_APP_COMMAND_LINE_ARGS_H_
#include "base/command_line.h"
namespace atom {
bool CheckCommandLineArguments(int argc, base::CommandLine::CharType** argv);
} // namespace atom
#endif // ATOM_APP_COMMAND_LINE_ARGS_H_

View File

@@ -1,113 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifdef ENABLE_RUN_AS_NODE
#include "atom/app/node_main.h"
#include "atom/app/uv_task_runner.h"
#include "atom/browser/javascript_environment.h"
#include "atom/browser/node_debugger.h"
#include "atom/common/api/atom_bindings.h"
#include "atom/common/crash_reporter/crash_reporter.h"
#include "atom/common/native_mate_converters/string16_converter.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/task_scheduler/task_scheduler.h"
#include "base/threading/thread_task_runner_handle.h"
#include "gin/array_buffer.h"
#include "gin/public/isolate_holder.h"
#include "gin/v8_initializer.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
namespace atom {
int NodeMain(int argc, char *argv[]) {
base::CommandLine::Init(argc, argv);
int exit_code = 1;
{
// Feed gin::PerIsolateData with a task runner.
argv = uv_setup_args(argc, argv);
uv_loop_t* loop = uv_default_loop();
scoped_refptr<UvTaskRunner> uv_task_runner(new UvTaskRunner(loop));
base::ThreadTaskRunnerHandle handle(uv_task_runner);
// Initialize feature list.
std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList);
feature_list->InitializeFromCommandLine("", "");
base::FeatureList::SetInstance(std::move(feature_list));
gin::V8Initializer::LoadV8Snapshot();
gin::V8Initializer::LoadV8Natives();
// V8 requires a task scheduler apparently
base::TaskScheduler::CreateAndStartWithDefaultParams("Electron");
// Initialize gin::IsolateHolder.
JavascriptEnvironment gin_env;
int exec_argc;
const char** exec_argv;
node::Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
node::IsolateData isolate_data(gin_env.isolate(), loop);
node::Environment* env = node::CreateEnvironment(
&isolate_data, gin_env.context(), argc, argv,
exec_argc, exec_argv);
// Enable support for v8 inspector.
NodeDebugger node_debugger(env);
node_debugger.Start(gin_env.platform());
mate::Dictionary process(gin_env.isolate(), env->process_object());
#if defined(OS_WIN)
process.SetMethod("log", &AtomBindings::Log);
#endif
process.SetMethod("crash", &AtomBindings::Crash);
// Setup process.crashReporter.start in child node processes
auto reporter = mate::Dictionary::CreateEmpty(gin_env.isolate());
reporter.SetMethod("start", &crash_reporter::CrashReporter::StartInstance);
process.Set("crashReporter", reporter);
node::LoadEnvironment(env);
bool more;
do {
more = uv_run(env->event_loop(), UV_RUN_ONCE);
if (more == false) {
node::EmitBeforeExit(env);
// Emit `beforeExit` if the loop became alive either after emitting
// event, or after running some callbacks.
more = uv_loop_alive(env->event_loop());
if (uv_run(env->event_loop(), UV_RUN_NOWAIT) != 0)
more = true;
}
} while (more == true);
exit_code = node::EmitExit(env);
node::RunAtExit(env);
node::FreeEnvironment(env);
}
// According to "src/gin/shell/gin_main.cc":
//
// gin::IsolateHolder waits for tasks running in TaskScheduler in its
// destructor and thus must be destroyed before TaskScheduler starts skipping
// CONTINUE_ON_SHUTDOWN tasks.
base::TaskScheduler::GetInstance()->Shutdown();
v8::V8::Dispose();
return exit_code;
}
} // namespace atom
#endif // ENABLE_RUN_AS_NODE

View File

@@ -1,18 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_NODE_MAIN_H_
#define ATOM_APP_NODE_MAIN_H_
#ifdef ENABLE_RUN_AS_NODE
namespace atom {
int NodeMain(int argc, char *argv[]);
} // namespace atom
#endif // ENABLE_RUN_AS_NODE
#endif // ATOM_APP_NODE_MAIN_H_

View File

@@ -1,62 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include <utility>
#include "atom/app/uv_task_runner.h"
#include "base/stl_util.h"
namespace atom {
UvTaskRunner::UvTaskRunner(uv_loop_t* loop) : loop_(loop) {
}
UvTaskRunner::~UvTaskRunner() {
for (auto& iter : tasks_) {
uv_unref(reinterpret_cast<uv_handle_t*>(iter.first));
delete iter.first;
}
}
bool UvTaskRunner::PostDelayedTask(const tracked_objects::Location& from_here,
base::OnceClosure task,
base::TimeDelta delay) {
auto* timer = new uv_timer_t;
timer->data = this;
uv_timer_init(loop_, timer);
uv_timer_start(timer, UvTaskRunner::OnTimeout, delay.InMilliseconds(), 0);
tasks_[timer] = std::move(task);
return true;
}
bool UvTaskRunner::RunsTasksInCurrentSequence() const {
return true;
}
bool UvTaskRunner::PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
base::OnceClosure task,
base::TimeDelta delay) {
return PostDelayedTask(from_here, std::move(task), delay);
}
// static
void UvTaskRunner::OnTimeout(uv_timer_t* timer) {
UvTaskRunner* self = static_cast<UvTaskRunner*>(timer->data);
if (!ContainsKey(self->tasks_, timer))
return;
std::move(self->tasks_[timer]).Run();
self->tasks_.erase(timer);
uv_timer_stop(timer);
uv_close(reinterpret_cast<uv_handle_t*>(timer), UvTaskRunner::OnClose);
}
// static
void UvTaskRunner::OnClose(uv_handle_t* handle) {
delete reinterpret_cast<uv_timer_t*>(handle);
}
} // namespace atom

View File

@@ -1,45 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_APP_UV_TASK_RUNNER_H_
#define ATOM_APP_UV_TASK_RUNNER_H_
#include <map>
#include "base/callback.h"
#include "base/single_thread_task_runner.h"
#include "vendor/node/deps/uv/include/uv.h"
namespace atom {
// TaskRunner implementation that posts tasks into libuv's default loop.
class UvTaskRunner : public base::SingleThreadTaskRunner {
public:
explicit UvTaskRunner(uv_loop_t* loop);
~UvTaskRunner() override;
// base::SingleThreadTaskRunner:
bool PostDelayedTask(const tracked_objects::Location& from_here,
base::OnceClosure task,
base::TimeDelta delay) override;
bool RunsTasksInCurrentSequence() const override;
bool PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
base::OnceClosure task,
base::TimeDelta delay) override;
private:
static void OnTimeout(uv_timer_t* timer);
static void OnClose(uv_handle_t* handle);
uv_loop_t* loop_;
std::map<uv_timer_t*, base::OnceClosure> tasks_;
DISALLOW_COPY_AND_ASSIGN(UvTaskRunner);
};
} // namespace atom
#endif // ATOM_APP_UV_TASK_RUNNER_H_

File diff suppressed because it is too large Load Diff

View File

@@ -1,248 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_APP_H_
#define ATOM_BROWSER_API_ATOM_API_APP_H_
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "atom/browser/api/event_emitter.h"
#include "atom/browser/atom_browser_client.h"
#include "atom/browser/browser.h"
#include "atom/browser/browser_observer.h"
#include "atom/common/native_mate_converters/callback.h"
#include "base/process/process_iterator.h"
#include "base/task/cancelable_task_tracker.h"
#include "chrome/browser/icon_manager.h"
#include "chrome/browser/process_singleton.h"
#include "content/public/browser/browser_child_process_observer.h"
#include "content/public/browser/gpu_data_manager_observer.h"
#include "content/public/browser/render_process_host.h"
#include "native_mate/dictionary.h"
#include "native_mate/handle.h"
#include "net/base/completion_callback.h"
#include "net/ssl/client_cert_identity.h"
#if defined(USE_NSS_CERTS)
#include "chrome/browser/certificate_manager_model.h"
#endif
namespace base {
class FilePath;
}
namespace mate {
class Arguments;
} // namespace mate
namespace atom {
#if defined(OS_WIN)
enum class JumpListResult : int;
#endif
struct ProcessMetric {
int type;
base::ProcessId pid;
std::unique_ptr<base::ProcessMetrics> metrics;
ProcessMetric(int type,
base::ProcessId pid,
std::unique_ptr<base::ProcessMetrics> metrics) {
this->type = type;
this->pid = pid;
this->metrics = std::move(metrics);
}
};
namespace api {
class App : public AtomBrowserClient::Delegate,
public mate::EventEmitter<App>,
public BrowserObserver,
public content::GpuDataManagerObserver,
public content::BrowserChildProcessObserver {
public:
using FileIconCallback = base::Callback<void(v8::Local<v8::Value>,
const gfx::Image&)>;
static mate::Handle<App> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
#if defined(USE_NSS_CERTS)
void OnCertificateManagerModelCreated(
std::unique_ptr<base::DictionaryValue> options,
const net::CompletionCallback& callback,
std::unique_ptr<CertificateManagerModel> model);
#endif
base::FilePath GetAppPath() const;
void RenderProcessReady(content::RenderProcessHost* host);
void RenderProcessDisconnected(base::ProcessId host_pid);
void PreMainMessageLoopRun();
protected:
explicit App(v8::Isolate* isolate);
~App() override;
// BrowserObserver:
void OnBeforeQuit(bool* prevent_default) override;
void OnWillQuit(bool* prevent_default) override;
void OnWindowAllClosed() override;
void OnQuit() override;
void OnOpenFile(bool* prevent_default, const std::string& file_path) override;
void OnOpenURL(const std::string& url) override;
void OnActivate(bool has_visible_windows) override;
void OnWillFinishLaunching() override;
void OnFinishLaunching(const base::DictionaryValue& launch_info) override;
void OnLogin(LoginHandler* login_handler,
const base::DictionaryValue& request_details) override;
void OnAccessibilitySupportChanged() override;
void OnPreMainMessageLoopRun() override;
#if defined(OS_MACOSX)
void OnWillContinueUserActivity(
bool* prevent_default,
const std::string& type) override;
void OnDidFailToContinueUserActivity(
const std::string& type,
const std::string& error) override;
void OnContinueUserActivity(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) override;
void OnUserActivityWasContinued(
const std::string& type,
const base::DictionaryValue& user_info) override;
void OnUpdateUserActivityState(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) override;
void OnNewWindowForTab() override;
#endif
// content::ContentBrowserClient:
void AllowCertificateError(
content::WebContents* web_contents,
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
content::ResourceType resource_type,
bool overridable,
bool strict_enforcement,
bool expired_previous_decision,
const base::Callback<void(content::CertificateRequestResultType)>&
callback) override;
void SelectClientCertificate(
content::WebContents* web_contents,
net::SSLCertRequestInfo* cert_request_info,
net::ClientCertIdentityList client_certs,
std::unique_ptr<content::ClientCertificateDelegate> delegate) override;
bool CanCreateWindow(content::RenderFrameHost* opener,
const GURL& opener_url,
const GURL& opener_top_level_frame_url,
const GURL& source_origin,
content::mojom::WindowContainerType container_type,
const GURL& target_url,
const content::Referrer& referrer,
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
const std::vector<std::string>& additional_features,
const scoped_refptr<content::ResourceRequestBody>& body,
bool user_gesture,
bool opener_suppressed,
bool* no_javascript_access) override;
// content::GpuDataManagerObserver:
void OnGpuProcessCrashed(base::TerminationStatus status) override;
// content::BrowserChildProcessObserver:
void BrowserChildProcessLaunchedAndConnected(
const content::ChildProcessData& data) override;
void BrowserChildProcessHostDisconnected(
const content::ChildProcessData& data) override;
void BrowserChildProcessCrashed(
const content::ChildProcessData& data, int exit_code) override;
void BrowserChildProcessKilled(
const content::ChildProcessData& data, int exit_code) override;
private:
void SetAppPath(const base::FilePath& app_path);
void ChildProcessLaunched(int process_type, base::ProcessHandle handle);
void ChildProcessDisconnected(base::ProcessId pid);
// Get/Set the pre-defined path in PathService.
base::FilePath GetPath(mate::Arguments* args, const std::string& name);
void SetPath(mate::Arguments* args,
const std::string& name,
const base::FilePath& path);
void SetDesktopName(const std::string& desktop_name);
std::string GetLocale();
bool MakeSingleInstance(
const ProcessSingleton::NotificationCallback& callback);
void ReleaseSingleInstance();
bool Relaunch(mate::Arguments* args);
void DisableHardwareAcceleration(mate::Arguments* args);
void DisableDomainBlockingFor3DAPIs(mate::Arguments* args);
bool IsAccessibilitySupportEnabled();
void SetAccessibilitySupportEnabled(bool enabled);
Browser::LoginItemSettings GetLoginItemSettings(mate::Arguments* args);
#if defined(USE_NSS_CERTS)
void ImportCertificate(const base::DictionaryValue& options,
const net::CompletionCallback& callback);
#endif
void GetFileIcon(const base::FilePath& path,
mate::Arguments* args);
std::vector<mate::Dictionary> GetAppMetrics(v8::Isolate* isolate);
v8::Local<v8::Value> GetGPUFeatureStatus(v8::Isolate* isolate);
void EnableMixedSandbox(mate::Arguments* args);
#if defined(OS_MACOSX)
bool MoveToApplicationsFolder(mate::Arguments* args);
bool IsInApplicationsFolder();
#endif
#if defined(MAS_BUILD)
base::Callback<void()> StartAccessingSecurityScopedResource(
mate::Arguments* args);
#endif
#if defined(OS_WIN)
// Get the current Jump List settings.
v8::Local<v8::Value> GetJumpListSettings();
// Set or remove a custom Jump List for the application.
JumpListResult SetJumpList(v8::Local<v8::Value> val, mate::Arguments* args);
#endif // defined(OS_WIN)
std::unique_ptr<ProcessSingleton> process_singleton_;
#if defined(USE_NSS_CERTS)
std::unique_ptr<CertificateManagerModel> certificate_manager_model_;
#endif
// Tracks tasks requesting file icons.
base::CancelableTaskTracker cancelable_task_tracker_;
base::FilePath app_path_;
using ProcessMetricMap =
std::unordered_map<base::ProcessId,
std::unique_ptr<atom::ProcessMetric>>;
ProcessMetricMap app_metrics_;
DISALLOW_COPY_AND_ASSIGN(App);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_APP_H_

View File

@@ -1,59 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_app.h"
#import <Cocoa/Cocoa.h>
#include "base/strings/sys_string_conversions.h"
namespace atom {
namespace api {
// Callback passed to js which will stop accessing the given bookmark.
void OnStopAccessingSecurityScopedResource(NSURL* bookmarkUrl) {
[bookmarkUrl stopAccessingSecurityScopedResource];
[bookmarkUrl release];
}
// Get base64 encoded NSData, create a bookmark for it and start accessing it.
base::Callback<void ()> App::StartAccessingSecurityScopedResource(mate::Arguments* args) {
std::string data;
args->GetNext(&data);
NSString *base64str = base::SysUTF8ToNSString(data);
NSData *bookmarkData = [[NSData alloc] initWithBase64EncodedString: base64str options: 0];
// Create bookmarkUrl from NSData.
BOOL isStale = false;
NSError *error = nil;
NSURL *bookmarkUrl = [NSURL URLByResolvingBookmarkData: bookmarkData
options: NSURLBookmarkResolutionWithSecurityScope
relativeToURL: nil
bookmarkDataIsStale: &isStale
error: &error];
if (error != nil) {
NSString *err = [NSString stringWithFormat: @"NSError: %@ %@", error, [error userInfo]];
args->ThrowError(base::SysNSStringToUTF8(err));
}
if (isStale) {
args->ThrowError("bookmarkDataIsStale - try recreating the bookmark");
}
if (error == nil && isStale == false) {
[bookmarkUrl startAccessingSecurityScopedResource];
}
// Stop the NSURL from being GC'd.
[bookmarkUrl retain];
// Return a js callback which will close the bookmark.
return base::Bind(&OnStopAccessingSecurityScopedResource, bookmarkUrl);
}
} // namespace atom
} // namespace api

View File

@@ -1,153 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_auto_updater.h"
#include "atom/browser/browser.h"
#include "atom/browser/native_window.h"
#include "atom/browser/window_list.h"
#include "atom/common/api/event_emitter_caller.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/node_includes.h"
#include "base/time/time.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
namespace mate {
template<>
struct Converter<base::Time> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const base::Time& val) {
v8::MaybeLocal<v8::Value> date = v8::Date::New(
isolate->GetCurrentContext(), val.ToJsTime());
if (date.IsEmpty())
return v8::Null(isolate);
else
return date.ToLocalChecked();
}
};
} // namespace mate
namespace atom {
namespace api {
AutoUpdater::AutoUpdater(v8::Isolate* isolate) {
auto_updater::AutoUpdater::SetDelegate(this);
Init(isolate);
}
AutoUpdater::~AutoUpdater() {
auto_updater::AutoUpdater::SetDelegate(nullptr);
}
void AutoUpdater::OnError(const std::string& message) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
auto error = v8::Exception::Error(mate::StringToV8(isolate(), message));
mate::EmitEvent(
isolate(),
GetWrapper(),
"error",
error->ToObject(isolate()->GetCurrentContext()).ToLocalChecked(),
// Message is also emitted to keep compatibility with old code.
message);
}
void AutoUpdater::OnError(const std::string& message,
const int code, const std::string& domain) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
auto error = v8::Exception::Error(mate::StringToV8(isolate(), message));
auto errorObject = error->ToObject(
isolate()->GetCurrentContext()).ToLocalChecked();
// add two new params for better error handling
errorObject->Set(mate::StringToV8(isolate(), "code"),
v8::Integer::New(isolate(), code));
errorObject->Set(mate::StringToV8(isolate(), "domain"),
mate::StringToV8(isolate(), domain));
mate::EmitEvent(isolate(), GetWrapper(), "error", errorObject, message);
}
void AutoUpdater::OnCheckingForUpdate() {
Emit("checking-for-update");
}
void AutoUpdater::OnUpdateAvailable() {
Emit("update-available");
}
void AutoUpdater::OnUpdateNotAvailable() {
Emit("update-not-available");
}
void AutoUpdater::OnUpdateDownloaded(const std::string& release_notes,
const std::string& release_name,
const base::Time& release_date,
const std::string& url) {
Emit("update-downloaded", release_notes, release_name, release_date, url,
// Keep compatibility with old APIs.
base::Bind(&AutoUpdater::QuitAndInstall, base::Unretained(this)));
}
void AutoUpdater::OnWindowAllClosed() {
QuitAndInstall();
}
void AutoUpdater::SetFeedURL(mate::Arguments* args) {
auto_updater::AutoUpdater::SetFeedURL(args);
}
void AutoUpdater::QuitAndInstall() {
// If we don't have any window then quitAndInstall immediately.
if (WindowList::IsEmpty()) {
auto_updater::AutoUpdater::QuitAndInstall();
return;
}
// Otherwise do the restart after all windows have been closed.
WindowList::AddObserver(this);
WindowList::CloseAllWindows();
}
// static
mate::Handle<AutoUpdater> AutoUpdater::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new AutoUpdater(isolate));
}
// static
void AutoUpdater::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "AutoUpdater"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("checkForUpdates", &auto_updater::AutoUpdater::CheckForUpdates)
.SetMethod("getFeedURL", &auto_updater::AutoUpdater::GetFeedURL)
.SetMethod("setFeedURL", &AutoUpdater::SetFeedURL)
.SetMethod("quitAndInstall", &AutoUpdater::QuitAndInstall);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::AutoUpdater;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("autoUpdater", AutoUpdater::Create(isolate));
dict.Set("AutoUpdater", AutoUpdater::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_auto_updater, Initialize)

View File

@@ -1,60 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_AUTO_UPDATER_H_
#define ATOM_BROWSER_API_ATOM_API_AUTO_UPDATER_H_
#include <string>
#include "atom/browser/api/event_emitter.h"
#include "atom/browser/auto_updater.h"
#include "atom/browser/window_list_observer.h"
#include "native_mate/arguments.h"
#include "native_mate/handle.h"
namespace atom {
namespace api {
class AutoUpdater : public mate::EventEmitter<AutoUpdater>,
public auto_updater::Delegate,
public WindowListObserver {
public:
static mate::Handle<AutoUpdater> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
explicit AutoUpdater(v8::Isolate* isolate);
~AutoUpdater() override;
// Delegate implementations.
void OnError(const std::string& error) override;
void OnError(const std::string& message, const int code,
const std::string& domain);
void OnCheckingForUpdate() override;
void OnUpdateAvailable() override;
void OnUpdateNotAvailable() override;
void OnUpdateDownloaded(const std::string& release_notes,
const std::string& release_name,
const base::Time& release_date,
const std::string& update_url) override;
// WindowListObserver:
void OnWindowAllClosed() override;
private:
std::string GetFeedURL();
void SetFeedURL(mate::Arguments* args);
void QuitAndInstall();
DISALLOW_COPY_AND_ASSIGN(AutoUpdater);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_AUTO_UPDATER_H_

View File

@@ -1,165 +0,0 @@
// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_browser_view.h"
#include "atom/browser/api/atom_api_web_contents.h"
#include "atom/browser/browser.h"
#include "atom/browser/native_browser_view.h"
#include "atom/common/color_util.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/node_includes.h"
#include "atom/common/options_switches.h"
#include "native_mate/constructor.h"
#include "native_mate/dictionary.h"
#include "ui/gfx/geometry/rect.h"
namespace mate {
template <>
struct Converter<atom::AutoResizeFlags> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
atom::AutoResizeFlags* auto_resize_flags) {
mate::Dictionary params;
if (!ConvertFromV8(isolate, val, &params)) {
return false;
}
uint8_t flags = 0;
bool width = false;
if (params.Get("width", &width) && width) {
flags |= atom::kAutoResizeWidth;
}
bool height = false;
if (params.Get("height", &height) && height) {
flags |= atom::kAutoResizeHeight;
}
*auto_resize_flags = static_cast<atom::AutoResizeFlags>(flags);
return true;
}
};
} // namespace mate
namespace atom {
namespace api {
BrowserView::BrowserView(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
const mate::Dictionary& options)
: api_web_contents_(nullptr) {
Init(isolate, wrapper, options);
}
void BrowserView::Init(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
const mate::Dictionary& options) {
mate::Dictionary web_preferences = mate::Dictionary::CreateEmpty(isolate);
options.Get(options::kWebPreferences, &web_preferences);
web_preferences.Set("isBrowserView", true);
mate::Handle<class WebContents> web_contents =
WebContents::Create(isolate, web_preferences);
web_contents_.Reset(isolate, web_contents.ToV8());
api_web_contents_ = web_contents.get();
view_.reset(NativeBrowserView::Create(
api_web_contents_->managed_web_contents()->GetView()));
InitWith(isolate, wrapper);
}
BrowserView::~BrowserView() {
api_web_contents_->DestroyWebContents(true /* async */);
}
// static
mate::WrappableBase* BrowserView::New(mate::Arguments* args) {
if (!Browser::Get()->is_ready()) {
args->ThrowError("Cannot create BrowserView before app is ready");
return nullptr;
}
if (args->Length() > 1) {
args->ThrowError("Too many arguments");
return nullptr;
}
mate::Dictionary options;
if (!(args->Length() == 1 && args->GetNext(&options))) {
options = mate::Dictionary::CreateEmpty(args->isolate());
}
return new BrowserView(args->isolate(), args->GetThis(), options);
}
int32_t BrowserView::ID() const {
return weak_map_id();
}
void BrowserView::SetAutoResize(AutoResizeFlags flags) {
view_->SetAutoResizeFlags(flags);
}
void BrowserView::SetBounds(const gfx::Rect& bounds) {
view_->SetBounds(bounds);
}
void BrowserView::SetBackgroundColor(const std::string& color_name) {
view_->SetBackgroundColor(ParseHexColor(color_name));
}
v8::Local<v8::Value> BrowserView::GetWebContents() {
if (web_contents_.IsEmpty()) {
return v8::Null(isolate());
}
return v8::Local<v8::Value>::New(isolate(), web_contents_);
}
// static
void BrowserView::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "BrowserView"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("setAutoResize", &BrowserView::SetAutoResize)
.SetMethod("setBounds", &BrowserView::SetBounds)
.SetMethod("setBackgroundColor", &BrowserView::SetBackgroundColor)
.SetProperty("webContents", &BrowserView::GetWebContents)
.SetProperty("id", &BrowserView::ID);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::BrowserView;
void Initialize(v8::Local<v8::Object> exports,
v8::Local<v8::Value> unused,
v8::Local<v8::Context> context,
void* priv) {
v8::Isolate* isolate = context->GetIsolate();
BrowserView::SetConstructor(isolate, base::Bind(&BrowserView::New));
mate::Dictionary browser_view(
isolate, BrowserView::GetConstructor(isolate)->GetFunction());
browser_view.SetMethod("fromId",
&mate::TrackableObject<BrowserView>::FromWeakMapID);
browser_view.SetMethod("getAllViews",
&mate::TrackableObject<BrowserView>::GetAll);
mate::Dictionary dict(isolate, exports);
dict.Set("BrowserView", browser_view);
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_browser_view, Initialize)

View File

@@ -1,73 +0,0 @@
// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_BROWSER_VIEW_H_
#define ATOM_BROWSER_API_ATOM_API_BROWSER_VIEW_H_
#include <memory>
#include <string>
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/native_browser_view.h"
#include "native_mate/handle.h"
namespace gfx {
class Rect;
}
namespace mate {
class Arguments;
class Dictionary;
} // namespace mate
namespace atom {
class NativeBrowserView;
namespace api {
class WebContents;
class BrowserView : public mate::TrackableObject<BrowserView> {
public:
static mate::WrappableBase* New(mate::Arguments* args);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
WebContents* web_contents() const { return api_web_contents_; }
NativeBrowserView* view() const { return view_.get(); }
int32_t ID() const;
protected:
BrowserView(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
const mate::Dictionary& options);
~BrowserView() override;
private:
void Init(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
const mate::Dictionary& options);
void SetAutoResize(AutoResizeFlags flags);
void SetBounds(const gfx::Rect& bounds);
void SetBackgroundColor(const std::string& color_name);
v8::Local<v8::Value> GetWebContents();
v8::Global<v8::Value> web_contents_;
class WebContents* api_web_contents_;
std::unique_ptr<NativeBrowserView> view_;
DISALLOW_COPY_AND_ASSIGN(BrowserView);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_BROWSER_VIEW_H_

View File

@@ -1,76 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include <set>
#include <string>
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "base/bind.h"
#include "base/files/file_util.h"
#include "content/public/browser/tracing_controller.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
using content::TracingController;
namespace mate {
template<>
struct Converter<base::trace_event::TraceConfig> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
base::trace_event::TraceConfig* out) {
Dictionary options;
if (!ConvertFromV8(isolate, val, &options))
return false;
std::string category_filter, trace_options;
if (!options.Get("categoryFilter", &category_filter) ||
!options.Get("traceOptions", &trace_options))
return false;
*out = base::trace_event::TraceConfig(category_filter, trace_options);
return true;
}
};
} // namespace mate
namespace {
using CompletionCallback = base::Callback<void(const base::FilePath&)>;
scoped_refptr<TracingController::TraceDataSink> GetTraceDataSink(
const base::FilePath& path, const CompletionCallback& callback) {
base::FilePath result_file_path = path;
if (result_file_path.empty() && !base::CreateTemporaryFile(&result_file_path))
LOG(ERROR) << "Creating temporary file failed";
return TracingController::CreateFileSink(result_file_path,
base::Bind(callback,
result_file_path));
}
void StopRecording(const base::FilePath& path,
const CompletionCallback& callback) {
TracingController::GetInstance()->StopTracing(
GetTraceDataSink(path, callback));
}
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
auto controller = base::Unretained(TracingController::GetInstance());
mate::Dictionary dict(context->GetIsolate(), exports);
dict.SetMethod("getCategories", base::Bind(
&TracingController::GetCategories, controller));
dict.SetMethod("startRecording", base::Bind(
&TracingController::StartTracing, controller));
dict.SetMethod("stopRecording", &StopRecording);
dict.SetMethod("getTraceBufferUsage", base::Bind(
&TracingController::GetTraceBufferUsage, controller));
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_content_tracing, Initialize)

View File

@@ -1,313 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_cookies.h"
#include "atom/browser/atom_browser_context.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/gurl_converter.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "base/time/time.h"
#include "base/values.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "net/cookies/cookie_monster.h"
#include "net/cookies/cookie_store.h"
#include "net/cookies/cookie_util.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_getter.h"
using atom::AtomCookieDelegate;
using content::BrowserThread;
namespace mate {
template<>
struct Converter<atom::api::Cookies::Error> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
atom::api::Cookies::Error val) {
if (val == atom::api::Cookies::SUCCESS)
return v8::Null(isolate);
else
return v8::Exception::Error(StringToV8(isolate, "Setting cookie failed"));
}
};
template<>
struct Converter<net::CanonicalCookie> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const net::CanonicalCookie& val) {
mate::Dictionary dict(isolate, v8::Object::New(isolate));
dict.Set("name", val.Name());
dict.Set("value", val.Value());
dict.Set("domain", val.Domain());
dict.Set("hostOnly", net::cookie_util::DomainIsHostOnly(val.Domain()));
dict.Set("path", val.Path());
dict.Set("secure", val.IsSecure());
dict.Set("httpOnly", val.IsHttpOnly());
dict.Set("session", !val.IsPersistent());
if (val.IsPersistent())
dict.Set("expirationDate", val.ExpiryDate().ToDoubleT());
return dict.GetHandle();
}
};
template<>
struct Converter<net::CookieStore::ChangeCause> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const net::CookieStore::ChangeCause& val) {
switch (val) {
case net::CookieStore::ChangeCause::INSERTED:
case net::CookieStore::ChangeCause::EXPLICIT:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_BETWEEN:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_PREDICATE:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_SINGLE:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_CANONICAL:
return mate::StringToV8(isolate, "explicit");
case net::CookieStore::ChangeCause::OVERWRITE:
return mate::StringToV8(isolate, "overwrite");
case net::CookieStore::ChangeCause::EXPIRED:
return mate::StringToV8(isolate, "expired");
case net::CookieStore::ChangeCause::EVICTED:
return mate::StringToV8(isolate, "evicted");
case net::CookieStore::ChangeCause::EXPIRED_OVERWRITE:
return mate::StringToV8(isolate, "expired-overwrite");
default:
return mate::StringToV8(isolate, "unknown");
}
}
};
} // namespace mate
namespace atom {
namespace api {
namespace {
// Returns whether |domain| matches |filter|.
bool MatchesDomain(std::string filter, const std::string& domain) {
// Add a leading '.' character to the filter domain if it doesn't exist.
if (net::cookie_util::DomainIsHostOnly(filter))
filter.insert(0, ".");
std::string sub_domain(domain);
// Strip any leading '.' character from the input cookie domain.
if (!net::cookie_util::DomainIsHostOnly(sub_domain))
sub_domain = sub_domain.substr(1);
// Now check whether the domain argument is a subdomain of the filter domain.
for (sub_domain.insert(0, "."); sub_domain.length() >= filter.length();) {
if (sub_domain == filter)
return true;
const size_t next_dot = sub_domain.find('.', 1); // Skip over leading dot.
sub_domain.erase(0, next_dot);
}
return false;
}
// Returns whether |cookie| matches |filter|.
bool MatchesCookie(const base::DictionaryValue* filter,
const net::CanonicalCookie& cookie) {
std::string str;
bool b;
if (filter->GetString("name", &str) && str != cookie.Name())
return false;
if (filter->GetString("path", &str) && str != cookie.Path())
return false;
if (filter->GetString("domain", &str) && !MatchesDomain(str, cookie.Domain()))
return false;
if (filter->GetBoolean("secure", &b) && b != cookie.IsSecure())
return false;
if (filter->GetBoolean("session", &b) && b != !cookie.IsPersistent())
return false;
return true;
}
// Helper to returns the CookieStore.
inline net::CookieStore* GetCookieStore(
scoped_refptr<net::URLRequestContextGetter> getter) {
return getter->GetURLRequestContext()->cookie_store();
}
// Run |callback| on UI thread.
void RunCallbackInUI(const base::Closure& callback) {
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
}
// Remove cookies from |list| not matching |filter|, and pass it to |callback|.
void FilterCookies(std::unique_ptr<base::DictionaryValue> filter,
const Cookies::GetCallback& callback,
const net::CookieList& list) {
net::CookieList result;
for (const auto& cookie : list) {
if (MatchesCookie(filter.get(), cookie))
result.push_back(cookie);
}
RunCallbackInUI(base::Bind(callback, Cookies::SUCCESS, result));
}
// Receives cookies matching |filter| in IO thread.
void GetCookiesOnIO(scoped_refptr<net::URLRequestContextGetter> getter,
std::unique_ptr<base::DictionaryValue> filter,
const Cookies::GetCallback& callback) {
std::string url;
filter->GetString("url", &url);
auto filtered_callback =
base::Bind(FilterCookies, base::Passed(&filter), callback);
// Empty url will match all url cookies.
if (url.empty())
GetCookieStore(getter)->GetAllCookiesAsync(filtered_callback);
else
GetCookieStore(getter)->GetAllCookiesForURLAsync(GURL(url),
filtered_callback);
}
// Removes cookie with |url| and |name| in IO thread.
void RemoveCookieOnIOThread(scoped_refptr<net::URLRequestContextGetter> getter,
const GURL& url, const std::string& name,
const base::Closure& callback) {
GetCookieStore(getter)->DeleteCookieAsync(
url, name, base::Bind(RunCallbackInUI, callback));
}
// Callback of SetCookie.
void OnSetCookie(const Cookies::SetCallback& callback, bool success) {
RunCallbackInUI(
base::Bind(callback, success ? Cookies::SUCCESS : Cookies::FAILED));
}
// Flushes cookie store in IO thread.
void FlushCookieStoreOnIOThread(
scoped_refptr<net::URLRequestContextGetter> getter,
const base::Closure& callback) {
GetCookieStore(getter)->FlushStore(base::Bind(RunCallbackInUI, callback));
}
// Sets cookie with |details| in IO thread.
void SetCookieOnIO(scoped_refptr<net::URLRequestContextGetter> getter,
std::unique_ptr<base::DictionaryValue> details,
const Cookies::SetCallback& callback) {
std::string url, name, value, domain, path;
bool secure = false;
bool http_only = false;
double creation_date;
double expiration_date;
double last_access_date;
details->GetString("url", &url);
details->GetString("name", &name);
details->GetString("value", &value);
details->GetString("domain", &domain);
details->GetString("path", &path);
details->GetBoolean("secure", &secure);
details->GetBoolean("httpOnly", &http_only);
base::Time creation_time;
if (details->GetDouble("creationDate", &creation_date)) {
creation_time = (creation_date == 0) ?
base::Time::UnixEpoch() :
base::Time::FromDoubleT(creation_date);
}
base::Time expiration_time;
if (details->GetDouble("expirationDate", &expiration_date)) {
expiration_time = (expiration_date == 0) ?
base::Time::UnixEpoch() :
base::Time::FromDoubleT(expiration_date);
}
base::Time last_access_time;
if (details->GetDouble("lastAccessDate", &last_access_date)) {
last_access_time = (last_access_date == 0) ?
base::Time::UnixEpoch() :
base::Time::FromDoubleT(last_access_date);
}
GetCookieStore(getter)->SetCookieWithDetailsAsync(
GURL(url), name, value, domain, path, creation_time,
expiration_time, last_access_time, secure, http_only,
net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_DEFAULT,
base::Bind(OnSetCookie, callback));
}
} // namespace
Cookies::Cookies(v8::Isolate* isolate,
AtomBrowserContext* browser_context)
: request_context_getter_(browser_context->url_request_context_getter()),
cookie_delegate_(browser_context->cookie_delegate()) {
Init(isolate);
cookie_delegate_->AddObserver(this);
}
Cookies::~Cookies() {
cookie_delegate_->RemoveObserver(this);
}
void Cookies::Get(const base::DictionaryValue& filter,
const GetCallback& callback) {
std::unique_ptr<base::DictionaryValue> copied(filter.CreateDeepCopy());
auto getter = make_scoped_refptr(request_context_getter_);
content::BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(GetCookiesOnIO, getter, Passed(&copied), callback));
}
void Cookies::Remove(const GURL& url, const std::string& name,
const base::Closure& callback) {
auto getter = make_scoped_refptr(request_context_getter_);
content::BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(RemoveCookieOnIOThread, getter, url, name, callback));
}
void Cookies::Set(const base::DictionaryValue& details,
const SetCallback& callback) {
std::unique_ptr<base::DictionaryValue> copied(details.CreateDeepCopy());
auto getter = make_scoped_refptr(request_context_getter_);
content::BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(SetCookieOnIO, getter, Passed(&copied), callback));
}
void Cookies::FlushStore(const base::Closure& callback) {
auto getter = make_scoped_refptr(request_context_getter_);
content::BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(FlushCookieStoreOnIOThread, getter, callback));
}
void Cookies::OnCookieChanged(const net::CanonicalCookie& cookie,
bool removed,
net::CookieStore::ChangeCause cause) {
Emit("changed", cookie, cause, removed);
}
// static
mate::Handle<Cookies> Cookies::Create(
v8::Isolate* isolate,
AtomBrowserContext* browser_context) {
return mate::CreateHandle(isolate, new Cookies(isolate, browser_context));
}
// static
void Cookies::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Cookies"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("get", &Cookies::Get)
.SetMethod("remove", &Cookies::Remove)
.SetMethod("set", &Cookies::Set)
.SetMethod("flushStore", &Cookies::FlushStore);
}
} // namespace api
} // namespace atom

View File

@@ -1,74 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_COOKIES_H_
#define ATOM_BROWSER_API_ATOM_API_COOKIES_H_
#include <string>
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/net/atom_cookie_delegate.h"
#include "base/callback.h"
#include "native_mate/handle.h"
#include "net/cookies/canonical_cookie.h"
namespace base {
class DictionaryValue;
}
namespace net {
class URLRequestContextGetter;
}
namespace atom {
class AtomBrowserContext;
namespace api {
class Cookies : public mate::TrackableObject<Cookies>,
public AtomCookieDelegate::Observer {
public:
enum Error {
SUCCESS,
FAILED,
};
using GetCallback = base::Callback<void(Error, const net::CookieList&)>;
using SetCallback = base::Callback<void(Error)>;
static mate::Handle<Cookies> Create(v8::Isolate* isolate,
AtomBrowserContext* browser_context);
// mate::TrackableObject:
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
Cookies(v8::Isolate* isolate, AtomBrowserContext* browser_context);
~Cookies() override;
void Get(const base::DictionaryValue& filter, const GetCallback& callback);
void Remove(const GURL& url, const std::string& name,
const base::Closure& callback);
void Set(const base::DictionaryValue& details, const SetCallback& callback);
void FlushStore(const base::Closure& callback);
// AtomCookieDelegate::Observer:
void OnCookieChanged(const net::CanonicalCookie& cookie,
bool removed,
net::CookieStore::ChangeCause cause) override;
private:
net::URLRequestContextGetter* request_context_getter_;
scoped_refptr<AtomCookieDelegate> cookie_delegate_;
DISALLOW_COPY_AND_ASSIGN(Cookies);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_COOKIES_H_

View File

@@ -1,181 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_debugger.h"
#include <string>
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/memory/ptr_util.h"
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/web_contents.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "atom/common/node_includes.h"
using content::DevToolsAgentHost;
namespace atom {
namespace api {
Debugger::Debugger(v8::Isolate* isolate, content::WebContents* web_contents)
: web_contents_(web_contents),
previous_request_id_(0) {
Init(isolate);
}
Debugger::~Debugger() {
}
void Debugger::AgentHostClosed(DevToolsAgentHost* agent_host,
bool replaced_with_another_client) {
std::string detach_reason = "target closed";
if (replaced_with_another_client)
detach_reason = "replaced with devtools";
Emit("detach", detach_reason);
}
void Debugger::DispatchProtocolMessage(DevToolsAgentHost* agent_host,
const std::string& message) {
DCHECK(agent_host == agent_host_.get());
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
std::unique_ptr<base::Value> parsed_message = base::JSONReader::Read(message);
if (!parsed_message || !parsed_message->is_dict())
return;
base::DictionaryValue* dict =
static_cast<base::DictionaryValue*>(parsed_message.get());
int id;
if (!dict->GetInteger("id", &id)) {
std::string method;
if (!dict->GetString("method", &method))
return;
base::DictionaryValue* params_value = nullptr;
base::DictionaryValue params;
if (dict->GetDictionary("params", &params_value))
params.Swap(params_value);
Emit("message", method, params);
} else {
auto send_command_callback = pending_requests_[id];
pending_requests_.erase(id);
if (send_command_callback.is_null())
return;
base::DictionaryValue* error_body = nullptr;
base::DictionaryValue error;
if (dict->GetDictionary("error", &error_body))
error.Swap(error_body);
base::DictionaryValue* result_body = nullptr;
base::DictionaryValue result;
if (dict->GetDictionary("result", &result_body))
result.Swap(result_body);
send_command_callback.Run(error, result);
}
}
void Debugger::Attach(mate::Arguments* args) {
std::string protocol_version;
args->GetNext(&protocol_version);
if (!protocol_version.empty() &&
!DevToolsAgentHost::IsSupportedProtocolVersion(protocol_version)) {
args->ThrowError("Requested protocol version is not supported");
return;
}
agent_host_ = DevToolsAgentHost::GetOrCreateFor(web_contents_);
if (!agent_host_.get()) {
args->ThrowError("No target available");
return;
}
if (agent_host_->IsAttached()) {
args->ThrowError("Another debugger is already attached to this target");
return;
}
agent_host_->AttachClient(this);
}
bool Debugger::IsAttached() {
return agent_host_.get() ? agent_host_->IsAttached() : false;
}
void Debugger::Detach() {
if (!agent_host_.get())
return;
agent_host_->DetachClient(this);
AgentHostClosed(agent_host_.get(), false);
agent_host_ = nullptr;
}
void Debugger::SendCommand(mate::Arguments* args) {
if (!agent_host_.get())
return;
std::string method;
if (!args->GetNext(&method)) {
args->ThrowError();
return;
}
base::DictionaryValue command_params;
args->GetNext(&command_params);
SendCommandCallback callback;
args->GetNext(&callback);
base::DictionaryValue request;
int request_id = ++previous_request_id_;
pending_requests_[request_id] = callback;
request.SetInteger("id", request_id);
request.SetString("method", method);
if (!command_params.empty())
request.Set("params", base::WrapUnique(command_params.DeepCopy()));
std::string json_args;
base::JSONWriter::Write(request, &json_args);
agent_host_->DispatchProtocolMessage(this, json_args);
}
// static
mate::Handle<Debugger> Debugger::Create(
v8::Isolate* isolate,
content::WebContents* web_contents) {
return mate::CreateHandle(isolate, new Debugger(isolate, web_contents));
}
// static
void Debugger::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Debugger"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("attach", &Debugger::Attach)
.SetMethod("isAttached", &Debugger::IsAttached)
.SetMethod("detach", &Debugger::Detach)
.SetMethod("sendCommand", &Debugger::SendCommand);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Debugger;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary(isolate, exports)
.Set("Debugger", Debugger::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_debugger, Initialize);

View File

@@ -1,75 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_DEBUGGER_H_
#define ATOM_BROWSER_API_ATOM_API_DEBUGGER_H_
#include <map>
#include <string>
#include "atom/browser/api/trackable_object.h"
#include "base/callback.h"
#include "base/values.h"
#include "content/public/browser/devtools_agent_host_client.h"
#include "native_mate/handle.h"
namespace content {
class DevToolsAgentHost;
class WebContents;
}
namespace mate {
class Arguments;
}
namespace atom {
namespace api {
class Debugger: public mate::TrackableObject<Debugger>,
public content::DevToolsAgentHostClient {
public:
using SendCommandCallback =
base::Callback<void(const base::DictionaryValue&,
const base::DictionaryValue&)>;
static mate::Handle<Debugger> Create(
v8::Isolate* isolate, content::WebContents* web_contents);
// mate::TrackableObject:
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
Debugger(v8::Isolate* isolate, content::WebContents* web_contents);
~Debugger() override;
// content::DevToolsAgentHostClient:
void AgentHostClosed(content::DevToolsAgentHost* agent_host,
bool replaced_with_another_client) override;
void DispatchProtocolMessage(content::DevToolsAgentHost* agent_host,
const std::string& message) override;
private:
using PendingRequestMap = std::map<int, SendCommandCallback>;
void Attach(mate::Arguments* args);
bool IsAttached();
void Detach();
void SendCommand(mate::Arguments* args);
content::WebContents* web_contents_; // Weak Reference.
scoped_refptr<content::DevToolsAgentHost> agent_host_;
PendingRequestMap pending_requests_;
int previous_request_id_;
DISALLOW_COPY_AND_ASSIGN(Debugger);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_DEBUGGER_H_

View File

@@ -1,117 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_desktop_capturer.h"
using base::PlatformThreadRef;
#include "atom/common/api/atom_api_native_image.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/media/desktop_media_list.h"
#include "content/public/browser/desktop_capture.h"
#include "native_mate/dictionary.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h"
#include "atom/common/node_includes.h"
namespace mate {
template<>
struct Converter<DesktopMediaList::Source> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const DesktopMediaList::Source& source) {
mate::Dictionary dict(isolate, v8::Object::New(isolate));
content::DesktopMediaID id = source.id;
dict.Set("name", base::UTF16ToUTF8(source.name));
dict.Set("id", id.ToString());
dict.Set(
"thumbnail",
atom::api::NativeImage::Create(isolate, gfx::Image(source.thumbnail)));
return ConvertToV8(isolate, dict);
}
};
} // namespace mate
namespace atom {
namespace api {
DesktopCapturer::DesktopCapturer(v8::Isolate* isolate) {
Init(isolate);
}
DesktopCapturer::~DesktopCapturer() {
}
void DesktopCapturer::StartHandling(bool capture_window,
bool capture_screen,
const gfx::Size& thumbnail_size) {
webrtc::DesktopCaptureOptions options =
content::CreateDesktopCaptureOptions();
std::unique_ptr<webrtc::DesktopCapturer> screen_capturer(
capture_screen ? webrtc::DesktopCapturer::CreateScreenCapturer(options)
: nullptr);
std::unique_ptr<webrtc::DesktopCapturer> window_capturer(
capture_window ? webrtc::DesktopCapturer::CreateWindowCapturer(options)
: nullptr);
media_list_.reset(new NativeDesktopMediaList(
std::move(screen_capturer), std::move(window_capturer)));
media_list_->SetThumbnailSize(thumbnail_size);
media_list_->StartUpdating(this);
}
void DesktopCapturer::OnSourceAdded(int index) {
}
void DesktopCapturer::OnSourceRemoved(int index) {
}
void DesktopCapturer::OnSourceMoved(int old_index, int new_index) {
}
void DesktopCapturer::OnSourceNameChanged(int index) {
}
void DesktopCapturer::OnSourceThumbnailChanged(int index) {
}
bool DesktopCapturer::OnRefreshFinished() {
Emit("finished", media_list_->GetSources());
return false;
}
// static
mate::Handle<DesktopCapturer> DesktopCapturer::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new DesktopCapturer(isolate));
}
// static
void DesktopCapturer::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "DesktopCapturer"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("startHandling", &DesktopCapturer::StartHandling);
}
} // namespace api
} // namespace atom
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("desktopCapturer", atom::api::DesktopCapturer::Create(isolate));
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_desktop_capturer, Initialize);

View File

@@ -1,51 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_DESKTOP_CAPTURER_H_
#define ATOM_BROWSER_API_ATOM_API_DESKTOP_CAPTURER_H_
#include "atom/browser/api/event_emitter.h"
#include "chrome/browser/media/desktop_media_list_observer.h"
#include "chrome/browser/media/native_desktop_media_list.h"
#include "native_mate/handle.h"
namespace atom {
namespace api {
class DesktopCapturer: public mate::EventEmitter<DesktopCapturer>,
public DesktopMediaListObserver {
public:
static mate::Handle<DesktopCapturer> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
void StartHandling(bool capture_window,
bool capture_screen,
const gfx::Size& thumbnail_size);
protected:
explicit DesktopCapturer(v8::Isolate* isolate);
~DesktopCapturer() override;
// DesktopMediaListObserver overrides.
void OnSourceAdded(int index) override;
void OnSourceRemoved(int index) override;
void OnSourceMoved(int old_index, int new_index) override;
void OnSourceNameChanged(int index) override;
void OnSourceThumbnailChanged(int index) override;
bool OnRefreshFinished() override;
private:
std::unique_ptr<DesktopMediaList> media_list_;
DISALLOW_COPY_AND_ASSIGN(DesktopCapturer);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_DESKTOP_CAPTURER_H_

View File

@@ -1,143 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include <string>
#include <utility>
#include <vector>
#include "atom/browser/api/atom_api_window.h"
#include "atom/browser/native_window.h"
#include "atom/browser/ui/certificate_trust.h"
#include "atom/browser/ui/file_dialog.h"
#include "atom/browser/ui/message_box.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "atom/common/native_mate_converters/image_converter.h"
#include "atom/common/native_mate_converters/net_converter.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
namespace mate {
template<>
struct Converter<file_dialog::Filter> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
file_dialog::Filter* out) {
mate::Dictionary dict;
if (!ConvertFromV8(isolate, val, &dict))
return false;
if (!dict.Get("name", &(out->first)))
return false;
if (!dict.Get("extensions", &(out->second)))
return false;
return true;
}
};
template<>
struct Converter<file_dialog::DialogSettings> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
file_dialog::DialogSettings* out) {
mate::Dictionary dict;
if (!ConvertFromV8(isolate, val, &dict))
return false;
dict.Get("window", &(out->parent_window));
dict.Get("title", &(out->title));
dict.Get("message", &(out->message));
dict.Get("buttonLabel", &(out->button_label));
dict.Get("nameFieldLabel", &(out->name_field_label));
dict.Get("defaultPath", &(out->default_path));
dict.Get("filters", &(out->filters));
dict.Get("properties", &(out->properties));
dict.Get("showsTagField", &(out->shows_tag_field));
#if defined(MAS_BUILD)
dict.Get("securityScopedBookmarks", &(out->security_scoped_bookmarks));
#endif
return true;
}
};
} // namespace mate
namespace {
void ShowMessageBox(int type,
const std::vector<std::string>& buttons,
int default_id,
int cancel_id,
int options,
const std::string& title,
const std::string& message,
const std::string& detail,
const std::string& checkbox_label,
bool checkbox_checked,
const gfx::ImageSkia& icon,
atom::NativeWindow* window,
mate::Arguments* args) {
v8::Local<v8::Value> peek = args->PeekNext();
atom::MessageBoxCallback callback;
if (mate::Converter<atom::MessageBoxCallback>::FromV8(args->isolate(),
peek,
&callback)) {
atom::ShowMessageBox(window, static_cast<atom::MessageBoxType>(type),
buttons, default_id, cancel_id, options, title,
message, detail, checkbox_label, checkbox_checked,
icon, callback);
} else {
int chosen = atom::ShowMessageBox(
window, static_cast<atom::MessageBoxType>(type), buttons, default_id,
cancel_id, options, title, message, detail, icon);
args->Return(chosen);
}
}
void ShowOpenDialog(const file_dialog::DialogSettings& settings,
mate::Arguments* args) {
v8::Local<v8::Value> peek = args->PeekNext();
file_dialog::OpenDialogCallback callback;
if (mate::Converter<file_dialog::OpenDialogCallback>::FromV8(args->isolate(),
peek,
&callback)) {
file_dialog::ShowOpenDialog(settings, callback);
} else {
std::vector<base::FilePath> paths;
if (file_dialog::ShowOpenDialog(settings, &paths))
args->Return(paths);
}
}
void ShowSaveDialog(const file_dialog::DialogSettings& settings,
mate::Arguments* args) {
v8::Local<v8::Value> peek = args->PeekNext();
file_dialog::SaveDialogCallback callback;
if (mate::Converter<file_dialog::SaveDialogCallback>::FromV8(args->isolate(),
peek,
&callback)) {
file_dialog::ShowSaveDialog(settings, callback);
} else {
base::FilePath path;
if (file_dialog::ShowSaveDialog(settings, &path))
args->Return(path);
}
}
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
mate::Dictionary dict(context->GetIsolate(), exports);
dict.SetMethod("showMessageBox", &ShowMessageBox);
dict.SetMethod("showErrorBox", &atom::ShowErrorBox);
dict.SetMethod("showOpenDialog", &ShowOpenDialog);
dict.SetMethod("showSaveDialog", &ShowSaveDialog);
#if defined(OS_MACOSX) || defined(OS_WIN)
dict.SetMethod("showCertificateTrustDialog",
&certificate_trust::ShowCertificateTrust);
#endif
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_dialog, Initialize)

View File

@@ -1,239 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_download_item.h"
#include <map>
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "atom/common/native_mate_converters/gurl_converter.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "native_mate/dictionary.h"
#include "net/base/filename_util.h"
#include "atom/common/node_includes.h"
namespace mate {
template<>
struct Converter<content::DownloadItem::DownloadState> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
content::DownloadItem::DownloadState state) {
std::string download_state;
switch (state) {
case content::DownloadItem::IN_PROGRESS:
download_state = "progressing";
break;
case content::DownloadItem::COMPLETE:
download_state = "completed";
break;
case content::DownloadItem::CANCELLED:
download_state = "cancelled";
break;
case content::DownloadItem::INTERRUPTED:
download_state = "interrupted";
break;
default:
break;
}
return ConvertToV8(isolate, download_state);
}
};
} // namespace mate
namespace atom {
namespace api {
namespace {
std::map<uint32_t, v8::Global<v8::Object>> g_download_item_objects;
} // namespace
DownloadItem::DownloadItem(v8::Isolate* isolate,
content::DownloadItem* download_item)
: download_item_(download_item) {
download_item_->AddObserver(this);
Init(isolate);
AttachAsUserData(download_item);
}
DownloadItem::~DownloadItem() {
if (download_item_) {
// Destroyed by either garbage collection or destroy().
download_item_->RemoveObserver(this);
download_item_->Remove();
}
// Remove from the global map.
g_download_item_objects.erase(weak_map_id());
}
void DownloadItem::OnDownloadUpdated(content::DownloadItem* item) {
if (download_item_->IsDone()) {
Emit("done", item->GetState());
// Destroy the item once item is downloaded.
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, GetDestroyClosure());
} else {
Emit("updated", item->GetState());
}
}
void DownloadItem::OnDownloadDestroyed(content::DownloadItem* download_item) {
download_item_ = nullptr;
// Destroy the native class immediately when downloadItem is destroyed.
delete this;
}
void DownloadItem::Pause() {
download_item_->Pause();
}
bool DownloadItem::IsPaused() const {
return download_item_->IsPaused();
}
void DownloadItem::Resume() {
download_item_->Resume();
}
bool DownloadItem::CanResume() const {
return download_item_->CanResume();
}
void DownloadItem::Cancel() {
download_item_->Cancel(true);
}
int64_t DownloadItem::GetReceivedBytes() const {
return download_item_->GetReceivedBytes();
}
int64_t DownloadItem::GetTotalBytes() const {
return download_item_->GetTotalBytes();
}
std::string DownloadItem::GetMimeType() const {
return download_item_->GetMimeType();
}
bool DownloadItem::HasUserGesture() const {
return download_item_->HasUserGesture();
}
std::string DownloadItem::GetFilename() const {
return base::UTF16ToUTF8(net::GenerateFileName(GetURL(),
GetContentDisposition(),
std::string(),
download_item_->GetSuggestedFilename(),
GetMimeType(),
"download").LossyDisplayName());
}
std::string DownloadItem::GetContentDisposition() const {
return download_item_->GetContentDisposition();
}
const GURL& DownloadItem::GetURL() const {
return download_item_->GetURL();
}
const std::vector<GURL>& DownloadItem::GetURLChain() const {
return download_item_->GetUrlChain();
}
content::DownloadItem::DownloadState DownloadItem::GetState() const {
return download_item_->GetState();
}
bool DownloadItem::IsDone() const {
return download_item_->IsDone();
}
void DownloadItem::SetSavePath(const base::FilePath& path) {
save_path_ = path;
}
base::FilePath DownloadItem::GetSavePath() const {
return save_path_;
}
std::string DownloadItem::GetLastModifiedTime() const {
return download_item_->GetLastModifiedTime();
}
std::string DownloadItem::GetETag() const {
return download_item_->GetETag();
}
double DownloadItem::GetStartTime() const {
return download_item_->GetStartTime().ToDoubleT();
}
// static
void DownloadItem::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "DownloadItem"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("pause", &DownloadItem::Pause)
.SetMethod("isPaused", &DownloadItem::IsPaused)
.SetMethod("resume", &DownloadItem::Resume)
.SetMethod("canResume", &DownloadItem::CanResume)
.SetMethod("cancel", &DownloadItem::Cancel)
.SetMethod("getReceivedBytes", &DownloadItem::GetReceivedBytes)
.SetMethod("getTotalBytes", &DownloadItem::GetTotalBytes)
.SetMethod("getMimeType", &DownloadItem::GetMimeType)
.SetMethod("hasUserGesture", &DownloadItem::HasUserGesture)
.SetMethod("getFilename", &DownloadItem::GetFilename)
.SetMethod("getContentDisposition", &DownloadItem::GetContentDisposition)
.SetMethod("getURL", &DownloadItem::GetURL)
.SetMethod("getURLChain", &DownloadItem::GetURLChain)
.SetMethod("getState", &DownloadItem::GetState)
.SetMethod("isDone", &DownloadItem::IsDone)
.SetMethod("setSavePath", &DownloadItem::SetSavePath)
.SetMethod("getSavePath", &DownloadItem::GetSavePath)
.SetMethod("getLastModifiedTime", &DownloadItem::GetLastModifiedTime)
.SetMethod("getETag", &DownloadItem::GetETag)
.SetMethod("getStartTime", &DownloadItem::GetStartTime);
}
// static
mate::Handle<DownloadItem> DownloadItem::Create(
v8::Isolate* isolate, content::DownloadItem* item) {
auto existing = TrackableObject::FromWrappedClass(isolate, item);
if (existing)
return mate::CreateHandle(isolate, static_cast<DownloadItem*>(existing));
auto handle = mate::CreateHandle(isolate, new DownloadItem(isolate, item));
// Reference this object in case it got garbage collected.
g_download_item_objects[handle->weak_map_id()] =
v8::Global<v8::Object>(isolate, handle.ToV8());
return handle;
}
} // namespace api
} // namespace atom
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary(isolate, exports)
.Set("DownloadItem",
atom::api::DownloadItem::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_download_item, Initialize);

View File

@@ -1,70 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_DOWNLOAD_ITEM_H_
#define ATOM_BROWSER_API_ATOM_API_DOWNLOAD_ITEM_H_
#include <string>
#include <vector>
#include "atom/browser/api/trackable_object.h"
#include "base/files/file_path.h"
#include "content/public/browser/download_item.h"
#include "native_mate/handle.h"
#include "url/gurl.h"
namespace atom {
namespace api {
class DownloadItem : public mate::TrackableObject<DownloadItem>,
public content::DownloadItem::Observer {
public:
static mate::Handle<DownloadItem> Create(v8::Isolate* isolate,
content::DownloadItem* item);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
void Pause();
bool IsPaused() const;
void Resume();
bool CanResume() const;
void Cancel();
int64_t GetReceivedBytes() const;
int64_t GetTotalBytes() const;
std::string GetMimeType() const;
bool HasUserGesture() const;
std::string GetFilename() const;
std::string GetContentDisposition() const;
const GURL& GetURL() const;
const std::vector<GURL>& GetURLChain() const;
content::DownloadItem::DownloadState GetState() const;
bool IsDone() const;
void SetSavePath(const base::FilePath& path);
base::FilePath GetSavePath() const;
std::string GetLastModifiedTime() const;
std::string GetETag() const;
double GetStartTime() const;
protected:
DownloadItem(v8::Isolate* isolate, content::DownloadItem* download_item);
~DownloadItem();
// Override content::DownloadItem::Observer methods
void OnDownloadUpdated(content::DownloadItem* download) override;
void OnDownloadDestroyed(content::DownloadItem* download) override;
private:
base::FilePath save_path_;
content::DownloadItem* download_item_;
DISALLOW_COPY_AND_ASSIGN(DownloadItem);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_DOWNLOAD_ITEM_H_

View File

@@ -1,101 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_global_shortcut.h"
#include <string>
#include "atom/common/native_mate_converters/accelerator_converter.h"
#include "atom/common/native_mate_converters/callback.h"
#include "base/stl_util.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
using extensions::GlobalShortcutListener;
namespace atom {
namespace api {
GlobalShortcut::GlobalShortcut(v8::Isolate* isolate) {
Init(isolate);
}
GlobalShortcut::~GlobalShortcut() {
UnregisterAll();
}
void GlobalShortcut::OnKeyPressed(const ui::Accelerator& accelerator) {
if (accelerator_callback_map_.find(accelerator) ==
accelerator_callback_map_.end()) {
// This should never occur, because if it does, GlobalGlobalShortcutListener
// notifes us with wrong accelerator.
NOTREACHED();
return;
}
accelerator_callback_map_[accelerator].Run();
}
bool GlobalShortcut::Register(const ui::Accelerator& accelerator,
const base::Closure& callback) {
if (!GlobalShortcutListener::GetInstance()->RegisterAccelerator(
accelerator, this)) {
return false;
}
accelerator_callback_map_[accelerator] = callback;
return true;
}
void GlobalShortcut::Unregister(const ui::Accelerator& accelerator) {
if (!ContainsKey(accelerator_callback_map_, accelerator))
return;
accelerator_callback_map_.erase(accelerator);
GlobalShortcutListener::GetInstance()->UnregisterAccelerator(
accelerator, this);
}
bool GlobalShortcut::IsRegistered(const ui::Accelerator& accelerator) {
return ContainsKey(accelerator_callback_map_, accelerator);
}
void GlobalShortcut::UnregisterAll() {
accelerator_callback_map_.clear();
GlobalShortcutListener::GetInstance()->UnregisterAccelerators(this);
}
// static
mate::Handle<GlobalShortcut> GlobalShortcut::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new GlobalShortcut(isolate));
}
// static
void GlobalShortcut::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "GlobalShortcut"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("register", &GlobalShortcut::Register)
.SetMethod("isRegistered", &GlobalShortcut::IsRegistered)
.SetMethod("unregister", &GlobalShortcut::Unregister)
.SetMethod("unregisterAll", &GlobalShortcut::UnregisterAll);
}
} // namespace api
} // namespace atom
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("globalShortcut", atom::api::GlobalShortcut::Create(isolate));
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_global_shortcut, Initialize)

View File

@@ -1,54 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_GLOBAL_SHORTCUT_H_
#define ATOM_BROWSER_API_ATOM_API_GLOBAL_SHORTCUT_H_
#include <map>
#include <string>
#include "atom/browser/api/trackable_object.h"
#include "base/callback.h"
#include "chrome/browser/extensions/global_shortcut_listener.h"
#include "native_mate/handle.h"
#include "ui/base/accelerators/accelerator.h"
namespace atom {
namespace api {
class GlobalShortcut : public extensions::GlobalShortcutListener::Observer,
public mate::TrackableObject<GlobalShortcut> {
public:
static mate::Handle<GlobalShortcut> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
explicit GlobalShortcut(v8::Isolate* isolate);
~GlobalShortcut() override;
private:
typedef std::map<ui::Accelerator, base::Closure> AcceleratorCallbackMap;
bool Register(const ui::Accelerator& accelerator,
const base::Closure& callback);
bool IsRegistered(const ui::Accelerator& accelerator);
void Unregister(const ui::Accelerator& accelerator);
void UnregisterAll();
// GlobalShortcutListener::Observer implementation.
void OnKeyPressed(const ui::Accelerator& accelerator) override;
AcceleratorCallbackMap accelerator_callback_map_;
DISALLOW_COPY_AND_ASSIGN(GlobalShortcut);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_GLOBAL_SHORTCUT_H_

View File

@@ -1,115 +0,0 @@
// Copyright (c) 2017 Amaplex Software, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_in_app_purchase.h"
#include <string>
#include <utility>
#include <vector>
#include "atom/common/native_mate_converters/callback.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
namespace mate {
template <>
struct Converter<in_app_purchase::Payment> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const in_app_purchase::Payment& payment) {
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
dict.SetHidden("simple", true);
dict.Set("productIdentifier", payment.productIdentifier);
dict.Set("quantity", payment.quantity);
return dict.GetHandle();
}
};
template <>
struct Converter<in_app_purchase::Transaction> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const in_app_purchase::Transaction& val) {
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
dict.SetHidden("simple", true);
dict.Set("transactionIdentifier", val.transactionIdentifier);
dict.Set("transactionDate", val.transactionDate);
dict.Set("originalTransactionIdentifier",
val.originalTransactionIdentifier);
dict.Set("transactionState", val.transactionState);
dict.Set("errorCode", val.errorCode);
dict.Set("errorMessage", val.errorMessage);
dict.Set("payment", val.payment);
return dict.GetHandle();
}
};
} // namespace mate
namespace atom {
namespace api {
#if defined(OS_MACOSX)
// static
mate::Handle<InAppPurchase> InAppPurchase::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new InAppPurchase(isolate));
}
// static
void InAppPurchase::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "InAppPurchase"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("canMakePayments", &in_app_purchase::CanMakePayments)
.SetMethod("getReceiptURL", &in_app_purchase::GetReceiptURL)
.SetMethod("purchaseProduct", &InAppPurchase::PurchaseProduct);
}
InAppPurchase::InAppPurchase(v8::Isolate* isolate) {
Init(isolate);
}
InAppPurchase::~InAppPurchase() {
}
void InAppPurchase::PurchaseProduct(const std::string& product_id,
mate::Arguments* args) {
int quantity = 1;
in_app_purchase::InAppPurchaseCallback callback;
args->GetNext(&quantity);
args->GetNext(&callback);
in_app_purchase::PurchaseProduct(product_id, quantity, callback);
}
void InAppPurchase::OnTransactionsUpdated(
const std::vector<in_app_purchase::Transaction>& transactions) {
Emit("transactions-updated", transactions);
}
#endif
} // namespace api
} // namespace atom
namespace {
using atom::api::InAppPurchase;
void Initialize(v8::Local<v8::Object> exports,
v8::Local<v8::Value> unused,
v8::Local<v8::Context> context,
void* priv) {
#if defined(OS_MACOSX)
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("inAppPurchase", InAppPurchase::Create(isolate));
dict.Set("InAppPurchase",
InAppPurchase::GetConstructor(isolate)->GetFunction());
#endif
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_in_app_purchase, Initialize)

View File

@@ -1,46 +0,0 @@
// Copyright (c) 2017 Amaplex Software, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_IN_APP_PURCHASE_H_
#define ATOM_BROWSER_API_ATOM_API_IN_APP_PURCHASE_H_
#include <string>
#include <vector>
#include "atom/browser/api/event_emitter.h"
#include "atom/browser/mac/in_app_purchase.h"
#include "atom/browser/mac/in_app_purchase_observer.h"
#include "native_mate/handle.h"
namespace atom {
namespace api {
class InAppPurchase: public mate::EventEmitter<InAppPurchase>,
public in_app_purchase::TransactionObserver {
public:
static mate::Handle<InAppPurchase> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
explicit InAppPurchase(v8::Isolate* isolate);
~InAppPurchase() override;
void PurchaseProduct(const std::string& product_id, mate::Arguments* args);
// TransactionObserver:
void OnTransactionsUpdated(
const std::vector<in_app_purchase::Transaction>& transactions) override;
private:
DISALLOW_COPY_AND_ASSIGN(InAppPurchase);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_IN_APP_PURCHASE_H_

View File

@@ -1,231 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_menu.h"
#include "atom/browser/native_window.h"
#include "atom/common/native_mate_converters/accelerator_converter.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/image_converter.h"
#include "atom/common/native_mate_converters/string16_converter.h"
#include "native_mate/constructor.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "atom/common/node_includes.h"
namespace atom {
namespace api {
Menu::Menu(v8::Isolate* isolate, v8::Local<v8::Object> wrapper)
: model_(new AtomMenuModel(this)),
parent_(nullptr) {
InitWith(isolate, wrapper);
model_->AddObserver(this);
}
Menu::~Menu() {
if (model_) {
model_->RemoveObserver(this);
}
}
void Menu::AfterInit(v8::Isolate* isolate) {
mate::Dictionary wrappable(isolate, GetWrapper());
mate::Dictionary delegate;
if (!wrappable.Get("delegate", &delegate))
return;
delegate.Get("isCommandIdChecked", &is_checked_);
delegate.Get("isCommandIdEnabled", &is_enabled_);
delegate.Get("isCommandIdVisible", &is_visible_);
delegate.Get("getAcceleratorForCommandId", &get_accelerator_);
delegate.Get("executeCommand", &execute_command_);
delegate.Get("menuWillShow", &menu_will_show_);
}
bool Menu::IsCommandIdChecked(int command_id) const {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
return is_checked_.Run(GetWrapper(), command_id);
}
bool Menu::IsCommandIdEnabled(int command_id) const {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
return is_enabled_.Run(GetWrapper(), command_id);
}
bool Menu::IsCommandIdVisible(int command_id) const {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
return is_visible_.Run(GetWrapper(), command_id);
}
bool Menu::GetAcceleratorForCommandIdWithParams(
int command_id,
bool use_default_accelerator,
ui::Accelerator* accelerator) const {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
v8::Local<v8::Value> val = get_accelerator_.Run(
GetWrapper(), command_id, use_default_accelerator);
return mate::ConvertFromV8(isolate(), val, accelerator);
}
void Menu::ExecuteCommand(int command_id, int flags) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
execute_command_.Run(
GetWrapper(),
mate::internal::CreateEventFromFlags(isolate(), flags),
command_id);
}
void Menu::MenuWillShow(ui::SimpleMenuModel* source) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
menu_will_show_.Run(GetWrapper());
}
void Menu::InsertItemAt(
int index, int command_id, const base::string16& label) {
model_->InsertItemAt(index, command_id, label);
}
void Menu::InsertSeparatorAt(int index) {
model_->InsertSeparatorAt(index, ui::NORMAL_SEPARATOR);
}
void Menu::InsertCheckItemAt(int index,
int command_id,
const base::string16& label) {
model_->InsertCheckItemAt(index, command_id, label);
}
void Menu::InsertRadioItemAt(int index,
int command_id,
const base::string16& label,
int group_id) {
model_->InsertRadioItemAt(index, command_id, label, group_id);
}
void Menu::InsertSubMenuAt(int index,
int command_id,
const base::string16& label,
Menu* menu) {
menu->parent_ = this;
model_->InsertSubMenuAt(index, command_id, label, menu->model_.get());
}
void Menu::SetIcon(int index, const gfx::Image& image) {
model_->SetIcon(index, image);
}
void Menu::SetSublabel(int index, const base::string16& sublabel) {
model_->SetSublabel(index, sublabel);
}
void Menu::SetRole(int index, const base::string16& role) {
model_->SetRole(index, role);
}
void Menu::Clear() {
model_->Clear();
}
int Menu::GetIndexOfCommandId(int command_id) {
return model_->GetIndexOfCommandId(command_id);
}
int Menu::GetItemCount() const {
return model_->GetItemCount();
}
int Menu::GetCommandIdAt(int index) const {
return model_->GetCommandIdAt(index);
}
base::string16 Menu::GetLabelAt(int index) const {
return model_->GetLabelAt(index);
}
base::string16 Menu::GetSublabelAt(int index) const {
return model_->GetSublabelAt(index);
}
bool Menu::IsItemCheckedAt(int index) const {
return model_->IsItemCheckedAt(index);
}
bool Menu::IsEnabledAt(int index) const {
return model_->IsEnabledAt(index);
}
bool Menu::IsVisibleAt(int index) const {
return model_->IsVisibleAt(index);
}
void Menu::OnMenuWillClose() {
Emit("menu-will-close");
}
void Menu::OnMenuWillShow() {
Emit("menu-will-show");
}
// static
void Menu::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Menu"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("insertItem", &Menu::InsertItemAt)
.SetMethod("insertCheckItem", &Menu::InsertCheckItemAt)
.SetMethod("insertRadioItem", &Menu::InsertRadioItemAt)
.SetMethod("insertSeparator", &Menu::InsertSeparatorAt)
.SetMethod("insertSubMenu", &Menu::InsertSubMenuAt)
.SetMethod("setIcon", &Menu::SetIcon)
.SetMethod("setSublabel", &Menu::SetSublabel)
.SetMethod("setRole", &Menu::SetRole)
.SetMethod("clear", &Menu::Clear)
.SetMethod("getIndexOfCommandId", &Menu::GetIndexOfCommandId)
.SetMethod("getItemCount", &Menu::GetItemCount)
.SetMethod("getCommandIdAt", &Menu::GetCommandIdAt)
.SetMethod("getLabelAt", &Menu::GetLabelAt)
.SetMethod("getSublabelAt", &Menu::GetSublabelAt)
.SetMethod("isItemCheckedAt", &Menu::IsItemCheckedAt)
.SetMethod("isEnabledAt", &Menu::IsEnabledAt)
.SetMethod("isVisibleAt", &Menu::IsVisibleAt)
.SetMethod("popupAt", &Menu::PopupAt)
.SetMethod("closePopupAt", &Menu::ClosePopupAt);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Menu;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
Menu::SetConstructor(isolate, base::Bind(&Menu::New));
mate::Dictionary dict(isolate, exports);
dict.Set("Menu", Menu::GetConstructor(isolate)->GetFunction());
#if defined(OS_MACOSX)
dict.SetMethod("setApplicationMenu", &Menu::SetApplicationMenu);
dict.SetMethod("sendActionToFirstResponder",
&Menu::SendActionToFirstResponder);
#endif
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_menu, Initialize)

View File

@@ -1,135 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_MENU_H_
#define ATOM_BROWSER_API_ATOM_API_MENU_H_
#include <memory>
#include <string>
#include "atom/browser/api/atom_api_window.h"
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/ui/atom_menu_model.h"
#include "base/callback.h"
namespace atom {
namespace api {
class Menu : public mate::TrackableObject<Menu>,
public AtomMenuModel::Delegate,
public AtomMenuModel::Observer {
public:
static mate::WrappableBase* New(mate::Arguments* args);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
#if defined(OS_MACOSX)
// Set the global menubar.
static void SetApplicationMenu(Menu* menu);
// Fake sending an action from the application menu.
static void SendActionToFirstResponder(const std::string& action);
#endif
AtomMenuModel* model() const { return model_.get(); }
protected:
Menu(v8::Isolate* isolate, v8::Local<v8::Object> wrapper);
~Menu() override;
// mate::Wrappable:
void AfterInit(v8::Isolate* isolate) override;
// ui::SimpleMenuModel::Delegate:
bool IsCommandIdChecked(int command_id) const override;
bool IsCommandIdEnabled(int command_id) const override;
bool IsCommandIdVisible(int command_id) const override;
bool GetAcceleratorForCommandIdWithParams(
int command_id,
bool use_default_accelerator,
ui::Accelerator* accelerator) const override;
void ExecuteCommand(int command_id, int event_flags) override;
void MenuWillShow(ui::SimpleMenuModel* source) override;
virtual void PopupAt(Window* window, int x, int y, int positioning_item,
const base::Closure& callback) = 0;
virtual void ClosePopupAt(int32_t window_id) = 0;
std::unique_ptr<AtomMenuModel> model_;
Menu* parent_;
// Observable:
void OnMenuWillClose() override;
void OnMenuWillShow() override;
private:
void InsertItemAt(int index, int command_id, const base::string16& label);
void InsertSeparatorAt(int index);
void InsertCheckItemAt(int index,
int command_id,
const base::string16& label);
void InsertRadioItemAt(int index,
int command_id,
const base::string16& label,
int group_id);
void InsertSubMenuAt(int index,
int command_id,
const base::string16& label,
Menu* menu);
void SetIcon(int index, const gfx::Image& image);
void SetSublabel(int index, const base::string16& sublabel);
void SetRole(int index, const base::string16& role);
void Clear();
int GetIndexOfCommandId(int command_id);
int GetItemCount() const;
int GetCommandIdAt(int index) const;
base::string16 GetLabelAt(int index) const;
base::string16 GetSublabelAt(int index) const;
bool IsItemCheckedAt(int index) const;
bool IsEnabledAt(int index) const;
bool IsVisibleAt(int index) const;
// Stored delegate methods.
base::Callback<bool(v8::Local<v8::Value>, int)> is_checked_;
base::Callback<bool(v8::Local<v8::Value>, int)> is_enabled_;
base::Callback<bool(v8::Local<v8::Value>, int)> is_visible_;
base::Callback<v8::Local<v8::Value>(v8::Local<v8::Value>, int, bool)>
get_accelerator_;
base::Callback<void(v8::Local<v8::Value>, v8::Local<v8::Value>, int)>
execute_command_;
base::Callback<void(v8::Local<v8::Value>)> menu_will_show_;
DISALLOW_COPY_AND_ASSIGN(Menu);
};
} // namespace api
} // namespace atom
namespace mate {
template<>
struct Converter<atom::AtomMenuModel*> {
static bool FromV8(v8::Isolate* isolate, v8::Local<v8::Value> val,
atom::AtomMenuModel** out) {
// null would be tranfered to NULL.
if (val->IsNull()) {
*out = nullptr;
return true;
}
atom::api::Menu* menu;
if (!Converter<atom::api::Menu*>::FromV8(isolate, val, &menu))
return false;
*out = menu->model();
return true;
}
};
} // namespace mate
#endif // ATOM_BROWSER_API_ATOM_API_MENU_H_

View File

@@ -1,54 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_MENU_MAC_H_
#define ATOM_BROWSER_API_ATOM_API_MENU_MAC_H_
#include "atom/browser/api/atom_api_menu.h"
#include <map>
#include <string>
#import "atom/browser/ui/cocoa/atom_menu_controller.h"
using base::scoped_nsobject;
namespace atom {
namespace api {
class MenuMac : public Menu {
protected:
MenuMac(v8::Isolate* isolate, v8::Local<v8::Object> wrapper);
void PopupAt(Window* window, int x, int y, int positioning_item,
const base::Closure& callback) override;
void PopupOnUI(const base::WeakPtr<NativeWindow>& native_window,
int32_t window_id,
int x,
int y,
int positioning_item,
base::Closure callback);
void ClosePopupAt(int32_t window_id) override;
private:
friend class Menu;
void OnClosed(int32_t window_id, base::Closure callback);
scoped_nsobject<AtomMenuController> menu_controller_;
// window ID -> open context menu
std::map<int32_t, scoped_nsobject<AtomMenuController>> popup_controllers_;
base::WeakPtrFactory<MenuMac> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(MenuMac);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_MENU_MAC_H_

View File

@@ -1,157 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#import "atom/browser/api/atom_api_menu_mac.h"
#include "atom/browser/native_window.h"
#include "atom/browser/unresponsive_suppressor.h"
#include "base/mac/scoped_sending_event.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/sys_string_conversions.h"
#include "brightray/browser/inspectable_web_contents.h"
#include "brightray/browser/inspectable_web_contents_view.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#include "atom/common/node_includes.h"
using content::BrowserThread;
namespace atom {
namespace api {
MenuMac::MenuMac(v8::Isolate* isolate, v8::Local<v8::Object> wrapper)
: Menu(isolate, wrapper),
weak_factory_(this) {
}
void MenuMac::PopupAt(Window* window, int x, int y, int positioning_item,
const base::Closure& callback) {
NativeWindow* native_window = window->window();
if (!native_window)
return;
auto popup = base::Bind(&MenuMac::PopupOnUI, weak_factory_.GetWeakPtr(),
native_window->GetWeakPtr(), window->ID(), x, y,
positioning_item, callback);
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, popup);
}
void MenuMac::PopupOnUI(const base::WeakPtr<NativeWindow>& native_window,
int32_t window_id,
int x,
int y,
int positioning_item,
base::Closure callback) {
if (!native_window)
return;
brightray::InspectableWebContents* web_contents =
native_window->inspectable_web_contents();
if (!web_contents)
return;
auto close_callback = base::Bind(
&MenuMac::OnClosed, weak_factory_.GetWeakPtr(), window_id, callback);
popup_controllers_[window_id] = base::scoped_nsobject<AtomMenuController>(
[[AtomMenuController alloc] initWithModel:model()
useDefaultAccelerator:NO]);
NSMenu* menu = [popup_controllers_[window_id] menu];
NSView* view = web_contents->GetView()->GetNativeView();
// Which menu item to show.
NSMenuItem* item = nil;
if (positioning_item < [menu numberOfItems] && positioning_item >= 0)
item = [menu itemAtIndex:positioning_item];
// (-1, -1) means showing on mouse location.
NSPoint position;
if (x == -1 || y == -1) {
NSWindow* nswindow = native_window->GetNativeWindow();
position = [view convertPoint:[nswindow mouseLocationOutsideOfEventStream]
fromView:nil];
} else {
position = NSMakePoint(x, [view frame].size.height - y);
}
// If no preferred item is specified, try to show all of the menu items.
if (!positioning_item) {
CGFloat windowBottom = CGRectGetMinY([view window].frame);
CGFloat lowestMenuPoint = windowBottom + position.y - [menu size].height;
CGFloat screenBottom = CGRectGetMinY([view window].screen.frame);
CGFloat distanceFromBottom = lowestMenuPoint - screenBottom;
if (distanceFromBottom < 0)
position.y = position.y - distanceFromBottom + 4;
}
// Place the menu left of cursor if it is overflowing off right of screen.
CGFloat windowLeft = CGRectGetMinX([view window].frame);
CGFloat rightmostMenuPoint = windowLeft + position.x + [menu size].width;
CGFloat screenRight = CGRectGetMaxX([view window].screen.frame);
if (rightmostMenuPoint > screenRight)
position.x = position.x - [menu size].width;
[popup_controllers_[window_id] setCloseCallback:close_callback];
// Make sure events can be pumped while the menu is up.
base::MessageLoop::ScopedNestableTaskAllower allow(
base::MessageLoop::current());
// One of the events that could be pumped is |window.close()|.
// User-initiated event-tracking loops protect against this by
// setting flags in -[CrApplication sendEvent:], but since
// web-content menus are initiated by IPC message the setup has to
// be done manually.
base::mac::ScopedSendingEvent sendingEventScoper;
// Don't emit unresponsive event when showing menu.
atom::UnresponsiveSuppressor suppressor;
[menu popUpMenuPositioningItem:item atLocation:position inView:view];
}
void MenuMac::ClosePopupAt(int32_t window_id) {
auto controller = popup_controllers_.find(window_id);
if (controller != popup_controllers_.end()) {
// Close the controller for the window.
[controller->second cancel];
} else if (window_id == -1) {
// Or just close all opened controllers.
for (auto it = popup_controllers_.begin();
it != popup_controllers_.end();) {
// The iterator is invalidated after the call.
[(it++)->second cancel];
}
}
}
void MenuMac::OnClosed(int32_t window_id, base::Closure callback) {
popup_controllers_.erase(window_id);
callback.Run();
}
// static
void Menu::SetApplicationMenu(Menu* base_menu) {
MenuMac* menu = static_cast<MenuMac*>(base_menu);
base::scoped_nsobject<AtomMenuController> menu_controller(
[[AtomMenuController alloc] initWithModel:menu->model_.get()
useDefaultAccelerator:YES]);
[NSApp setMainMenu:[menu_controller menu]];
// Ensure the menu_controller_ is destroyed after main menu is set.
menu_controller.swap(menu->menu_controller_);
}
// static
void Menu::SendActionToFirstResponder(const std::string& action) {
SEL selector = NSSelectorFromString(base::SysUTF8ToNSString(action));
[NSApp sendAction:selector to:nil from:[NSApp mainMenu]];
}
// static
mate::WrappableBase* Menu::New(mate::Arguments* args) {
return new MenuMac(args->isolate(), args->GetThis());
}
} // namespace api
} // namespace atom

View File

@@ -1,88 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_menu_views.h"
#include "atom/browser/native_window_views.h"
#include "atom/browser/unresponsive_suppressor.h"
#include "brightray/browser/inspectable_web_contents.h"
#include "brightray/browser/inspectable_web_contents_view.h"
#include "ui/display/screen.h"
using views::MenuRunner;
namespace atom {
namespace api {
MenuViews::MenuViews(v8::Isolate* isolate, v8::Local<v8::Object> wrapper)
: Menu(isolate, wrapper),
weak_factory_(this) {
}
void MenuViews::PopupAt(Window* window, int x, int y, int positioning_item,
const base::Closure& callback) {
NativeWindow* native_window = static_cast<NativeWindow*>(window->window());
if (!native_window)
return;
auto* web_contents = native_window->inspectable_web_contents();
if (!web_contents)
return;
// (-1, -1) means showing on mouse location.
gfx::Point location;
if (x == -1 || y == -1) {
location = display::Screen::GetScreen()->GetCursorScreenPoint();
} else {
auto* view = web_contents->GetView()->GetWebView();
gfx::Point origin = view->bounds().origin();
location = gfx::Point(origin.x() + x, origin.y() + y);
}
int flags = MenuRunner::CONTEXT_MENU | MenuRunner::HAS_MNEMONICS;
// Don't emit unresponsive event when showing menu.
atom::UnresponsiveSuppressor suppressor;
// Show the menu.
int32_t window_id = window->ID();
auto close_callback = base::Bind(
&MenuViews::OnClosed, weak_factory_.GetWeakPtr(), window_id, callback);
menu_runners_[window_id] = std::unique_ptr<MenuRunner>(new MenuRunner(
model(), flags, close_callback));
menu_runners_[window_id]->RunMenuAt(
static_cast<NativeWindowViews*>(window->window())->widget(),
NULL,
gfx::Rect(location, gfx::Size()),
views::MENU_ANCHOR_TOPLEFT,
ui::MENU_SOURCE_MOUSE);
}
void MenuViews::ClosePopupAt(int32_t window_id) {
auto runner = menu_runners_.find(window_id);
if (runner != menu_runners_.end()) {
// Close the runner for the window.
runner->second->Cancel();
} else if (window_id == -1) {
// Or just close all opened runners.
for (auto it = menu_runners_.begin(); it != menu_runners_.end();) {
// The iterator is invalidated after the call.
(it++)->second->Cancel();
}
}
}
void MenuViews::OnClosed(int32_t window_id, base::Closure callback) {
menu_runners_.erase(window_id);
callback.Run();
}
// static
mate::WrappableBase* Menu::New(mate::Arguments* args) {
return new MenuViews(args->isolate(), args->GetThis());
}
} // namespace api
} // namespace atom

View File

@@ -1,43 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_MENU_VIEWS_H_
#define ATOM_BROWSER_API_ATOM_API_MENU_VIEWS_H_
#include <map>
#include "atom/browser/api/atom_api_menu.h"
#include "base/memory/weak_ptr.h"
#include "ui/display/screen.h"
#include "ui/views/controls/menu/menu_runner.h"
namespace atom {
namespace api {
class MenuViews : public Menu {
public:
MenuViews(v8::Isolate* isolate, v8::Local<v8::Object> wrapper);
protected:
void PopupAt(Window* window, int x, int y, int positioning_item,
const base::Closure& callback) override;
void ClosePopupAt(int32_t window_id) override;
private:
void OnClosed(int32_t window_id, base::Closure callback);
// window ID -> open context menu
std::map<int32_t, std::unique_ptr<views::MenuRunner>> menu_runners_;
base::WeakPtrFactory<MenuViews> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(MenuViews);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_MENU_VIEWS_H_

View File

@@ -1,61 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_net.h"
#include "atom/browser/api/atom_api_url_request.h"
#include "atom/common/node_includes.h"
#include "native_mate/dictionary.h"
namespace atom {
namespace api {
Net::Net(v8::Isolate* isolate) {
Init(isolate);
}
Net::~Net() {}
// static
v8::Local<v8::Value> Net::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new Net(isolate)).ToV8();
}
// static
void Net::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Net"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetProperty("URLRequest", &Net::URLRequest);
}
v8::Local<v8::Value> Net::URLRequest(v8::Isolate* isolate) {
return URLRequest::GetConstructor(isolate)->GetFunction();
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Net;
using atom::api::URLRequest;
void Initialize(v8::Local<v8::Object> exports,
v8::Local<v8::Value> unused,
v8::Local<v8::Context> context,
void* priv) {
v8::Isolate* isolate = context->GetIsolate();
URLRequest::SetConstructor(isolate, base::Bind(URLRequest::New));
mate::Dictionary dict(isolate, exports);
dict.Set("net", Net::Create(isolate));
dict.Set("Net", Net::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_net, Initialize)

View File

@@ -1,35 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_NET_H_
#define ATOM_BROWSER_API_ATOM_API_NET_H_
#include "atom/browser/api/event_emitter.h"
namespace atom {
namespace api {
class Net : public mate::EventEmitter<Net> {
public:
static v8::Local<v8::Value> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
v8::Local<v8::Value> URLRequest(v8::Isolate* isolate);
protected:
explicit Net(v8::Isolate* isolate);
~Net() override;
private:
DISALLOW_COPY_AND_ASSIGN(Net);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_NET_H_

View File

@@ -1,273 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_notification.h"
#include "atom/browser/api/atom_api_menu.h"
#include "atom/browser/browser.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "atom/common/native_mate_converters/image_converter.h"
#include "atom/common/native_mate_converters/string16_converter.h"
#include "base/strings/utf_string_conversions.h"
#include "brightray/browser/browser_client.h"
#include "native_mate/constructor.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "url/gurl.h"
// Must be the last in the includes list.
// See https://github.com/electron/electron/issues/10363
#include "atom/common/node_includes.h"
namespace mate {
template<>
struct Converter<brightray::NotificationAction> {
static bool FromV8(v8::Isolate* isolate, v8::Local<v8::Value> val,
brightray::NotificationAction* out) {
mate::Dictionary dict;
if (!ConvertFromV8(isolate, val, &dict))
return false;
if (!dict.Get("type", &(out->type))) {
return false;
}
dict.Get("text", &(out->text));
return true;
}
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
brightray::NotificationAction val) {
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
dict.Set("text", val.text);
dict.Set("type", val.type);
return dict.GetHandle();
}
};
} // namespace mate
namespace atom {
namespace api {
Notification::Notification(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
mate::Arguments* args) {
InitWith(isolate, wrapper);
presenter_ = brightray::BrowserClient::Get()->GetNotificationPresenter();
mate::Dictionary opts;
if (args->GetNext(&opts)) {
opts.Get("title", &title_);
opts.Get("subtitle", &subtitle_);
opts.Get("body", &body_);
has_icon_ = opts.Get("icon", &icon_);
if (has_icon_) {
opts.Get("icon", &icon_path_);
}
opts.Get("silent", &silent_);
opts.Get("replyPlaceholder", &reply_placeholder_);
opts.Get("hasReply", &has_reply_);
opts.Get("actions", &actions_);
opts.Get("sound", &sound_);
opts.Get("closeButtonText", &close_button_text_);
}
}
Notification::~Notification() {
if (notification_)
notification_->set_delegate(nullptr);
}
// static
mate::WrappableBase* Notification::New(mate::Arguments* args) {
if (!Browser::Get()->is_ready()) {
args->ThrowError("Cannot create Notification before app is ready");
return nullptr;
}
return new Notification(args->isolate(), args->GetThis(), args);
}
// Getters
base::string16 Notification::GetTitle() const {
return title_;
}
base::string16 Notification::GetSubtitle() const {
return subtitle_;
}
base::string16 Notification::GetBody() const {
return body_;
}
bool Notification::GetSilent() const {
return silent_;
}
bool Notification::GetHasReply() const {
return has_reply_;
}
base::string16 Notification::GetReplyPlaceholder() const {
return reply_placeholder_;
}
base::string16 Notification::GetSound() const {
return sound_;
}
std::vector<brightray::NotificationAction> Notification::GetActions() const {
return actions_;
}
base::string16 Notification::GetCloseButtonText() const {
return close_button_text_;
}
// Setters
void Notification::SetTitle(const base::string16& new_title) {
title_ = new_title;
}
void Notification::SetSubtitle(const base::string16& new_subtitle) {
subtitle_ = new_subtitle;
}
void Notification::SetBody(const base::string16& new_body) {
body_ = new_body;
}
void Notification::SetSilent(bool new_silent) {
silent_ = new_silent;
}
void Notification::SetHasReply(bool new_has_reply) {
has_reply_ = new_has_reply;
}
void Notification::SetReplyPlaceholder(const base::string16& new_placeholder) {
reply_placeholder_ = new_placeholder;
}
void Notification::SetSound(const base::string16& new_sound) {
sound_ = new_sound;
}
void Notification::SetActions(
const std::vector<brightray::NotificationAction>& actions) {
actions_ = actions;
}
void Notification::SetCloseButtonText(const base::string16& text) {
close_button_text_ = text;
}
void Notification::NotificationAction(int index) {
Emit("action", index);
}
void Notification::NotificationClick() {
Emit("click");
}
void Notification::NotificationReplied(const std::string& reply) {
Emit("reply", reply);
}
void Notification::NotificationDisplayed() {
Emit("show");
}
void Notification::NotificationDestroyed() {
}
void Notification::NotificationClosed() {
Emit("close");
}
void Notification::Close() {
if (notification_) {
notification_->Dismiss();
notification_.reset();
}
}
// Showing notifications
void Notification::Show() {
Close();
if (presenter_) {
notification_ = presenter_->CreateNotification(this);
if (notification_) {
brightray::NotificationOptions options;
options.title = title_;
options.subtitle = subtitle_;
options.msg = body_;
options.icon_url = GURL();
options.icon = icon_.AsBitmap();
options.silent = silent_;
options.has_reply = has_reply_;
options.reply_placeholder = reply_placeholder_;
options.actions = actions_;
options.sound = sound_;
options.close_button_text = close_button_text_;
notification_->Show(options);
}
}
}
bool Notification::IsSupported() {
return !!brightray::BrowserClient::Get()->GetNotificationPresenter();
}
// static
void Notification::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Notification"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("show", &Notification::Show)
.SetMethod("close", &Notification::Close)
.SetProperty("title", &Notification::GetTitle, &Notification::SetTitle)
.SetProperty("subtitle", &Notification::GetSubtitle,
&Notification::SetSubtitle)
.SetProperty("body", &Notification::GetBody, &Notification::SetBody)
.SetProperty("silent", &Notification::GetSilent,
&Notification::SetSilent)
.SetProperty("hasReply", &Notification::GetHasReply,
&Notification::SetHasReply)
.SetProperty("replyPlaceholder", &Notification::GetReplyPlaceholder,
&Notification::SetReplyPlaceholder)
.SetProperty("sound", &Notification::GetSound,
&Notification::SetSound)
.SetProperty("actions", &Notification::GetActions,
&Notification::SetActions)
.SetProperty("closeButtonText", &Notification::GetCloseButtonText,
&Notification::SetCloseButtonText);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Notification;
void Initialize(v8::Local<v8::Object> exports,
v8::Local<v8::Value> unused,
v8::Local<v8::Context> context,
void* priv) {
v8::Isolate* isolate = context->GetIsolate();
Notification::SetConstructor(isolate, base::Bind(&Notification::New));
mate::Dictionary dict(isolate, exports);
dict.Set("Notification",
Notification::GetConstructor(isolate)->GetFunction());
dict.SetMethod("isSupported", &Notification::IsSupported);
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_common_notification, Initialize)

View File

@@ -1,97 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_NOTIFICATION_H_
#define ATOM_BROWSER_API_ATOM_API_NOTIFICATION_H_
#include <memory>
#include <string>
#include <vector>
#include "atom/browser/api/trackable_object.h"
#include "base/strings/utf_string_conversions.h"
#include "brightray/browser/notification.h"
#include "brightray/browser/notification_delegate.h"
#include "brightray/browser/notification_presenter.h"
#include "native_mate/handle.h"
#include "ui/gfx/image/image.h"
namespace atom {
namespace api {
class Notification : public mate::TrackableObject<Notification>,
public brightray::NotificationDelegate {
public:
static mate::WrappableBase* New(mate::Arguments* args);
static bool IsSupported();
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
// NotificationDelegate:
void NotificationAction(int index) override;
void NotificationClick() override;
void NotificationReplied(const std::string& reply) override;
void NotificationDisplayed() override;
void NotificationDestroyed() override;
void NotificationClosed() override;
protected:
Notification(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
mate::Arguments* args);
~Notification() override;
void Show();
void Close();
// Prop Getters
base::string16 GetTitle() const;
base::string16 GetSubtitle() const;
base::string16 GetBody() const;
bool GetSilent() const;
bool GetHasReply() const;
base::string16 GetReplyPlaceholder() const;
base::string16 GetSound() const;
std::vector<brightray::NotificationAction> GetActions() const;
base::string16 GetCloseButtonText() const;
// Prop Setters
void SetTitle(const base::string16& new_title);
void SetSubtitle(const base::string16& new_subtitle);
void SetBody(const base::string16& new_body);
void SetSilent(bool new_silent);
void SetHasReply(bool new_has_reply);
void SetReplyPlaceholder(const base::string16& new_reply_placeholder);
void SetSound(const base::string16& sound);
void SetActions(const std::vector<brightray::NotificationAction>& actions);
void SetCloseButtonText(const base::string16& text);
private:
base::string16 title_;
base::string16 subtitle_;
base::string16 body_;
gfx::Image icon_;
base::string16 icon_path_;
bool has_icon_ = false;
bool silent_ = false;
bool has_reply_ = false;
base::string16 reply_placeholder_;
base::string16 sound_;
std::vector<brightray::NotificationAction> actions_;
base::string16 close_button_text_;
brightray::NotificationPresenter* presenter_;
base::WeakPtr<brightray::Notification> notification_;
DISALLOW_COPY_AND_ASSIGN(Notification);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_NOTIFICATION_H_

View File

@@ -1,106 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_power_monitor.h"
#include "atom/browser/browser.h"
#include "base/power_monitor/power_monitor.h"
#include "base/power_monitor/power_monitor_device_source.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
namespace atom {
namespace api {
PowerMonitor::PowerMonitor(v8::Isolate* isolate) {
#if defined(OS_LINUX)
SetShutdownHandler(base::Bind(&PowerMonitor::ShouldShutdown,
base::Unretained(this)));
#elif defined(OS_MACOSX)
Browser::Get()->SetShutdownHandler(base::Bind(&PowerMonitor::ShouldShutdown,
base::Unretained(this)));
#endif
base::PowerMonitor::Get()->AddObserver(this);
Init(isolate);
}
PowerMonitor::~PowerMonitor() {
base::PowerMonitor::Get()->RemoveObserver(this);
}
bool PowerMonitor::ShouldShutdown() {
return !Emit("shutdown");
}
#if defined(OS_LINUX)
void PowerMonitor::BlockShutdown() {
PowerObserverLinux::BlockShutdown();
}
void PowerMonitor::UnblockShutdown() {
PowerObserverLinux::UnblockShutdown();
}
#endif
void PowerMonitor::OnPowerStateChange(bool on_battery_power) {
if (on_battery_power)
Emit("on-battery");
else
Emit("on-ac");
}
void PowerMonitor::OnSuspend() {
Emit("suspend");
}
void PowerMonitor::OnResume() {
Emit("resume");
}
// static
v8::Local<v8::Value> PowerMonitor::Create(v8::Isolate* isolate) {
if (!Browser::Get()->is_ready()) {
isolate->ThrowException(v8::Exception::Error(mate::StringToV8(
isolate,
"Cannot require \"powerMonitor\" module before app is ready")));
return v8::Null(isolate);
}
return mate::CreateHandle(isolate, new PowerMonitor(isolate)).ToV8();
}
// static
void PowerMonitor::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "PowerMonitor"));
#if defined(OS_LINUX)
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("blockShutdown", &PowerMonitor::BlockShutdown)
.SetMethod("unblockShutdown", &PowerMonitor::UnblockShutdown);
#endif
}
} // namespace api
} // namespace atom
namespace {
using atom::api::PowerMonitor;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("powerMonitor", PowerMonitor::Create(isolate));
dict.Set("PowerMonitor",
PowerMonitor::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_power_monitor, Initialize)

View File

@@ -1,51 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_POWER_MONITOR_H_
#define ATOM_BROWSER_API_ATOM_API_POWER_MONITOR_H_
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/lib/power_observer.h"
#include "base/compiler_specific.h"
#include "native_mate/handle.h"
namespace atom {
namespace api {
class PowerMonitor : public mate::TrackableObject<PowerMonitor>,
public PowerObserver {
public:
static v8::Local<v8::Value> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
explicit PowerMonitor(v8::Isolate* isolate);
~PowerMonitor() override;
// Called by native calles.
bool ShouldShutdown();
#if defined(OS_LINUX)
// Private JS APIs.
void BlockShutdown();
void UnblockShutdown();
#endif
// base::PowerObserver implementations:
void OnPowerStateChange(bool on_battery_power) override;
void OnSuspend() override;
void OnResume() override;
private:
DISALLOW_COPY_AND_ASSIGN(PowerMonitor);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_POWER_MONITOR_H_

View File

@@ -1,136 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_power_save_blocker.h"
#include <string>
#include "content/public/browser/browser_thread.h"
#include "native_mate/dictionary.h"
#include "atom/common/node_includes.h"
using content::BrowserThread;
namespace mate {
template<>
struct Converter<device::PowerSaveBlocker::PowerSaveBlockerType> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
device::PowerSaveBlocker::PowerSaveBlockerType* out) {
using device::PowerSaveBlocker;
std::string type;
if (!ConvertFromV8(isolate, val, &type))
return false;
if (type == "prevent-app-suspension")
*out = PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension;
else if (type == "prevent-display-sleep")
*out = PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep;
else
return false;
return true;
}
};
} // namespace mate
namespace atom {
namespace api {
PowerSaveBlocker::PowerSaveBlocker(v8::Isolate* isolate)
: current_blocker_type_(
device::PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension) {
Init(isolate);
}
PowerSaveBlocker::~PowerSaveBlocker() {
}
void PowerSaveBlocker::UpdatePowerSaveBlocker() {
if (power_save_blocker_types_.empty()) {
power_save_blocker_.reset();
return;
}
// |kPowerSaveBlockPreventAppSuspension| keeps system active, but allows
// screen to be turned off.
// |kPowerSaveBlockPreventDisplaySleep| keeps system and screen active, has a
// higher precedence level than |kPowerSaveBlockPreventAppSuspension|.
//
// Only the highest-precedence blocker type takes effect.
device::PowerSaveBlocker::PowerSaveBlockerType new_blocker_type =
device::PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension;
for (const auto& element : power_save_blocker_types_) {
if (element.second ==
device::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep) {
new_blocker_type =
device::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep;
break;
}
}
if (!power_save_blocker_ || new_blocker_type != current_blocker_type_) {
std::unique_ptr<device::PowerSaveBlocker> new_blocker(
new device::PowerSaveBlocker(
new_blocker_type,
device::PowerSaveBlocker::kReasonOther,
ATOM_PRODUCT_NAME,
BrowserThread::GetTaskRunnerForThread(BrowserThread::UI),
BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)));
power_save_blocker_.swap(new_blocker);
current_blocker_type_ = new_blocker_type;
}
}
int PowerSaveBlocker::Start(
device::PowerSaveBlocker::PowerSaveBlockerType type) {
static int count = 0;
power_save_blocker_types_[count] = type;
UpdatePowerSaveBlocker();
return count++;
}
bool PowerSaveBlocker::Stop(int id) {
bool success = power_save_blocker_types_.erase(id) > 0;
UpdatePowerSaveBlocker();
return success;
}
bool PowerSaveBlocker::IsStarted(int id) {
return power_save_blocker_types_.find(id) != power_save_blocker_types_.end();
}
// static
mate::Handle<PowerSaveBlocker> PowerSaveBlocker::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new PowerSaveBlocker(isolate));
}
// static
void PowerSaveBlocker::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "PowerSaveBlocker"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("start", &PowerSaveBlocker::Start)
.SetMethod("stop", &PowerSaveBlocker::Stop)
.SetMethod("isStarted", &PowerSaveBlocker::IsStarted);
}
} // namespace api
} // namespace atom
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("powerSaveBlocker", atom::api::PowerSaveBlocker::Create(isolate));
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_power_save_blocker, Initialize);

View File

@@ -1,57 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_POWER_SAVE_BLOCKER_H_
#define ATOM_BROWSER_API_ATOM_API_POWER_SAVE_BLOCKER_H_
#include <map>
#include <memory>
#include "atom/browser/api/trackable_object.h"
#include "native_mate/handle.h"
#include "services/device/wake_lock/power_save_blocker/power_save_blocker.h"
namespace mate {
class Dictionary;
}
namespace atom {
namespace api {
class PowerSaveBlocker : public mate::TrackableObject<PowerSaveBlocker> {
public:
static mate::Handle<PowerSaveBlocker> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
explicit PowerSaveBlocker(v8::Isolate* isolate);
~PowerSaveBlocker() override;
private:
void UpdatePowerSaveBlocker();
int Start(device::PowerSaveBlocker::PowerSaveBlockerType type);
bool Stop(int id);
bool IsStarted(int id);
std::unique_ptr<device::PowerSaveBlocker> power_save_blocker_;
// Currnet blocker type used by |power_save_blocker_|
device::PowerSaveBlocker::PowerSaveBlockerType current_blocker_type_;
// Map from id to the corresponding blocker type for each request.
using PowerSaveBlockerTypeMap =
std::map<int, device::PowerSaveBlocker::PowerSaveBlockerType>;
PowerSaveBlockerTypeMap power_save_blocker_types_;
DISALLOW_COPY_AND_ASSIGN(PowerSaveBlocker);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_POWER_SAVE_BLOCKER_H_

View File

@@ -1,256 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_protocol.h"
#include "atom/browser/atom_browser_client.h"
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/browser/browser.h"
#include "atom/browser/net/url_request_async_asar_job.h"
#include "atom/browser/net/url_request_buffer_job.h"
#include "atom/browser/net/url_request_fetch_job.h"
#include "atom/browser/net/url_request_stream_job.h"
#include "atom/browser/net/url_request_string_job.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/node_includes.h"
#include "atom/common/options_switches.h"
#include "base/command_line.h"
#include "base/strings/string_util.h"
#include "content/public/browser/child_process_security_policy.h"
#include "native_mate/dictionary.h"
#include "url/url_util.h"
using content::BrowserThread;
namespace atom {
namespace api {
namespace {
// List of registered custom standard schemes.
std::vector<std::string> g_standard_schemes;
// Clear protocol handlers in IO thread.
void ClearJobFactoryInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter) {
auto job_factory = static_cast<AtomURLRequestJobFactory*>(
request_context_getter->job_factory());
job_factory->Clear();
}
} // namespace
std::vector<std::string> GetStandardSchemes() {
return g_standard_schemes;
}
void RegisterStandardSchemes(const std::vector<std::string>& schemes,
mate::Arguments* args) {
g_standard_schemes = schemes;
mate::Dictionary opts;
bool secure = false;
args->GetNext(&opts) && opts.Get("secure", &secure);
// Dynamically register the schemes.
auto* policy = content::ChildProcessSecurityPolicy::GetInstance();
for (const std::string& scheme : schemes) {
url::AddStandardScheme(scheme.c_str(), url::SCHEME_WITHOUT_PORT);
if (secure) {
url::AddSecureScheme(scheme.c_str());
}
policy->RegisterWebSafeScheme(scheme);
}
// Add the schemes to command line switches, so child processes can also
// register them.
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
atom::switches::kStandardSchemes, base::JoinString(schemes, ","));
if (secure) {
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
atom::switches::kSecureSchemes, base::JoinString(schemes, ","));
}
}
Protocol::Protocol(v8::Isolate* isolate, AtomBrowserContext* browser_context)
: request_context_getter_(browser_context->GetRequestContext()),
weak_factory_(this) {
Init(isolate);
}
Protocol::~Protocol() {
content::BrowserThread::PostTask(
content::BrowserThread::IO, FROM_HERE,
base::Bind(ClearJobFactoryInIO, request_context_getter_));
}
void Protocol::RegisterServiceWorkerSchemes(
const std::vector<std::string>& schemes) {
atom::AtomBrowserClient::SetCustomServiceWorkerSchemes(schemes);
}
void Protocol::UnregisterProtocol(
const std::string& scheme, mate::Arguments* args) {
CompletionCallback callback;
args->GetNext(&callback);
content::BrowserThread::PostTaskAndReplyWithResult(
content::BrowserThread::IO, FROM_HERE,
base::Bind(&Protocol::UnregisterProtocolInIO,
request_context_getter_, scheme),
base::Bind(&Protocol::OnIOCompleted,
GetWeakPtr(), callback));
}
// static
Protocol::ProtocolError Protocol::UnregisterProtocolInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
const std::string& scheme) {
auto job_factory = static_cast<AtomURLRequestJobFactory*>(
request_context_getter->job_factory());
if (!job_factory->HasProtocolHandler(scheme))
return PROTOCOL_NOT_REGISTERED;
job_factory->SetProtocolHandler(scheme, nullptr);
return PROTOCOL_OK;
}
void Protocol::IsProtocolHandled(const std::string& scheme,
const BooleanCallback& callback) {
content::BrowserThread::PostTaskAndReplyWithResult(
content::BrowserThread::IO, FROM_HERE,
base::Bind(&Protocol::IsProtocolHandledInIO,
request_context_getter_, scheme),
callback);
}
// static
bool Protocol::IsProtocolHandledInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
const std::string& scheme) {
return request_context_getter->job_factory()->IsHandledProtocol(scheme);
}
void Protocol::UninterceptProtocol(
const std::string& scheme, mate::Arguments* args) {
CompletionCallback callback;
args->GetNext(&callback);
content::BrowserThread::PostTaskAndReplyWithResult(
content::BrowserThread::IO, FROM_HERE,
base::Bind(&Protocol::UninterceptProtocolInIO,
request_context_getter_, scheme),
base::Bind(&Protocol::OnIOCompleted,
GetWeakPtr(), callback));
}
// static
Protocol::ProtocolError Protocol::UninterceptProtocolInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
const std::string& scheme) {
return static_cast<AtomURLRequestJobFactory*>(
request_context_getter->job_factory())->UninterceptProtocol(scheme) ?
PROTOCOL_OK : PROTOCOL_NOT_INTERCEPTED;
}
void Protocol::OnIOCompleted(
const CompletionCallback& callback, ProtocolError error) {
// The completion callback is optional.
if (callback.is_null())
return;
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
if (error == PROTOCOL_OK) {
callback.Run(v8::Null(isolate()));
} else {
std::string str = ErrorCodeToString(error);
callback.Run(v8::Exception::Error(mate::StringToV8(isolate(), str)));
}
}
std::string Protocol::ErrorCodeToString(ProtocolError error) {
switch (error) {
case PROTOCOL_FAIL: return "Failed to manipulate protocol factory";
case PROTOCOL_REGISTERED: return "The scheme has been registered";
case PROTOCOL_NOT_REGISTERED: return "The scheme has not been registered";
case PROTOCOL_INTERCEPTED: return "The scheme has been intercepted";
case PROTOCOL_NOT_INTERCEPTED: return "The scheme has not been intercepted";
default: return "Unexpected error";
}
}
AtomURLRequestJobFactory* Protocol::GetJobFactoryInIO() const {
request_context_getter_->GetURLRequestContext(); // Force init.
return static_cast<AtomURLRequestJobFactory*>(
static_cast<brightray::URLRequestContextGetter*>(
request_context_getter_.get())->job_factory());
}
// static
mate::Handle<Protocol> Protocol::Create(
v8::Isolate* isolate, AtomBrowserContext* browser_context) {
return mate::CreateHandle(isolate, new Protocol(isolate, browser_context));
}
// static
void Protocol::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Protocol"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("registerServiceWorkerSchemes",
&Protocol::RegisterServiceWorkerSchemes)
.SetMethod("registerStringProtocol",
&Protocol::RegisterProtocol<URLRequestStringJob>)
.SetMethod("registerBufferProtocol",
&Protocol::RegisterProtocol<URLRequestBufferJob>)
.SetMethod("registerFileProtocol",
&Protocol::RegisterProtocol<URLRequestAsyncAsarJob>)
.SetMethod("registerHttpProtocol",
&Protocol::RegisterProtocol<URLRequestFetchJob>)
.SetMethod("registerStreamProtocol",
&Protocol::RegisterProtocol<URLRequestStreamJob>)
.SetMethod("unregisterProtocol", &Protocol::UnregisterProtocol)
.SetMethod("isProtocolHandled", &Protocol::IsProtocolHandled)
.SetMethod("interceptStringProtocol",
&Protocol::InterceptProtocol<URLRequestStringJob>)
.SetMethod("interceptBufferProtocol",
&Protocol::InterceptProtocol<URLRequestBufferJob>)
.SetMethod("interceptFileProtocol",
&Protocol::InterceptProtocol<URLRequestAsyncAsarJob>)
.SetMethod("interceptHttpProtocol",
&Protocol::InterceptProtocol<URLRequestFetchJob>)
.SetMethod("interceptStreamProtocol",
&Protocol::InterceptProtocol<URLRequestStreamJob>)
.SetMethod("uninterceptProtocol", &Protocol::UninterceptProtocol);
}
} // namespace api
} // namespace atom
namespace {
void RegisterStandardSchemes(
const std::vector<std::string>& schemes, mate::Arguments* args) {
if (atom::Browser::Get()->is_ready()) {
args->ThrowError("protocol.registerStandardSchemes should be called before "
"app is ready");
return;
}
atom::api::RegisterStandardSchemes(schemes, args);
}
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.SetMethod("registerStandardSchemes", &RegisterStandardSchemes);
dict.SetMethod("getStandardSchemes", &atom::api::GetStandardSchemes);
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_protocol, Initialize)

View File

@@ -1,206 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_PROTOCOL_H_
#define ATOM_BROWSER_API_ATOM_API_PROTOCOL_H_
#include <map>
#include <string>
#include <vector>
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/atom_browser_context.h"
#include "atom/browser/net/atom_url_request_job_factory.h"
#include "base/callback.h"
#include "base/memory/weak_ptr.h"
#include "content/public/browser/browser_thread.h"
#include "native_mate/arguments.h"
#include "native_mate/dictionary.h"
#include "native_mate/handle.h"
#include "net/url_request/url_request_context.h"
namespace base {
class DictionaryValue;
}
namespace atom {
namespace api {
std::vector<std::string> GetStandardSchemes();
void RegisterStandardSchemes(const std::vector<std::string>& schemes,
mate::Arguments* args);
class Protocol : public mate::TrackableObject<Protocol> {
public:
using Handler =
base::Callback<void(const base::DictionaryValue&, v8::Local<v8::Value>)>;
using CompletionCallback = base::Callback<void(v8::Local<v8::Value>)>;
using BooleanCallback = base::Callback<void(bool)>;
static mate::Handle<Protocol> Create(
v8::Isolate* isolate, AtomBrowserContext* browser_context);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
Protocol(v8::Isolate* isolate, AtomBrowserContext* browser_context);
~Protocol();
private:
// Possible errors.
enum ProtocolError {
PROTOCOL_OK, // no error
PROTOCOL_FAIL, // operation failed, should never occur
PROTOCOL_REGISTERED,
PROTOCOL_NOT_REGISTERED,
PROTOCOL_INTERCEPTED,
PROTOCOL_NOT_INTERCEPTED,
};
// The protocol handler that will create a protocol handler for certain
// request job.
template<typename RequestJob>
class CustomProtocolHandler
: public net::URLRequestJobFactory::ProtocolHandler {
public:
CustomProtocolHandler(
v8::Isolate* isolate,
net::URLRequestContextGetter* request_context,
const Handler& handler)
: isolate_(isolate),
request_context_(request_context),
handler_(handler) {}
~CustomProtocolHandler() override {}
net::URLRequestJob* MaybeCreateJob(
net::URLRequest* request,
net::NetworkDelegate* network_delegate) const override {
RequestJob* request_job = new RequestJob(request, network_delegate);
request_job->SetHandlerInfo(isolate_, request_context_.get(), handler_);
return request_job;
}
private:
v8::Isolate* isolate_;
scoped_refptr<net::URLRequestContextGetter> request_context_;
Protocol::Handler handler_;
DISALLOW_COPY_AND_ASSIGN(CustomProtocolHandler);
};
// Register schemes that can handle service worker.
void RegisterServiceWorkerSchemes(const std::vector<std::string>& schemes);
// Register the protocol with certain request job.
template<typename RequestJob>
void RegisterProtocol(const std::string& scheme,
const Handler& handler,
mate::Arguments* args) {
CompletionCallback callback;
args->GetNext(&callback);
content::BrowserThread::PostTaskAndReplyWithResult(
content::BrowserThread::IO, FROM_HERE,
base::Bind(&Protocol::RegisterProtocolInIO<RequestJob>,
request_context_getter_, isolate(), scheme, handler),
base::Bind(&Protocol::OnIOCompleted,
GetWeakPtr(), callback));
}
template<typename RequestJob>
static ProtocolError RegisterProtocolInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
v8::Isolate* isolate,
const std::string& scheme,
const Handler& handler) {
auto job_factory = static_cast<AtomURLRequestJobFactory*>(
request_context_getter->job_factory());
if (job_factory->IsHandledProtocol(scheme))
return PROTOCOL_REGISTERED;
std::unique_ptr<CustomProtocolHandler<RequestJob>> protocol_handler(
new CustomProtocolHandler<RequestJob>(
isolate, request_context_getter.get(), handler));
if (job_factory->SetProtocolHandler(scheme, std::move(protocol_handler)))
return PROTOCOL_OK;
else
return PROTOCOL_FAIL;
}
// Unregister the protocol handler that handles |scheme|.
void UnregisterProtocol(const std::string& scheme, mate::Arguments* args);
static ProtocolError UnregisterProtocolInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
const std::string& scheme);
// Whether the protocol has handler registered.
void IsProtocolHandled(const std::string& scheme,
const BooleanCallback& callback);
static bool IsProtocolHandledInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
const std::string& scheme);
// Replace the protocol handler with a new one.
template<typename RequestJob>
void InterceptProtocol(const std::string& scheme,
const Handler& handler,
mate::Arguments* args) {
CompletionCallback callback;
args->GetNext(&callback);
content::BrowserThread::PostTaskAndReplyWithResult(
content::BrowserThread::IO, FROM_HERE,
base::Bind(&Protocol::InterceptProtocolInIO<RequestJob>,
request_context_getter_, isolate(), scheme, handler),
base::Bind(&Protocol::OnIOCompleted,
GetWeakPtr(), callback));
}
template<typename RequestJob>
static ProtocolError InterceptProtocolInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
v8::Isolate* isolate,
const std::string& scheme,
const Handler& handler) {
auto job_factory = static_cast<AtomURLRequestJobFactory*>(
request_context_getter->job_factory());
if (!job_factory->IsHandledProtocol(scheme))
return PROTOCOL_NOT_REGISTERED;
// It is possible a protocol is handled but can not be intercepted.
if (!job_factory->HasProtocolHandler(scheme))
return PROTOCOL_FAIL;
std::unique_ptr<CustomProtocolHandler<RequestJob>> protocol_handler(
new CustomProtocolHandler<RequestJob>(
isolate, request_context_getter.get(), handler));
if (!job_factory->InterceptProtocol(scheme, std::move(protocol_handler)))
return PROTOCOL_INTERCEPTED;
return PROTOCOL_OK;
}
// Restore the |scheme| to its original protocol handler.
void UninterceptProtocol(const std::string& scheme, mate::Arguments* args);
static ProtocolError UninterceptProtocolInIO(
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter,
const std::string& scheme);
// Convert error code to JS exception and call the callback.
void OnIOCompleted(const CompletionCallback& callback, ProtocolError error);
// Convert error code to string.
std::string ErrorCodeToString(ProtocolError error);
AtomURLRequestJobFactory* GetJobFactoryInIO() const;
base::WeakPtr<Protocol> GetWeakPtr() {
return weak_factory_.GetWeakPtr();
}
scoped_refptr<brightray::URLRequestContextGetter> request_context_getter_;
base::WeakPtrFactory<Protocol> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(Protocol);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_PROTOCOL_H_

View File

@@ -1,90 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_render_process_preferences.h"
#include "atom/browser/api/atom_api_web_contents.h"
#include "atom/browser/atom_browser_client.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "content/public/browser/render_process_host.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "atom/common/node_includes.h"
namespace atom {
namespace api {
namespace {
bool IsWebContents(v8::Isolate* isolate, content::RenderProcessHost* process) {
content::WebContents* web_contents =
static_cast<AtomBrowserClient*>(AtomBrowserClient::Get())->
GetWebContentsFromProcessID(process->GetID());
if (!web_contents)
return false;
auto api_web_contents = WebContents::CreateFrom(isolate, web_contents);
auto type = api_web_contents->GetType();
return type == WebContents::Type::BROWSER_WINDOW ||
type == WebContents::Type::WEB_VIEW;
}
} // namespace
RenderProcessPreferences::RenderProcessPreferences(
v8::Isolate* isolate,
const atom::RenderProcessPreferences::Predicate& predicate)
: preferences_(predicate) {
Init(isolate);
}
RenderProcessPreferences::~RenderProcessPreferences() {
}
int RenderProcessPreferences::AddEntry(const base::DictionaryValue& entry) {
return preferences_.AddEntry(entry);
}
void RenderProcessPreferences::RemoveEntry(int id) {
preferences_.RemoveEntry(id);
}
// static
void RenderProcessPreferences::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(
mate::StringToV8(isolate, "RenderProcessPreferences"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("addEntry", &RenderProcessPreferences::AddEntry)
.SetMethod("removeEntry", &RenderProcessPreferences::RemoveEntry);
}
// static
mate::Handle<RenderProcessPreferences>
RenderProcessPreferences::ForAllWebContents(v8::Isolate* isolate) {
return mate::CreateHandle(
isolate,
new RenderProcessPreferences(isolate,
base::Bind(&IsWebContents, isolate)));
}
} // namespace api
} // namespace atom
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
mate::Dictionary dict(context->GetIsolate(), exports);
dict.SetMethod("forAllWebContents",
&atom::api::RenderProcessPreferences::ForAllWebContents);
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_render_process_preferences,
Initialize)

View File

@@ -1,44 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_RENDER_PROCESS_PREFERENCES_H_
#define ATOM_BROWSER_API_ATOM_API_RENDER_PROCESS_PREFERENCES_H_
#include "atom/browser/render_process_preferences.h"
#include "native_mate/handle.h"
#include "native_mate/wrappable.h"
namespace atom {
namespace api {
class RenderProcessPreferences
: public mate::Wrappable<RenderProcessPreferences> {
public:
static mate::Handle<RenderProcessPreferences>
ForAllWebContents(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
int AddEntry(const base::DictionaryValue& entry);
void RemoveEntry(int id);
protected:
RenderProcessPreferences(
v8::Isolate* isolate,
const atom::RenderProcessPreferences::Predicate& predicate);
~RenderProcessPreferences() override;
private:
atom::RenderProcessPreferences preferences_;
DISALLOW_COPY_AND_ASSIGN(RenderProcessPreferences);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_RENDER_PROCESS_PREFERENCES_H_

View File

@@ -1,147 +0,0 @@
// Copyright (c) 2013 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_screen.h"
#include <algorithm>
#include <string>
#include "atom/browser/browser.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "base/bind.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "ui/display/display.h"
#include "ui/display/screen.h"
#include "ui/gfx/geometry/point.h"
#include "atom/common/node_includes.h"
namespace atom {
namespace api {
namespace {
// Find an item in container according to its ID.
template<class T>
typename T::iterator FindById(T* container, int id) {
auto predicate = [id] (const typename T::value_type& item) -> bool {
return item.id() == id;
};
return std::find_if(container->begin(), container->end(), predicate);
}
// Convert the changed_metrics bitmask to string array.
std::vector<std::string> MetricsToArray(uint32_t metrics) {
std::vector<std::string> array;
if (metrics & display::DisplayObserver::DISPLAY_METRIC_BOUNDS)
array.push_back("bounds");
if (metrics & display::DisplayObserver::DISPLAY_METRIC_WORK_AREA)
array.push_back("workArea");
if (metrics & display::DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR)
array.push_back("scaleFactor");
if (metrics & display::DisplayObserver::DISPLAY_METRIC_ROTATION)
array.push_back("rotation");
return array;
}
} // namespace
Screen::Screen(v8::Isolate* isolate, display::Screen* screen)
: screen_(screen) {
screen_->AddObserver(this);
Init(isolate);
}
Screen::~Screen() {
screen_->RemoveObserver(this);
}
gfx::Point Screen::GetCursorScreenPoint() {
return screen_->GetCursorScreenPoint();
}
display::Display Screen::GetPrimaryDisplay() {
return screen_->GetPrimaryDisplay();
}
std::vector<display::Display> Screen::GetAllDisplays() {
return screen_->GetAllDisplays();
}
display::Display Screen::GetDisplayNearestPoint(const gfx::Point& point) {
return screen_->GetDisplayNearestPoint(point);
}
display::Display Screen::GetDisplayMatching(const gfx::Rect& match_rect) {
return screen_->GetDisplayMatching(match_rect);
}
void Screen::OnDisplayAdded(const display::Display& new_display) {
Emit("display-added", new_display);
}
void Screen::OnDisplayRemoved(const display::Display& old_display) {
Emit("display-removed", old_display);
}
void Screen::OnDisplayMetricsChanged(const display::Display& display,
uint32_t changed_metrics) {
Emit("display-metrics-changed", display, MetricsToArray(changed_metrics));
}
// static
v8::Local<v8::Value> Screen::Create(v8::Isolate* isolate) {
if (!Browser::Get()->is_ready()) {
isolate->ThrowException(v8::Exception::Error(mate::StringToV8(
isolate,
"Cannot require \"screen\" module before app is ready")));
return v8::Null(isolate);
}
display::Screen* screen = display::Screen::GetScreen();
if (!screen) {
isolate->ThrowException(v8::Exception::Error(mate::StringToV8(
isolate, "Failed to get screen information")));
return v8::Null(isolate);
}
return mate::CreateHandle(isolate, new Screen(isolate, screen)).ToV8();
}
// static
void Screen::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Screen"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.SetMethod("getCursorScreenPoint", &Screen::GetCursorScreenPoint)
.SetMethod("getPrimaryDisplay", &Screen::GetPrimaryDisplay)
.SetMethod("getAllDisplays", &Screen::GetAllDisplays)
.SetMethod("getDisplayNearestPoint", &Screen::GetDisplayNearestPoint)
#if defined(OS_MACOSX)
.SetMethod("getMenuBarHeight", &Screen::getMenuBarHeight)
#endif
.SetMethod("getDisplayMatching", &Screen::GetDisplayMatching);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Screen;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("screen", Screen::Create(isolate));
dict.Set("Screen", Screen::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_common_screen, Initialize)

View File

@@ -1,63 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_SCREEN_H_
#define ATOM_BROWSER_API_ATOM_API_SCREEN_H_
#include <vector>
#include "atom/browser/api/event_emitter.h"
#include "native_mate/handle.h"
#include "ui/display/display_observer.h"
#include "ui/display/screen.h"
namespace gfx {
class Point;
class Rect;
class Screen;
}
namespace atom {
namespace api {
class Screen : public mate::EventEmitter<Screen>,
public display::DisplayObserver {
public:
static v8::Local<v8::Value> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
protected:
Screen(v8::Isolate* isolate, display::Screen* screen);
~Screen() override;
gfx::Point GetCursorScreenPoint();
display::Display GetPrimaryDisplay();
std::vector<display::Display> GetAllDisplays();
display::Display GetDisplayNearestPoint(const gfx::Point& point);
display::Display GetDisplayMatching(const gfx::Rect& match_rect);
#if defined(OS_MACOSX)
int getMenuBarHeight();
#endif
// display::DisplayObserver:
void OnDisplayAdded(const display::Display& new_display) override;
void OnDisplayRemoved(const display::Display& old_display) override;
void OnDisplayMetricsChanged(const display::Display& display,
uint32_t changed_metrics) override;
private:
display::Screen* screen_;
DISALLOW_COPY_AND_ASSIGN(Screen);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_SCREEN_H_

View File

@@ -1,18 +0,0 @@
// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#import "atom/browser/api/atom_api_screen.h"
#import <Cocoa/Cocoa.h>
namespace atom {
namespace api {
int Screen::getMenuBarHeight() {
return [[NSApp mainMenu] menuBarHeight];
}
}// namespace api
}// namespace atom

View File

@@ -1,842 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_session.h"
#include <map>
#include <string>
#include <vector>
#include "atom/browser/api/atom_api_cookies.h"
#include "atom/browser/api/atom_api_download_item.h"
#include "atom/browser/api/atom_api_protocol.h"
#include "atom/browser/api/atom_api_web_request.h"
#include "atom/browser/atom_browser_context.h"
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/browser/atom_permission_manager.h"
#include "atom/browser/browser.h"
#include "atom/browser/net/atom_cert_verifier.h"
#include "atom/browser/session_preferences.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/content_converter.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "atom/common/native_mate_converters/gurl_converter.h"
#include "atom/common/native_mate_converters/net_converter.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/node_includes.h"
#include "base/files/file_path.h"
#include "base/guid.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "brightray/browser/media/media_device_id_salt.h"
#include "brightray/browser/net/devtools_network_conditions.h"
#include "brightray/browser/net/devtools_network_controller_handle.h"
#include "chrome/browser/browser_process.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/download_manager_delegate.h"
#include "content/public/browser/storage_partition.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "net/base/load_flags.h"
#include "net/disk_cache/disk_cache.h"
#include "net/dns/host_cache.h"
#include "net/http/http_auth_handler_factory.h"
#include "net/http/http_auth_preferences.h"
#include "net/proxy/proxy_config_service_fixed.h"
#include "net/proxy/proxy_service.h"
#include "net/url_request/static_http_user_agent_settings.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_getter.h"
#include "ui/base/l10n/l10n_util.h"
using atom::api::Cookies;
using content::BrowserThread;
using content::StoragePartition;
namespace {
struct ClearStorageDataOptions {
GURL origin;
uint32_t storage_types = StoragePartition::REMOVE_DATA_MASK_ALL;
uint32_t quota_types = StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL;
};
struct ClearAuthCacheOptions {
std::string type;
GURL origin;
std::string realm;
base::string16 username;
base::string16 password;
net::HttpAuth::Scheme auth_scheme;
};
uint32_t GetStorageMask(const std::vector<std::string>& storage_types) {
uint32_t storage_mask = 0;
for (const auto& it : storage_types) {
auto type = base::ToLowerASCII(it);
if (type == "appcache")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_APPCACHE;
else if (type == "cookies")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_COOKIES;
else if (type == "filesystem")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS;
else if (type == "indexdb")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_INDEXEDDB;
else if (type == "localstorage")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE;
else if (type == "shadercache")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_SHADER_CACHE;
else if (type == "websql")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_WEBSQL;
else if (type == "serviceworkers")
storage_mask |= StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS;
}
return storage_mask;
}
uint32_t GetQuotaMask(const std::vector<std::string>& quota_types) {
uint32_t quota_mask = 0;
for (const auto& it : quota_types) {
auto type = base::ToLowerASCII(it);
if (type == "temporary")
quota_mask |= StoragePartition::QUOTA_MANAGED_STORAGE_MASK_TEMPORARY;
else if (type == "persistent")
quota_mask |= StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT;
else if (type == "syncable")
quota_mask |= StoragePartition::QUOTA_MANAGED_STORAGE_MASK_SYNCABLE;
}
return quota_mask;
}
net::HttpAuth::Scheme GetAuthSchemeFromString(const std::string& scheme) {
if (scheme == "basic")
return net::HttpAuth::AUTH_SCHEME_BASIC;
if (scheme == "digest")
return net::HttpAuth::AUTH_SCHEME_DIGEST;
if (scheme == "ntlm")
return net::HttpAuth::AUTH_SCHEME_NTLM;
if (scheme == "negotiate")
return net::HttpAuth::AUTH_SCHEME_NEGOTIATE;
return net::HttpAuth::AUTH_SCHEME_MAX;
}
void SetUserAgentInIO(scoped_refptr<net::URLRequestContextGetter> getter,
const std::string& accept_lang,
const std::string& user_agent) {
getter->GetURLRequestContext()->set_http_user_agent_settings(
new net::StaticHttpUserAgentSettings(
net::HttpUtil::GenerateAcceptLanguageHeader(accept_lang),
user_agent));
}
} // namespace
namespace mate {
template<>
struct Converter<ClearStorageDataOptions> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
ClearStorageDataOptions* out) {
mate::Dictionary options;
if (!ConvertFromV8(isolate, val, &options))
return false;
options.Get("origin", &out->origin);
std::vector<std::string> types;
if (options.Get("storages", &types))
out->storage_types = GetStorageMask(types);
if (options.Get("quotas", &types))
out->quota_types = GetQuotaMask(types);
return true;
}
};
template <>
struct Converter<ClearAuthCacheOptions> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
ClearAuthCacheOptions* out) {
mate::Dictionary options;
if (!ConvertFromV8(isolate, val, &options))
return false;
options.Get("type", &out->type);
options.Get("origin", &out->origin);
options.Get("realm", &out->realm);
options.Get("username", &out->username);
options.Get("password", &out->password);
std::string scheme;
if (options.Get("scheme", &scheme))
out->auth_scheme = GetAuthSchemeFromString(scheme);
return true;
}
};
template <>
struct Converter<net::ProxyConfig> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
net::ProxyConfig* out) {
std::string proxy_rules, proxy_bypass_rules;
GURL pac_url;
mate::Dictionary options;
// Fallback to previous API when passed String.
// https://git.io/vuhjj
if (ConvertFromV8(isolate, val, &proxy_rules)) {
pac_url = GURL(proxy_rules); // Assume it is PAC script if it is URL.
} else if (ConvertFromV8(isolate, val, &options)) {
options.Get("pacScript", &pac_url);
options.Get("proxyRules", &proxy_rules);
options.Get("proxyBypassRules", &proxy_bypass_rules);
} else {
return false;
}
// pacScript takes precedence over proxyRules.
if (!pac_url.is_empty() && pac_url.is_valid()) {
out->set_pac_url(pac_url);
} else {
out->proxy_rules().ParseFromString(proxy_rules);
out->proxy_rules().bypass_rules.ParseFromString(proxy_bypass_rules);
}
return true;
}
};
template<>
struct Converter<atom::VerifyRequestParams> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
atom::VerifyRequestParams val) {
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
dict.Set("hostname", val.hostname);
dict.Set("certificate", val.certificate);
dict.Set("verificationResult", val.default_result);
dict.Set("errorCode", val.error_code);
return dict.GetHandle();
}
};
} // namespace mate
namespace atom {
namespace api {
namespace {
const char kPersistPrefix[] = "persist:";
// Referenced session objects.
std::map<uint32_t, v8::Global<v8::Object>> g_sessions;
class ResolveProxyHelper {
public:
ResolveProxyHelper(AtomBrowserContext* browser_context,
const GURL& url,
const Session::ResolveProxyCallback& callback)
: callback_(callback),
original_thread_(base::ThreadTaskRunnerHandle::Get()) {
scoped_refptr<net::URLRequestContextGetter> context_getter =
browser_context->url_request_context_getter();
context_getter->GetNetworkTaskRunner()->PostTask(
FROM_HERE,
base::Bind(&ResolveProxyHelper::ResolveProxy,
base::Unretained(this), context_getter, url));
}
void OnResolveProxyCompleted(int result) {
std::string proxy;
if (result == net::OK)
proxy = proxy_info_.ToPacString();
original_thread_->PostTask(FROM_HERE,
base::Bind(callback_, proxy));
delete this;
}
private:
void ResolveProxy(scoped_refptr<net::URLRequestContextGetter> context_getter,
const GURL& url) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
net::ProxyService* proxy_service =
context_getter->GetURLRequestContext()->proxy_service();
net::CompletionCallback completion_callback =
base::Bind(&ResolveProxyHelper::OnResolveProxyCompleted,
base::Unretained(this));
// Start the request.
int result = proxy_service->ResolveProxy(
url, "GET", &proxy_info_, completion_callback, &pac_req_, nullptr,
net::NetLogWithSource());
// Completed synchronously.
if (result != net::ERR_IO_PENDING)
completion_callback.Run(result);
}
Session::ResolveProxyCallback callback_;
net::ProxyInfo proxy_info_;
net::ProxyService::PacRequest* pac_req_;
scoped_refptr<base::SingleThreadTaskRunner> original_thread_;
DISALLOW_COPY_AND_ASSIGN(ResolveProxyHelper);
};
// Runs the callback in UI thread.
void RunCallbackInUI(const base::Callback<void()>& callback) {
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, callback);
}
template<typename ...T>
void RunCallbackInUI(const base::Callback<void(T...)>& callback, T... result) {
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE, base::Bind(callback, result...));
}
// Callback of HttpCache::GetBackend.
void OnGetBackend(disk_cache::Backend** backend_ptr,
Session::CacheAction action,
const net::CompletionCallback& callback,
int result) {
if (result != net::OK) {
RunCallbackInUI(callback, result);
} else if (backend_ptr && *backend_ptr) {
if (action == Session::CacheAction::CLEAR) {
(*backend_ptr)->DoomAllEntries(base::Bind(&RunCallbackInUI<int>,
callback));
} else if (action == Session::CacheAction::STATS) {
base::StringPairs stats;
(*backend_ptr)->GetStats(&stats);
for (const auto& stat : stats) {
if (stat.first == "Current size") {
int current_size;
base::StringToInt(stat.second, &current_size);
RunCallbackInUI(callback, current_size);
break;
}
}
}
} else {
RunCallbackInUI<int>(callback, net::ERR_FAILED);
}
}
void DoCacheActionInIO(
const scoped_refptr<net::URLRequestContextGetter>& context_getter,
Session::CacheAction action,
const net::CompletionCallback& callback) {
auto request_context = context_getter->GetURLRequestContext();
auto http_cache = request_context->http_transaction_factory()->GetCache();
if (!http_cache)
RunCallbackInUI<int>(callback, net::ERR_FAILED);
// Call GetBackend and make the backend's ptr accessable in OnGetBackend.
using BackendPtr = disk_cache::Backend*;
auto* backend_ptr = new BackendPtr(nullptr);
net::CompletionCallback on_get_backend =
base::Bind(&OnGetBackend, base::Owned(backend_ptr), action, callback);
int rv = http_cache->GetBackend(backend_ptr, on_get_backend);
if (rv != net::ERR_IO_PENDING)
on_get_backend.Run(net::OK);
}
void SetProxyInIO(net::URLRequestContextGetter* getter,
const net::ProxyConfig& config,
const base::Closure& callback) {
auto proxy_service = getter->GetURLRequestContext()->proxy_service();
proxy_service->ResetConfigService(base::WrapUnique(
new net::ProxyConfigServiceFixed(config)));
// Refetches and applies the new pac script if provided.
proxy_service->ForceReloadProxyConfig();
RunCallbackInUI(callback);
}
void SetCertVerifyProcInIO(
const scoped_refptr<net::URLRequestContextGetter>& context_getter,
const AtomCertVerifier::VerifyProc& proc) {
auto request_context = context_getter->GetURLRequestContext();
static_cast<AtomCertVerifier*>(request_context->cert_verifier())->
SetVerifyProc(proc);
}
void ClearHostResolverCacheInIO(
const scoped_refptr<net::URLRequestContextGetter>& context_getter,
const base::Closure& callback) {
auto request_context = context_getter->GetURLRequestContext();
auto cache = request_context->host_resolver()->GetHostCache();
if (cache) {
cache->clear();
DCHECK_EQ(0u, cache->size());
if (!callback.is_null())
RunCallbackInUI(callback);
}
}
void ClearAuthCacheInIO(
const scoped_refptr<net::URLRequestContextGetter>& context_getter,
const ClearAuthCacheOptions& options,
const base::Closure& callback) {
auto request_context = context_getter->GetURLRequestContext();
auto network_session =
request_context->http_transaction_factory()->GetSession();
if (network_session) {
if (options.type == "password") {
auto auth_cache = network_session->http_auth_cache();
if (!options.origin.is_empty()) {
auth_cache->Remove(
options.origin, options.realm, options.auth_scheme,
net::AuthCredentials(options.username, options.password));
} else {
auth_cache->ClearEntriesAddedWithin(base::TimeDelta::Max());
}
} else if (options.type == "clientCertificate") {
auto client_auth_cache = network_session->ssl_client_auth_cache();
client_auth_cache->Remove(net::HostPortPair::FromURL(options.origin));
}
network_session->CloseAllConnections();
}
if (!callback.is_null())
RunCallbackInUI(callback);
}
void AllowNTLMCredentialsForDomainsInIO(
const scoped_refptr<net::URLRequestContextGetter>& context_getter,
const std::string& domains) {
auto request_context = context_getter->GetURLRequestContext();
auto auth_handler = request_context->http_auth_handler_factory();
if (auth_handler) {
auto auth_preferences = const_cast<net::HttpAuthPreferences*>(
auth_handler->http_auth_preferences());
if (auth_preferences)
auth_preferences->set_server_whitelist(domains);
}
}
void OnClearStorageDataDone(const base::Closure& callback) {
if (!callback.is_null())
callback.Run();
}
void DownloadIdCallback(content::DownloadManager* download_manager,
const base::FilePath& path,
const std::vector<GURL>& url_chain,
const std::string& mime_type,
int64_t offset,
int64_t length,
const std::string& last_modified,
const std::string& etag,
const base::Time& start_time,
uint32_t id) {
download_manager->CreateDownloadItem(
base::GenerateGUID(), id, path, path, url_chain, GURL(), GURL(), GURL(),
GURL(), mime_type, mime_type, start_time, base::Time(), etag,
last_modified, offset, length, std::string(),
content::DownloadItem::INTERRUPTED,
content::DownloadDangerType::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT, false,
base::Time(), false,
std::vector<content::DownloadItem::ReceivedSlice>());
}
void SetDevToolsNetworkEmulationClientIdInIO(
brightray::URLRequestContextGetter* context_getter,
const std::string& client_id) {
if (!context_getter)
return;
auto network_delegate =
static_cast<AtomNetworkDelegate*>(context_getter->network_delegate());
if (network_delegate)
network_delegate->SetDevToolsNetworkEmulationClientId(client_id);
}
} // namespace
Session::Session(v8::Isolate* isolate, AtomBrowserContext* browser_context)
: devtools_network_emulation_client_id_(base::GenerateGUID()),
browser_context_(browser_context) {
// Observe DownloadManager to get download notifications.
content::BrowserContext::GetDownloadManager(browser_context)->
AddObserver(this);
new SessionPreferences(browser_context);
Init(isolate);
AttachAsUserData(browser_context);
}
Session::~Session() {
content::BrowserContext::GetDownloadManager(browser_context())->
RemoveObserver(this);
g_sessions.erase(weak_map_id());
}
void Session::OnDownloadCreated(content::DownloadManager* manager,
content::DownloadItem* item) {
if (item->IsSavePackageDownload())
return;
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
auto handle = DownloadItem::Create(isolate(), item);
if (item->GetState() == content::DownloadItem::INTERRUPTED)
handle->SetSavePath(item->GetTargetFilePath());
bool prevent_default = Emit("will-download", handle, item->GetWebContents());
if (prevent_default) {
item->Cancel(true);
item->Remove();
}
}
void Session::ResolveProxy(const GURL& url, ResolveProxyCallback callback) {
new ResolveProxyHelper(browser_context(), url, callback);
}
template<Session::CacheAction action>
void Session::DoCacheAction(const net::CompletionCallback& callback) {
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
base::Bind(&DoCacheActionInIO,
make_scoped_refptr(browser_context_->GetRequestContext()),
action,
callback));
}
void Session::ClearStorageData(mate::Arguments* args) {
// clearStorageData([options, callback])
ClearStorageDataOptions options;
base::Closure callback;
args->GetNext(&options);
args->GetNext(&callback);
auto storage_partition =
content::BrowserContext::GetStoragePartition(browser_context(), nullptr);
if (options.storage_types & StoragePartition::REMOVE_DATA_MASK_COOKIES) {
// Reset media device id salt when cookies are cleared.
// https://w3c.github.io/mediacapture-main/#dom-mediadeviceinfo-deviceid
brightray::MediaDeviceIDSalt::Reset(browser_context()->prefs());
}
storage_partition->ClearData(
options.storage_types, options.quota_types, options.origin,
content::StoragePartition::OriginMatcherFunction(),
base::Time(), base::Time::Max(),
base::Bind(&OnClearStorageDataDone, callback));
}
void Session::FlushStorageData() {
auto storage_partition =
content::BrowserContext::GetStoragePartition(browser_context(), nullptr);
storage_partition->Flush();
}
void Session::SetProxy(const net::ProxyConfig& config,
const base::Closure& callback) {
auto getter = browser_context_->GetRequestContext();
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
base::Bind(&SetProxyInIO, base::Unretained(getter), config, callback));
}
void Session::SetDownloadPath(const base::FilePath& path) {
browser_context_->prefs()->SetFilePath(
prefs::kDownloadDefaultDirectory, path);
}
void Session::EnableNetworkEmulation(const mate::Dictionary& options) {
std::unique_ptr<brightray::DevToolsNetworkConditions> conditions;
bool offline = false;
double latency = 0.0, download_throughput = 0.0, upload_throughput = 0.0;
if (options.Get("offline", &offline) && offline) {
conditions.reset(new brightray::DevToolsNetworkConditions(offline));
} else {
options.Get("latency", &latency);
options.Get("downloadThroughput", &download_throughput);
options.Get("uploadThroughput", &upload_throughput);
conditions.reset(
new brightray::DevToolsNetworkConditions(false,
latency,
download_throughput,
upload_throughput));
}
browser_context_->network_controller_handle()->SetNetworkState(
devtools_network_emulation_client_id_, std::move(conditions));
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(
&SetDevToolsNetworkEmulationClientIdInIO,
base::RetainedRef(browser_context_->url_request_context_getter()),
devtools_network_emulation_client_id_));
}
void Session::DisableNetworkEmulation() {
std::unique_ptr<brightray::DevToolsNetworkConditions> conditions;
browser_context_->network_controller_handle()->SetNetworkState(
devtools_network_emulation_client_id_, std::move(conditions));
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(
&SetDevToolsNetworkEmulationClientIdInIO,
base::RetainedRef(browser_context_->url_request_context_getter()),
std::string()));
}
void Session::SetCertVerifyProc(v8::Local<v8::Value> val,
mate::Arguments* args) {
AtomCertVerifier::VerifyProc proc;
if (!(val->IsNull() || mate::ConvertFromV8(args->isolate(), val, &proc))) {
args->ThrowError("Must pass null or function");
return;
}
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
base::Bind(&SetCertVerifyProcInIO,
make_scoped_refptr(browser_context_->GetRequestContext()),
proc));
}
void Session::SetPermissionRequestHandler(v8::Local<v8::Value> val,
mate::Arguments* args) {
AtomPermissionManager::RequestHandler handler;
if (!(val->IsNull() || mate::ConvertFromV8(args->isolate(), val, &handler))) {
args->ThrowError("Must pass null or function");
return;
}
auto permission_manager = static_cast<AtomPermissionManager*>(
browser_context()->GetPermissionManager());
permission_manager->SetPermissionRequestHandler(handler);
}
void Session::ClearHostResolverCache(mate::Arguments* args) {
base::Closure callback;
args->GetNext(&callback);
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
base::Bind(&ClearHostResolverCacheInIO,
make_scoped_refptr(browser_context_->GetRequestContext()),
callback));
}
void Session::ClearAuthCache(mate::Arguments* args) {
ClearAuthCacheOptions options;
if (!args->GetNext(&options)) {
args->ThrowError("Must specify options object");
return;
}
base::Closure callback;
args->GetNext(&callback);
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(&ClearAuthCacheInIO,
make_scoped_refptr(browser_context_->GetRequestContext()),
options, callback));
}
void Session::AllowNTLMCredentialsForDomains(const std::string& domains) {
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
base::Bind(&AllowNTLMCredentialsForDomainsInIO,
make_scoped_refptr(browser_context_->GetRequestContext()),
domains));
}
void Session::SetUserAgent(const std::string& user_agent,
mate::Arguments* args) {
browser_context_->SetUserAgent(user_agent);
std::string accept_lang = g_browser_process->GetApplicationLocale();
args->GetNext(&accept_lang);
scoped_refptr<brightray::URLRequestContextGetter> getter(
browser_context_->GetRequestContext());
getter->GetNetworkTaskRunner()->PostTask(
FROM_HERE,
base::Bind(&SetUserAgentInIO, getter, accept_lang, user_agent));
}
std::string Session::GetUserAgent() {
return browser_context_->GetUserAgent();
}
void Session::GetBlobData(
const std::string& uuid,
const AtomBlobReader::CompletionCallback& callback) {
if (callback.is_null())
return;
AtomBlobReader* blob_reader =
browser_context()->GetBlobReader();
BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
base::Bind(&AtomBlobReader::StartReading,
base::Unretained(blob_reader),
uuid,
callback));
}
void Session::CreateInterruptedDownload(const mate::Dictionary& options) {
int64_t offset = 0, length = 0;
double start_time = 0.0;
std::string mime_type, last_modified, etag;
base::FilePath path;
std::vector<GURL> url_chain;
options.Get("path", &path);
options.Get("urlChain", &url_chain);
options.Get("mimeType", &mime_type);
options.Get("offset", &offset);
options.Get("length", &length);
options.Get("lastModified", &last_modified);
options.Get("eTag", &etag);
options.Get("startTime", &start_time);
if (path.empty() || url_chain.empty() || length == 0) {
isolate()->ThrowException(v8::Exception::Error(mate::StringToV8(
isolate(), "Must pass non-empty path, urlChain and length.")));
return;
}
if (offset >= length) {
isolate()->ThrowException(v8::Exception::Error(mate::StringToV8(
isolate(), "Must pass an offset value less than length.")));
return;
}
auto download_manager =
content::BrowserContext::GetDownloadManager(browser_context());
download_manager->GetDelegate()->GetNextId(base::Bind(
&DownloadIdCallback, download_manager, path, url_chain, mime_type, offset,
length, last_modified, etag, base::Time::FromDoubleT(start_time)));
}
void Session::SetPreloads(
const std::vector<base::FilePath::StringType>& preloads) {
auto* prefs = SessionPreferences::FromBrowserContext(browser_context());
DCHECK(prefs);
prefs->set_preloads(preloads);
}
std::vector<base::FilePath::StringType> Session::GetPreloads() const {
auto* prefs = SessionPreferences::FromBrowserContext(browser_context());
DCHECK(prefs);
return prefs->preloads();
}
v8::Local<v8::Value> Session::Cookies(v8::Isolate* isolate) {
if (cookies_.IsEmpty()) {
auto handle = Cookies::Create(isolate, browser_context());
cookies_.Reset(isolate, handle.ToV8());
}
return v8::Local<v8::Value>::New(isolate, cookies_);
}
v8::Local<v8::Value> Session::Protocol(v8::Isolate* isolate) {
if (protocol_.IsEmpty()) {
auto handle = atom::api::Protocol::Create(isolate, browser_context());
protocol_.Reset(isolate, handle.ToV8());
}
return v8::Local<v8::Value>::New(isolate, protocol_);
}
v8::Local<v8::Value> Session::WebRequest(v8::Isolate* isolate) {
if (web_request_.IsEmpty()) {
auto handle = atom::api::WebRequest::Create(isolate, browser_context());
web_request_.Reset(isolate, handle.ToV8());
}
return v8::Local<v8::Value>::New(isolate, web_request_);
}
// static
mate::Handle<Session> Session::CreateFrom(
v8::Isolate* isolate, AtomBrowserContext* browser_context) {
auto existing = TrackableObject::FromWrappedClass(isolate, browser_context);
if (existing)
return mate::CreateHandle(isolate, static_cast<Session*>(existing));
auto handle = mate::CreateHandle(
isolate, new Session(isolate, browser_context));
// The Sessions should never be garbage collected, since the common pattern is
// to use partition strings, instead of using the Session object directly.
g_sessions[handle->weak_map_id()] =
v8::Global<v8::Object>(isolate, handle.ToV8());
return handle;
}
// static
mate::Handle<Session> Session::FromPartition(
v8::Isolate* isolate, const std::string& partition,
const base::DictionaryValue& options) {
scoped_refptr<AtomBrowserContext> browser_context;
if (partition.empty()) {
browser_context = AtomBrowserContext::From("", false, options);
} else if (base::StartsWith(partition, kPersistPrefix,
base::CompareCase::SENSITIVE)) {
std::string name = partition.substr(8);
browser_context = AtomBrowserContext::From(name, false, options);
} else {
browser_context = AtomBrowserContext::From(partition, true, options);
}
return CreateFrom(isolate, browser_context.get());
}
// static
void Session::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Session"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("resolveProxy", &Session::ResolveProxy)
.SetMethod("getCacheSize", &Session::DoCacheAction<CacheAction::STATS>)
.SetMethod("clearCache", &Session::DoCacheAction<CacheAction::CLEAR>)
.SetMethod("clearStorageData", &Session::ClearStorageData)
.SetMethod("flushStorageData", &Session::FlushStorageData)
.SetMethod("setProxy", &Session::SetProxy)
.SetMethod("setDownloadPath", &Session::SetDownloadPath)
.SetMethod("enableNetworkEmulation", &Session::EnableNetworkEmulation)
.SetMethod("disableNetworkEmulation", &Session::DisableNetworkEmulation)
.SetMethod("_setCertificateVerifyProc", &Session::SetCertVerifyProc)
.SetMethod("setPermissionRequestHandler",
&Session::SetPermissionRequestHandler)
.SetMethod("clearHostResolverCache", &Session::ClearHostResolverCache)
.SetMethod("clearAuthCache", &Session::ClearAuthCache)
.SetMethod("allowNTLMCredentialsForDomains",
&Session::AllowNTLMCredentialsForDomains)
.SetMethod("setUserAgent", &Session::SetUserAgent)
.SetMethod("getUserAgent", &Session::GetUserAgent)
.SetMethod("getBlobData", &Session::GetBlobData)
.SetMethod("createInterruptedDownload",
&Session::CreateInterruptedDownload)
.SetMethod("setPreloads", &Session::SetPreloads)
.SetMethod("getPreloads", &Session::GetPreloads)
.SetProperty("cookies", &Session::Cookies)
.SetProperty("protocol", &Session::Protocol)
.SetProperty("webRequest", &Session::WebRequest);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Session;
v8::Local<v8::Value> FromPartition(
const std::string& partition, mate::Arguments* args) {
if (!atom::Browser::Get()->is_ready()) {
args->ThrowError("Session can only be received when app is ready");
return v8::Null(args->isolate());
}
base::DictionaryValue options;
args->GetNext(&options);
return Session::FromPartition(args->isolate(), partition, options).ToV8();
}
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("Session", Session::GetConstructor(isolate)->GetFunction());
dict.Set("Cookies", Cookies::GetConstructor(isolate)->GetFunction());
dict.SetMethod("fromPartition", &FromPartition);
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_session, Initialize)

View File

@@ -1,117 +0,0 @@
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_SESSION_H_
#define ATOM_BROWSER_API_ATOM_API_SESSION_H_
#include <string>
#include <vector>
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/atom_blob_reader.h"
#include "base/values.h"
#include "content/public/browser/download_manager.h"
#include "native_mate/handle.h"
#include "net/base/completion_callback.h"
class GURL;
namespace base {
class FilePath;
}
namespace mate {
class Arguments;
class Dictionary;
}
namespace net {
class ProxyConfig;
}
namespace atom {
class AtomBrowserContext;
namespace api {
class Session: public mate::TrackableObject<Session>,
public content::DownloadManager::Observer {
public:
using ResolveProxyCallback = base::Callback<void(std::string)>;
enum class CacheAction {
CLEAR,
STATS,
};
// Gets or creates Session from the |browser_context|.
static mate::Handle<Session> CreateFrom(
v8::Isolate* isolate, AtomBrowserContext* browser_context);
// Gets the Session of |partition|.
static mate::Handle<Session> FromPartition(
v8::Isolate* isolate, const std::string& partition,
const base::DictionaryValue& options = base::DictionaryValue());
AtomBrowserContext* browser_context() const { return browser_context_.get(); }
// mate::TrackableObject:
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
// Methods.
void ResolveProxy(const GURL& url, ResolveProxyCallback callback);
template<CacheAction action>
void DoCacheAction(const net::CompletionCallback& callback);
void ClearStorageData(mate::Arguments* args);
void FlushStorageData();
void SetProxy(const net::ProxyConfig& config, const base::Closure& callback);
void SetDownloadPath(const base::FilePath& path);
void EnableNetworkEmulation(const mate::Dictionary& options);
void DisableNetworkEmulation();
void SetCertVerifyProc(v8::Local<v8::Value> proc, mate::Arguments* args);
void SetPermissionRequestHandler(v8::Local<v8::Value> val,
mate::Arguments* args);
void ClearHostResolverCache(mate::Arguments* args);
void ClearAuthCache(mate::Arguments* args);
void AllowNTLMCredentialsForDomains(const std::string& domains);
void SetUserAgent(const std::string& user_agent, mate::Arguments* args);
std::string GetUserAgent();
void GetBlobData(const std::string& uuid,
const AtomBlobReader::CompletionCallback& callback);
void CreateInterruptedDownload(const mate::Dictionary& options);
void SetPreloads(const std::vector<base::FilePath::StringType>& preloads);
std::vector<base::FilePath::StringType> GetPreloads() const;
v8::Local<v8::Value> Cookies(v8::Isolate* isolate);
v8::Local<v8::Value> Protocol(v8::Isolate* isolate);
v8::Local<v8::Value> WebRequest(v8::Isolate* isolate);
protected:
Session(v8::Isolate* isolate, AtomBrowserContext* browser_context);
~Session();
// content::DownloadManager::Observer:
void OnDownloadCreated(content::DownloadManager* manager,
content::DownloadItem* item) override;
private:
// Cached object.
v8::Global<v8::Value> cookies_;
v8::Global<v8::Value> protocol_;
v8::Global<v8::Value> web_request_;
// The X-DevTools-Emulate-Network-Conditions-Client-Id.
std::string devtools_network_emulation_client_id_;
scoped_refptr<AtomBrowserContext> browser_context_;
DISALLOW_COPY_AND_ASSIGN(Session);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_SESSION_H_

View File

@@ -1,99 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_system_preferences.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/node_includes.h"
#include "native_mate/dictionary.h"
#include "ui/gfx/color_utils.h"
namespace atom {
namespace api {
SystemPreferences::SystemPreferences(v8::Isolate* isolate) {
Init(isolate);
#if defined(OS_WIN)
InitializeWindow();
#endif
}
SystemPreferences::~SystemPreferences() {
#if defined(OS_WIN)
Browser::Get()->RemoveObserver(this);
#endif
}
#if !defined(OS_MACOSX)
bool SystemPreferences::IsDarkMode() {
return false;
}
#endif
bool SystemPreferences::IsInvertedColorScheme() {
return color_utils::IsInvertedColorScheme();
}
// static
mate::Handle<SystemPreferences> SystemPreferences::Create(
v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new SystemPreferences(isolate));
}
// static
void SystemPreferences::BuildPrototype(
v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "SystemPreferences"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
#if defined(OS_WIN)
.SetMethod("getAccentColor", &SystemPreferences::GetAccentColor)
.SetMethod("isAeroGlassEnabled", &SystemPreferences::IsAeroGlassEnabled)
.SetMethod("getColor", &SystemPreferences::GetColor)
#elif defined(OS_MACOSX)
.SetMethod("postNotification",
&SystemPreferences::PostNotification)
.SetMethod("postLocalNotification",
&SystemPreferences::PostLocalNotification)
.SetMethod("subscribeNotification",
&SystemPreferences::SubscribeNotification)
.SetMethod("unsubscribeNotification",
&SystemPreferences::UnsubscribeNotification)
.SetMethod("subscribeLocalNotification",
&SystemPreferences::SubscribeLocalNotification)
.SetMethod("unsubscribeLocalNotification",
&SystemPreferences::UnsubscribeLocalNotification)
.SetMethod("registerDefaults", &SystemPreferences::RegisterDefaults)
.SetMethod("getUserDefault", &SystemPreferences::GetUserDefault)
.SetMethod("setUserDefault", &SystemPreferences::SetUserDefault)
.SetMethod("removeUserDefault", &SystemPreferences::RemoveUserDefault)
.SetMethod("isSwipeTrackingFromScrollEventsEnabled",
&SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled)
#endif
.SetMethod("isInvertedColorScheme",
&SystemPreferences::IsInvertedColorScheme)
.SetMethod("isDarkMode", &SystemPreferences::IsDarkMode);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::SystemPreferences;
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
v8::Local<v8::Context> context, void* priv) {
v8::Isolate* isolate = context->GetIsolate();
mate::Dictionary dict(isolate, exports);
dict.Set("systemPreferences", SystemPreferences::Create(isolate));
dict.Set("SystemPreferences",
SystemPreferences::GetConstructor(isolate)->GetFunction());
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_system_preferences, Initialize);

View File

@@ -1,131 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_SYSTEM_PREFERENCES_H_
#define ATOM_BROWSER_API_ATOM_API_SYSTEM_PREFERENCES_H_
#include <string>
#include "atom/browser/api/event_emitter.h"
#include "base/callback.h"
#include "base/values.h"
#include "native_mate/handle.h"
#if defined(OS_WIN)
#include "atom/browser/browser.h"
#include "atom/browser/browser_observer.h"
#include "ui/gfx/sys_color_change_listener.h"
#endif
namespace base {
class DictionaryValue;
}
namespace atom {
namespace api {
class SystemPreferences : public mate::EventEmitter<SystemPreferences>
#if defined(OS_WIN)
, public BrowserObserver
, public gfx::SysColorChangeListener
#endif
{
public:
static mate::Handle<SystemPreferences> Create(v8::Isolate* isolate);
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
#if defined(OS_WIN)
bool IsAeroGlassEnabled();
typedef HRESULT (STDAPICALLTYPE *DwmGetColorizationColor)(DWORD *, BOOL *);
DwmGetColorizationColor dwmGetColorizationColor =
(DwmGetColorizationColor) GetProcAddress(LoadLibraryW(L"dwmapi.dll"),
"DwmGetColorizationColor");
std::string GetAccentColor();
std::string GetColor(const std::string& color, mate::Arguments* args);
void InitializeWindow();
// gfx::SysColorChangeListener:
void OnSysColorChange() override;
// BrowserObserver:
void OnFinishLaunching(const base::DictionaryValue& launch_info) override;
#elif defined(OS_MACOSX)
using NotificationCallback = base::Callback<
void(const std::string&, const base::DictionaryValue&)>;
void PostNotification(const std::string& name,
const base::DictionaryValue& user_info);
void PostLocalNotification(const std::string& name,
const base::DictionaryValue& user_info);
int SubscribeNotification(const std::string& name,
const NotificationCallback& callback);
void UnsubscribeNotification(int id);
int SubscribeLocalNotification(const std::string& name,
const NotificationCallback& callback);
void UnsubscribeLocalNotification(int request_id);
v8::Local<v8::Value> GetUserDefault(const std::string& name,
const std::string& type);
void RegisterDefaults(mate::Arguments* args);
void SetUserDefault(const std::string& name,
const std::string& type,
mate::Arguments* args);
void RemoveUserDefault(const std::string& name);
bool IsSwipeTrackingFromScrollEventsEnabled();
#endif
bool IsDarkMode();
bool IsInvertedColorScheme();
protected:
explicit SystemPreferences(v8::Isolate* isolate);
~SystemPreferences() override;
#if defined(OS_MACOSX)
void DoPostNotification(const std::string& name,
const base::DictionaryValue& user_info,
bool is_local);
int DoSubscribeNotification(const std::string& name,
const NotificationCallback& callback,
bool is_local);
void DoUnsubscribeNotification(int request_id, bool is_local);
#endif
private:
#if defined(OS_WIN)
// Static callback invoked when a message comes in to our messaging window.
static LRESULT CALLBACK
WndProcStatic(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);
LRESULT CALLBACK
WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);
// The window class of |window_|.
ATOM atom_;
// The handle of the module that contains the window procedure of |window_|.
HMODULE instance_;
// The window used for processing events.
HWND window_;
std::string current_color_;
bool invertered_color_scheme_;
std::unique_ptr<gfx::ScopedSysColorChangeListener> color_change_listener_;
#endif
DISALLOW_COPY_AND_ASSIGN(SystemPreferences);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_SYSTEM_PREFERENCES_H_

View File

@@ -1,271 +0,0 @@
// Copyright (c) 2016 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_system_preferences.h"
#include <map>
#import <Cocoa/Cocoa.h>
#include "atom/browser/mac/dict_util.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/native_mate_converters/gurl_converter.h"
#include "base/strings/sys_string_conversions.h"
#include "base/values.h"
#include "net/base/mac/url_conversions.h"
namespace atom {
namespace api {
namespace {
int g_next_id = 0;
// The map to convert |id| to |int|.
std::map<int, id> g_id_map;
} // namespace
void SystemPreferences::PostNotification(const std::string& name,
const base::DictionaryValue& user_info) {
DoPostNotification(name, user_info, false);
}
void SystemPreferences::PostLocalNotification(const std::string& name,
const base::DictionaryValue& user_info) {
DoPostNotification(name, user_info, true);
}
void SystemPreferences::DoPostNotification(const std::string& name,
const base::DictionaryValue& user_info, bool is_local) {
NSNotificationCenter* center = is_local ?
[NSNotificationCenter defaultCenter] :
[NSDistributedNotificationCenter defaultCenter];
[center
postNotificationName:base::SysUTF8ToNSString(name)
object:nil
userInfo:DictionaryValueToNSDictionary(user_info)
];
}
int SystemPreferences::SubscribeNotification(
const std::string& name, const NotificationCallback& callback) {
return DoSubscribeNotification(name, callback, false);
}
void SystemPreferences::UnsubscribeNotification(int request_id) {
DoUnsubscribeNotification(request_id, false);
}
int SystemPreferences::SubscribeLocalNotification(
const std::string& name, const NotificationCallback& callback) {
return DoSubscribeNotification(name, callback, true);
}
void SystemPreferences::UnsubscribeLocalNotification(int request_id) {
DoUnsubscribeNotification(request_id, true);
}
int SystemPreferences::DoSubscribeNotification(const std::string& name,
const NotificationCallback& callback, bool is_local) {
int request_id = g_next_id++;
__block NotificationCallback copied_callback = callback;
NSNotificationCenter* center = is_local ?
[NSNotificationCenter defaultCenter] :
[NSDistributedNotificationCenter defaultCenter];
g_id_map[request_id] = [center
addObserverForName:base::SysUTF8ToNSString(name)
object:nil
queue:nil
usingBlock:^(NSNotification* notification) {
std::unique_ptr<base::DictionaryValue> user_info =
NSDictionaryToDictionaryValue(notification.userInfo);
if (user_info) {
copied_callback.Run(
base::SysNSStringToUTF8(notification.name),
*user_info);
} else {
copied_callback.Run(
base::SysNSStringToUTF8(notification.name),
base::DictionaryValue());
}
}
];
return request_id;
}
void SystemPreferences::DoUnsubscribeNotification(int request_id, bool is_local) {
auto iter = g_id_map.find(request_id);
if (iter != g_id_map.end()) {
id observer = iter->second;
NSNotificationCenter* center = is_local ?
[NSNotificationCenter defaultCenter] :
[NSDistributedNotificationCenter defaultCenter];
[center removeObserver:observer];
g_id_map.erase(iter);
}
}
v8::Local<v8::Value> SystemPreferences::GetUserDefault(
const std::string& name, const std::string& type) {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSString* key = base::SysUTF8ToNSString(name);
if (type == "string") {
return mate::StringToV8(isolate(),
base::SysNSStringToUTF8([defaults stringForKey:key]));
} else if (type == "boolean") {
return v8::Boolean::New(isolate(), [defaults boolForKey:key]);
} else if (type == "float") {
return v8::Number::New(isolate(), [defaults floatForKey:key]);
} else if (type == "integer") {
return v8::Integer::New(isolate(), [defaults integerForKey:key]);
} else if (type == "double") {
return v8::Number::New(isolate(), [defaults doubleForKey:key]);
} else if (type == "url") {
return mate::ConvertToV8(isolate(),
net::GURLWithNSURL([defaults URLForKey:key]));
} else if (type == "array") {
std::unique_ptr<base::ListValue> list =
NSArrayToListValue([defaults arrayForKey:key]);
if (list == nullptr)
list.reset(new base::ListValue());
return mate::ConvertToV8(isolate(), *list);
} else if (type == "dictionary") {
std::unique_ptr<base::DictionaryValue> dictionary =
NSDictionaryToDictionaryValue([defaults dictionaryForKey:key]);
if (dictionary == nullptr)
dictionary.reset(new base::DictionaryValue());
return mate::ConvertToV8(isolate(), *dictionary);
} else {
return v8::Undefined(isolate());
}
}
void SystemPreferences::RegisterDefaults(mate::Arguments* args) {
base::DictionaryValue value;
if(!args->GetNext(&value)) {
args->ThrowError("Invalid userDefault data provided");
} else {
@try {
NSDictionary* dict = DictionaryValueToNSDictionary(value);
for (id key in dict) {
id value = [dict objectForKey:key];
if ([value isKindOfClass:[NSNull class]] || value == nil) {
args->ThrowError("Invalid userDefault data provided");
return;
}
}
[[NSUserDefaults standardUserDefaults] registerDefaults:dict];
} @catch (NSException* exception) {
args->ThrowError("Invalid userDefault data provided");
}
}
}
void SystemPreferences::SetUserDefault(const std::string& name,
const std::string& type,
mate::Arguments* args) {
const auto throwConversionError = [&] {
args->ThrowError("Unable to convert value to: " + type);
};
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSString* key = base::SysUTF8ToNSString(name);
if (type == "string") {
std::string value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
[defaults setObject:base::SysUTF8ToNSString(value) forKey:key];
} else if (type == "boolean") {
bool value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
[defaults setBool:value forKey:key];
} else if (type == "float") {
float value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
[defaults setFloat:value forKey:key];
} else if (type == "integer") {
int value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
[defaults setInteger:value forKey:key];
} else if (type == "double") {
double value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
[defaults setDouble:value forKey:key];
} else if (type == "url") {
GURL value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
if (NSURL* url = net::NSURLWithGURL(value)) {
[defaults setURL:url forKey:key];
}
} else if (type == "array") {
base::ListValue value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
if (NSArray* array = ListValueToNSArray(value)) {
[defaults setObject:array forKey:key];
}
} else if (type == "dictionary") {
base::DictionaryValue value;
if (!args->GetNext(&value)) {
throwConversionError();
return;
}
if (NSDictionary* dict = DictionaryValueToNSDictionary(value)) {
[defaults setObject:dict forKey:key];
}
} else {
args->ThrowError("Invalid type: " + type);
return;
}
}
void SystemPreferences::RemoveUserDefault(const std::string& name) {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:base::SysUTF8ToNSString(name)];
}
bool SystemPreferences::IsDarkMode() {
NSString* mode = [[NSUserDefaults standardUserDefaults]
stringForKey:@"AppleInterfaceStyle"];
return [mode isEqualToString:@"Dark"];
}
bool SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled() {
return [NSEvent isSwipeTrackingFromScrollEventsEnabled];
}
} // namespace api
} // namespace atom

View File

@@ -1,192 +0,0 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include <iomanip>
#include "atom/browser/api/atom_api_system_preferences.h"
#include "atom/common/color_util.h"
#include "base/win/wrapped_window_proc.h"
#include "ui/base/win/shell.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/win/hwnd_util.h"
namespace atom {
namespace {
const wchar_t kSystemPreferencesWindowClass[] =
L"Electron_SystemPreferencesHostWindow";
} // namespace
namespace api {
bool SystemPreferences::IsAeroGlassEnabled() {
return ui::win::IsAeroGlassEnabled();
}
std::string hexColorDWORDToRGBA(DWORD color) {
DWORD rgba = color << 8 | color >> 24;
std::ostringstream stream;
stream << std::hex << std::setw(8) << std::setfill('0') << rgba;
return stream.str();
}
std::string SystemPreferences::GetAccentColor() {
DWORD color = 0;
BOOL opaque = FALSE;
if (FAILED(dwmGetColorizationColor(&color, &opaque))) {
return "";
}
return hexColorDWORDToRGBA(color);
}
std::string SystemPreferences::GetColor(const std::string& color,
mate::Arguments* args) {
int id;
if (color == "3d-dark-shadow") {
id = COLOR_3DDKSHADOW;
} else if (color == "3d-face") {
id = COLOR_3DFACE;
} else if (color == "3d-highlight") {
id = COLOR_3DHIGHLIGHT;
} else if (color == "3d-light") {
id = COLOR_3DLIGHT;
} else if (color == "3d-shadow") {
id = COLOR_3DSHADOW;
} else if (color == "active-border") {
id = COLOR_ACTIVEBORDER;
} else if (color == "active-caption") {
id = COLOR_ACTIVECAPTION;
} else if (color == "active-caption-gradient") {
id = COLOR_GRADIENTACTIVECAPTION;
} else if (color == "app-workspace") {
id = COLOR_APPWORKSPACE;
} else if (color == "button-text") {
id = COLOR_BTNTEXT;
} else if (color == "caption-text") {
id = COLOR_CAPTIONTEXT;
} else if (color == "desktop") {
id = COLOR_DESKTOP;
} else if (color == "disabled-text") {
id = COLOR_GRAYTEXT;
} else if (color == "highlight") {
id = COLOR_HIGHLIGHT;
} else if (color == "highlight-text") {
id = COLOR_HIGHLIGHTTEXT;
} else if (color == "hotlight") {
id = COLOR_HOTLIGHT;
} else if (color == "inactive-border") {
id = COLOR_INACTIVEBORDER;
} else if (color == "inactive-caption") {
id = COLOR_INACTIVECAPTION;
} else if (color == "inactive-caption-gradient") {
id = COLOR_GRADIENTINACTIVECAPTION;
} else if (color == "inactive-caption-text") {
id = COLOR_INACTIVECAPTIONTEXT;
} else if (color == "info-background") {
id = COLOR_INFOBK;
} else if (color == "info-text") {
id = COLOR_INFOTEXT;
} else if (color == "menu") {
id = COLOR_MENU;
} else if (color == "menu-highlight") {
id = COLOR_MENUHILIGHT;
} else if (color == "menubar") {
id = COLOR_MENUBAR;
} else if (color == "menu-text") {
id = COLOR_MENUTEXT;
} else if (color == "scrollbar") {
id = COLOR_SCROLLBAR;
} else if (color == "window") {
id = COLOR_WINDOW;
} else if (color == "window-frame") {
id = COLOR_WINDOWFRAME;
} else if (color == "window-text") {
id = COLOR_WINDOWTEXT;
} else {
args->ThrowError("Unknown color: " + color);
return "";
}
return ToRGBHex(color_utils::GetSysSkColor(id));
}
void SystemPreferences::InitializeWindow() {
invertered_color_scheme_ = IsInvertedColorScheme();
// Wait until app is ready before creating sys color listener
// Creating this listener before the app is ready causes global shortcuts
// to not fire
if (Browser::Get()->is_ready())
color_change_listener_.reset(new gfx::ScopedSysColorChangeListener(this));
else
Browser::Get()->AddObserver(this);
WNDCLASSEX window_class;
base::win::InitializeWindowClass(
kSystemPreferencesWindowClass,
&base::win::WrappedWindowProc<SystemPreferences::WndProcStatic>,
0, 0, 0, NULL, NULL, NULL, NULL, NULL,
&window_class);
instance_ = window_class.hInstance;
atom_ = RegisterClassEx(&window_class);
// Create an offscreen window for receiving broadcast messages for the system
// colorization color. Create a hidden WS_POPUP window instead of an
// HWND_MESSAGE window, because only top-level windows such as popups can
// receive broadcast messages like "WM_DWMCOLORIZATIONCOLORCHANGED".
window_ = CreateWindow(MAKEINTATOM(atom_),
0, WS_POPUP, 0, 0, 0, 0, 0, 0, instance_, 0);
gfx::CheckWindowCreated(window_);
gfx::SetWindowUserData(window_, this);
}
LRESULT CALLBACK SystemPreferences::WndProcStatic(HWND hwnd,
UINT message,
WPARAM wparam,
LPARAM lparam) {
SystemPreferences* msg_wnd = reinterpret_cast<SystemPreferences*>(
GetWindowLongPtr(hwnd, GWLP_USERDATA));
if (msg_wnd)
return msg_wnd->WndProc(hwnd, message, wparam, lparam);
else
return ::DefWindowProc(hwnd, message, wparam, lparam);
}
LRESULT CALLBACK SystemPreferences::WndProc(HWND hwnd,
UINT message,
WPARAM wparam,
LPARAM lparam) {
if (message == WM_DWMCOLORIZATIONCOLORCHANGED) {
DWORD new_color = (DWORD) wparam;
std::string new_color_string = hexColorDWORDToRGBA(new_color);
if (new_color_string != current_color_) {
Emit("accent-color-changed", hexColorDWORDToRGBA(new_color));
current_color_ = new_color_string;
}
}
return ::DefWindowProc(hwnd, message, wparam, lparam);
}
void SystemPreferences::OnSysColorChange() {
bool new_invertered_color_scheme = IsInvertedColorScheme();
if (new_invertered_color_scheme != invertered_color_scheme_) {
invertered_color_scheme_ = new_invertered_color_scheme;
Emit("inverted-color-scheme-changed", new_invertered_color_scheme);
}
Emit("color-changed");
}
void SystemPreferences::OnFinishLaunching(
const base::DictionaryValue& launch_info) {
color_change_listener_.reset(new gfx::ScopedSysColorChangeListener(this));
}
} // namespace api
} // namespace atom

Some files were not shown because too many files have changed in this diff Show More