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

Side by Side Diff: chrome/browser/ui/webui/foreign_session_handler.cc

Issue 1550053002: Convert Pass()→std::move() in //chrome/browser/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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/ui/webui/foreign_session_handler.h" 5 #include "chrome/browser/ui/webui/foreign_session_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <string> 10 #include <string>
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 scoped_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue()); 63 scoped_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue());
64 NewTabUI::SetUrlTitleAndDirection(dictionary.get(), 64 NewTabUI::SetUrlTitleAndDirection(dictionary.get(),
65 current_navigation.title(), tab_url); 65 current_navigation.title(), tab_url);
66 dictionary->SetString("type", "tab"); 66 dictionary->SetString("type", "tab");
67 dictionary->SetDouble("timestamp", 67 dictionary->SetDouble("timestamp",
68 static_cast<double>(tab.timestamp.ToInternalValue())); 68 static_cast<double>(tab.timestamp.ToInternalValue()));
69 // TODO(jeremycho): This should probably be renamed to tabId to avoid 69 // TODO(jeremycho): This should probably be renamed to tabId to avoid
70 // confusion with the ID corresponding to a session. Investigate all the 70 // confusion with the ID corresponding to a session. Investigate all the
71 // places (C++ and JS) where this is being used. (http://crbug.com/154865). 71 // places (C++ and JS) where this is being used. (http://crbug.com/154865).
72 dictionary->SetInteger("sessionId", tab.tab_id.id()); 72 dictionary->SetInteger("sessionId", tab.tab_id.id());
73 return dictionary.Pass(); 73 return dictionary;
74 } 74 }
75 75
76 // Helper for initializing a boilerplate SessionWindow JSON compatible object. 76 // Helper for initializing a boilerplate SessionWindow JSON compatible object.
77 scoped_ptr<base::DictionaryValue> BuildWindowData( 77 scoped_ptr<base::DictionaryValue> BuildWindowData(
78 base::Time modification_time, 78 base::Time modification_time,
79 SessionID::id_type window_id) { 79 SessionID::id_type window_id) {
80 scoped_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue()); 80 scoped_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue());
81 // The items which are to be written into |dictionary| are also described in 81 // The items which are to be written into |dictionary| are also described in
82 // chrome/browser/resources/ntp4/other_sessions.js in @typedef for WindowData. 82 // chrome/browser/resources/ntp4/other_sessions.js in @typedef for WindowData.
83 // Please update it whenever you add or remove any keys here. 83 // Please update it whenever you add or remove any keys here.
84 dictionary->SetString("type", "window"); 84 dictionary->SetString("type", "window");
85 dictionary->SetDouble("timestamp", modification_time.ToInternalValue()); 85 dictionary->SetDouble("timestamp", modification_time.ToInternalValue());
86 const base::TimeDelta last_synced = base::Time::Now() - modification_time; 86 const base::TimeDelta last_synced = base::Time::Now() - modification_time;
87 // If clock skew leads to a future time, or we last synced less than a minute 87 // If clock skew leads to a future time, or we last synced less than a minute
88 // ago, output "Just now". 88 // ago, output "Just now".
89 dictionary->SetString( 89 dictionary->SetString(
90 "userVisibleTimestamp", 90 "userVisibleTimestamp",
91 last_synced < base::TimeDelta::FromMinutes(1) 91 last_synced < base::TimeDelta::FromMinutes(1)
92 ? l10n_util::GetStringUTF16(IDS_SYNC_TIME_JUST_NOW) 92 ? l10n_util::GetStringUTF16(IDS_SYNC_TIME_JUST_NOW)
93 : ui::TimeFormat::Simple(ui::TimeFormat::FORMAT_ELAPSED, 93 : ui::TimeFormat::Simple(ui::TimeFormat::FORMAT_ELAPSED,
94 ui::TimeFormat::LENGTH_SHORT, last_synced)); 94 ui::TimeFormat::LENGTH_SHORT, last_synced));
95 95
96 dictionary->SetInteger("sessionId", window_id); 96 dictionary->SetInteger("sessionId", window_id);
97 return dictionary.Pass(); 97 return dictionary;
98 } 98 }
99 99
100 // Helper method to create JSON compatible objects from SessionWindow objects. 100 // Helper method to create JSON compatible objects from SessionWindow objects.
101 scoped_ptr<base::DictionaryValue> SessionWindowToValue( 101 scoped_ptr<base::DictionaryValue> SessionWindowToValue(
102 const ::sessions::SessionWindow& window) { 102 const ::sessions::SessionWindow& window) {
103 if (window.tabs.empty()) 103 if (window.tabs.empty())
104 return nullptr; 104 return nullptr;
105 scoped_ptr<base::ListValue> tab_values(new base::ListValue()); 105 scoped_ptr<base::ListValue> tab_values(new base::ListValue());
106 // Calculate the last |modification_time| for all entries within a window. 106 // Calculate the last |modification_time| for all entries within a window.
107 base::Time modification_time = window.timestamp; 107 base::Time modification_time = window.timestamp;
108 for (const ::sessions::SessionTab* tab : window.tabs) { 108 for (const ::sessions::SessionTab* tab : window.tabs) {
109 scoped_ptr<base::DictionaryValue> tab_value(SessionTabToValue(*tab)); 109 scoped_ptr<base::DictionaryValue> tab_value(SessionTabToValue(*tab));
110 if (tab_value.get()) { 110 if (tab_value.get()) {
111 modification_time = std::max(modification_time, 111 modification_time = std::max(modification_time,
112 tab->timestamp); 112 tab->timestamp);
113 tab_values->Append(tab_value.release()); 113 tab_values->Append(tab_value.release());
114 } 114 }
115 } 115 }
116 if (tab_values->GetSize() == 0) 116 if (tab_values->GetSize() == 0)
117 return nullptr; 117 return nullptr;
118 scoped_ptr<base::DictionaryValue> dictionary( 118 scoped_ptr<base::DictionaryValue> dictionary(
119 BuildWindowData(window.timestamp, window.window_id.id())); 119 BuildWindowData(window.timestamp, window.window_id.id()));
120 dictionary->Set("tabs", tab_values.release()); 120 dictionary->Set("tabs", tab_values.release());
121 return dictionary.Pass(); 121 return dictionary;
122 } 122 }
123 123
124 } // namespace 124 } // namespace
125 125
126 ForeignSessionHandler::ForeignSessionHandler() : scoped_observer_(this) { 126 ForeignSessionHandler::ForeignSessionHandler() : scoped_observer_(this) {
127 load_attempt_time_ = base::TimeTicks::Now(); 127 load_attempt_time_ = base::TimeTicks::Now();
128 } 128 }
129 129
130 ForeignSessionHandler::~ForeignSessionHandler() {} 130 ForeignSessionHandler::~ForeignSessionHandler() {}
131 131
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 // collapsed state persists. 430 // collapsed state persists.
431 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); 431 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs();
432 DictionaryPrefUpdate update(prefs, prefs::kNtpCollapsedForeignSessions); 432 DictionaryPrefUpdate update(prefs, prefs::kNtpCollapsedForeignSessions);
433 if (is_collapsed) 433 if (is_collapsed)
434 update.Get()->SetBoolean(session_tag, true); 434 update.Get()->SetBoolean(session_tag, true);
435 else 435 else
436 update.Get()->Remove(session_tag, NULL); 436 update.Get()->Remove(session_tag, NULL);
437 } 437 }
438 438
439 } // namespace browser_sync 439 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698