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

Side by Side Diff: chrome/browser/extensions/api/gcd_private/privet_v3_session.cc

Issue 2310683002: Remove most ScopedVector usage from c/b/extensions. (Closed)
Patch Set: remove scoped_vector includes Created 4 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/extensions/api/gcd_private/privet_v3_session.h" 5 #include "chrome/browser/extensions/api/gcd_private/privet_v3_session.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/json/json_reader.h" 8 #include "base/json/json_reader.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/location.h" 10 #include "base/location.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h"
13 #include "base/single_thread_task_runner.h" 14 #include "base/single_thread_task_runner.h"
14 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
15 #include "base/threading/thread_task_runner_handle.h" 16 #include "base/threading/thread_task_runner_handle.h"
16 #include "chrome/browser/extensions/api/gcd_private/privet_v3_context_getter.h" 17 #include "chrome/browser/extensions/api/gcd_private/privet_v3_context_getter.h"
17 #include "crypto/hmac.h" 18 #include "crypto/hmac.h"
18 #include "crypto/p224_spake.h" 19 #include "crypto/p224_spake.h"
19 #include "net/base/load_flags.h" 20 #include "net/base/load_flags.h"
20 #include "net/http/http_response_headers.h" 21 #include "net/http/http_response_headers.h"
21 #include "net/url_request/url_fetcher_delegate.h" 22 #include "net/url_request/url_fetcher_delegate.h"
22 #include "url/gurl.h" 23 #include "url/gurl.h"
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 if (!url.is_valid()) { 480 if (!url.is_valid()) {
480 callback.Run(Result::STATUS_SESSIONERROR, base::DictionaryValue()); 481 callback.Run(Result::STATUS_SESSIONERROR, base::DictionaryValue());
481 return nullptr; 482 return nullptr;
482 } 483 }
483 484
484 // Don't abort cancel requests after session object is destroyed. 485 // Don't abort cancel requests after session object is destroyed.
485 const bool orphaned = (api == kPrivetV3PairingCancelPath); 486 const bool orphaned = (api == kPrivetV3PairingCancelPath);
486 FetcherDelegate* fetcher = 487 FetcherDelegate* fetcher =
487 new FetcherDelegate(weak_ptr_factory_.GetWeakPtr(), callback); 488 new FetcherDelegate(weak_ptr_factory_.GetWeakPtr(), callback);
488 if (!orphaned) 489 if (!orphaned)
489 fetchers_.push_back(fetcher); 490 fetchers_.push_back(base::WrapUnique(fetcher));
490 net::URLFetcher* url_fetcher = 491 net::URLFetcher* url_fetcher =
491 fetcher->CreateURLFetcher(url, request_type, orphaned); 492 fetcher->CreateURLFetcher(url, request_type, orphaned);
492 url_fetcher->SetLoadFlags(url_fetcher->GetLoadFlags() | 493 url_fetcher->SetLoadFlags(url_fetcher->GetLoadFlags() |
493 net::LOAD_BYPASS_PROXY | net::LOAD_DISABLE_CACHE | 494 net::LOAD_BYPASS_PROXY | net::LOAD_DISABLE_CACHE |
494 net::LOAD_DO_NOT_SEND_COOKIES); 495 net::LOAD_DO_NOT_SEND_COOKIES);
495 url_fetcher->SetRequestContext(context_getter_.get()); 496 url_fetcher->SetRequestContext(context_getter_.get());
496 url_fetcher->AddExtraRequestHeader( 497 url_fetcher->AddExtraRequestHeader(
497 std::string(kPrivetV3AuthTokenHeaderPrefix) + privet_auth_token_); 498 std::string(kPrivetV3AuthTokenHeaderPrefix) + privet_auth_token_);
498 499
499 return url_fetcher; 500 return url_fetcher;
500 } 501 }
501 502
502 void PrivetV3Session::DeleteFetcher(const FetcherDelegate* fetcher) { 503 void PrivetV3Session::DeleteFetcher(const FetcherDelegate* fetcher) {
503 fetchers_.erase(std::find(fetchers_.begin(), fetchers_.end(), fetcher)); 504 for (std::vector<std::unique_ptr<FetcherDelegate>>::iterator iter =
505 fetchers_.begin();
506 iter != fetchers_.end(); ++iter) {
507 if (iter->get() == fetcher) {
508 fetchers_.erase(iter);
509 break;
510 }
511 }
504 } 512 }
505 513
506 void PrivetV3Session::Cancel() { 514 void PrivetV3Session::Cancel() {
507 // Only session with pairing in process needs to be canceled. Paired sessions 515 // Only session with pairing in process needs to be canceled. Paired sessions
508 // (in https mode) does not need to be canceled. 516 // (in https mode) does not need to be canceled.
509 if (session_id_.empty() || use_https_) 517 if (session_id_.empty() || use_https_)
510 return; 518 return;
511 base::DictionaryValue input; 519 base::DictionaryValue input;
512 input.SetString(kPrivetV3KeySessionId, session_id_); 520 input.SetString(kPrivetV3KeySessionId, session_id_);
513 StartPostRequest(kPrivetV3PairingCancelPath, input, MessageCallback()); 521 StartPostRequest(kPrivetV3PairingCancelPath, input, MessageCallback());
514 } 522 }
515 523
516 } // namespace extensions 524 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698