| 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 // Implements the Chrome Extensions Cookies API. | 5 // Implements the Chrome Extensions Cookies API. |
| 6 | 6 |
| 7 #include "chrome/browser/extensions/api/cookies/cookies_api.h" | 7 #include "chrome/browser/extensions/api/cookies/cookies_api.h" |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 base::Time expiration_time; | 375 base::Time expiration_time; |
| 376 if (parsed_args_->details.expiration_date.get()) { | 376 if (parsed_args_->details.expiration_date.get()) { |
| 377 // Time::FromDoubleT converts double time 0 to empty Time object. So we need | 377 // Time::FromDoubleT converts double time 0 to empty Time object. So we need |
| 378 // to do special handling here. | 378 // to do special handling here. |
| 379 expiration_time = (*parsed_args_->details.expiration_date == 0) ? | 379 expiration_time = (*parsed_args_->details.expiration_date == 0) ? |
| 380 base::Time::UnixEpoch() : | 380 base::Time::UnixEpoch() : |
| 381 base::Time::FromDoubleT(*parsed_args_->details.expiration_date); | 381 base::Time::FromDoubleT(*parsed_args_->details.expiration_date); |
| 382 } | 382 } |
| 383 | 383 |
| 384 cookie_monster->SetCookieWithDetailsAsync( | 384 cookie_monster->SetCookieWithDetailsAsync( |
| 385 url_, | 385 url_, parsed_args_->details.name.get() ? *parsed_args_->details.name |
| 386 parsed_args_->details.name.get() ? *parsed_args_->details.name | 386 : std::string(), |
| 387 : std::string(), | |
| 388 parsed_args_->details.value.get() ? *parsed_args_->details.value | 387 parsed_args_->details.value.get() ? *parsed_args_->details.value |
| 389 : std::string(), | 388 : std::string(), |
| 390 parsed_args_->details.domain.get() ? *parsed_args_->details.domain | 389 parsed_args_->details.domain.get() ? *parsed_args_->details.domain |
| 391 : std::string(), | 390 : std::string(), |
| 392 parsed_args_->details.path.get() ? *parsed_args_->details.path | 391 parsed_args_->details.path.get() ? *parsed_args_->details.path |
| 393 : std::string(), | 392 : std::string(), |
| 394 expiration_time, | 393 expiration_time, |
| 395 parsed_args_->details.secure.get() ? *parsed_args_->details.secure.get() | 394 parsed_args_->details.secure.get() ? *parsed_args_->details.secure.get() |
| 396 : false, | 395 : false, |
| 397 parsed_args_->details.http_only.get() ? *parsed_args_->details.http_only | 396 parsed_args_->details.http_only.get() ? *parsed_args_->details.http_only |
| 398 : false, | 397 : false, |
| 399 // TODO(mkwst): If we decide to ship First-party-only cookies, we'll need | 398 // TODO(mkwst): If we decide to ship First-party-only cookies, we'll need |
| 400 // to extend the extension API to support them. For the moment, we'll set | 399 // to extend the extension API to support them. For the moment, we'll set |
| 401 // all cookies as non-First-party-only. | 400 // all cookies as non-First-party-only. |
| 402 false, | 401 false, store_browser_context_->GetURLRequestContext() |
| 402 ->network_delegate() |
| 403 ->AreExperimentalCookieFeaturesEnabled(), |
| 403 net::COOKIE_PRIORITY_DEFAULT, | 404 net::COOKIE_PRIORITY_DEFAULT, |
| 404 base::Bind(&CookiesSetFunction::PullCookie, this)); | 405 base::Bind(&CookiesSetFunction::PullCookie, this)); |
| 405 } | 406 } |
| 406 | 407 |
| 407 void CookiesSetFunction::PullCookie(bool set_cookie_result) { | 408 void CookiesSetFunction::PullCookie(bool set_cookie_result) { |
| 408 // Pull the newly set cookie. | 409 // Pull the newly set cookie. |
| 409 net::CookieMonster* cookie_monster = | 410 net::CookieMonster* cookie_monster = |
| 410 store_browser_context_->GetURLRequestContext() | 411 store_browser_context_->GetURLRequestContext() |
| 411 ->cookie_store() | 412 ->cookie_store() |
| 412 ->GetCookieMonster(); | 413 ->GetCookieMonster(); |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 BrowserContextKeyedAPIFactory<CookiesAPI>* CookiesAPI::GetFactoryInstance() { | 579 BrowserContextKeyedAPIFactory<CookiesAPI>* CookiesAPI::GetFactoryInstance() { |
| 579 return g_factory.Pointer(); | 580 return g_factory.Pointer(); |
| 580 } | 581 } |
| 581 | 582 |
| 582 void CookiesAPI::OnListenerAdded(const EventListenerInfo& details) { | 583 void CookiesAPI::OnListenerAdded(const EventListenerInfo& details) { |
| 583 cookies_event_router_.reset(new CookiesEventRouter(browser_context_)); | 584 cookies_event_router_.reset(new CookiesEventRouter(browser_context_)); |
| 584 EventRouter::Get(browser_context_)->UnregisterObserver(this); | 585 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
| 585 } | 586 } |
| 586 | 587 |
| 587 } // namespace extensions | 588 } // namespace extensions |
| OLD | NEW |