| OLD | NEW | 
|    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 // These are the cookies we expect to see along the way. |    5 // These are the cookies we expect to see along the way. | 
|    6 var SET_REMOVE_COOKIE = { |    6 var SET_REMOVE_COOKIE = { | 
|    7   name: 'testSetRemove', |    7   name: 'testSetRemove', | 
|    8   value: '42', |    8   value: '42', | 
|    9   domain: 'a.com', |    9   domain: 'a.com', | 
|   10   hostOnly: true, |   10   hostOnly: true, | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
|   37   path: '/', |   37   path: '/', | 
|   38   secure: false, |   38   secure: false, | 
|   39   httpOnly: false, |   39   httpOnly: false, | 
|   40   session: false, |   40   session: false, | 
|   41   expirationDate: 12345678900, |   41   expirationDate: 12345678900, | 
|   42   storeId: "0" |   42   storeId: "0" | 
|   43 }; |   43 }; | 
|   44  |   44  | 
|   45 chrome.test.runTests([ |   45 chrome.test.runTests([ | 
|   46   function testSet() { |   46   function testSet() { | 
|   47     var testCompleted = chrome.test.callbackAdded(); |   47     chrome.test.listenOnce(chrome.cookies.onChanged, function (info) { | 
|   48     var listener = function (info) { |  | 
|   49       chrome.test.assertFalse(info.removed); |   48       chrome.test.assertFalse(info.removed); | 
|   50       chrome.test.assertEq('explicit', info.cause); |   49       chrome.test.assertEq('explicit', info.cause); | 
|   51       chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); |   50       chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); | 
|   52       testCompleted(); |   51     }); | 
|   53     }; |  | 
|   54  |  | 
|   55     chrome.cookies.onChanged.addListener(listener); |  | 
|   56     chrome.cookies.set({ |   52     chrome.cookies.set({ | 
|   57       url: 'http://a.com/path', |   53       url: 'http://a.com/path', | 
|   58       name: 'testSetRemove', |   54       name: 'testSetRemove', | 
|   59       value: '42', |   55       value: '42', | 
|   60       expirationDate: 12345678900 |   56       expirationDate: 12345678900 | 
|   61     }, function () { |  | 
|   62       chrome.cookies.onChanged.removeListener(listener); |  | 
|   63     }); |   57     }); | 
|   64   }, |   58   }, | 
|   65   function testRemove() { |   59   function testRemove() { | 
|   66     var testCompleted = chrome.test.callbackAdded(); |   60     chrome.test.listenOnce(chrome.cookies.onChanged, function (info) { | 
|   67     var listener = function (info) { |  | 
|   68       chrome.test.assertTrue(info.removed); |   61       chrome.test.assertTrue(info.removed); | 
|   69       chrome.test.assertEq('explicit', info.cause); |   62       chrome.test.assertEq('explicit', info.cause); | 
|   70       chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); |   63       chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); | 
|   71       testCompleted(); |   64     }); | 
|   72     }; |  | 
|   73  |  | 
|   74     chrome.cookies.onChanged.addListener(listener); |  | 
|   75     chrome.cookies.remove({ |   65     chrome.cookies.remove({ | 
|   76       url: 'http://a.com/path', |   66       url: 'http://a.com/path', | 
|   77       name: 'testSetRemove' |   67       name: 'testSetRemove' | 
|   78     }, function () { |  | 
|   79       chrome.cookies.onChanged.removeListener(listener); |  | 
|   80     }); |   68     }); | 
|   81   }, |   69   }, | 
|   82   function overwriteFirstSet() { |   70   function overwriteFirstSet() { | 
|   83     var testCompleted = chrome.test.callbackAdded(); |   71     chrome.test.listenOnce(chrome.cookies.onChanged, function (info) { | 
|   84     var listener = function (info) { |  | 
|   85       chrome.test.assertFalse(info.removed); |   72       chrome.test.assertFalse(info.removed); | 
|   86       chrome.test.assertEq('explicit', info.cause); |   73       chrome.test.assertEq('explicit', info.cause); | 
|   87       chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); |   74       chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); | 
|   88       testCompleted(); |   75     }); | 
|   89     }; |  | 
|   90  |  | 
|   91     chrome.cookies.onChanged.addListener(listener); |  | 
|   92     chrome.cookies.set({ |   76     chrome.cookies.set({ | 
|   93       url: 'http://a.com/path', |   77       url: 'http://a.com/path', | 
|   94       name: 'testOverwrite', |   78       name: 'testOverwrite', | 
|   95       value: '42', |   79       value: '42', | 
|   96       expirationDate: 12345678900 |   80       expirationDate: 12345678900 | 
|   97     }, function () { |  | 
|   98       chrome.cookies.onChanged.removeListener(listener); |  | 
|   99     }); |   81     }); | 
|  100   }, |   82   }, | 
|  101   function overwriteSecondSet() { |   83   function overwriteSecondSet() { | 
|  102     var removeCompleted = chrome.test.callbackAdded(); |   84     var haveRemoved = false; | 
|  103     var setCompleted = chrome.test.callbackAdded(); |   85     var haveSet = false; | 
|  104     var listenerRemove = function (info) { |   86     var done = chrome.test.listenForever(chrome.cookies.onChanged, | 
|  105       if (info.removed) { |   87       function(info) { | 
|  106         chrome.test.assertEq('overwrite', info.cause); |   88         if (info.removed) { | 
|  107         chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); |   89           chrome.test.assertEq('overwrite', info.cause); | 
|  108         removeCompleted(); |   90           chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); | 
|  109       } |   91           chrome.test.assertFalse(haveRemoved); | 
|  110     }; |   92           chrome.test.assertFalse(haveSet); | 
|  111     var listenerSet = function (info) { |   93           haveRemoved = true; | 
|  112       if (!info.removed) { |   94         } else { | 
|  113         chrome.test.assertEq('explicit', info.cause); |   95           chrome.test.assertEq('explicit', info.cause); | 
|  114         chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); |   96           chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); | 
|  115         setCompleted(); |   97           chrome.test.assertTrue(haveRemoved); | 
|  116       } |   98           chrome.test.assertFalse(haveSet); | 
|  117     }; |   99           haveSet = true; | 
|  118     chrome.cookies.onChanged.addListener(listenerRemove); |  100         } | 
|  119     chrome.cookies.onChanged.addListener(listenerSet); |  101         if (haveRemoved && haveSet) { | 
 |  102           done(); | 
 |  103         } | 
 |  104       }); | 
|  120     chrome.cookies.set({ |  105     chrome.cookies.set({ | 
|  121       url: 'http://a.com/path', |  106       url: 'http://a.com/path', | 
|  122       name: 'testOverwrite', |  107       name: 'testOverwrite', | 
|  123       value: '43', |  108       value: '43', | 
|  124       expirationDate: 12345678900 |  109       expirationDate: 12345678900 | 
|  125     }, function () { |  | 
|  126       chrome.cookies.onChanged.removeListener(listenerRemove); |  | 
|  127       chrome.cookies.onChanged.removeListener(listenerSet); |  | 
|  128     }); |  110     }); | 
|  129   }, |  111   }, | 
|  130   function overwriteExpired() { |  112   function overwriteExpired() { | 
|  131     var setCompleted = chrome.test.callbackAdded(); |  113     chrome.test.listenOnce(chrome.cookies.onChanged, function (info) { | 
|  132     var listener = function (info) { |  | 
|  133       chrome.test.assertTrue(info.removed); |  114       chrome.test.assertTrue(info.removed); | 
|  134       chrome.test.assertEq('expired_overwrite', info.cause); |  115       chrome.test.assertEq('expired_overwrite', info.cause); | 
|  135       chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); |  116       chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); | 
|  136       setCompleted(); |  117     }); | 
|  137     }; |  | 
|  138     chrome.cookies.onChanged.addListener(listener); |  | 
|  139     chrome.cookies.set({ |  118     chrome.cookies.set({ | 
|  140       url: 'http://a.com/path', |  119       url: 'http://a.com/path', | 
|  141       name: 'testOverwrite', |  120       name: 'testOverwrite', | 
|  142       value: '43', |  121       value: '43', | 
|  143       expirationDate: 1 |  122       expirationDate: 1 | 
|  144     }, function () { |  | 
|  145       chrome.cookies.onChanged.removeListener(listener); |  | 
|  146     }); |  123     }); | 
|  147   } |  124   } | 
|  148 ]); |  125 ]); | 
| OLD | NEW |