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

Side by Side Diff: chrome/browser/renderer_host/browser_render_process_host.cc

Issue 6201005: Initial support for partitioning cookies for isolated apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge conflicts. Created 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "chrome/browser/renderer_host/browser_render_process_host.h" 8 #include "chrome/browser/renderer_host/browser_render_process_host.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 VisitedLinkCommon::Fingerprints pending_; 236 VisitedLinkCommon::Fingerprints pending_;
237 }; 237 };
238 238
239 namespace { 239 namespace {
240 240
241 // Helper class that we pass to ResourceMessageFilter so that it can find the 241 // Helper class that we pass to ResourceMessageFilter so that it can find the
242 // right net::URLRequestContext for a request. 242 // right net::URLRequestContext for a request.
243 class RendererURLRequestContextOverride 243 class RendererURLRequestContextOverride
244 : public ResourceMessageFilter::URLRequestContextOverride { 244 : public ResourceMessageFilter::URLRequestContextOverride {
245 public: 245 public:
246 explicit RendererURLRequestContextOverride(Profile* profile) 246 RendererURLRequestContextOverride(Profile* profile,
247 : request_context_(profile->GetRequestContext()), 247 const Extension* installed_app)
248 : request_context_(profile->GetRequestContextForPossibleApp(
249 installed_app)),
248 media_request_context_(profile->GetRequestContextForMedia()) { 250 media_request_context_(profile->GetRequestContextForMedia()) {
249 } 251 }
250 252
251 virtual net::URLRequestContext* GetRequestContext( 253 virtual net::URLRequestContext* GetRequestContext(
252 ResourceType::Type resource_type) { 254 ResourceType::Type resource_type) {
253 URLRequestContextGetter* request_context = request_context_; 255 URLRequestContextGetter* request_context = request_context_;
254 // If the request has resource type of ResourceType::MEDIA, we use a request 256 // If the request has resource type of ResourceType::MEDIA, we use a request
255 // context specific to media for handling it because these resources have 257 // context specific to media for handling it because these resources have
256 // specific needs for caching. 258 // specific needs for caching.
257 if (resource_type == ResourceType::MEDIA) 259 if (resource_type == ResourceType::MEDIA)
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 } 435 }
434 436
435 return true; 437 return true;
436 } 438 }
437 439
438 void BrowserRenderProcessHost::CreateMessageFilters() { 440 void BrowserRenderProcessHost::CreateMessageFilters() {
439 scoped_refptr<RenderMessageFilter> render_message_filter( 441 scoped_refptr<RenderMessageFilter> render_message_filter(
440 new RenderMessageFilter(id(), 442 new RenderMessageFilter(id(),
441 PluginService::GetInstance(), 443 PluginService::GetInstance(),
442 profile(), 444 profile(),
445 profile()->GetRequestContextForPossibleApp(
446 installed_app_),
443 widget_helper_)); 447 widget_helper_));
444 channel_->AddFilter(render_message_filter); 448 channel_->AddFilter(render_message_filter);
445 449
446 scoped_refptr<RendererURLRequestContextOverride> url_request_context_override( 450 scoped_refptr<RendererURLRequestContextOverride> url_request_context_override(
447 new RendererURLRequestContextOverride(profile())); 451 new RendererURLRequestContextOverride(profile(), installed_app_));
448 452
449 ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter( 453 ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter(
450 id(), ChildProcessInfo::RENDER_PROCESS, 454 id(), ChildProcessInfo::RENDER_PROCESS,
451 g_browser_process->resource_dispatcher_host()); 455 g_browser_process->resource_dispatcher_host());
452 resource_message_filter->set_url_request_context_override( 456 resource_message_filter->set_url_request_context_override(
453 url_request_context_override); 457 url_request_context_override);
454 channel_->AddFilter(resource_message_filter); 458 channel_->AddFilter(resource_message_filter);
455 459
456 channel_->AddFilter(new AudioRendererHost()); 460 channel_->AddFilter(new AudioRendererHost());
457 channel_->AddFilter( 461 channel_->AddFilter(
(...skipping 842 matching lines...) Expand 10 before | Expand all | Expand 10 after
1300 IPC::PlatformFileForTransit file; 1304 IPC::PlatformFileForTransit file;
1301 #if defined(OS_POSIX) 1305 #if defined(OS_POSIX)
1302 file = base::FileDescriptor(model_file, false); 1306 file = base::FileDescriptor(model_file, false);
1303 #elif defined(OS_WIN) 1307 #elif defined(OS_WIN)
1304 ::DuplicateHandle(::GetCurrentProcess(), model_file, GetHandle(), &file, 0, 1308 ::DuplicateHandle(::GetCurrentProcess(), model_file, GetHandle(), &file, 0,
1305 false, DUPLICATE_SAME_ACCESS); 1309 false, DUPLICATE_SAME_ACCESS);
1306 #endif 1310 #endif
1307 Send(new ViewMsg_SetPhishingModel(file)); 1311 Send(new ViewMsg_SetPhishingModel(file));
1308 } 1312 }
1309 } 1313 }
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/browser_render_process_host.h ('k') | chrome/browser/sidebar/sidebar_container.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698