OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <set> | 5 #include <set> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
| 9 #include "base/location.h" |
9 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
10 #include "base/path_service.h" | 11 #include "base/path_service.h" |
| 12 #include "base/single_thread_task_runner.h" |
11 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
| 14 #include "base/thread_task_runner_handle.h" |
12 #include "base/values.h" | 15 #include "base/values.h" |
13 #include "content/browser/child_process_security_policy_impl.h" | 16 #include "content/browser/child_process_security_policy_impl.h" |
14 #include "content/browser/renderer_host/render_view_host_impl.h" | 17 #include "content/browser/renderer_host/render_view_host_impl.h" |
15 #include "content/browser/site_instance_impl.h" | 18 #include "content/browser/site_instance_impl.h" |
16 #include "content/browser/web_contents/web_contents_impl.h" | 19 #include "content/browser/web_contents/web_contents_impl.h" |
17 #include "content/browser/webui/web_ui_impl.h" | 20 #include "content/browser/webui/web_ui_impl.h" |
18 #include "content/common/content_constants_internal.h" | 21 #include "content/common/content_constants_internal.h" |
19 #include "content/public/browser/navigation_controller.h" | 22 #include "content/public/browser/navigation_controller.h" |
20 #include "content/public/browser/navigation_entry.h" | 23 #include "content/public/browser/navigation_entry.h" |
21 #include "content/public/browser/render_process_host.h" | 24 #include "content/public/browser/render_process_host.h" |
(...skipping 1731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1753 } | 1756 } |
1754 | 1757 |
1755 // WebContentsObserver implementation: | 1758 // WebContentsObserver implementation: |
1756 void RenderFrameDeleted(RenderFrameHost* rfh) override { | 1759 void RenderFrameDeleted(RenderFrameHost* rfh) override { |
1757 if (rfh == render_frame_host_) { | 1760 if (rfh == render_frame_host_) { |
1758 CHECK(!deleted_); | 1761 CHECK(!deleted_); |
1759 deleted_ = true; | 1762 deleted_ = true; |
1760 } | 1763 } |
1761 | 1764 |
1762 if (deleted_ && message_loop_runner_->loop_running()) { | 1765 if (deleted_ && message_loop_runner_->loop_running()) { |
1763 base::MessageLoop::current()->PostTask( | 1766 base::ThreadTaskRunnerHandle::Get()->PostTask( |
1764 FROM_HERE, message_loop_runner_->QuitClosure()); | 1767 FROM_HERE, message_loop_runner_->QuitClosure()); |
1765 } | 1768 } |
1766 } | 1769 } |
1767 | 1770 |
1768 private: | 1771 private: |
1769 scoped_refptr<MessageLoopRunner> message_loop_runner_; | 1772 scoped_refptr<MessageLoopRunner> message_loop_runner_; |
1770 bool deleted_; | 1773 bool deleted_; |
1771 RenderFrameHost* render_frame_host_; | 1774 RenderFrameHost* render_frame_host_; |
1772 }; | 1775 }; |
1773 | 1776 |
(...skipping 26 matching lines...) Expand all Loading... |
1800 NavigateToURL(shell(), cross_site_url); | 1803 NavigateToURL(shell(), cross_site_url); |
1801 rfh_observer.Wait(); | 1804 rfh_observer.Wait(); |
1802 | 1805 |
1803 EXPECT_NE(orig_site_instance_id, | 1806 EXPECT_NE(orig_site_instance_id, |
1804 root->current_frame_host()->GetSiteInstance()->GetId()); | 1807 root->current_frame_host()->GetSiteInstance()->GetId()); |
1805 EXPECT_FALSE(RenderFrameHost::FromID(initial_process_id, initial_rfh_id)); | 1808 EXPECT_FALSE(RenderFrameHost::FromID(initial_process_id, initial_rfh_id)); |
1806 EXPECT_FALSE(RenderViewHost::FromID(initial_process_id, initial_rvh_id)); | 1809 EXPECT_FALSE(RenderViewHost::FromID(initial_process_id, initial_rvh_id)); |
1807 } | 1810 } |
1808 | 1811 |
1809 } // namespace content | 1812 } // namespace content |
OLD | NEW |