Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: chrome/browser/extensions/api/downloads/downloads_api.cc

Issue 2811673002: Reland: Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions (Closed)
Patch Set: Workaround with std::move Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/extensions/api/downloads/downloads_api.h" 5 #include "chrome/browser/extensions/api/downloads/downloads_api.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <memory> 9 #include <memory>
10 #include <set> 10 #include <set>
(...skipping 1806 matching lines...) Expand 10 before | Expand all | Expand 10 after
1817 // json, set the differences in the |delta| object and remember that something 1817 // json, set the differences in the |delta| object and remember that something
1818 // significant changed. 1818 // significant changed.
1819 for (base::DictionaryValue::Iterator iter(*new_json); !iter.IsAtEnd(); 1819 for (base::DictionaryValue::Iterator iter(*new_json); !iter.IsAtEnd();
1820 iter.Advance()) { 1820 iter.Advance()) {
1821 new_fields.insert(iter.key()); 1821 new_fields.insert(iter.key());
1822 if (IsDownloadDeltaField(iter.key())) { 1822 if (IsDownloadDeltaField(iter.key())) {
1823 const base::Value* old_value = NULL; 1823 const base::Value* old_value = NULL;
1824 if (!data->json().HasKey(iter.key()) || 1824 if (!data->json().HasKey(iter.key()) ||
1825 (data->json().Get(iter.key(), &old_value) && 1825 (data->json().Get(iter.key(), &old_value) &&
1826 !iter.value().Equals(old_value))) { 1826 !iter.value().Equals(old_value))) {
1827 delta->Set(iter.key() + ".current", iter.value().DeepCopy()); 1827 delta->Set(iter.key() + ".current", iter.value().CreateDeepCopy());
1828 if (old_value) 1828 if (old_value)
1829 delta->Set(iter.key() + ".previous", old_value->DeepCopy()); 1829 delta->Set(iter.key() + ".previous", old_value->CreateDeepCopy());
1830 changed = true; 1830 changed = true;
1831 } 1831 }
1832 } 1832 }
1833 } 1833 }
1834 1834
1835 // If a field was in the previous json but is not in the new json, set the 1835 // If a field was in the previous json but is not in the new json, set the
1836 // difference in |delta|. 1836 // difference in |delta|.
1837 for (base::DictionaryValue::Iterator iter(data->json()); 1837 for (base::DictionaryValue::Iterator iter(data->json());
1838 !iter.IsAtEnd(); iter.Advance()) { 1838 !iter.IsAtEnd(); iter.Advance()) {
1839 if ((new_fields.find(iter.key()) == new_fields.end()) && 1839 if ((new_fields.find(iter.key()) == new_fields.end()) &&
1840 IsDownloadDeltaField(iter.key())) { 1840 IsDownloadDeltaField(iter.key())) {
1841 // estimatedEndTime disappears after completion, but bytesReceived stays. 1841 // estimatedEndTime disappears after completion, but bytesReceived stays.
1842 delta->Set(iter.key() + ".previous", iter.value().DeepCopy()); 1842 delta->Set(iter.key() + ".previous", iter.value().CreateDeepCopy());
1843 changed = true; 1843 changed = true;
1844 } 1844 }
1845 } 1845 }
1846 1846
1847 // Update the OnChangedStat and dispatch the event if something significant 1847 // Update the OnChangedStat and dispatch the event if something significant
1848 // changed. Replace the stored json with the new json. 1848 // changed. Replace the stored json with the new json.
1849 data->OnItemUpdated(); 1849 data->OnItemUpdated();
1850 if (changed) { 1850 if (changed) {
1851 DispatchEvent(events::DOWNLOADS_ON_CHANGED, 1851 DispatchEvent(events::DOWNLOADS_ON_CHANGED,
1852 downloads::OnChanged::kEventName, true, 1852 downloads::OnChanged::kEventName, true,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1920 return; 1920 return;
1921 base::Time now(base::Time::Now()); 1921 base::Time now(base::Time::Now());
1922 int delta = now.ToTimeT() - last_checked_removal_.ToTimeT(); 1922 int delta = now.ToTimeT() - last_checked_removal_.ToTimeT();
1923 if (delta <= kFileExistenceRateLimitSeconds) 1923 if (delta <= kFileExistenceRateLimitSeconds)
1924 return; 1924 return;
1925 last_checked_removal_ = now; 1925 last_checked_removal_ = now;
1926 manager->CheckForHistoryFilesRemoval(); 1926 manager->CheckForHistoryFilesRemoval();
1927 } 1927 }
1928 1928
1929 } // namespace extensions 1929 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698