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

Unified Diff: chrome/browser/extensions/api/dns/dns_api.cc

Issue 9600050: Add IDL capability to json_schema_compiler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch Set TWO Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/api/dns/dns_api.h ('k') | chrome/browser/extensions/api/dns/dns_apitest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/dns/dns_api.cc
diff --git a/chrome/browser/extensions/api/dns/dns_api.cc b/chrome/browser/extensions/api/dns/dns_api.cc
index 2ddbd698ade7f922f810c4425257c3e855544b6c..bc74483eb2ec39692359c0ab94454523dda0ddf6 100644
--- a/chrome/browser/extensions/api/dns/dns_api.cc
+++ b/chrome/browser/extensions/api/dns/dns_api.cc
@@ -8,18 +8,17 @@
#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/io_thread.h"
+#include "chrome/common/extensions/api/experimental.dns.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/host_port_pair.h"
#include "net/base/net_errors.h"
#include "net/base/net_util.h"
using content::BrowserThread;
+using namespace extensions::api::experimental;
namespace extensions {
-const char kAddressKey[] = "address";
-const char kResultCodeKey[] = "resultCode";
-
// static
net::HostResolver* DNSResolveFunction::host_resolver_for_testing;
@@ -42,7 +41,11 @@ void DNSResolveFunction::set_host_resolver_for_testing(
}
bool DNSResolveFunction::RunImpl() {
- EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &hostname_));
+ scoped_ptr<Resolve::Params> params(Resolve::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params.get());
+
+ hostname_ = params->hostname;
+
bool result = BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(&DNSResolveFunction::WorkOnIOThread, this));
@@ -77,14 +80,17 @@ void DNSResolveFunction::WorkOnIOThread() {
}
void DNSResolveFunction::OnLookupFinished(int resolve_result) {
- DictionaryValue* api_result = new DictionaryValue();
- api_result->SetInteger(kResultCodeKey, resolve_result);
+
+ scoped_ptr<ResolveCallbackResolveInfo> resolve_info(
+ new ResolveCallbackResolveInfo());
+ resolve_info->result_code = resolve_result;
if (resolve_result == net::OK) {
const struct addrinfo* head = addresses_->head();
DCHECK(head);
- api_result->SetString(kAddressKey, net::NetAddressToString(head));
+ resolve_info->address.reset(
+ new std::string(net::NetAddressToString(head)));
}
- result_.reset(api_result);
+ result_.reset(Resolve::Result::Create(*resolve_info));
response_ = true;
bool post_task_result = BrowserThread::PostTask(
« no previous file with comments | « chrome/browser/extensions/api/dns/dns_api.h ('k') | chrome/browser/extensions/api/dns/dns_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698