| 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/browser_plugin/browser_plugin_guest.h" | 5 #include "content/browser/browser_plugin/browser_plugin_guest.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "content/browser/browser_plugin/browser_plugin_guest_helper.h" | 10 #include "content/browser/browser_plugin/browser_plugin_guest_helper.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 RenderViewHost* render_view_host) | 36 RenderViewHost* render_view_host) |
| 37 : WebContentsObserver(web_contents), | 37 : WebContentsObserver(web_contents), |
| 38 embedder_render_process_host_(NULL), | 38 embedder_render_process_host_(NULL), |
| 39 instance_id_(instance_id), | 39 instance_id_(instance_id), |
| 40 #if defined(OS_WIN) | 40 #if defined(OS_WIN) |
| 41 damage_buffer_size_(0), | 41 damage_buffer_size_(0), |
| 42 #endif | 42 #endif |
| 43 damage_buffer_scale_factor_(1.0f), | 43 damage_buffer_scale_factor_(1.0f), |
| 44 pending_update_counter_(0), | 44 pending_update_counter_(0), |
| 45 guest_hang_timeout_( | 45 guest_hang_timeout_( |
| 46 base::TimeDelta::FromMilliseconds(kGuestHangTimeoutMs)) { | 46 base::TimeDelta::FromMilliseconds(kGuestHangTimeoutMs)), |
| 47 visible_(true) { |
| 47 DCHECK(web_contents); | 48 DCHECK(web_contents); |
| 48 // |render_view_host| manages the ownership of this BrowserPluginGuestHelper. | 49 // |render_view_host| manages the ownership of this BrowserPluginGuestHelper. |
| 49 new BrowserPluginGuestHelper(this, render_view_host); | 50 new BrowserPluginGuestHelper(this, render_view_host); |
| 50 } | 51 } |
| 51 | 52 |
| 52 BrowserPluginGuest::~BrowserPluginGuest() { | 53 BrowserPluginGuest::~BrowserPluginGuest() { |
| 53 } | 54 } |
| 54 | 55 |
| 55 // static | 56 // static |
| 56 BrowserPluginGuest* BrowserPluginGuest::Create( | 57 BrowserPluginGuest* BrowserPluginGuest::Create( |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 web_contents()->GetRenderProcessHost()->GetHandle(); | 100 web_contents()->GetRenderProcessHost()->GetHandle(); |
| 100 base::KillProcess(process_handle, RESULT_CODE_HUNG, false); | 101 base::KillProcess(process_handle, RESULT_CODE_HUNG, false); |
| 101 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Hung")); | 102 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Hung")); |
| 102 } | 103 } |
| 103 | 104 |
| 104 void BrowserPluginGuest::SetIsAcceptingTouchEvents(bool accept) { | 105 void BrowserPluginGuest::SetIsAcceptingTouchEvents(bool accept) { |
| 105 SendMessageToEmbedder( | 106 SendMessageToEmbedder( |
| 106 new BrowserPluginMsg_ShouldAcceptTouchEvents(instance_id(), accept)); | 107 new BrowserPluginMsg_ShouldAcceptTouchEvents(instance_id(), accept)); |
| 107 } | 108 } |
| 108 | 109 |
| 110 void BrowserPluginGuest::SetVisibility(bool embedder_visible, bool visible) { |
| 111 visible_ = visible; |
| 112 if (embedder_visible && visible) |
| 113 web_contents()->WasShown(); |
| 114 else |
| 115 web_contents()->WasHidden(); |
| 116 } |
| 117 |
| 109 WebContents* BrowserPluginGuest::GetWebContents() { | 118 WebContents* BrowserPluginGuest::GetWebContents() { |
| 110 return web_contents(); | 119 return web_contents(); |
| 111 } | 120 } |
| 112 | 121 |
| 113 void BrowserPluginGuest::Terminate() { | 122 void BrowserPluginGuest::Terminate() { |
| 114 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Terminate")); | 123 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Terminate")); |
| 115 base::ProcessHandle process_handle = | 124 base::ProcessHandle process_handle = |
| 116 web_contents()->GetRenderProcessHost()->GetHandle(); | 125 web_contents()->GetRenderProcessHost()->GetHandle(); |
| 117 base::KillProcess(process_handle, RESULT_CODE_KILLED, false); | 126 base::KillProcess(process_handle, RESULT_CODE_KILLED, false); |
| 118 } | 127 } |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 break; | 384 break; |
| 376 } | 385 } |
| 377 } | 386 } |
| 378 | 387 |
| 379 void BrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { | 388 void BrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { |
| 380 DCHECK(embedder_render_process_host()); | 389 DCHECK(embedder_render_process_host()); |
| 381 embedder_render_process_host()->Send(msg); | 390 embedder_render_process_host()->Send(msg); |
| 382 } | 391 } |
| 383 | 392 |
| 384 } // namespace content | 393 } // namespace content |
| OLD | NEW |