From 5b5f35d5e41a5930f7a685a02d0d20b8585a1420 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Tue, 8 Jan 2013 14:23:50 -0800 Subject: refactor($browser): remove faulty 20+ cookies warning the warning is defunct (and the test is incorrect) so obviously nobody is using it and it just takes up space. also the browser behavior varies (ff and chrome allow up to 150 cookies, safari even more), so it's not very useful. Closes #1712 --- src/ng/browser.js | 9 +++++---- test/ng/browserSpecs.js | 27 --------------------------- 2 files changed, 5 insertions(+), 31 deletions(-) diff --git a/src/ng/browser.js b/src/ng/browser.js index 39253483..9682cd28 100644 --- a/src/ng/browser.js +++ b/src/ng/browser.js @@ -276,14 +276,15 @@ function Browser(window, document, $log, $sniffer) { } else { if (isString(value)) { cookieLength = (rawDocument.cookie = escape(name) + '=' + escape(value) + ';path=' + cookiePath).length + 1; + + // per http://www.ietf.org/rfc/rfc2109.txt browser must allow at minimum: + // - 300 cookies + // - 20 cookies per unique domain + // - 4096 bytes per cookie if (cookieLength > 4096) { $log.warn("Cookie '"+ name +"' possibly not set or overflowed because it was too large ("+ cookieLength + " > 4096 bytes)!"); } - if (lastCookies.length > 20) { - $log.warn("Cookie '"+ name +"' possibly not set or overflowed because too many cookies " + - "were already set (" + lastCookies.length + " > 20 )"); - } } } } else { diff --git a/test/ng/browserSpecs.js b/test/ng/browserSpecs.js index 3f28c605..53ca2642 100644 --- a/test/ng/browserSpecs.js +++ b/test/ng/browserSpecs.js @@ -277,33 +277,6 @@ describe('browser', function() { expect(browser.cookies().x).toEqual('shortVal'); }); - - it('should log warnings when 20 cookies per domain storage limit is reached', function() { - var i, str, cookieStr; - - for (i=0; i<20; i++) { - str = '' + i; - browser.cookies(str, str); - } - - i=0; - for (str in browser.cookies()) { - i++; - } - expect(i).toEqual(20); - expect(logs.warn).toEqual([]); - cookieStr = document.cookie; - - browser.cookies('one', 'more'); - expect(logs.warn).toEqual([]); - - //if browser dropped a cookie (very likely), make sure that the cache is not out of sync - if (document.cookie === cookieStr) { - expect(size(browser.cookies())).toEqual(20); - } else { - expect(size(browser.cookies())).toEqual(21); - } - }); }); -- cgit v1.2.3