| OLD | NEW |
| 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/intents/cws_intents_registry.h" | 5 #include "chrome/browser/intents/cws_intents_registry.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/json/json_string_value_serializer.h" | 8 #include "base/json/json_string_value_serializer.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| 11 #include "base/string16.h" | 11 #include "base/string16.h" |
| 12 #include "base/utf_string_conversions.h" | 12 #include "base/utf_string_conversions.h" |
| 13 #include "chrome/browser/net/browser_url_util.h" | 13 #include "chrome/browser/net/browser_url_util.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/webdata/web_data_service.h" | 15 #include "chrome/browser/webdata/web_data_service.h" |
| 16 #include "content/public/common/content_url_request_user_data.h" |
| 16 #include "content/public/common/url_fetcher.h" | 17 #include "content/public/common/url_fetcher.h" |
| 17 #include "net/base/mime_util.h" | 18 #include "net/base/mime_util.h" |
| 18 #include "net/base/load_flags.h" | 19 #include "net/base/load_flags.h" |
| 19 | 20 |
| 20 namespace { | 21 namespace { |
| 21 | 22 |
| 22 // URL for CWS intents API. TODO(groby): points to staging, fix for M18 release. | 23 // URL for CWS intents API. TODO(groby): points to staging, fix for M18 release. |
| 23 const char kCWSIntentServiceURL[] = | 24 const char kCWSIntentServiceURL[] = |
| 24 "https://www-googleapis-staging.sandbox.google.com" | 25 "https://www-googleapis-staging.sandbox.google.com" |
| 25 "/chromewebstore/v1.1b/items/intent"; | 26 "/chromewebstore/v1.1b/items/intent"; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 const ResultsCallback& cb) { | 133 const ResultsCallback& cb) { |
| 133 scoped_ptr<IntentsQuery> query(new IntentsQuery); | 134 scoped_ptr<IntentsQuery> query(new IntentsQuery); |
| 134 query->callback_ = cb; | 135 query->callback_ = cb; |
| 135 query->url_fetcher_.reset(content::URLFetcher::Create( | 136 query->url_fetcher_.reset(content::URLFetcher::Create( |
| 136 0, BuildQueryURL(action,mimetype), content::URLFetcher::GET, this)); | 137 0, BuildQueryURL(action,mimetype), content::URLFetcher::GET, this)); |
| 137 | 138 |
| 138 if (query->url_fetcher_ == NULL) | 139 if (query->url_fetcher_ == NULL) |
| 139 return; | 140 return; |
| 140 | 141 |
| 141 query->url_fetcher_->SetRequestContext(request_context_); | 142 query->url_fetcher_->SetRequestContext(request_context_); |
| 143 // No user data, as the request will be cookie-less. |
| 144 query->url_fetcher_->SetContentURLRequestUserData( |
| 145 new content::ContentURLRequestUserData()); |
| 142 query->url_fetcher_->SetLoadFlags( | 146 query->url_fetcher_->SetLoadFlags( |
| 143 net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES); | 147 net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES); |
| 144 | 148 |
| 145 URLFetcherHandle handle = reinterpret_cast<URLFetcherHandle>( | 149 URLFetcherHandle handle = reinterpret_cast<URLFetcherHandle>( |
| 146 query->url_fetcher_.get()); | 150 query->url_fetcher_.get()); |
| 147 queries_[handle] = query.release(); | 151 queries_[handle] = query.release(); |
| 148 queries_[handle]->url_fetcher_->Start(); | 152 queries_[handle]->url_fetcher_->Start(); |
| 149 } | 153 } |
| 150 | 154 |
| 151 // static | 155 // static |
| 152 GURL CWSIntentsRegistry::BuildQueryURL(const string16& action, | 156 GURL CWSIntentsRegistry::BuildQueryURL(const string16& action, |
| 153 const string16& type) { | 157 const string16& type) { |
| 154 GURL request(kCWSIntentServiceURL); | 158 GURL request(kCWSIntentServiceURL); |
| 155 request = chrome_browser_net::AppendQueryParameter(request, "intent", | 159 request = chrome_browser_net::AppendQueryParameter(request, "intent", |
| 156 UTF16ToUTF8(action)); | 160 UTF16ToUTF8(action)); |
| 157 return chrome_browser_net::AppendQueryParameter(request, "mime_types", | 161 return chrome_browser_net::AppendQueryParameter(request, "mime_types", |
| 158 UTF16ToUTF8(type)); | 162 UTF16ToUTF8(type)); |
| 159 } | 163 } |
| OLD | NEW |