| 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 "content/public/browser/browser_context.h" | 5 #include "content/public/browser/browser_context.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 #include "content/public/common/service_manager_connection.h" | 35 #include "content/public/common/service_manager_connection.h" |
| 36 #include "content/public/common/service_names.mojom.h" | 36 #include "content/public/common/service_names.mojom.h" |
| 37 #include "net/cookies/cookie_store.h" | 37 #include "net/cookies/cookie_store.h" |
| 38 #include "net/ssl/channel_id_service.h" | 38 #include "net/ssl/channel_id_service.h" |
| 39 #include "net/ssl/channel_id_store.h" | 39 #include "net/ssl/channel_id_store.h" |
| 40 #include "net/url_request/url_request_context.h" | 40 #include "net/url_request/url_request_context.h" |
| 41 #include "net/url_request/url_request_context_getter.h" | 41 #include "net/url_request/url_request_context_getter.h" |
| 42 #include "services/file/file_service.h" | 42 #include "services/file/file_service.h" |
| 43 #include "services/file/public/interfaces/constants.mojom.h" | 43 #include "services/file/public/interfaces/constants.mojom.h" |
| 44 #include "services/file/user_id_map.h" | 44 #include "services/file/user_id_map.h" |
| 45 #include "services/service_manager/public/cpp/connection.h" | |
| 46 #include "services/service_manager/public/cpp/connector.h" | 45 #include "services/service_manager/public/cpp/connector.h" |
| 47 #include "services/service_manager/public/interfaces/service.mojom.h" | 46 #include "services/service_manager/public/interfaces/service.mojom.h" |
| 48 #include "storage/browser/database/database_tracker.h" | 47 #include "storage/browser/database/database_tracker.h" |
| 49 #include "storage/browser/fileapi/external_mount_points.h" | 48 #include "storage/browser/fileapi/external_mount_points.h" |
| 50 | 49 |
| 51 using base::UserDataAdapter; | 50 using base::UserDataAdapter; |
| 52 | 51 |
| 53 namespace content { | 52 namespace content { |
| 54 | 53 |
| 55 namespace { | 54 namespace { |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 void SetDownloadManager(BrowserContext* context, | 142 void SetDownloadManager(BrowserContext* context, |
| 144 content::DownloadManager* download_manager) { | 143 content::DownloadManager* download_manager) { |
| 145 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 144 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 146 DCHECK(download_manager); | 145 DCHECK(download_manager); |
| 147 context->SetUserData(kDownloadManagerKeyName, download_manager); | 146 context->SetUserData(kDownloadManagerKeyName, download_manager); |
| 148 } | 147 } |
| 149 | 148 |
| 150 class BrowserContextServiceManagerConnectionHolder | 149 class BrowserContextServiceManagerConnectionHolder |
| 151 : public base::SupportsUserData::Data { | 150 : public base::SupportsUserData::Data { |
| 152 public: | 151 public: |
| 153 BrowserContextServiceManagerConnectionHolder( | 152 explicit BrowserContextServiceManagerConnectionHolder( |
| 154 std::unique_ptr<service_manager::Connection> connection, | |
| 155 service_manager::mojom::ServiceRequest request) | 153 service_manager::mojom::ServiceRequest request) |
| 156 : root_connection_(std::move(connection)), | 154 : service_manager_connection_(ServiceManagerConnection::Create( |
| 157 service_manager_connection_(ServiceManagerConnection::Create( | |
| 158 std::move(request), | 155 std::move(request), |
| 159 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO))) {} | 156 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO))) {} |
| 160 ~BrowserContextServiceManagerConnectionHolder() override {} | 157 ~BrowserContextServiceManagerConnectionHolder() override {} |
| 161 | 158 |
| 162 ServiceManagerConnection* service_manager_connection() { | 159 ServiceManagerConnection* service_manager_connection() { |
| 163 return service_manager_connection_.get(); | 160 return service_manager_connection_.get(); |
| 164 } | 161 } |
| 165 | 162 |
| 166 private: | 163 private: |
| 167 std::unique_ptr<service_manager::Connection> root_connection_; | |
| 168 std::unique_ptr<ServiceManagerConnection> service_manager_connection_; | 164 std::unique_ptr<ServiceManagerConnection> service_manager_connection_; |
| 169 | 165 |
| 170 DISALLOW_COPY_AND_ASSIGN(BrowserContextServiceManagerConnectionHolder); | 166 DISALLOW_COPY_AND_ASSIGN(BrowserContextServiceManagerConnectionHolder); |
| 171 }; | 167 }; |
| 172 | 168 |
| 173 } // namespace | 169 } // namespace |
| 174 | 170 |
| 175 // static | 171 // static |
| 176 void BrowserContext::AsyncObliterateStoragePartition( | 172 void BrowserContext::AsyncObliterateStoragePartition( |
| 177 BrowserContext* browser_context, | 173 BrowserContext* browser_context, |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 | 431 |
| 436 service_manager::mojom::ServicePtr service; | 432 service_manager::mojom::ServicePtr service; |
| 437 service_manager::mojom::ServiceRequest service_request(&service); | 433 service_manager::mojom::ServiceRequest service_request(&service); |
| 438 | 434 |
| 439 service_manager::mojom::PIDReceiverPtr pid_receiver; | 435 service_manager::mojom::PIDReceiverPtr pid_receiver; |
| 440 service_manager::Identity identity(mojom::kBrowserServiceName, new_id); | 436 service_manager::Identity identity(mojom::kBrowserServiceName, new_id); |
| 441 service_manager_connection->GetConnector()->StartService( | 437 service_manager_connection->GetConnector()->StartService( |
| 442 identity, std::move(service), mojo::MakeRequest(&pid_receiver)); | 438 identity, std::move(service), mojo::MakeRequest(&pid_receiver)); |
| 443 pid_receiver->SetPID(base::GetCurrentProcId()); | 439 pid_receiver->SetPID(base::GetCurrentProcId()); |
| 444 | 440 |
| 441 service_manager_connection->GetConnector()->StartService(identity); |
| 445 BrowserContextServiceManagerConnectionHolder* connection_holder = | 442 BrowserContextServiceManagerConnectionHolder* connection_holder = |
| 446 new BrowserContextServiceManagerConnectionHolder( | 443 new BrowserContextServiceManagerConnectionHolder( |
| 447 service_manager_connection->GetConnector()->Connect(identity), | |
| 448 std::move(service_request)); | 444 std::move(service_request)); |
| 449 browser_context->SetUserData(kServiceManagerConnection, connection_holder); | 445 browser_context->SetUserData(kServiceManagerConnection, connection_holder); |
| 450 | 446 |
| 451 ServiceManagerConnection* connection = | 447 ServiceManagerConnection* connection = |
| 452 connection_holder->service_manager_connection(); | 448 connection_holder->service_manager_connection(); |
| 453 | 449 |
| 454 // New embedded service factories should be added to |connection| here. | 450 // New embedded service factories should be added to |connection| here. |
| 455 | 451 |
| 456 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 452 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 457 switches::kMojoLocalStorage)) { | 453 switches::kMojoLocalStorage)) { |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 522 if (GetUserData(kDownloadManagerKeyName)) | 518 if (GetUserData(kDownloadManagerKeyName)) |
| 523 GetDownloadManager(this)->Shutdown(); | 519 GetDownloadManager(this)->Shutdown(); |
| 524 } | 520 } |
| 525 | 521 |
| 526 void BrowserContext::ShutdownStoragePartitions() { | 522 void BrowserContext::ShutdownStoragePartitions() { |
| 527 if (GetUserData(kStoragePartitionMapKeyName)) | 523 if (GetUserData(kStoragePartitionMapKeyName)) |
| 528 RemoveUserData(kStoragePartitionMapKeyName); | 524 RemoveUserData(kStoragePartitionMapKeyName); |
| 529 } | 525 } |
| 530 | 526 |
| 531 } // namespace content | 527 } // namespace content |
| OLD | NEW |