OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/dom_ui/value_helper.h" | |
6 | |
7 #include "chrome/browser/dom_ui/new_tab_ui.h" | |
8 #include "chrome/common/url_constants.h" | |
9 | |
10 bool ValueHelper::TabToValue( | |
11 const TabRestoreService::Tab& tab, | |
12 DictionaryValue* dictionary) { | |
13 if (tab.navigations.empty()) | |
14 return false; | |
15 | |
16 const TabNavigation& current_navigation = | |
17 tab.navigations.at(tab.current_navigation_index); | |
18 if (current_navigation.virtual_url() == GURL(chrome::kChromeUINewTabURL)) | |
19 return false; | |
20 NewTabUI::SetURLTitleAndDirection(dictionary, current_navigation.title(), | |
21 current_navigation.virtual_url()); | |
22 dictionary->SetString(L"type", L"tab"); | |
23 dictionary->SetReal(L"timestamp", tab.timestamp.ToDoubleT()); | |
24 return true; | |
25 } | |
26 | |
27 bool ValueHelper::WindowToValue( | |
28 const TabRestoreService::Window& window, | |
29 DictionaryValue* dictionary) { | |
30 if (window.tabs.empty()) { | |
31 NOTREACHED(); | |
32 return false; | |
33 } | |
34 scoped_ptr<ListValue> tab_values(new ListValue()); | |
35 for (size_t i = 0; i < window.tabs.size(); ++i) { | |
36 scoped_ptr<DictionaryValue> tab_value(new DictionaryValue()); | |
37 if (TabToValue(window.tabs[i], tab_value.get())) | |
38 tab_values->Append(tab_value.release()); | |
39 } | |
40 if (tab_values->GetSize() == 0) | |
41 return false; | |
42 dictionary->SetString(L"type", L"window"); | |
43 dictionary->SetReal(L"timestamp", window.timestamp.ToDoubleT()); | |
44 dictionary->Set(L"tabs", tab_values.release()); | |
45 return true; | |
46 } | |
47 | |
OLD | NEW |