OLD | NEW |
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 <memory> | 10 #include <memory> |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 if (tab_value.get()) { | 114 if (tab_value.get()) { |
115 modification_time = std::max(modification_time, | 115 modification_time = std::max(modification_time, |
116 tab->timestamp); | 116 tab->timestamp); |
117 tab_values->Append(std::move(tab_value)); | 117 tab_values->Append(std::move(tab_value)); |
118 } | 118 } |
119 } | 119 } |
120 if (tab_values->GetSize() == 0) | 120 if (tab_values->GetSize() == 0) |
121 return nullptr; | 121 return nullptr; |
122 std::unique_ptr<base::DictionaryValue> dictionary( | 122 std::unique_ptr<base::DictionaryValue> dictionary( |
123 BuildWindowData(window.timestamp, window.window_id.id())); | 123 BuildWindowData(window.timestamp, window.window_id.id())); |
124 dictionary->Set("tabs", tab_values.release()); | 124 dictionary->Set("tabs", std::move(tab_values)); |
125 return dictionary; | 125 return dictionary; |
126 } | 126 } |
127 | 127 |
128 } // namespace | 128 } // namespace |
129 | 129 |
130 ForeignSessionHandler::ForeignSessionHandler() : scoped_observer_(this) { | 130 ForeignSessionHandler::ForeignSessionHandler() : scoped_observer_(this) { |
131 load_attempt_time_ = base::TimeTicks::Now(); | 131 load_attempt_time_ = base::TimeTicks::Now(); |
132 } | 132 } |
133 | 133 |
134 ForeignSessionHandler::~ForeignSessionHandler() {} | 134 ForeignSessionHandler::~ForeignSessionHandler() {} |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 std::unique_ptr<base::DictionaryValue> tab_value( | 316 std::unique_ptr<base::DictionaryValue> tab_value( |
317 SessionTabToValue(*tab)); | 317 SessionTabToValue(*tab)); |
318 if (tab_value.get()) { | 318 if (tab_value.get()) { |
319 modification_time = std::max(modification_time, tab->timestamp); | 319 modification_time = std::max(modification_time, tab->timestamp); |
320 tab_values->Append(std::move(tab_value)); | 320 tab_values->Append(std::move(tab_value)); |
321 } | 321 } |
322 } | 322 } |
323 if (tab_values->GetSize() != 0) { | 323 if (tab_values->GetSize() != 0) { |
324 std::unique_ptr<base::DictionaryValue> window_data( | 324 std::unique_ptr<base::DictionaryValue> window_data( |
325 BuildWindowData(modification_time, 1)); | 325 BuildWindowData(modification_time, 1)); |
326 window_data->Set("tabs", tab_values.release()); | 326 window_data->Set("tabs", std::move(tab_values)); |
327 window_list->Append(std::move(window_data)); | 327 window_list->Append(std::move(window_data)); |
328 } | 328 } |
329 } | 329 } |
330 | 330 |
331 session_data->Set("windows", window_list.release()); | 331 session_data->Set("windows", std::move(window_list)); |
332 session_list.Append(std::move(session_data)); | 332 session_list.Append(std::move(session_data)); |
333 } | 333 } |
334 } | 334 } |
335 web_ui()->CallJavascriptFunctionUnsafe("setForeignSessions", session_list); | 335 web_ui()->CallJavascriptFunctionUnsafe("setForeignSessions", session_list); |
336 } | 336 } |
337 | 337 |
338 void ForeignSessionHandler::HandleOpenForeignSession( | 338 void ForeignSessionHandler::HandleOpenForeignSession( |
339 const base::ListValue* args) { | 339 const base::ListValue* args) { |
340 size_t num_args = args->GetSize(); | 340 size_t num_args = args->GetSize(); |
341 // Expect either 1 or 8 args. For restoring an entire session, only | 341 // Expect either 1 or 8 args. For restoring an entire session, only |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 // collapsed state persists. | 427 // collapsed state persists. |
428 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); | 428 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); |
429 DictionaryPrefUpdate update(prefs, prefs::kNtpCollapsedForeignSessions); | 429 DictionaryPrefUpdate update(prefs, prefs::kNtpCollapsedForeignSessions); |
430 if (is_collapsed) | 430 if (is_collapsed) |
431 update.Get()->SetBoolean(session_tag, true); | 431 update.Get()->SetBoolean(session_tag, true); |
432 else | 432 else |
433 update.Get()->Remove(session_tag, NULL); | 433 update.Get()->Remove(session_tag, NULL); |
434 } | 434 } |
435 | 435 |
436 } // namespace browser_sync | 436 } // namespace browser_sync |
OLD | NEW |