Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/snippets_internals_message_handler.h" | 5 #include "chrome/browser/ui/webui/snippets_internals_message_handler.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <sstream> | |
| 10 #include <vector> | 9 #include <vector> |
| 11 | 10 |
| 12 #include "base/bind.h" | 11 #include "base/bind.h" |
| 13 #include "base/bind_helpers.h" | 12 #include "base/bind_helpers.h" |
| 14 #include "base/command_line.h" | 13 #include "base/command_line.h" |
| 15 #include "base/feature_list.h" | 14 #include "base/feature_list.h" |
| 16 #include "base/i18n/time_formatting.h" | 15 #include "base/i18n/time_formatting.h" |
| 16 #include "base/json/json_writer.h" | |
| 17 #include "base/logging.h" | 17 #include "base/logging.h" |
| 18 #include "base/strings/string_number_conversions.h" | 18 #include "base/strings/string_number_conversions.h" |
| 19 #include "base/strings/string_piece.h" | 19 #include "base/strings/string_piece.h" |
| 20 #include "base/strings/string_split.h" | 20 #include "base/strings/string_split.h" |
| 21 #include "base/values.h" | 21 #include "base/values.h" |
| 22 #include "chrome/browser/android/chrome_feature_list.h" | 22 #include "chrome/browser/android/chrome_feature_list.h" |
| 23 #include "chrome/browser/ntp_snippets/ntp_snippets_service_factory.h" | 23 #include "chrome/browser/ntp_snippets/ntp_snippets_service_factory.h" |
| 24 #include "chrome/browser/profiles/profile.h" | 24 #include "chrome/browser/profiles/profile.h" |
| 25 #include "components/ntp_snippets/ntp_snippet.h" | 25 #include "components/ntp_snippets/ntp_snippet.h" |
| 26 #include "components/ntp_snippets/switches.h" | 26 #include "components/ntp_snippets/switches.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 79 web_ui()->RegisterMessageCallback( | 79 web_ui()->RegisterMessageCallback( |
| 80 "loaded", | 80 "loaded", |
| 81 base::Bind(&SnippetsInternalsMessageHandler::HandleLoaded, | 81 base::Bind(&SnippetsInternalsMessageHandler::HandleLoaded, |
| 82 base::Unretained(this))); | 82 base::Unretained(this))); |
| 83 | 83 |
| 84 web_ui()->RegisterMessageCallback( | 84 web_ui()->RegisterMessageCallback( |
| 85 "clear", base::Bind(&SnippetsInternalsMessageHandler::HandleClear, | 85 "clear", base::Bind(&SnippetsInternalsMessageHandler::HandleClear, |
| 86 base::Unretained(this))); | 86 base::Unretained(this))); |
| 87 | 87 |
| 88 web_ui()->RegisterMessageCallback( | 88 web_ui()->RegisterMessageCallback( |
| 89 "dump", base::Bind(&SnippetsInternalsMessageHandler::HandleDump, | |
| 90 base::Unretained(this))); | |
| 91 | |
| 92 web_ui()->RegisterMessageCallback( | |
| 89 "download", base::Bind(&SnippetsInternalsMessageHandler::HandleDownload, | 93 "download", base::Bind(&SnippetsInternalsMessageHandler::HandleDownload, |
| 90 base::Unretained(this))); | 94 base::Unretained(this))); |
| 91 | 95 |
| 92 web_ui()->RegisterMessageCallback( | 96 web_ui()->RegisterMessageCallback( |
| 93 "clearDiscarded", | 97 "clearDiscarded", |
| 94 base::Bind(&SnippetsInternalsMessageHandler::HandleClearDiscarded, | 98 base::Bind(&SnippetsInternalsMessageHandler::HandleClearDiscarded, |
| 95 base::Unretained(this))); | 99 base::Unretained(this))); |
| 96 } | 100 } |
| 97 | 101 |
| 98 void SnippetsInternalsMessageHandler::HandleLoaded( | 102 void SnippetsInternalsMessageHandler::HandleLoaded( |
| 99 const base::ListValue* args) { | 103 const base::ListValue* args) { |
| 100 DCHECK_EQ(0u, args->GetSize()); | 104 DCHECK_EQ(0u, args->GetSize()); |
| 101 | 105 |
| 102 dom_loaded_ = true; | 106 dom_loaded_ = true; |
| 103 | 107 |
| 104 SendInitialData(); | 108 SendInitialData(); |
| 105 } | 109 } |
| 106 | 110 |
| 107 void SnippetsInternalsMessageHandler::HandleClear(const base::ListValue* args) { | 111 void SnippetsInternalsMessageHandler::HandleClear(const base::ListValue* args) { |
| 108 DCHECK_EQ(0u, args->GetSize()); | 112 DCHECK_EQ(0u, args->GetSize()); |
| 109 | 113 |
| 110 ntp_snippets_service_->ClearSnippets(); | 114 ntp_snippets_service_->ClearSnippets(); |
| 111 } | 115 } |
| 112 | 116 |
| 117 void SnippetsInternalsMessageHandler::HandleDump(const base::ListValue* args) { | |
| 118 DCHECK_EQ(0u, args->GetSize()); | |
| 119 | |
| 120 std::string json; | |
| 121 base::JSONWriter::Write( | |
| 122 *ntp_snippets_service_->SnippetsToListValue( | |
|
Bernhard Bauer
2016/04/25 10:32:22
Really, you could just get the value direct from p
jkrcal
2016/04/25 12:04:15
Done.
| |
| 123 ntp_snippets_service_->snippets()), | |
| 124 &json); | |
| 125 | |
| 126 base::StringValue json_value(json); | |
|
Bernhard Bauer
2016/04/25 10:32:22
You could inline this.
jkrcal
2016/04/25 12:04:15
Done.
| |
| 127 web_ui()->CallJavascriptFunction("chrome.SnippetsInternals.receiveJson", | |
| 128 json_value); | |
| 129 } | |
| 130 | |
| 113 void SnippetsInternalsMessageHandler::HandleClearDiscarded( | 131 void SnippetsInternalsMessageHandler::HandleClearDiscarded( |
| 114 const base::ListValue* args) { | 132 const base::ListValue* args) { |
| 115 DCHECK_EQ(0u, args->GetSize()); | 133 DCHECK_EQ(0u, args->GetSize()); |
| 116 | 134 |
| 117 ntp_snippets_service_->ClearDiscardedSnippets(); | 135 ntp_snippets_service_->ClearDiscardedSnippets(); |
| 118 SendDiscardedSnippets(); | 136 SendDiscardedSnippets(); |
| 119 } | 137 } |
| 120 | 138 |
| 121 void SnippetsInternalsMessageHandler::HandleDownload( | 139 void SnippetsInternalsMessageHandler::HandleDownload( |
| 122 const base::ListValue* args) { | 140 const base::ListValue* args) { |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 199 } | 217 } |
| 200 | 218 |
| 201 void SnippetsInternalsMessageHandler::SendString(const std::string& name, | 219 void SnippetsInternalsMessageHandler::SendString(const std::string& name, |
| 202 const std::string& value) { | 220 const std::string& value) { |
| 203 base::StringValue string_name(name); | 221 base::StringValue string_name(name); |
| 204 base::StringValue string_value(value); | 222 base::StringValue string_value(value); |
| 205 | 223 |
| 206 web_ui()->CallJavascriptFunction("chrome.SnippetsInternals.receiveProperty", | 224 web_ui()->CallJavascriptFunction("chrome.SnippetsInternals.receiveProperty", |
| 207 string_name, string_value); | 225 string_name, string_value); |
| 208 } | 226 } |
| OLD | NEW |