:memo: Update as upstream
authorPlusb Preco <plusb21@gmail.com>
Sat, 12 Dec 2015 12:41:17 +0000 (21:41 +0900)
committerCheng Zhao <zcbenz@gmail.com>
Mon, 14 Dec 2015 11:18:27 +0000 (19:18 +0800)
[ci skip]

docs-translations/ko-KR/api/browser-window.md
docs-translations/ko-KR/api/session.md

index 91a813f..a278a50 100644 (file)
@@ -5,8 +5,12 @@
 다음 예제는 윈도우 창을 생성합니다:
 
 ```javascript
+// 메인 프로세스에서
 const BrowserWindow = require('electron').BrowserWindow;
 
+// 또는 랜더러 프로세스에서
+const BrowserWindow = require('electron').remote.BrowserWindow;
+
 var win = new BrowserWindow({ width: 800, height: 600, show: false });
 win.on('closed', function() {
   win = null;
index 3fda574..5728b54 100644 (file)
@@ -11,7 +11,7 @@ var BrowserWindow = require('browser-window');
 var win = new BrowserWindow({ width: 800, height: 600 });
 win.loadURL("http://github.com");
 
-var ses = win.webContents.session
+var ses = win.webContents.session;
 ```
 
 ## Methods
@@ -62,7 +62,7 @@ Electron의 `webContents`에서 `item`을 다운로드할 때 발생하는 이
 `event.preventDefault()` 메서드를 호출하면 다운로드를 취소합니다.
 
 ```javascript
-session.on('will-download', function(event, item, webContents) {
+session.defaultSession.on('will-download', function(event, item, webContents) {
   event.preventDefault();
   require('request')(item.getURL(), function(data) {
     require('fs').writeFileSync('/somewhere', data);
@@ -80,60 +80,51 @@ session.on('will-download', function(event, item, webContents) {
 있습니다:
 
 ```javascript
-var BrowserWindow = require('browser-window');
-
-var win = new BrowserWindow({ width: 800, height: 600 });
-
-win.loadURL('https://github.com');
-
-win.webContents.on('did-finish-load', function() {
-  // 모든 쿠키를 가져옵니다.
-  win.webContents.session.cookies.get({}, function(error, cookies) {
-    if (error) throw error;
-    console.log(cookies);
-  });
+// 모든 쿠키를 요청합니다.
+session.defaultSession.cookies.get({}, function(error, cookies) {
+  console.log(cookies);
+});
 
-  // Url에 관련된 쿠키를 모두 가져옵니다.
-  win.webContents.session.cookies.get({ url : "http://www.github.com" },
-      function(error, cookies) {
-        if (error) throw error;
-        console.log(cookies);
-  });
+// url에 관련된 쿠키를 모두 가져옵니다.
+session.defaultSession.cookies.get({ url : "http://www.github.com" }, function(error, cookies) {
+  console.log(cookies);
+});
 
-  // 지정한 쿠키 데이터를 설정합니다.
-  // 동일한 쿠키가 있으면 해당 쿠키를 덮어씁니다.
-  win.webContents.session.cookies.set(
-    { url : "http://www.github.com", name : "dummy_name", value : "dummy"},
-    function(error, cookies) {
-      if (error) throw error;
-      console.log(cookies);
-  });
+// 지정한 쿠키 데이터를 설정합니다.
+// 동일한 쿠키가 있으면 해당 쿠키를 덮어씁니다.
+var cookie = { url : "http://www.github.com", name : "dummy_name", value : "dummy" };
+session.defaultSession.cookies.set(cookie, function(error) {
+  if (error)
+    console.error(error);
 });
 ```
 
-#### `ses.cookies.get(details, callback)`
+#### `ses.cookies.get(filter, callback)`
+
+* `filter` Object
+  * `url` String __optional__ - `url`에 해당하는 쿠키를 취득합니다. 이 속성을
+  생략하면 모든 url에서 찾습니다.
+  * `name` String __optional__ - 쿠키의 이름입니다.
+  * `domain` String __optional__ - 도메인 또는 서브 도메인에 일치하는 쿠키를
+  취득합니다.
+  * `path` String __optional__ - `path`에 일치하는 쿠키를 취득합니다.
+  * `secure` Boolean __optional__ - 보안 속성에 따라 쿠키를 필터링합니다.
+  * `session` Boolean __optional__ - 세션 또는 지속성 쿠키를 필터링합니다.
+* `callback` Function
 
-`details` Object
+`details` 객체에서 묘사한 모든 쿠키를 요청합니다. 모든 작업이 끝나면 `callback`이
+`callback(error, cookies)` 형태로 호출됩니다.
 
-* `url` String - `url`에 관련된 쿠키를 가져옵니다. 이 속성을 비워두면 모든 url의
-  쿠키를 가져옵니다.
-* `name` String - 이름을 기준으로 쿠키를 필터링합니다.
-* `domain` String - `domain`과 일치하는 도메인과 서브 도메인에 대한 쿠키를 가져옵니다.
-* `path` String - `path`와 일치하는 경로에 대한 쿠키를 가져옵니다.
-* `secure` Boolean - 보안 속성을 기준으로 쿠키를 필터링합니다.
-* `session` Boolean - 세션 또는 영구 쿠키를 필터링합니다.
+`cookies`는 `cookie` 객체의 배열입니다.
 
-* `callback` Function - function(error, cookies)
-* `error` Error
-* `cookies` Array - `cookie` 객체의 배열, 속성은 다음과 같습니다:
+* `cookie` Object
   *  `name` String - 쿠키의 이름.
   *  `value` String - 쿠키의 값.
   *  `domain` String - 쿠키의 도메인.
-  *  `host_only` String - 쿠키가 호스트 전용인가에 대한 여부.
+  *  `hostOnly` String - 쿠키가 호스트 전용인가에 대한 여부.
   *  `path` String - 쿠키의 경로.
-  *  `secure` Boolean - 쿠키가 안전한 것으로 표시되는지에 대한 여부. (일반적으로
-      HTTPS)
-  *  `http_only` Boolean - 쿠키가 HttpOnly로 표시되는지에 대한 여부.
+  *  `secure` Boolean - 쿠키가 안전한 것으로 표시되는지에 대한 여부.
+  *  `httpOnly` Boolean - 쿠키가 HTTP로만 표시되는지에 대한 여부.
   *  `session` Boolean - 쿠키가 세션 쿠키 또는 만료일이 있는 영구 쿠키인지에 대한
     여부.
   *  `expirationDate` Double - (Option) UNIX 시간으로 표시되는 쿠키의 만료일에
@@ -141,30 +132,31 @@ win.webContents.on('did-finish-load', function() {
 
 #### `ses.cookies.set(details, callback)`
 
-`details` Object
+* `details` Object
+  * `url` String - `url`에 관련된 쿠키를 가져옵니다.
+  * `name` String - 쿠키의 이름입니다. 기본적으로 비워두면 생략됩니다.
+  * `value` String - 쿠키의 값입니다. 기본적으로 비워두면 생략됩니다.
+  * `domain` String - 쿠키의 도메인입니다. 기본적으로 비워두면 생략됩니다.
+  * `path` String - 쿠키의 경로입니다. 기본적으로 비워두면 생략됩니다.
+  * `secure` Boolean - 쿠키가 안전한 것으로 표시되는지에 대한 여부입니다. 기본값은
+    false입니다.
+  * `session` Boolean - 쿠키가 HttpOnly로 표시되는지에 대한 여부입니다. 기본값은
+    false입니다.
+  * `expirationDate` Double __optional__ -     UNIX 시간으로 표시되는 쿠키의 만료일에
+    대한 초 단위 시간입니다. 세션 쿠키에 제공되지 않습니다.
+* `callback` Function
 
-* `url` String - `url`에 관련된 쿠키를 가져옵니다.
-* `name` String - 쿠키의 이름입니다. 기본적으로 비워두면 생략됩니다.
-* `value` String - 쿠키의 값입니다. 기본적으로 비워두면 생략됩니다.
-* `domain` String - 쿠키의 도메인입니다. 기본적으로 비워두면 생략됩니다.
-* `path` String - 쿠키의 경로입니다. 기본적으로 비워두면 생략됩니다.
-* `secure` Boolean - 쿠키가 안전한 것으로 표시되는지에 대한 여부입니다. 기본값은
-  false입니다.
-* `session` Boolean - 쿠키가 HttpOnly로 표시되는지에 대한 여부입니다. 기본값은
-  false입니다.
-* `expirationDate` Double -    UNIX 시간으로 표시되는 쿠키의 만료일에 대한 초 단위
-  시간입니다. 생략하면 쿠키는 세션 쿠키가 됩니다.
+`details` 객체에 따라 쿠키를 설정합니다. 작업이 완료되면 `callback`이
+`callback(error)` 형태로 호출됩니다.
 
-* `callback` Function - function(error)
-  * `error` Error
+#### `ses.cookies.remove(url, name, callback)`
 
-#### `ses.cookies.remove(details, callback)`
+* `url` String - 쿠키와 관련된 URL입니다.
+* `name` String - 지울 쿠키의 이름입니다.
+* `callback` Function
 
-* `details` Object, proprties:
-  * `url` String - 쿠키와 관련된 URL입니다.
-  * `name` String - 지울 쿠키의 이름입니다.
-* `callback` Function - function(error)
-  * `error` Error
+`url`과 `name`에 일치하는 쿠키를 삭제합니다. 작업이 완료되면 `callback`이
+`callback()` 형식으로 호출됩니다.
 
 #### `ses.clearCache(callback)`
 
@@ -287,3 +279,191 @@ myWindow.webContents.session.setCertificateVerifyProc(function(hostname, cert, c
    callback(false);
 });
 ```
+
+#### `ses.webRequest`
+
+`webRequest` API는 생명주기의 다양한 단계에 맞춰 요청 컨텐츠를 가로채거나 변경할 수
+있도록 합니다.
+
+각 API는 `filter`와 `listener`를 선택적으로 받을 수 있습니다. `listener`는 API의
+이벤트가 발생했을 때 `listener(details)` 형태로 호출되며 `defails`는 요청을 묘사하는
+객체입니다. `listener`에 `null`을 전달하면 이벤트 수신을 중지합니다.
+
+`filter`는 `urls` 속성을 가진 객체입니다. 이 속성은 URL 규칙의 배열이며 URL 규칙에
+일치하지 않는 요청을 모두 거르는데 사용됩니다. 만약 `filter`가 생략되면 모든 요청을
+여과 없이 통과시킵니다.
+
+어떤 `listener`의 이벤트들은 `callback`을 같이 전달하는데, 이벤트 처리시
+`listener`의 작업을 완료한 후 `response` 객체를 포함하여 호출해야 합니다.
+
+```javascript
+// 다음 url에 대한 User Agent를 조작합니다.
+var filter = {
+  urls: ["https://*.github.com/*", "*://electron.github.io"]
+};
+
+session.defaultSession.webRequest.onBeforeSendHeaders(filter, function(details, callback) {
+  details.requestHeaders['User-Agent'] = "MyAgent";
+  callback({cancel: false, requestHeaders: details.requestHeaders});
+});
+```
+
+#### `ses.webRequest.onBeforeRequest([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+요청이 발생하면 `listener`가 `listener(details, callback)` 형태로 호출됩니다.
+
+* `details` Object
+  * `id` Integer
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+
+`callback`은 `response` 객체와 함께 호출되어야 합니다:
+
+* `response` Object
+  * `cancel` Boolean __optional__
+  * `redirectURL` String __optional__ - 원래 요청은 전송과 완료가 방지되지만 이
+    속성을 지정하면 해당 URL로 리다이렉트됩니다.
+
+#### `ses.webRequest.onBeforeSendHeaders([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+HTTP 요청을 보내기 전 요청 헤더를 사용할 수 있을 때 `listener`가
+`listener(details, callback)` 형태로 호출됩니다. 이 이벤트는 서버와의 TCP 연결이
+완료된 후에 발생할 수도 있지만 http 데이터가 전송되기 전에 발생합니다.
+
+* `details` Object
+  * `id` Integer
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `requestHeaders` Object
+
+`callback`은 `response` 객체와 함께 호출되어야 합니다:
+
+* `response` Object
+  * `cancel` Boolean __optional__
+  * `requestHeaders` Object __optional__ - 이 속성이 제공되면, 요청은 이 헤더로
+    만들어 집니다.
+
+#### `ses.webRequest.onSendHeaders([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+서버에 요청이 전송되기 바로 전에 `listener`가 `listener(details)` 형태로 호출됩니다.
+이전 `onBeforeSendHeaders`의 response와 다른점은 리스너가 호출되는 시간으로 볼 수
+있습니다.
+
+* `details` Object
+  * `id` Integer
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `requestHeaders` Object
+
+#### `ses.webRequest.onHeadersReceived([filter,] listener)`
+
+* `filter` Object
+* `listener` Function
+
+요청의 HTTP 응답 헤더를 받았을 때 `listener`가 `listener(details, callback)` 형태로
+호출됩니다.
+
+* `details` Object
+  * `id` String
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `statusLine` String
+  * `statusCode` Integer
+  * `responseHeaders` Object
+
+`callback`은 `response` 객체와 함께 호출되어야 합니다:
+
+* `response` Object
+  * `cancel` Boolean
+  * `responseHeaders` Object __optional__ - 이 속성이 제공되면 서버는 이 헤더와
+    함께 응답합니다.
+
+#### `ses.webRequest.onResponseStarted([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+요청 본문의 첫 번째 바이트를 받았을 때 `listener`가 `listener(details)` 형태로
+호출됩니다. 이는 HTTP 요청에서 상태 줄과 요청 헤더가 사용 가능한 상태를 의미합니다.
+
+* `details` Object
+  * `id` Integer
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `responseHeaders` Object
+  * `fromCache` Boolean  - 응답을 디스크 캐시에서 가져올지에 대한 여부.
+  * `statusCode` Integer
+  * `statusLine` String
+
+#### `ses.webRequest.onBeforeRedirect([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+서버에서 시작된 리다이렉트가 발생했을 때 `listener`가 `listener(details)` 형태로
+호출됩니다.
+
+* `details` Object
+  * `id` String
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `redirectURL` String
+  * `statusCode` Integer
+  * `ip` String __optional__ - 요청이 실질적으로 전송될 서버 아이피 주소.
+  * `fromCache` Boolean
+  * `responseHeaders` Object
+
+#### `ses.webRequest.onCompleted([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+요청이 완료되면 `listener`가 `listener(details)` 형태로 호출됩니다.
+
+* `details` Object
+  * `id` Integer
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `responseHeaders` Object
+  * `fromCache` Boolean
+  * `statusCode` Integer
+  * `statusLine` String
+
+#### `ses.webRequest.onErrorOccurred([filter, ]listener)`
+
+* `filter` Object
+* `listener` Function
+
+에러가 발생하면 `listener`가 `listener(details)` 형태로 호출됩니다.
+
+* `details` Object
+  * `id` Integer
+  * `url` String
+  * `method` String
+  * `resourceType` String
+  * `timestamp` Double
+  * `fromCache` Boolean
+  * `error` String - 에러 설명.