Commit graph

1505 commits

Author SHA1 Message Date
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
Milan Burda
6ad0a22602 Add process.getHeapStatistics() (#13183) 2018-06-10 22:00:36 +10:00
Charles Kerr
b89fe86fa1
Merge pull request #13050 from electron/3.0.0-deprecations
chore: removal of 3.0.0 deprecations
2018-05-30 09:25:36 +02:00
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
Shelley Vohr
104fa96d4d
fix options switch for kBlinkFeatures 2018-05-25 11:13:15 -07:00
Cheng Zhao
0f7c25fc63 Put View APIs under a build flag 2018-05-24 15:44:07 +09:00
Cheng Zhao
322bde526c Add LayoutManager/BoxLayout APIs 2018-05-24 15:36:29 +09:00
Shelley Vohr
5f5322c64e
rename blinkFeatures to enableBlinkFeatures 2018-05-23 14:01:34 -07:00
Shelley Vohr
22fed0c798
remove nativeImage.createFromBuffer() deprecation 2018-05-23 09:43:58 -07:00
Milan Burda
2337237d58 Refactoring: use C++11 class member variable initialization 2018-05-22 00:18:38 +02:00
Milan Burda
850051463b don't use native_mate/compat.h macros (#12984) 2018-05-18 09:08:28 +09:00
Jeremy Apthorp
da0fd10423 refactor: chromium-style warnings in linux code (#12949) 2018-05-16 14:12:45 -05: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
Milan Burda
6a4d9309b2 Remove unnecessary heap allocations of atom::V8ValueConverter instances (#12924) 2018-05-15 09:21:23 -05:00
Cheng Zhao
5a320222e2 feat: add WebContentsView API 2018-05-15 14:03:21 +09:00
Cheng Zhao
e058d11657 feat: add View API 2018-05-15 14:03:21 +09:00
Jeremy Apthorp
73ac019882 Fix up #includes to work with both GYP and GN 2018-05-10 13:38:40 -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
Shelley Vohr
12a57ff1c2 clang-format objc files (#12673) 2018-04-20 11:47:04 -07:00
Robo
ff571f3b5d Part I: Move from base::Bind to base::BindOnce and remove unneeded base::Passed (#12661) 2018-04-20 19:55:05 +09:00
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
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
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
Shelley Vohr
ca406637af
add converters for base::BindOnce and base::BindRepeating 2018-04-17 18:47:12 -04: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
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
Shelley Vohr
90a7b5ebce
switch to simplified version of copy_to 2018-04-16 08:47:34 -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
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
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
d722008367
remove unnecessary ptr_util.h include 2018-04-12 22:34:26 -04:00
Shelley Vohr
b05932310b
replace base::MakeUnique with std::make_unique 2018-04-12 08:48:32 -04:00
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
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
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
Cheng Zhao
97fcf7079b Update chrome_version.h 2018-03-20 10:13:17 +03:00
Cheng Zhao
624e09533c Avoid using deprecated skia size methods 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
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
Nitish Sakhawalkar
ecd0f9d0e7 Fix build by adding define in node_includes.h 2018-03-20 10:13:15 +03:00
Aleksei Kuzmin
f68cba0c71 Update Chrome version 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
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
b0fe23072d Update chrome version 2018-03-20 10:13:15 +03:00
Samuel Attard
7356be0164 Convert optional webpoint 2018-03-20 10:13:14 +03:00
Samuel Attard
41b9825f00 WebContents are no longer IPC Sender's 2018-03-20 10:08:58 +03:00
Aleksei Kuzmin
b608152c41 Update Chrome version to 63.0.3239.84 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
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
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
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
Ales Pergl
4673c67835 Fixed passing of exception to the system crash handler 2018-03-09 15:46:27 +01:00
deepak1556
3cfe66e4c3 move ipc use from rvh to rfh 2018-03-09 15:01:09 +05:30
Cheng Zhao
e79b18762e Enter context scope before InternalCallbackScope 2018-03-09 16:14:24 +09:00
Cheng Zhao
5d2452608d Use InternalCallbackScope for ticking event loop 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
Shelley Vohr
c8ef15cf40 update node::Environment::TickInfo calls 2018-03-09 15:23:39 +09:00
Aleksei Kuzmin
52c0864cb8 Use version 0.0.0-dev everywhere 2018-03-05 16:24:48 +01:00
Cheng Zhao
39e0433570 Fix build error after rebasing 2018-02-23 10:22:00 +09:00
shelley vohr
0e5b6f9300 Upgrade to node v9.3.0 (#11507)
* update submodule refs for node v9.3.0

* Define "llvm_version" for Node.js build

* NODE_MODULE_CONTEXT_AWARE_BUILTIN -> NODE_BUILTIN_MODULE_CONTEXT_AWARE

* update NodePlatform to MultiIsolatePlatform

* fix linting error

* update node ref

* REVIEW: Explicitly register builtin modules

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

* update libcc ref

* switch libcc to c62

* REVIEW: Address node api changes

- Always start the inspector agent for https://github.com/nodejs/node/pull/17085
- Set the tracing controller for node https://github.com/nodejs/node/pull/15538
- Isolate data creation now requires plaform https://github.com/nodejs/node/pull/16700
2018-02-23 10:22:00 +09:00
deepak1556
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
Aleksei Kuzmin
5783ce0b3c Update chrome_version.h 2018-02-23 10:21:23 +09:00
shelley vohr
7bcccdec41 remove atom-shell process name (#11979) 2018-02-20 10:33:38 -06:00
shelley vohr
6a3fde6e20
Merge pull request #11973 from electron/remove-clipboard-methods
Remove html/rtf methods marked for 2.0
2018-02-20 11:21:10 -05:00
Charles Kerr
8d086a43cb
Fix brightray::GetApplicationName(), ..Version() on Linux (#11980)
* add brightray API to override app version

* in atom browser, use brightray app version API

* on Linux, have GetApplicationVersion() use brightray version API

* on Linux, implement brightray::GetApplicationName()

* fix typo in brightray API

* make browser.GetName() logic follow GetVersion() logic

* improve variable name in OverrideApplicationVersion declaration

* fix typo in brightray impl
2018-02-20 10:16:51 -06:00
shelley vohr
a2856db982 Remove nativeImage deprecated methods (#11978)
* remove deprecated nativeimage methods

* remove .only from spec
2018-02-20 09:15:27 -06:00
Shelley Vohr
e4e20d667b
remove html/rtf methods marked for 2.0 2018-02-20 08:41:58 -05:00
Shelley Vohr
fc025064f7
remove setExtraParameter for 2.0 2018-02-20 08:26:10 -05:00
Samuel Attard
b3234f634b Add ability to set arbitrary arguments in a renderer process (#11850) 2018-02-12 11:54:31 -06:00
Felix Rieseberg
6c6fa3190f Fix PRE_RELEASE_VERSION (on master) (#11844)
* 🔧 Fix PRE_RELEASE_VERSION

* 🔧 Fix spacing

* 🔧 Fix this, but harder
2018-02-06 16:33:51 -06:00
Aleš Pergl
c49cb29ddf Disallow launching unknown apps via browser client.
CVE-2018-1000006
2018-01-22 16:49:30 -06:00
Adrien Fery
f3ae566164 Add in-app purchase for MacOS 2018-01-10 13:14:18 +09:00
Cheng Zhao
4298aecb7c
Merge pull request #11547 from electron/draggable_regions_patch
fix: draggable region ipc should be frame based
2018-01-07 21:15:50 +09:00
Charles Kerr
435c9c1486 Force uv loop cleanup (#11465)
* ensure all uv handles are closed before ending worker's loop

* add DCHECK to test that the Worker loop is finished

* don't call deprecated uv_loop_new(), uv_loop_delete()

* make cpplint happy

* fix comment error

* empty commit for CI

* tweak DCHECK expression

* extract-method: stop_and_close_uv_loop()

* fix DCHECK oops
2018-01-04 11:16:06 -08:00
Cheng Zhao
1072c75e38 Closing asar file should be syncronous 2018-01-03 19:12:16 +09:00
Cheng Zhao
fb78052b3d Remove unnecessary scope 2018-01-03 19:10:48 +09:00
deepak1556
237bd6790b FIXME: allow IO access on main thread for crash reporter 2018-01-02 16:37:11 +09:00
deepak1556
e3a56240c9 REVIEW: fix base::File helper usage on incorrect task sequence 2018-01-02 16:37:10 +09:00
deepak1556
1d95241185 FIXME: refactor and remove usage of ScopedAllowIO where possible 2018-01-02 16:37:06 +09:00
deepak1556
fedf1d889b handle NaN conversion from V8 2018-01-02 16:37:06 +09:00
deepak1556
99e26b8318 fix: draggable region ipc should be frame based 2018-01-01 22:54:02 +05:30
Cheng Zhao
cb3a9c69ab Add a SessionPreferences to manage session related data
By design the BrowserClient should not be aware of the api:: classes.
2017-12-05 15:59:15 +09:00
Samuel Attard
d9359d8b6c s/global/session in constants 2017-12-05 11:35:53 +09:00
Samuel Attard
0ddd078aaf Add ability to set global preload scripts 2017-12-05 11:35:27 +09:00
Zeke Sikelianos
aab35073ee
Merge pull request #11255 from electron/fix-11245
Enable nativeImage module addRepresentation() tests
2017-11-30 10:48:11 -08:00
Aleksei Kuzmin
b9ed7380aa Explicitly set alpha type of bitmaps with JPEG data to opaque
Actually fixes #11245.
2017-11-30 17:56:32 +01:00
Cheng Zhao
b161a4f515
Merge pull request #11166 from sethlu/openrecent
feat: Recent documents menu item
2017-11-28 10:55:14 +09:00