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

Side by Side Diff: chrome/browser/ui/webui/options/handler_options_handler.cc

Issue 267103002: Ignore title parameter for navigator.registerProtocolHandler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
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/options/handler_options_handler.h" 5 #include "chrome/browser/ui/webui/options/handler_options_handler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 93
94 static void GetHandlersAsListValue( 94 static void GetHandlersAsListValue(
95 const ProtocolHandlerRegistry::ProtocolHandlerList& handlers, 95 const ProtocolHandlerRegistry::ProtocolHandlerList& handlers,
96 base::ListValue* handler_list) { 96 base::ListValue* handler_list) {
97 ProtocolHandlerRegistry::ProtocolHandlerList::const_iterator handler; 97 ProtocolHandlerRegistry::ProtocolHandlerList::const_iterator handler;
98 for (handler = handlers.begin(); handler != handlers.end(); ++handler) { 98 for (handler = handlers.begin(); handler != handlers.end(); ++handler) {
99 base::ListValue* handlerValue = new base::ListValue(); 99 base::ListValue* handlerValue = new base::ListValue();
100 handlerValue->Append(new base::StringValue(handler->protocol())); 100 handlerValue->Append(new base::StringValue(handler->protocol()));
101 handlerValue->Append(new base::StringValue(handler->url().spec())); 101 handlerValue->Append(new base::StringValue(handler->url().spec()));
102 handlerValue->Append(new base::StringValue(handler->title())); 102 handlerValue->Append(new base::StringValue(handler->url().host()));
103 handler_list->Append(handlerValue); 103 handler_list->Append(handlerValue);
104 } 104 }
105 } 105 }
106 106
107 void HandlerOptionsHandler::GetHandlersForProtocol( 107 void HandlerOptionsHandler::GetHandlersForProtocol(
108 const std::string& protocol, 108 const std::string& protocol,
109 base::DictionaryValue* handlers_value) { 109 base::DictionaryValue* handlers_value) {
110 ProtocolHandlerRegistry* registry = GetProtocolHandlerRegistry(); 110 ProtocolHandlerRegistry* registry = GetProtocolHandlerRegistry();
111 handlers_value->SetString("protocol", protocol); 111 handlers_value->SetString("protocol", protocol);
112 handlers_value->SetInteger("default_handler", 112 handlers_value->SetInteger("default_handler",
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 CHECK(args->GetList(0, &list)); 192 CHECK(args->GetList(0, &list));
193 const ProtocolHandler& handler(ParseHandlerFromArgs(list)); 193 const ProtocolHandler& handler(ParseHandlerFromArgs(list));
194 CHECK(!handler.IsEmpty()); 194 CHECK(!handler.IsEmpty());
195 GetProtocolHandlerRegistry()->OnAcceptRegisterProtocolHandler(handler); 195 GetProtocolHandlerRegistry()->OnAcceptRegisterProtocolHandler(handler);
196 } 196 }
197 197
198 ProtocolHandler HandlerOptionsHandler::ParseHandlerFromArgs( 198 ProtocolHandler HandlerOptionsHandler::ParseHandlerFromArgs(
199 const base::ListValue* args) const { 199 const base::ListValue* args) const {
200 base::string16 protocol; 200 base::string16 protocol;
201 base::string16 url; 201 base::string16 url;
202 base::string16 title; 202 bool ok = args->GetString(0, &protocol) && args->GetString(1, &url);
203 bool ok = args->GetString(0, &protocol) && args->GetString(1, &url) &&
204 args->GetString(2, &title);
205 if (!ok) 203 if (!ok)
206 return ProtocolHandler::EmptyProtocolHandler(); 204 return ProtocolHandler::EmptyProtocolHandler();
207 return ProtocolHandler::CreateProtocolHandler(base::UTF16ToUTF8(protocol), 205 return ProtocolHandler::CreateProtocolHandler(base::UTF16ToUTF8(protocol),
208 GURL(base::UTF16ToUTF8(url)), 206 GURL(base::UTF16ToUTF8(url)));
209 title);
210 } 207 }
211 208
212 void HandlerOptionsHandler::Observe( 209 void HandlerOptionsHandler::Observe(
213 int type, 210 int type,
214 const content::NotificationSource& source, 211 const content::NotificationSource& source,
215 const content::NotificationDetails& details) { 212 const content::NotificationDetails& details) {
216 if (type == chrome::NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED) 213 if (type == chrome::NOTIFICATION_PROTOCOL_HANDLER_REGISTRY_CHANGED)
217 UpdateHandlerList(); 214 UpdateHandlerList();
218 else 215 else
219 NOTREACHED(); 216 NOTREACHED();
220 } 217 }
221 218
222 } // namespace options 219 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698