Chromium Code Reviews| 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 91 web_contents()->GetRenderProcessHost()->GetHandle(); | 92 web_contents()->GetRenderProcessHost()->GetHandle(); |
| 92 base::KillProcess(process_handle, RESULT_CODE_HUNG, false); | 93 base::KillProcess(process_handle, RESULT_CODE_HUNG, false); |
| 93 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Hung")); | 94 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Hung")); |
| 94 } | 95 } |
| 95 | 96 |
| 96 void BrowserPluginGuest::SetIsAcceptingTouchEvents(bool accept) { | 97 void BrowserPluginGuest::SetIsAcceptingTouchEvents(bool accept) { |
| 97 SendMessageToEmbedder( | 98 SendMessageToEmbedder( |
| 98 new BrowserPluginMsg_ShouldAcceptTouchEvents(instance_id(), accept)); | 99 new BrowserPluginMsg_ShouldAcceptTouchEvents(instance_id(), accept)); |
| 99 } | 100 } |
| 100 | 101 |
| 102 void BrowserPluginGuest::SetVisibility(bool embedder_visible, bool visible) { | |
| 103 visible_ = visible; | |
| 104 if (embedder_visible && visible) | |
| 105 web_contents()->WasShown(); | |
| 106 else | |
| 107 web_contents()->WasHidden(); | |
|
Charlie Reis
2012/10/05 00:33:18
Just to be clear, does this notify the guest rende
Fady Samuel
2012/10/05 15:22:07
Done.
| |
| 108 } | |
| 109 | |
| 101 WebContents* BrowserPluginGuest::GetWebContents() { | 110 WebContents* BrowserPluginGuest::GetWebContents() { |
| 102 return web_contents(); | 111 return web_contents(); |
| 103 } | 112 } |
| 104 | 113 |
| 105 void BrowserPluginGuest::Terminate() { | 114 void BrowserPluginGuest::Terminate() { |
| 106 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Terminate")); | 115 RecordAction(UserMetricsAction("BrowserPlugin.Guest.Terminate")); |
| 107 base::ProcessHandle process_handle = | 116 base::ProcessHandle process_handle = |
| 108 web_contents()->GetRenderProcessHost()->GetHandle(); | 117 web_contents()->GetRenderProcessHost()->GetHandle(); |
| 109 base::KillProcess(process_handle, RESULT_CODE_KILLED, false); | 118 base::KillProcess(process_handle, RESULT_CODE_KILLED, false); |
| 110 } | 119 } |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 367 break; | 376 break; |
| 368 } | 377 } |
| 369 } | 378 } |
| 370 | 379 |
| 371 void BrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { | 380 void BrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { |
| 372 DCHECK(embedder_render_process_host()); | 381 DCHECK(embedder_render_process_host()); |
| 373 embedder_render_process_host()->Send(msg); | 382 embedder_render_process_host()->Send(msg); |
| 374 } | 383 } |
| 375 | 384 |
| 376 } // namespace content | 385 } // namespace content |
| OLD | NEW |