From: Robo Date: Mon, 11 Jan 2016 06:54:01 +0000 (+0530) Subject: maintain api compatibility X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8557cd223cee2d4e61d33252ee0ec5cd900c1eeb;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git maintain api compatibility --- diff --git a/atom/browser/api/atom_api_session.cc b/atom/browser/api/atom_api_session.cc index 0b2f4f9..379d16e 100644 --- a/atom/browser/api/atom_api_session.cc +++ b/atom/browser/api/atom_api_session.cc @@ -115,14 +115,27 @@ struct Converter { v8::Local val, net::ProxyConfig* out) { mate::Dictionary options; - if (!ConvertFromV8(isolate, val, &options)) - return false; + if (!ConvertFromV8(isolate, val, &options)) { + // Fallback to previous api (https://git.io/vuhjj). + std::string proxy; + if (!ConvertFromV8(isolate, val, &proxy)) + return false; + auto pac_url = GURL(proxy); + if (pac_url.is_valid()) { + out->set_pac_url(pac_url); + } else { + out->proxy_rules().ParseFromString(proxy); + } + return true; + } + GURL pac_url; std::string rules; - if (options.Get("pacScript", &pac_url)) + if (options.Get("pacScript", &pac_url)) { out->set_pac_url(pac_url); - else if (options.Get("proxyRules", &rules)) + } else if (options.Get("proxyRules", &rules)) { out->proxy_rules().ParseFromString(rules); + } return true; } }; diff --git a/docs/api/session.md b/docs/api/session.md index 67dd537d..41d2777 100644 --- a/docs/api/session.md +++ b/docs/api/session.md @@ -186,6 +186,9 @@ Clears the data of web storages. * `proxyRules` String - Rules indicating which proxies to use. * `callback` Function - Called when operation is done. +When `pacScript` and `proxyRules` are provided together, the `proxyRules` +option is ignored and `pacScript` configuration is applied. + ``` proxyRules = scheme-proxies[";"] scheme-proxies = ["="]