Commit graph

5749 commits

Author SHA1 Message Date
Aleksei Kuzmin
89c1b8043f Do not use SkBitmap.deepCopyTo(), it was removed
Copy of the `sk_tool_utils::copy_to()` is used instead.
Probsbly we should use the function itself.
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
9326ce8cfd allocator: rename use_experimental_allocator_shim to use_allocator_shim
https://codereview.chromium.org/2902043007
2017-11-24 10:58:17 +09:00
Birunthan Mohanathas
4e859b4718 Remove "async" option from menu.popup()
All menus are async now. See "Cleanup MenuRunner API"
https://codereview.chromium.org/2790773002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
338604239d Cleanup MenuRunner API
https://codereview.chromium.org/2790773002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
14eb2af876 Give CustomButton a focus painter.
https://chromium-review.googlesource.com/c/chromium/src/+/516824
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
e0d7b7d0fc Clean up views::Background.
https://chromium-review.googlesource.com/c/chromium/src/+/520702
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
93b3d8cb49 Changed top/bottom & left/right border parameters on BoxLayout to take single gfx::Insets parameter.
https://chromium-review.googlesource.com/c/chromium/src/+/515902
2017-11-24 10:58:17 +09:00
Tony Ganch
59550b203f Include objbase.h only for Windows 2017-11-24 10:58:17 +09:00
Tony Ganch
513d4fd225 Remove usage of X11AtomCache
See https://codereview.chromium.org/2914103002/
2017-11-24 10:58:17 +09:00
Tony Ganch
da04cbd4d8 Rename set_background to SetBackground 2017-11-24 10:58:17 +09:00
Tony Ganch
d7e4e8d6cc Rename GetPrefferedSize to CalculatePrefferedSize
See https://chromium-review.googlesource.com/c/chromium/src/+/516542
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
7f5fbb04e2 Migrate from ScopedComPtr::CreateInstance() to CoCreateInstance in chrome/...
https://codereview.chromium.org/2894483002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
79e59a88b4 Rename ScopedComPtr::Receive to ScopedComPtr::GetAddressOf
https://codereview.chromium.org/2870263002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
485e43636b Rename ScopedComPtr::get() to ScopedComPtr::Get()
https://codereview.chromium.org/2824773002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
1073c9b1ed Fix compilation of atom/browser/api/atom_api_app.cc
Refactor client cert private key handling.
https://codereview.chromium.org/2898573002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
8c40854983 Move handling of DraggableRegionsChanged notification from "view" to "frame".
https://codereview.chromium.org/2929493003
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
624b63a1ca Move "atom/common/node_includes.h" to the end of the includes list
https://github.com/electron/electron/issues/10363
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
56e7867455 Move IconURLs method from WebFrame to WebLocalFrame
https://codereview.chromium.org/2918903002
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
fe662ccbdc Remove obsolete Blink popup blocker.
https://chromium-review.googlesource.com/c/chromium/src/+/512347
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
5fb0f005c5 Convert SpellCheckPanel SpellCheckPanelHost IPC to mojo
https://chromium-review.googlesource.com/c/chromium/src/+/515323
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
d817e23050 [c++11 library] Remove ScopedVector
https://bugs.chromium.org/p/chromium/issues/detail?id=554289
2017-11-24 10:58:17 +09:00
Aleksei Kuzmin
75b41102ef Remove unused includes 2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
a9eb0cbec0 Ban raw pointers to ref-counted types on base::Bind
https://chromium-review.googlesource.com/c/chromium/src/+/549537
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
edb7bc6572 Make BlobReader create its own file TaskRunner.
https://chromium-review.googlesource.com/c/chromium/src/+/570945
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
47d683f0ad DevTools: do not set visible size while emulating in case of device mode.
https://chromium-review.googlesource.com/c/chromium/src/+/572222
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
6c7ad3ac58 Remove the dependence on BrowserThread::FILE for
https://codereview.chromium.org/2944313003
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
b29c485ec4 Consolidate PowerSaveBlocker and WakeLock inside Device Service.
https://chromium-review.googlesource.com/c/chromium/src/+/563159
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
e4d9e12ee5 Use blink::WebLocalFrame instead of blink::WebFrame
Move GetDocument method from WebFrame to WebLocalFrame.
https://codereview.chromium.org/2928033002

Move MainWorldScriptContext accessor/method from WebFrame to WebLocalFrame.
https://codereview.chromium.org/2923053002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
61797b7802 Move GetDocument method from WebFrame to WebLocalFrame.
https://codereview.chromium.org/2928033002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
7608a0489c Network Traffic Annotation added to DownloadURLParams.
https://chromium-review.googlesource.com/c/530307
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
e926473e5a Partial revert of Provide WebContents::CreateParams to tab helpers.
https://chromium-review.googlesource.com/c/571285
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
9566904838 Speech recognition: Use BindOnce / OnceCallback / OnceClosure where applicable
https://chromium-review.googlesource.com/c/565762
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
5831a5ffa1 Refactor client cert private key handling.
https://codereview.chromium.org/2898573002
2017-11-24 10:58:16 +09:00
Tony Ganch
f694b64d71 FIXME: DesktopNotificationDelegate has been removed
Related CL: https://codereview.chromium.org/2906883003
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
2c063f93ff Remove raw base::DictionaryValue::Set
https://codereview.chromium.org/2911033002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
370476c4af Remove unused RenderViewObserver methods.
https://chromium-review.googlesource.com/c/506027

`DidCreateDocumentElement()` observer method was removed.
So I have to use a different approach to check if a document element
has already been created on a web page.
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
1127452429 PlzNavigate: make NavigationResourceHandler a LayeredResourceHandler
https://codereview.chromium.org/2847443002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
a72a08bccc Convert iOS to use X509CertificateBytes.
https://codereview.chromium.org/2864133002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
ea8e113b19 SkBitmap and SkPixelRef no longer need lock/unlock
https://codereview.chromium.org/2823003002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
ea4a36039a Add Keyboard Latency UMA Metrics.
https://codereview.chromium.org/2756893002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
f03ca53af5 Add blink::WebInputEvent::IsPinchGestureEventType().
https://codereview.chromium.org/2861373004
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
650902c656 Renamed LoadCommittedDetails.is_in_page to is_same_document.
https://codereview.chromium.org/2841833002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
90b0984a14 Add missing IWYU message_loop.h includes.
https://codereview.chromium.org/2876013002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
e2a224c4e6 Remove rendundant WebLocalFrame parameter in various plugin code.
https://codereview.chromium.org/2855123003
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
11fa935359 Introduce TaskRunner::RunsTasksInCurrentSequence()
https://codereview.chromium.org/2823103003
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
f2bcdab037 Provide WebContents::CreateParams to tab helpers.
https://codereview.chromium.org/2894973002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
971002a197 Switch to using scoped_ptr with UserData
https://codereview.chromium.org/2815913005
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
ee9a547985 Service CreateNewWindow on the UI thread with a new mojo interface
https://codereview.chromium.org/2821473002
2017-11-24 10:58:16 +09:00
Aleksei Kuzmin
ba6e8b4dff Merge ResourceRequestBodyImpl and ResourceRequestBody.
https://codereview.chromium.org/2954343005
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
b77b67bfbe Remove client_certs from SSLCertRequestInfo.
https://codereview.chromium.org/2838243002
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
ba2f33d629 Remove base::Value::GetAsBinary
https://codereview.chromium.org/2839753005
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
f847291272 [blink] Unique pointers in Platform.h
https://codereview.chromium.org/2846843002
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
7ad524fa34 Make base::DictionaryValue::Set* return pointers
https://codereview.chromium.org/2850773002
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
58e0771e47 Remove base::Value::Get{Buffer,Size}
https://codereview.chromium.org/2841623003
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
132029ea32 Move components/display_compositor to components/viz/display_compositor
https://codereview.chromium.org/2873243002
2017-11-24 10:58:15 +09:00
Aleksei Kuzmin
2bb95ce41e Update chrome_version.h 2017-11-24 10:58:15 +09:00
Cheng Zhao
f8adaed763
Merge pull request #11208 from electron/mips64el
Add support for mips64el
2017-11-24 10:54:19 +09:00
Heilig Benedek
bb5eecc16c Use SizeConstraints instead of window events 2017-11-23 21:25:25 +01:00
Heilig Benedek
ca76dda6a6 remove incorrect checks 2017-11-23 21:25:25 +01:00
Heilig Benedek
7a7f1ee711 dont resize on taskbar resize if resizable is false 2017-11-23 21:25:25 +01:00
Emmanuel Kimmerlin
5f658de19f 🐛 #10470 - prevent to load preload in each iframe context 2017-11-23 09:20:52 +01:00
Felix Rieseberg
3cb062b3d6 🔧 BrowserView.getAllViews() 2017-11-22 16:58:32 -08:00
Cheng Zhao
4f9c5310a9 Fix compiler warning when building with gcc 2017-11-21 21:47:51 +09:00
Charles Kerr
dba9181611
Merge pull request #11164 from electron/nstitlebar-hidden
fix: Explicitally set "setTitlebarAppearsTransparent"
2017-11-21 07:51:47 +01:00
Cheng Zhao
cb98ed8674
Merge pull request #11176 from electron/proxy-crash-race
Avoid proxy handler race condition crash
2017-11-20 20:15:02 +09:00
Cheng Zhao
3cc8330998 Merge branch 'master' into ahmedmohamedali-master 2017-11-20 11:04:47 +09:00
Matt Crocker
efaf7a6b85 Avoid race condition where login handler webcontents becomes null 2017-11-19 14:08:11 -08:00
Zhuo Lu
367f7f123d Update icns 2017-11-19 00:33:33 -08:00
Felix Rieseberg
daad465fcd 🔧 Eh, let's do it for all the types 2017-11-18 20:19:22 -08:00
Felix Rieseberg
e3b6271806 🔧 setTitlebarAppearsTransparent=YES 2017-11-18 20:00:01 -08:00
Thiago de Arruda
a9a9e58b68 Fix random crash on app quit.
Move AtomCTDelegate to brightray as RequireCTDelegate and transfer ownership to
brightray::URLRequestContextGetter. This fixes the wrong lifetime assumptions
that result in AtomCTDelegate being used after free in some scenarios.

Close #10051
2017-11-17 12:03:23 -03:00
Ted Kim
8184cbfb06 Implement login helper to manage login item in Mac App Store build 2017-11-17 10:53:09 +09:00
Charles Kerr
9f922e9932
Merge pull request #11099 from electron/fix-emit-call-crash
Fix crash when emitting unhandled error on native EventEmitter
2017-11-16 15:57:07 -06:00
Samuel Attard
fc265b7600 linter plz 2017-11-17 06:15:53 +11:00
Samuel Attard
bdbc6bb165 Clean up empty logic 2017-11-17 06:09:35 +11:00
Alexey Kuzmin
8657169017
Revert "Implement login helper to manage login item in Mac App Store build" 2017-11-16 19:05:13 +03:00
Samuel Attard
57f934a806 Appease the linter 2017-11-15 18:24:18 +11:00
Samuel Attard
8a8f169628 Add comments and use ToLocal instead of ToLocalChecked 2017-11-15 18:24:18 +11:00
Charles Kerr
3a1106d026
Merge pull request #11103 from electron/full-version-string
fix: Provide full and correct version in `process.version`
2017-11-14 19:18:03 -06:00
Felix Rieseberg
ee2a28b35b 🔧 Clean it up 2017-11-14 13:45:50 -08:00
Charles Kerr
31172ecaa0
Merge pull request #11008 from electron/implement-stream-protocol
Implement {register,intercept}StreamProtocol
2017-11-14 09:31:57 -06:00
Cheng Zhao
4b8ab8fc97
Merge pull request #10856 from dittos/mas-login-helper
Implement login helper to manage login item in Mac App Store build
2017-11-14 21:34:50 +09:00
Thiago de Arruda
5ea3a5886b Implement {register,intecept}StreamProtocol
These new functions are more flexible than the other
{intercept,register}*ProtocoProtocol functions, since it allows the user to
return a node.js stream to feed the data to the protocol handler.

It also allows the user to specify a response header dictionary, which makes it
possible to correctly intercept any request made from renderers.
2017-11-13 16:16:14 -03:00
Thiago de Arruda
68f514b92f Implement EventSubscriber<T> class.
This class simplifies the task of subscribing/handling javascript events from
C++ classes in the main process.
2017-11-13 15:22:50 -03:00
Thiago de Arruda
64bfabdeba Make BindFunctionWith function visible to other modules. 2017-11-13 15:21:22 -03:00
Thiago de Arruda
6b666b69c0 Implement GetLoadTimingInfo in JsAsker class.
This is required to avoid a crash in blink when implementing a custom protocol
handler that deals with redirects.
2017-11-13 15:20:56 -03:00
Thiago de Arruda
6b2ddc4814 Stop allowing electron.net requests to be intercepted.
Not very useful to intercept requests from `electron.net`, since both the
interception machinery and `electron.net` live in the browser process.
2017-11-13 15:20:46 -03:00
Thiago de Arruda
32113bf7f9 Implement V8 -> C++ conversion of net::HttpResponseHeaders. 2017-11-13 15:20:40 -03:00
Thiago de Arruda
9c04d18387 Modify FillRequestDetails to pass headers dictionary. 2017-11-13 15:19:59 -03:00
Felix Rieseberg
163a33a9db Add fallbacks 2017-11-13 09:27:02 -08:00
Felix Rieseberg
b382dec4a2 🔧 Rename the label 2017-11-13 09:26:52 -08:00
Cheng Zhao
72440d4ae7 No need to add new methods to WebContentsPreferences 2017-11-13 17:35:49 +09:00
Cheng Zhao
cee1c459c7 Do not accidentally change the behavior of did-change-theme-color 2017-11-13 16:20:54 +09:00
Cheng Zhao
7e0593950c Code style fixes 2017-11-13 16:13:54 +09:00
Heilig Benedek
276e12ce71 pass on web_contents to properly handle devtools 2017-11-13 15:50:50 +09:00
Heilig Benedek
26daffea9c use smart pointer for paint_canvas 2017-11-13 15:50:49 +09:00
Heilig Benedek
4b10445c2e lint fix 2017-11-13 15:50:49 +09:00
Heilig Benedek
193beb57c9 fix datalist element popup position when menu is hidden 2017-11-13 15:50:49 +09:00
Heilig Benedek
f8b3009ebf restructure code to use web_preferences if possible 2017-11-13 15:50:49 +09:00
Heilig Benedek
71b36ef54d don't show the dummy window for the rest of the dialogs too on mac 2017-11-13 15:46:46 +09:00
Heilig Benedek
13b86598e8 don't show osr dummy window when dialog is shown on mac 2017-11-13 15:46:46 +09:00
Heilig Benedek
35dc6d03b9 lint fix 2017-11-13 15:46:46 +09:00
Heilig Benedek
e39aacb30e fix a bug that caused a crash when using an offscreen window with detached devtools, related to autofill popups 2017-11-13 15:46:46 +09:00
Heilig Benedek
5daaff91ea fix a bug where datalist elements wouldn't actually set the value of the input associated with them 2017-11-13 15:46:46 +09:00
Felix Rieseberg
7b0b87bfef 🔧 Use full version string 2017-11-12 22:37:46 -08:00
Samuel Attard
3c0b233d04
Fix line length in caller.cc 2017-11-13 11:42:42 +11:00
Samuel Attard
aa6b9a5025 Fix crash when emitting unhandled error on native EventEmitter 2017-11-13 03:03:58 +11:00
Samuel Attard
a06a8a6f79
Merge pull request #11056 from ajmacd/allow-browser-window-logs
Allow BrowserWindows to emit `console-message` events.
2017-11-11 14:34:39 +11:00
Ahmed
9b3960fe90
Merge branch 'master' into master 2017-11-08 18:03:55 +01:00
Samuel Attard
bb997c2ea4 Forward declare the scrubber layout 2017-11-08 16:48:08 +13:00
Andrew MacDonald
c260a0ab78 Allow BrowserWindows to emit console-message events. 2017-11-07 15:31:15 -08:00
Armagan Amcalar
edd113548a Make ScrubberItem width dynamic
Depending on whether a ScrubberItem has text or an icon, this changeset
calculates the actual width and sizes the TouchBar items accordingly.
Previously, all ScrubberItems, regardless of their content, had a static
width of 50px.

This commit also fixes #10539.
2017-11-07 00:09:14 +01:00
John Kleinschmidt
5383b4809f v1.8.2-beta.2 2017-11-06 16:11:34 -05:00
Charles Kerr
4ceeddc09f
Merge pull request #10972 from electron/dpi-issues
Workaround for Windows DPI issues
2017-11-02 10:16:11 -05:00
Shelley Vohr
24acd74d15
update deprecation warning 2017-11-01 22:23:33 -04:00
Shelley Vohr
3af83f1c97
add new method and mark setExtraParameter for deprecation 2017-11-01 21:57:43 -04:00
Felix Rieseberg
e8f8100e19 🔧 Add fixme 2017-11-01 11:30:32 -07:00
Shelley Vohr
7f89cd0774
remove const from non-member function 2017-10-31 23:55:22 -04:00
Shelley Vohr
93df164485
add const and other small edits 2017-10-31 23:42:25 -04:00
Shelley Vohr
a538e47994
complete GetParameters method & all tests passing 2017-10-31 18:19:04 -04:00
Shelley Vohr
3136f833a5
fixes and updates to GetParameters 2017-10-31 13:51:44 -04:00
Felix Rieseberg
58708d6242 🔧 Lowercase 2017-10-31 10:31:05 -07:00
Shelley Vohr
a9c13359dc
first attempt to add new GetParameters method to CrashReporter 2017-10-31 13:06:54 -04:00
Felix Rieseberg
08b8f2df55
📝 Typo! 2017-10-31 08:38:33 -07:00
Shelley Vohr
06075c4499
extrapolate removeExtraParameter into new method 2017-10-30 23:12:04 -04:00
Felix Rieseberg
91414dde62 🔧 I can't believe this helps 2017-10-30 11:22:07 -07:00
Samuel Attard
c9926bed9f
Merge pull request #10954 from electron/less-process-metrics-warnings
fix: Don't call idleWakeupsPerSecond on Windows
2017-10-28 12:36:45 +13:00
Samuel Attard
dc8b583363
Merge pull request #10944 from electron/fix-notification-ref-crash
Close the previous notification on multiple calls to show
2017-10-28 12:33:30 +13:00
Felix Rieseberg
da21d6cdda 🔧 Don't call idleWakeupsPerSecond on Windows 2017-10-27 14:23:06 -07:00
Matt Crocker
b6fb016a9a Cleanup per review comment 2017-10-27 00:07:54 -07:00
Matt Crocker
77a26882a3 Make linter happy 2017-10-27 00:04:19 -07:00
Matt Crocker
c5914516c8 Upstream good ideas from Muon 2017-10-27 00:04:19 -07:00
Matt Crocker
ca8f45a501 Notifications should emit close on close, not eventual GC 2017-10-27 00:04:19 -07:00
Samuel Attard
8719e9f098 Definitely didn't forget to push the header file 2017-10-27 16:27:37 +13:00
Samuel Attard
fe9069c028 Close the previous notification on multiple calls to show 2017-10-27 16:22:21 +13:00
Charles Kerr
c72e0c1508 Merge pull request #10902 from mattlyons0/master
🐧 Don't wait for xdg-open to exit
2017-10-26 09:43:34 -05:00
Paul Frazee
c2d9e082cb Fix crash in custom protocols caused by bad callback exec 2017-10-25 21:01:53 -05:00
Matt Lyons
424f9aeae6 🐧 Don't wait for xdg-open to exit
Waiting for xdg-open to return freezes Electron application.
Some file managers (ex: Nemo) don't return until some time after they are closed, this freezes the Electron application until the process returns.
The same is true about any application that can potentially be opened with OpenItem
2017-10-24 19:39:54 -07:00
John Kleinschmidt
67f0eb7b3b Merge pull request #10873 from ahmedmohamedali/fix_issue_10697
Fixes #10697
2017-10-23 09:32:28 -04:00
Ahmed Mohamed Ali
463260b249 Electron crashes if user clicks Dev Tools & Zoom options #10697 2017-10-21 22:21:24 +02:00
Ted Kim
4119da607f Implement login helper to manage login item in Mac App Store build 2017-10-20 11:44:19 +09:00
Ahmed Mohamed Ali
9f3cfa2dbd Fix crash that happens when the PDF viewer is refreshed.
The root cause is the PdfViewerHandler instanceis destroyed but not removed from the list of observer in WebContentsZoomController
2017-10-19 16:27:08 +02:00
John Kleinschmidt
90e7d7e112 v1.8.2-beta.1 2017-10-18 16:49:32 -04:00
Ahmed Mohamed Ali
05035eb1e3 Fix linefeeds 2017-10-18 17:36:56 +02:00
John Kleinschmidt
57537ea10e Merge pull request #10810 from qazbnm456/add_error_code_to_session_set_certificate_verify_proc
Add error code to session.setCertificateVerifyProc
2017-10-18 09:33:37 -04:00
John Kleinschmidt
cbda307ebf Merge pull request #10696 from primalmotion/patch-1
🍎 skip tabbing category if macOS < Sierra
2017-10-17 10:24:11 -04:00
Boik
f40cc5ab54 add error code to session.setCertificateVerifyProc 2017-10-16 17:17:21 +08:00
Ahmed Mohamed Ali
8763e8ee35 Fixing coding style 2017-10-14 11:17:52 +02:00
Ahmed Mohamed Ali
5030db000a Applying changes requested by @deepak1556 after the review:
- Move RenderFrameHost methods in the UI thread
- Check GetAssociatedRenderFrame return value
2017-10-14 11:09:05 +02:00
Ahmed Mohamed Ali
1ad95eca4a Add support for pdf in sub frames (https://github.com/electron/electron/issues/9192#issuecomment-335543866) 2017-10-13 19:56:20 +02:00