mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 15:40:22 +00:00
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
This commit is contained in:
parent
4cda028609
commit
afd6771163
2 changed files with 5 additions and 31 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue