| 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/browser/site_instance_impl.h" | 5 #include "content/browser/site_instance_impl.h" |
| 6 | 6 |
| 7 #include "content/browser/browsing_instance.h" | 7 #include "content/browser/browsing_instance.h" |
| 8 #include "content/browser/child_process_security_policy_impl.h" | 8 #include "content/browser/child_process_security_policy_impl.h" |
| 9 #include "content/browser/frame_host/debug_urls.h" | 9 #include "content/browser/frame_host/debug_urls.h" |
| 10 #include "content/browser/frame_host/frame_tree_node.h" | 10 #include "content/browser/frame_host/frame_tree_node.h" |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 return false; | 237 return false; |
| 238 | 238 |
| 239 return DoesSiteRequireDedicatedProcess(GetBrowserContext(), site_); | 239 return DoesSiteRequireDedicatedProcess(GetBrowserContext(), site_); |
| 240 } | 240 } |
| 241 | 241 |
| 242 void SiteInstanceImpl::IncrementActiveFrameCount() { | 242 void SiteInstanceImpl::IncrementActiveFrameCount() { |
| 243 active_frame_count_++; | 243 active_frame_count_++; |
| 244 } | 244 } |
| 245 | 245 |
| 246 void SiteInstanceImpl::DecrementActiveFrameCount() { | 246 void SiteInstanceImpl::DecrementActiveFrameCount() { |
| 247 if (--active_frame_count_ == 0) | 247 if (--active_frame_count_ == 0) { |
| 248 FOR_EACH_OBSERVER(Observer, observers_, ActiveFrameCountIsZero(this)); | 248 for (auto& observer : observers_) |
| 249 observer.ActiveFrameCountIsZero(this); |
| 250 } |
| 249 } | 251 } |
| 250 | 252 |
| 251 void SiteInstanceImpl::IncrementRelatedActiveContentsCount() { | 253 void SiteInstanceImpl::IncrementRelatedActiveContentsCount() { |
| 252 browsing_instance_->increment_active_contents_count(); | 254 browsing_instance_->increment_active_contents_count(); |
| 253 } | 255 } |
| 254 | 256 |
| 255 void SiteInstanceImpl::DecrementRelatedActiveContentsCount() { | 257 void SiteInstanceImpl::DecrementRelatedActiveContentsCount() { |
| 256 browsing_instance_->decrement_active_contents_count(); | 258 browsing_instance_->decrement_active_contents_count(); |
| 257 } | 259 } |
| 258 | 260 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 | 390 |
| 389 void SiteInstanceImpl::RenderProcessHostDestroyed(RenderProcessHost* host) { | 391 void SiteInstanceImpl::RenderProcessHostDestroyed(RenderProcessHost* host) { |
| 390 DCHECK_EQ(process_, host); | 392 DCHECK_EQ(process_, host); |
| 391 process_->RemoveObserver(this); | 393 process_->RemoveObserver(this); |
| 392 process_ = nullptr; | 394 process_ = nullptr; |
| 393 } | 395 } |
| 394 | 396 |
| 395 void SiteInstanceImpl::RenderProcessWillExit(RenderProcessHost* host) { | 397 void SiteInstanceImpl::RenderProcessWillExit(RenderProcessHost* host) { |
| 396 // TODO(nick): http://crbug.com/575400 - RenderProcessWillExit might not serve | 398 // TODO(nick): http://crbug.com/575400 - RenderProcessWillExit might not serve |
| 397 // any purpose here. | 399 // any purpose here. |
| 398 FOR_EACH_OBSERVER(Observer, observers_, RenderProcessGone(this)); | 400 for (auto& observer : observers_) |
| 401 observer.RenderProcessGone(this); |
| 399 } | 402 } |
| 400 | 403 |
| 401 void SiteInstanceImpl::RenderProcessExited(RenderProcessHost* host, | 404 void SiteInstanceImpl::RenderProcessExited(RenderProcessHost* host, |
| 402 base::TerminationStatus status, | 405 base::TerminationStatus status, |
| 403 int exit_code) { | 406 int exit_code) { |
| 404 FOR_EACH_OBSERVER(Observer, observers_, RenderProcessGone(this)); | 407 for (auto& observer : observers_) |
| 408 observer.RenderProcessGone(this); |
| 405 } | 409 } |
| 406 | 410 |
| 407 void SiteInstanceImpl::LockToOrigin() { | 411 void SiteInstanceImpl::LockToOrigin() { |
| 408 // TODO(nick): When all sites are isolated, this operation provides strong | 412 // TODO(nick): When all sites are isolated, this operation provides strong |
| 409 // protection. If only some sites are isolated, we need additional logic to | 413 // protection. If only some sites are isolated, we need additional logic to |
| 410 // prevent the non-isolated sites from requesting resources for isolated | 414 // prevent the non-isolated sites from requesting resources for isolated |
| 411 // sites. https://crbug.com/509125 | 415 // sites. https://crbug.com/509125 |
| 412 if (RequiresDedicatedProcess()) { | 416 if (RequiresDedicatedProcess()) { |
| 413 // Guest processes cannot be locked to its site because guests always have | 417 // Guest processes cannot be locked to its site because guests always have |
| 414 // a fixed SiteInstance. The site of GURLs a guest loads doesn't match that | 418 // a fixed SiteInstance. The site of GURLs a guest loads doesn't match that |
| (...skipping 17 matching lines...) Expand all Loading... |
| 432 browsing_instance_->browser_context(), site_)) | 436 browsing_instance_->browser_context(), site_)) |
| 433 return; | 437 return; |
| 434 | 438 |
| 435 ChildProcessSecurityPolicyImpl* policy = | 439 ChildProcessSecurityPolicyImpl* policy = |
| 436 ChildProcessSecurityPolicyImpl::GetInstance(); | 440 ChildProcessSecurityPolicyImpl::GetInstance(); |
| 437 policy->LockToOrigin(process_->GetID(), site_); | 441 policy->LockToOrigin(process_->GetID(), site_); |
| 438 } | 442 } |
| 439 } | 443 } |
| 440 | 444 |
| 441 } // namespace content | 445 } // namespace content |
| OLD | NEW |