From 52431506ba8a76c19d796e94944493ea3c0d29d8 Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Wed, 3 Aug 2016 16:09:03 +0530 Subject: [PATCH] protocol: custom standard schemes should support cookies --- atom/browser/api/atom_api_protocol.cc | 3 +++ spec/api-session-spec.js | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/atom/browser/api/atom_api_protocol.cc b/atom/browser/api/atom_api_protocol.cc index eaed0c6dca..17182d2b6c 100644 --- a/atom/browser/api/atom_api_protocol.cc +++ b/atom/browser/api/atom_api_protocol.cc @@ -17,6 +17,7 @@ #include "atom/common/options_switches.h" #include "base/command_line.h" #include "base/strings/string_util.h" +#include "brightray/common/switches.h" #include "content/public/browser/child_process_security_policy.h" #include "native_mate/dictionary.h" #include "url/url_util.h" @@ -209,6 +210,8 @@ void RegisterStandardSchemes( auto command_line = base::CommandLine::ForCurrentProcess(); command_line->AppendSwitchASCII(atom::switches::kStandardSchemes, base::JoinString(schemes, ",")); + command_line->AppendSwitchASCII(brightray::switches::kCookieableSchemes, + base::JoinString(schemes, ",")); } void Initialize(v8::Local exports, v8::Local unused, diff --git a/spec/api-session-spec.js b/spec/api-session-spec.js index 52da23ce52..5440ff29b8 100644 --- a/spec/api-session-spec.js +++ b/spec/api-session-spec.js @@ -153,6 +153,32 @@ describe('session module', function () { }) }) }) + + it('should set cookie for standard scheme', function (done) { + const standardScheme = remote.getGlobal('standardScheme') + const origin = standardScheme + '://fake-host' + session.defaultSession.cookies.set({ + url: origin, + name: 'custom', + value: '1' + }, function (error) { + if (error) { + return done(error) + } + session.defaultSession.cookies.get({ + url: origin + }, function (error, list) { + if (error) { + return done(error) + } + assert.equal(list.length, 1) + assert.equal(list[0].name, 'custom') + assert.equal(list[0].value, '1') + assert.equal(list[0].domain, 'fake-host') + done() + }) + }) + }) }) describe('ses.clearStorageData(options)', function () {