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

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

Issue 1907233002: Allows to dump current snippets to a json in the Downloads folder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor cleanup Created 4 years, 8 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 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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698