📝 Update as upstream

[ci skip]
This commit is contained in:
Plusb Preco 2016-01-22 02:39:37 +09:00 committed by Cheng Zhao
parent bbf622187c
commit 4b02a8ead0
8 changed files with 106 additions and 23 deletions

View file

@ -422,7 +422,7 @@ if (shouldQuit) {
return;
}
// 윈도우 창을 생성하고 각종 리소스를 로드하고 작업합니다..
// 윈도우 창을 생성하고 각종 리소스를 로드하고 작업합니다.
app.on('ready', function() {
});
```
@ -433,6 +433,36 @@ app.on('ready', function() {
[Application User Model ID][app-user-model-id]를 `id`로 변경합니다.
### `app.isAeroGlassEnabled()` _Windows_
이 메서드는 [DWM 컴포지션](https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx)
(Aero Glass)가 활성화 되어있을 때 `true`를 반환합니다. 아닌 경우 `false`를 반환합니다.
이 메서드는 투명한 윈도우를 만들기 위해 사용 가능 여부를 확인할 때 사용할 수 있습니다.
(투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다)
사용 예시:
```js
let browserOptions = {width: 1000, height: 800};
// 플랫폼이 지원하는 경우에만 투명 윈도우를 생성
if (process.platform !== 'win32' || app.isAeroGlassEnabled()) {
browserOptions.transparent = true;
browserOptions.frame = false;
}
// 원도우 생성
win = new BrowserWindow(browserOptions);
// 페이지 로드
if (browserOptions.transparent) {
win.loadURL('file://' + __dirname + '/index.html');
} else {
// 투명 윈도우 상태가 아니라면, 기본적인 폴백 스타일 사용
win.loadURL('file://' + __dirname + '/fallback.html');
}
```
### `app.commandLine.appendSwitch(switch[, value])`
Chrominum의 명령줄에 스위치를 추가합니다. `value`는 추가적인 값을 뜻하며 옵션입니다.

View file

@ -49,6 +49,8 @@ win.show();
* `maxHeight` Integer - 윈도우 창의 최대 세로 높이. 기본값은 `제한없음`입니다.
* `resizable` Boolean - 윈도우 창의 크기를 재조정 할 수 있는지 여부. 기본값은 `true`
입니다.
* `movable` Boolean - 윈도우를 이동시킬 수 있는지 여부. 이 기능은 현재 OSX에만
구현되어 있습니다. 기본값은 `true`
* `alwaysOnTop` Boolean - 윈도우 창이 언제나 다른 창들 위에 유지되는지 여부.
기본값은 `false`입니다.
* `fullscreen` Boolean - 윈도우 창의 전체화면 활성화 여부. 기본값은 `false` 입니다.
@ -354,8 +356,6 @@ var win = new BrowserWindow({ width: 800, height: 600 });
않습니다. 또한 이 윈도우의 `close`도 일어나지 않습니다. 하지만 `closed` 이벤트는
반드시 발생함을 보장합니다.
이 메서드는 렌더러 프로세스가 예기치 않게 크래시가 일어났을 경우에만 사용해야 합니다.
### `win.close()`
윈도우의 종료를 시도합니다. 이 메서드는 사용자가 윈도우의 닫기 버튼을 클릭했을 때와
@ -440,14 +440,16 @@ var win = new BrowserWindow({ width: 800, height: 600 });
크기는 관여하지 않습니다. 그저 전체 컨텐츠 뷰 내에 있는 모든 엑스트라 너비, 높이 영역이
합해집니다.
### `win.setBounds(options)`
### `win.setBounds(options[, animate])`
`options` Object, properties:
* `options` Object, properties:
* `x` Integer
* `y` Integer
* `width` Integer
* `height` Integer
* `x` Integer
* `y` Integer
* `width` Integer
* `height` Integer
* `animate` Boolean (optional) _OS X_
윈도우를 지정한 `width`, `height`, `x`, `y`로 크기 재조정 및 이동합니다.
@ -455,10 +457,11 @@ var win = new BrowserWindow({ width: 800, height: 600 });
윈도우의 width, height, x, y 값을 가지는 객체를 반환합니다.
### `win.setSize(width, height)`
### `win.setSize(width, height[, animate])`
* `width` Integer
* `height` Integer
* `animate` Boolean (optional) _OS X_
`width``height` 값으로 윈도우 크기를 재조정합니다. (너비, 높이)
@ -466,10 +469,11 @@ var win = new BrowserWindow({ width: 800, height: 600 });
윈도우의 너비, 높이값을 가지는 배열을 반환합니다.
### `win.setContentSize(width, height)`
### `win.setContentSize(width, height[, animate])`
* `width` Integer
* `height` Integer
* `animate` Boolean (optional) _OS X_
윈도우 클라이언트 영역(웹 페이지)의 크기를 `width`, `height`로 재조정합니다.
@ -524,10 +528,11 @@ var win = new BrowserWindow({ width: 800, height: 600 });
윈도우를 화면 정 중앙으로 이동합니다.
### `win.setPosition(x, y)`
### `win.setPosition(x, y[, animate])`
* `x` Integer
* `y` Integer
* `animate` Boolean (optional) _OS X_
윈도우의 위치를 `x`, `y`로 이동합니다.

View file

@ -19,11 +19,11 @@ var win = new BrowserWindow({ width: 800, height: 600, frame: false });
OS X 10.10 Yosemite 이후의 최신 버전부터는 테두리가 없는 창을 만들 때 새로운 방법을
사용할 수 있습니다. `frame` 옵션을 `false`로 지정하여 제목과 창 구성 요소를 모두
비활성화하는 대신 새로운 `title-bar-style` 옵션을 통해 제목만 숨기고 창 구성 요소
비활성화하는 대신 새로운 `titleBarStyle` 옵션을 통해 제목만 숨기고 창 구성 요소
("흔히 신호등으로 알고 있는")의 기능과 창 크기를 그대로 유지할 수 있습니다:
```javascript
var win = new BrowserWindow({ 'title-bar-style': 'hidden' });
var win = new BrowserWindow({ 'titleBarStyle': 'hidden' });
```
## 투명한 창 만들기

View file

@ -1,7 +1,8 @@
# ipcMain
`ipcMain` 모듈은 메인 프로세스에서 사용할 때 랜더러 프로세스(웹 페이지)에서 전달된
동기/비동기 메시지를 주고 받는 방법을 제공합니다. 랜더러 프로세스에서 메시지를 전달하면
`ipcMain` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의
인스턴스입니다. 메인 프로세스에서 사용하면, 랜더러 프로세스(웹 페이지)에서 전달된
동기, 비동기 메시지를 주고 받는 방법을 제공합니다. 랜더러 프로세스에서 메시지를 전달하면
이 모듈을 통해 메시지를 받을 수 있습니다.
## 메시지 전송
@ -50,9 +51,29 @@ ipcRenderer.send('asynchronous-message', 'ping');
* `channel` String - 이벤트 이름
* `callback` Function
이벤트가 발생하면 `event` 객체와 `arg` 메시지와 함께 `callback`이 호출됩니다.
이벤트가 발생하면 `event` 객체와 임의 메시지와 함께 `callback`이 호출됩니다.
## IPC 이벤트
### `ipcMain.removeListener(channel, callback)`
* `channel` String - 이벤트의 이름
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
있습니다.
### `ipcMain.removeAllListeners(channel)`
* `channel` String - 이벤트의 이름
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
### `ipcMain.once(channel, callback)`
`ipcMain.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
## IPC Event
`callback`에서 전달된 `event` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:

View file

@ -1,7 +1,8 @@
# ipcRenderer
`ipcRenderer` 모듈은 랜더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고
받는 방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 응답할 수도 있습니다.
`ipcRenderer` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의
인스턴스입니다. 랜더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고 받는
방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 응답할 수도 있습니다.
[ipcMain](ipc-main.md)에서 코드 예제를 확인할 수 있습니다.
@ -16,6 +17,26 @@
이벤트가 일어나면 `event` 객체와 임의의 인자와 함께 `callback` 함수가 호출됩니다.
### `ipcMain.removeListener(channel, callback)`
* `channel` String - 이벤트의 이름
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
있습니다.
### `ipcMain.removeAllListeners(channel)`
* `channel` String - 이벤트의 이름
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
### `ipcMain.once(channel, callback)`
`ipcMain.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
## 메시지 보내기
`ipcRenderer`는 다음과 같은 메시지 전송 메서드를 가지고 있습니다:

View file

@ -158,6 +158,13 @@ session.defaultSession.cookies.set(cookie, function(error) {
`url``name`에 일치하는 쿠키를 삭제합니다. 작업이 완료되면 `callback`
`callback()` 형식으로 호출됩니다.
#### `ses.getCacheSize(callback)`
* `callback` Function
* `size` Integer - 바이트로 표현된 캐시 크기
세션의 현재 캐시 크기를 반환합니다.
#### `ses.clearCache(callback)`
* `callback` Function - 작업이 완료되면 호출됩니다.

View file

@ -78,6 +78,5 @@ require('electron').hideInternalModules()
```
[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface
[main-process]: ../tutorial/quick-start.md#메인-프로세스
[desctructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
[issue-387]: https://github.com/atom/electron/issues/387

View file

@ -60,13 +60,13 @@ $ electron --debug=5858 your/app
$ electron --debug-brk=5858 your/app
```
### 5. Electron을 사용하는 [node-inspector][node-inspector] 시작
### 6. Electron을 사용하는 [node-inspector][node-inspector] 시작
```bash
$ ELECTRON_RUN_AS_NODE=true path/to/electron.exe node_modules/node-inspector/bin/inspector.js
```
### 6. 디버거 UI 로드
### 7. 디버거 UI 로드
Chrome 브라우저에서 http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 주소에
접속합니다. (기본 포트 또는 지정한 포트로 접속) 엔트리의 라인이 debug-brk로 시작하는