Commit graph

2502 commits

Author SHA1 Message Date
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
Cheng Zhao
8ce19d8059 Merge pull request #3586 from atom/ipc-fasterer
Ensure calling webview.send will not block the renderer
2015-11-26 13:15:08 +08:00
Cheng Zhao
9c62be8fc9 Improve the deprecation notice for ipc module
Close #3577.
2015-11-26 11:06:56 +08:00
Paul Betts
789380dfad Ensure calling webview.send will not block the renderer
When the browser process is busy, calling webview.send (a method that appears
on its face to be non-blocking) will actually block, because most webview methods
are remoted to a guest view instance in the browser. Instead, define a few methods
which will instead send its call over an async IPC message.
2015-11-25 15:54:30 -08:00
Ryan Prichard
0f5a3baff4 Fix https://github.com/atom/electron/issues/3565 by adding a typeof 2015-11-24 16:49:52 -06:00
Cheng Zhao
fe88cb01fc Merge pull request #3531 from deepak1556/fetch_job_nocontent_patch
protocol: handle http responses with no content
2015-11-24 15:45:07 +08:00
Cheng Zhao
e98d4c4a2e Merge pull request #3549 from bengotow/fix-hide-others
Remove trailing colons from default menu roles
2015-11-23 17:44:06 +08:00
Cheng Zhao
360a747acf Merge pull request #3542 from etiktin/fix_menu_item_using_deprcated_api
Fix menu-item using deprecated API
2015-11-23 17:11:44 +08:00
Cheng Zhao
634fef2508 Merge pull request #3537 from etiktin/make_BrowserWindow_options_optional
Make BrowserWindow options argument optional
2015-11-23 16:56:30 +08:00
Robo
167f11e797 protocol: handle http responses with no content 2015-11-23 01:07:14 +05:30
Ben Gotow
fbdef9e112 Remove trailing colons from default menu roles
`hideothers` and `unhide` had trailing colons which prevented them from being enabled / working in the default app. #3543
2015-11-22 09:08:35 -08:00
Eran Tiktin
6db6842c14 Fix menu-item using deprecated API
Some of the roles in menu-item use methods on BrowserWindow instead of
WebContents which outputs a deprecation warning.
I changed it to use the correct methods.
2015-11-22 01:13:57 +02:00
Eran Tiktin
18de28c3ff Make BrowserWindow options argument optional
Resolves #3473
2015-11-21 06:22:19 +02:00
Eran Tiktin
9341b9d640 Make links to docs, point to the correct version
- Links to docs in the default app, pointed to the docs in the master
branch. I changed them to point to the docs that match Electron's
version.
- Added Electron's version to the header of the default app, so it will
be easier to figure out what version is currently running.
2015-11-21 02:26:59 +02:00
Cheng Zhao
29052b0498 Bump v0.35.1 2015-11-20 13:36:59 +08:00
Cheng Zhao
8e2faba8f7 Small style fix 2015-11-20 13:06:42 +08:00
Cheng Zhao
c1d6d68783 Merge pull request #3509 from bengotow/macosx-desktop-window
Support the "desktop" window type on Mac OS X
2015-11-20 13:02:05 +08:00
Cheng Zhao
784d2633a9 Make child_process.execFileSync support asar 2015-11-20 10:33:57 +08:00
Cheng Zhao
08c13cf446 Deprecate app.resolveProxy
There is now a public API to get default session, this helper is no
longer necessary.
2015-11-19 21:32:46 +08:00
Cheng Zhao
1392873cbc Add session.defaultSession and remove app.defaultSession
The latter has never been a public API, no need to keep it.
2015-11-19 21:03:42 +08:00
Cheng Zhao
47d7d49d19 Add session module 2015-11-19 20:47:11 +08:00
Cheng Zhao
9a20b33d97 Add isDestroyed method for classes with destroy method 2015-11-19 17:08:16 +08:00
Ben Gotow
d427ae1030 Support the "desktop" window type on Mac OS X
Adds the desktop window type referenced in https://github.com/atom/electron/issues/2899 for compatiblity with the linux version. Note that on Mac OS X, the desktop window cannot receive input events (seems to be a limitation of being behind the desktop).

In this diff I also removed the `standardWindow` option from the docs, in favor of an additional `textured` value for window `type` on Mac OS X. The old `standardWindow` option continues to work, but seemed more confusing. If this seems like a bad idea, I can revert that change.
2015-11-19 00:39:45 -08:00
Cheng Zhao
87546bd4f8 Merge pull request #3479 from bengotow/tray-resizing
Fix sizing of Mac OS X tray icon after image change
2015-11-18 18:49:15 +08:00