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 #include "chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.h" | 5 #include "chrome/browser/ui/webui/ntp/new_tab_page_sync_handler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/string_split.h" | 10 #include "base/string_split.h" |
11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
12 #include "base/utf_string_conversions.h" | 12 #include "base/utf_string_conversions.h" |
13 #include "base/values.h" | 13 #include "base/values.h" |
14 #include "chrome/browser/net/chrome_url_request_context.h" | 14 #include "chrome/browser/net/chrome_url_request_context.h" |
15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
16 #include "content/browser/renderer_host/render_view_host.h" | 16 #include "content/browser/renderer_host/render_view_host.h" |
| 17 #include "content/browser/tab_contents/tab_contents.h" |
17 #include "grit/generated_resources.h" | 18 #include "grit/generated_resources.h" |
18 #include "net/base/cookie_monster.h" | 19 #include "net/base/cookie_monster.h" |
19 #include "net/url_request/url_request_context.h" | 20 #include "net/url_request/url_request_context.h" |
20 #include "ui/base/l10n/l10n_util.h" | 21 #include "ui/base/l10n/l10n_util.h" |
21 | 22 |
22 // Default URL for the sync web interface. | 23 // Default URL for the sync web interface. |
23 // | 24 // |
24 // TODO(idana): when we figure out how we are going to allow third parties to | 25 // TODO(idana): when we figure out how we are going to allow third parties to |
25 // plug in their own sync engine, we should allow this value to be | 26 // plug in their own sync engine, we should allow this value to be |
26 // configurable. | 27 // configurable. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 case sync_ui_util::SYNC_PROMO: | 92 case sync_ui_util::SYNC_PROMO: |
92 return SYNC_PROMO; | 93 return SYNC_PROMO; |
93 case sync_ui_util::PRE_SYNCED: | 94 case sync_ui_util::PRE_SYNCED: |
94 case sync_ui_util::SYNCED: | 95 case sync_ui_util::SYNCED: |
95 default: | 96 default: |
96 return HIDE; | 97 return HIDE; |
97 } | 98 } |
98 } | 99 } |
99 | 100 |
100 WebUIMessageHandler* NewTabPageSyncHandler::Attach(WebUI* web_ui) { | 101 WebUIMessageHandler* NewTabPageSyncHandler::Attach(WebUI* web_ui) { |
101 sync_service_ = web_ui->GetProfile()->GetProfileSyncService(); | 102 Profile* profile = |
| 103 Profile::FromBrowserContext(web_ui->tab_contents()->browser_context()); |
| 104 sync_service_ = profile->GetProfileSyncService(); |
102 DCHECK(sync_service_); // This shouldn't get called by an incognito NTP. | 105 DCHECK(sync_service_); // This shouldn't get called by an incognito NTP. |
103 DCHECK(!sync_service_->IsManaged()); // And neither if sync is managed. | 106 DCHECK(!sync_service_->IsManaged()); // And neither if sync is managed. |
104 sync_service_->AddObserver(this); | 107 sync_service_->AddObserver(this); |
105 return WebUIMessageHandler::Attach(web_ui); | 108 return WebUIMessageHandler::Attach(web_ui); |
106 } | 109 } |
107 | 110 |
108 void NewTabPageSyncHandler::RegisterMessages() { | 111 void NewTabPageSyncHandler::RegisterMessages() { |
109 web_ui_->RegisterMessageCallback("GetSyncMessage", | 112 web_ui_->RegisterMessageCallback("GetSyncMessage", |
110 NewCallback(this, &NewTabPageSyncHandler::HandleGetSyncMessage)); | 113 NewCallback(this, &NewTabPageSyncHandler::HandleGetSyncMessage)); |
111 web_ui_->RegisterMessageCallback("SyncLinkClicked", | 114 web_ui_->RegisterMessageCallback("SyncLinkClicked", |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 if (linkurl.empty()) { | 215 if (linkurl.empty()) { |
213 value.SetBoolean("linkurlisset", false); | 216 value.SetBoolean("linkurlisset", false); |
214 } else { | 217 } else { |
215 value.SetBoolean("linkurlisset", true); | 218 value.SetBoolean("linkurlisset", true); |
216 value.SetString("linkurl", linkurl); | 219 value.SetString("linkurl", linkurl); |
217 } | 220 } |
218 } | 221 } |
219 } | 222 } |
220 web_ui_->CallJavascriptFunction("syncMessageChanged", value); | 223 web_ui_->CallJavascriptFunction("syncMessageChanged", value); |
221 } | 224 } |
OLD | NEW |