Commit graph

2525 commits

Author SHA1 Message Date
Kevin Sawicki
96ef09742c Directly assign submenu when constructor is Menu 2015-12-07 11:16:36 -08:00
Kevin Sawicki
d5c740957f 🎨 2015-12-07 09:29:03 -08:00
Kevin Sawicki
26ac86c95c Convert submenu when non-Menu is passed into MenuItem ctor 2015-12-07 09:28:48 -08:00
Cheng Zhao
e1d7ef7e24 Bump v0.35.4 2015-12-04 19:23:48 +08:00
Cheng Zhao
c8e2be7b28 Bump v0.35.3 2015-12-04 16:43:23 +08:00
Cheng Zhao
5e5ae81c53 'key of' is better than Object.keys 2015-12-04 11:40:35 +08:00
Cheng Zhao
973ae06f21 Destroy the native window in next tick
It fixes a possible crash when native code is iterating all windows
while the JavaScript code decides to destroy a window.
2015-12-04 11:35:04 +08:00
Cheng Zhao
2c6d232254 Don't add too much listeners in BrowserWindowProxy 2015-12-04 11:12:36 +08:00
Cheng Zhao
504d3d3088 Merge pull request #3670 from mixmaxhq/jeff/fix_window_open
Fix `window.open` not respecting the features string
2015-12-04 10:55:51 +08:00
Charlie Hess
f2797d2eab Merge commit '58567834c7cb9c290ef48c9e8f54ae37246ef665' into web-contents-download-url
Conflicts:
	atom/browser/api/atom_api_web_contents.cc
2015-12-03 10:31:51 -08:00
Cheng Zhao
48a11bd237 Weak map only needs to be deleted for once 2015-12-03 17:10:14 +08:00
Cheng Zhao
eb8426269f Remove itself from the cleanup list when it is destroyed 2015-12-03 17:04:40 +08:00
Cheng Zhao
1e7c8c9fda It is fine to leak a V8 handle on exit 2015-12-03 16:33:57 +08:00
Cheng Zhao
117b7462de window.id is no longer available when window is closed 2015-12-03 16:17:10 +08:00
Cheng Zhao
a15f9fab5b Use BuildPrototype to build prototype
This saves the step of manually keeping the global template object,
which is easy to forget then leak.
2015-12-03 16:04:46 +08:00
Cheng Zhao
6795bd1d96 Do not manually manage native resources
We should rely on the destructor to cleanup everything, instead of
putting them in the Destroy method.
2015-12-03 15:38:43 +08:00
Cheng Zhao
e5358d405a Make sure V8 Function passed to native code are destroyed on UI thread 2015-12-03 11:24:33 +08:00
Charlie Hess
0d30a8d70c Make downloadURL available on the webview tag. 2015-12-02 18:40:02 -08:00
Charlie Hess
c311c6cf1b Add a DownloadURL method on WebContents. 2015-12-02 13:49:30 -08:00
Jeff Wear
225fe72d03 Ensure that window.open does not override the child options
Fixes https://github.com/atom/electron/issues/3652.
2015-12-02 12:00:51 -08:00
Cheng Zhao
615ce45849 win: Implement menu parameter 2015-12-02 19:58:10 +08:00
Cheng Zhao
3cdd0f35c7 mac: Implement menu parameter 2015-12-02 19:05:22 +08:00
Cheng Zhao
2fba05b5e7 Add menu parameter for Tray.popUpContextMenu 2015-12-02 18:43:11 +08:00
Cheng Zhao
202475f5a9 Deprecating a property with method of same name causes trouble
Close #3511.
2015-12-02 17:29:58 +08:00
Cheng Zhao
c493bec089 Make sure temp file will be cleaned up when base::Move fails 2015-12-02 11:36:29 +08:00
Cheng Zhao
c3645e3f95 Don't call Move if there is no need to move 2015-12-02 11:07:48 +08:00
Juan Cruz Viotti
a99c193cf2 🏁 Preserve file extension when extracting from asar
Currently, when calling `copyFileOut`, the original extension from the
file is lost, and a generic `*.tmp` is added instead.

This becomes problematic in the scenario where we use
`child_process.execFile` on a Windows Batch script that lives inside the
`asar` package.

Windows relies on the extension being present in order to interpret the
script accordingly, which results in the following bug because the
operating system doesn't know what do to with this `*.tmp` file:

```
Error: spawn UNKNOWN
```

Steps to reproduce:

1. Create a dummy batch script (test.bat):

```
@echo off
echo "Hello world"
```

2. Create an electron app that attemps to call this script with
`child_process.execFile`:

```js
var child_process = require('child_process');
var path = require('path');

child_process.execFile(path.join(__dirname, 'test.bat'), function(error, stdout) {
    if (error) throw error;
    console.log(stdout);
});
```

3. Package this small application as an asar archive:

```sh
> asar pack mytestapp app.asar
```

4. Execute the application:

```sh
> electron.exe app.asar
```
2015-12-01 14:55:58 -04:00
Cheng Zhao
e5974e44ed Deprecate the page-title-set event
We have two names for the same event, page-title-updated wins.
2015-12-01 18:50:56 +08:00
Cheng Zhao
c95117fb22 Delay the page-title-set event to next tick 2015-12-01 18:34:58 +08:00
Cheng Zhao
83ee78451a Emit event when title becomes empty 2015-12-01 17:53:13 +08:00
Cheng Zhao
8d20dda6d7 No need to override TitleWasSet in NativeWindow 2015-12-01 17:51:09 +08:00
Cheng Zhao
1b3eb1cc5d Delay the did-fail-provisional-load event to next tick
Chrome is doing some stuff after the DidFailProvisionalLoad event, if we
call LoadURL at this time crash would happen.
2015-12-01 17:00:42 +08:00
Cheng Zhao
0f17a0163d Put common constants in atom_constants 2015-12-01 16:21:15 +08:00
Cheng Zhao
e3ec1fe8ab Add process.noAsar to turn off asar support 2015-12-01 13:09:37 +08:00
Paul Betts
7fd1db192b Lint harder 2015-11-30 18:12:00 -08:00
Paul Betts
549da7fd91 Linting 2015-11-30 11:10:18 -08:00
Paul Betts
7cce3987eb Add CORS header to file jobs 2015-11-30 11:08:45 -08:00
Paul Betts
65cb1488b0 Fix CORS header code to be cleaner 2015-11-30 11:08:44 -08:00
Paul Betts
7622bb40a9 Enable all origins via CORS header for custom schemes
This PR disables CORS for custom schemes, which allows you to serve Font
resources from custom schemes after using registerCustomSchemeAsSecure
2015-11-30 11:08:43 -08:00
Cheng Zhao
44e24ebf7a Delete BridgeTaskRunner when main message loop is ready 2015-11-30 22:29:01 +08:00
Luke Westby
df9ecefe01 fix typo in "rotation" string 2015-11-29 12:22:53 -06:00
Cheng Zhao
62add3abcc Bump v0.35.2 2015-11-27 22:23:19 +08:00
Cheng Zhao
cfdcfcbd80 Add executable permission in CopyFileOut 2015-11-27 22:06:37 +08:00
Cheng Zhao
42454b07d0 Merge pull request #3595 from jviotti/jviotti/fix/3512/execFile-override-exec-permissions
🐛 Fix missing execution permission bit in execFile override
2015-11-27 11:39:45 +08:00
Juan Cruz Viotti
585ff9062c 🐛 Fix missing execution permission bit in execFile override
Consider an electron application that uses `execFile` to run a script
that lives within the application code base:

```coffee
child_process = require 'child_process'
child_process.execFile __dirname + '/script.sh', (error) ->
  throw error if error?
```

An application like this will fail when being packaged in an `asar` with
an following error:

```
Error: spawn EACCES
```

Electron overrides certain `fs` functions to make them work within an
`asar` package. In the case of `execFile`, the file to be executed is
extracted from the `asar` package into a temporary file and ran from
there.

The problem is that during the extraction, the original permissions of
the file are lost.

We workaround this by:

1. Extending `asar.stat` to return whether a file is executable or not,
  which is information that's already saved in the `asar` header.

2. Setting execution permissions on the extracted file if the above
  property holds true.

Fixes: https://github.com/atom/electron/issues/3512
2015-11-26 23:30:23 -04:00
Cheng Zhao
932cd92bf6 Fix wrong deprecation wrappers of BrowserWindow 2015-11-27 10:30:51 +08:00
Cheng Zhao
59402eb23f Add ELECTRON_NO_ATTACH_CONSOLE env var
Close #1556.
2015-11-26 21:11:28 +08:00
Cheng Zhao
b1e6d4f64c Check ELECTRON_RUN_AS_NODE env var 2015-11-26 20:37:21 +08:00
Cheng Zhao
b0d4aa211d Fix compatibility with activate-with-no-open-windows event 2015-11-26 13:57:48 +08:00
Cheng Zhao
6c1878d15b mac: Clears the delegate when window is going to be closed
Since EL Capitan it is possible that the methods of delegate would get
called after the window has been closed.

Refs atom/atom#9584.
2015-11-26 13:56:56 +08:00