Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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/renderer/browser_plugin/browser_plugin.h" | 5 #include "content/renderer/browser_plugin/browser_plugin.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 142 bool BrowserPlugin::GetAllowTransparencyAttribute() const { | 142 bool BrowserPlugin::GetAllowTransparencyAttribute() const { |
| 143 return HasDOMAttribute(browser_plugin::kAttributeAllowTransparency); | 143 return HasDOMAttribute(browser_plugin::kAttributeAllowTransparency); |
| 144 } | 144 } |
| 145 | 145 |
| 146 void BrowserPlugin::ParseAllowTransparencyAttribute() { | 146 void BrowserPlugin::ParseAllowTransparencyAttribute() { |
| 147 if (!ready()) | 147 if (!ready()) |
| 148 return; | 148 return; |
| 149 | 149 |
| 150 bool opaque = !GetAllowTransparencyAttribute(); | 150 bool opaque = !GetAllowTransparencyAttribute(); |
| 151 | 151 |
| 152 if (compositing_helper_.get()) | 152 if (compositing_helper_) |
|
lazyboy
2014/09/03 16:58:31
I think this should stay as is, IIUC we are removi
Fady Samuel
2014/09/03 17:30:52
Done.
| |
| 153 compositing_helper_->SetContentsOpaque(opaque); | 153 compositing_helper_->SetContentsOpaque(opaque); |
| 154 | 154 |
| 155 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetContentsOpaque( | 155 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetContentsOpaque( |
| 156 render_view_routing_id_, | 156 render_view_routing_id_, |
| 157 browser_plugin_instance_id_, | 157 browser_plugin_instance_id_, |
| 158 opaque)); | 158 opaque)); |
| 159 } | 159 } |
| 160 | 160 |
| 161 void BrowserPlugin::Attach() { | 161 void BrowserPlugin::Attach() { |
| 162 if (ready()) { | 162 if (ready()) { |
| 163 attached_ = false; | 163 attached_ = false; |
| 164 guest_crashed_ = false; | 164 guest_crashed_ = false; |
| 165 EnableCompositing(false); | 165 EnableCompositing(false); |
| 166 if (compositing_helper_.get()) { | 166 if (compositing_helper_) { |
| 167 compositing_helper_->OnContainerDestroy(); | 167 compositing_helper_->OnContainerDestroy(); |
| 168 compositing_helper_ = NULL; | 168 compositing_helper_ = NULL; |
| 169 } | 169 } |
| 170 } | 170 } |
| 171 | 171 |
| 172 // TODO(fsamuel): Add support for reattachment. | 172 // TODO(fsamuel): Add support for reattachment. |
| 173 BrowserPluginHostMsg_Attach_Params attach_params; | 173 BrowserPluginHostMsg_Attach_Params attach_params; |
| 174 attach_params.focused = ShouldGuestBeFocused(); | 174 attach_params.focused = ShouldGuestBeFocused(); |
| 175 attach_params.visible = visible_; | 175 attach_params.visible = visible_; |
| 176 attach_params.opaque = !GetAllowTransparencyAttribute(); | 176 attach_params.opaque = !GetAllowTransparencyAttribute(); |
| 177 attach_params.origin = plugin_rect().origin(); | 177 attach_params.origin = plugin_rect().origin(); |
| 178 GetSizeParams(&attach_params.resize_guest_params, false); | 178 gfx::Size view_size(width(), height()); |
| 179 | 179 if (!view_size.IsEmpty()) { |
| 180 paint_ack_received_ = false; | |
| 181 PopulateResizeGuestParameters(view_size, | |
| 182 &attach_params.resize_guest_params); | |
| 183 } | |
| 180 browser_plugin_manager()->Send(new BrowserPluginHostMsg_Attach( | 184 browser_plugin_manager()->Send(new BrowserPluginHostMsg_Attach( |
| 181 render_view_routing_id_, | 185 render_view_routing_id_, |
| 182 browser_plugin_instance_id_, | 186 browser_plugin_instance_id_, |
| 183 attach_params)); | 187 attach_params)); |
| 184 | 188 |
| 185 attach_pending_ = true; | 189 attach_pending_ = true; |
| 186 } | 190 } |
| 187 | 191 |
| 188 void BrowserPlugin::DidCommitCompositorFrame() { | 192 void BrowserPlugin::DidCommitCompositorFrame() { |
| 189 if (compositing_helper_.get()) | 193 if (compositing_helper_) |
| 190 compositing_helper_->DidCommitCompositorFrame(); | 194 compositing_helper_->DidCommitCompositorFrame(); |
| 191 } | 195 } |
| 192 | 196 |
| 193 void BrowserPlugin::OnAdvanceFocus(int browser_plugin_instance_id, | 197 void BrowserPlugin::OnAdvanceFocus(int browser_plugin_instance_id, |
| 194 bool reverse) { | 198 bool reverse) { |
| 195 DCHECK(render_view_.get()); | 199 DCHECK(render_view_); |
| 196 render_view_->GetWebView()->advanceFocus(reverse); | 200 render_view_->GetWebView()->advanceFocus(reverse); |
| 197 } | 201 } |
| 198 | 202 |
| 199 void BrowserPlugin::OnAttachACK(int browser_plugin_instance_id) { | 203 void BrowserPlugin::OnAttachACK(int browser_plugin_instance_id) { |
| 200 DCHECK(!attached()); | 204 DCHECK(!attached()); |
| 201 attached_ = true; | 205 attached_ = true; |
| 202 attach_pending_ = false; | 206 attach_pending_ = false; |
| 203 } | 207 } |
| 204 | 208 |
| 205 void BrowserPlugin::OnBuffersSwapped( | 209 void BrowserPlugin::OnBuffersSwapped( |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 226 param.b.producing_route_id, | 230 param.b.producing_route_id, |
| 227 param.b.output_surface_id, | 231 param.b.output_surface_id, |
| 228 param.b.producing_host_id, | 232 param.b.producing_host_id, |
| 229 param.b.shared_memory_handle); | 233 param.b.shared_memory_handle); |
| 230 } | 234 } |
| 231 | 235 |
| 232 void BrowserPlugin::OnCopyFromCompositingSurface(int browser_plugin_instance_id, | 236 void BrowserPlugin::OnCopyFromCompositingSurface(int browser_plugin_instance_id, |
| 233 int request_id, | 237 int request_id, |
| 234 gfx::Rect source_rect, | 238 gfx::Rect source_rect, |
| 235 gfx::Size dest_size) { | 239 gfx::Size dest_size) { |
| 236 if (!compositing_helper_.get()) { | 240 if (!compositing_helper_) { |
| 237 browser_plugin_manager()->Send( | 241 browser_plugin_manager()->Send( |
| 238 new BrowserPluginHostMsg_CopyFromCompositingSurfaceAck( | 242 new BrowserPluginHostMsg_CopyFromCompositingSurfaceAck( |
| 239 render_view_routing_id_, | 243 render_view_routing_id_, |
| 240 browser_plugin_instance_id_, | 244 browser_plugin_instance_id_, |
| 241 request_id, | 245 request_id, |
| 242 SkBitmap())); | 246 SkBitmap())); |
| 243 return; | 247 return; |
| 244 } | 248 } |
| 245 compositing_helper_->CopyFromCompositingSurface(request_id, source_rect, | 249 compositing_helper_->CopyFromCompositingSurface(request_id, source_rect, |
| 246 dest_size); | 250 dest_size); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 310 // resize messages when needed. | 314 // resize messages when needed. |
| 311 if (params.is_resize_ack) | 315 if (params.is_resize_ack) |
| 312 paint_ack_received_ = true; | 316 paint_ack_received_ = true; |
| 313 | 317 |
| 314 if (params.view_size.width() == width() && | 318 if (params.view_size.width() == width() && |
| 315 params.view_size.height() == height()) { | 319 params.view_size.height() == height()) { |
| 316 return; | 320 return; |
| 317 } | 321 } |
| 318 | 322 |
| 319 BrowserPluginHostMsg_ResizeGuest_Params resize_params; | 323 BrowserPluginHostMsg_ResizeGuest_Params resize_params; |
| 320 PopulateResizeGuestParameters(&resize_params, plugin_size(), false); | 324 PopulateResizeGuestParameters(plugin_size(), &resize_params); |
| 321 paint_ack_received_ = false; | 325 paint_ack_received_ = false; |
| 322 browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( | 326 browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( |
| 323 render_view_routing_id_, | 327 render_view_routing_id_, |
| 324 browser_plugin_instance_id_, | 328 browser_plugin_instance_id_, |
| 325 resize_params)); | 329 resize_params)); |
| 326 } | 330 } |
| 327 | 331 |
| 328 NPObject* BrowserPlugin::GetContentWindow() const { | 332 NPObject* BrowserPlugin::GetContentWindow() const { |
| 329 if (content_window_routing_id_ == MSG_ROUTING_NONE) | 333 if (content_window_routing_id_ == MSG_ROUTING_NONE) |
| 330 return NULL; | 334 return NULL; |
| 331 RenderViewImpl* guest_render_view = RenderViewImpl::FromRoutingID( | 335 RenderViewImpl* guest_render_view = RenderViewImpl::FromRoutingID( |
| 332 content_window_routing_id_); | 336 content_window_routing_id_); |
| 333 if (!guest_render_view) | 337 if (!guest_render_view) |
| 334 return NULL; | 338 return NULL; |
| 335 blink::WebFrame* guest_frame = guest_render_view->GetWebView()->mainFrame(); | 339 blink::WebFrame* guest_frame = guest_render_view->GetWebView()->mainFrame(); |
| 336 return guest_frame->windowObject(); | 340 return guest_frame->windowObject(); |
| 337 } | 341 } |
| 338 | 342 |
| 339 void BrowserPlugin::ShowSadGraphic() { | 343 void BrowserPlugin::ShowSadGraphic() { |
| 340 // If the BrowserPlugin is scheduled to be deleted, then container_ will be | 344 // If the BrowserPlugin is scheduled to be deleted, then container_ will be |
| 341 // NULL so we shouldn't attempt to access it. | 345 // NULL so we shouldn't attempt to access it. |
| 342 if (container_) | 346 if (container_) |
| 343 container_->invalidate(); | 347 container_->invalidate(); |
| 344 } | 348 } |
| 345 | 349 |
| 346 float BrowserPlugin::GetDeviceScaleFactor() const { | 350 float BrowserPlugin::GetDeviceScaleFactor() const { |
| 347 if (!render_view_.get()) | 351 if (!render_view_) |
| 348 return 1.0f; | 352 return 1.0f; |
| 349 return render_view_->GetWebView()->deviceScaleFactor(); | 353 return render_view_->GetWebView()->deviceScaleFactor(); |
| 350 } | 354 } |
| 351 | 355 |
| 352 void BrowserPlugin::UpdateDeviceScaleFactor(float device_scale_factor) { | 356 void BrowserPlugin::UpdateDeviceScaleFactor() { |
| 353 if (last_device_scale_factor_ == device_scale_factor || !paint_ack_received_) | 357 if (!paint_ack_received_ || |
| 358 last_device_scale_factor_ == GetDeviceScaleFactor()) { | |
| 354 return; | 359 return; |
| 360 } | |
| 355 | 361 |
| 356 BrowserPluginHostMsg_ResizeGuest_Params params; | 362 BrowserPluginHostMsg_ResizeGuest_Params params; |
| 357 PopulateResizeGuestParameters(¶ms, plugin_size(), true); | 363 PopulateResizeGuestParameters(plugin_size(), ¶ms); |
| 358 browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( | 364 browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( |
| 359 render_view_routing_id_, | 365 render_view_routing_id_, |
| 360 browser_plugin_instance_id_, | 366 browser_plugin_instance_id_, |
| 361 params)); | 367 params)); |
| 362 } | 368 } |
| 363 | 369 |
| 364 void BrowserPlugin::UpdateGuestFocusState() { | 370 void BrowserPlugin::UpdateGuestFocusState() { |
| 365 if (!ready()) | 371 if (!ready()) |
| 366 return; | 372 return; |
| 367 bool should_be_focused = ShouldGuestBeFocused(); | 373 bool should_be_focused = ShouldGuestBeFocused(); |
| 368 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetFocus( | 374 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetFocus( |
| 369 render_view_routing_id_, | 375 render_view_routing_id_, |
| 370 browser_plugin_instance_id_, | 376 browser_plugin_instance_id_, |
| 371 should_be_focused)); | 377 should_be_focused)); |
| 372 } | 378 } |
| 373 | 379 |
| 374 bool BrowserPlugin::ShouldGuestBeFocused() const { | 380 bool BrowserPlugin::ShouldGuestBeFocused() const { |
| 375 bool embedder_focused = false; | 381 bool embedder_focused = false; |
| 376 if (render_view_.get()) | 382 if (render_view_) |
| 377 embedder_focused = render_view_->has_focus(); | 383 embedder_focused = render_view_->has_focus(); |
| 378 return plugin_focused_ && embedder_focused; | 384 return plugin_focused_ && embedder_focused; |
| 379 } | 385 } |
| 380 | 386 |
| 381 WebPluginContainer* BrowserPlugin::container() const { | 387 WebPluginContainer* BrowserPlugin::container() const { |
| 382 return container_; | 388 return container_; |
| 383 } | 389 } |
| 384 | 390 |
| 385 bool BrowserPlugin::initialize(WebPluginContainer* container) { | 391 bool BrowserPlugin::initialize(WebPluginContainer* container) { |
| 386 if (!container) | 392 if (!container) |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 398 // available in render tree. | 404 // available in render tree. |
| 399 browser_plugin_instance_id_ = browser_plugin_manager()->GetNextInstanceID(); | 405 browser_plugin_instance_id_ = browser_plugin_manager()->GetNextInstanceID(); |
| 400 UpdateDOMAttribute("internalinstanceid", | 406 UpdateDOMAttribute("internalinstanceid", |
| 401 base::IntToString(browser_plugin_instance_id_)); | 407 base::IntToString(browser_plugin_instance_id_)); |
| 402 | 408 |
| 403 browser_plugin_manager()->AddBrowserPlugin(browser_plugin_instance_id_, this); | 409 browser_plugin_manager()->AddBrowserPlugin(browser_plugin_instance_id_, this); |
| 404 return true; | 410 return true; |
| 405 } | 411 } |
| 406 | 412 |
| 407 void BrowserPlugin::EnableCompositing(bool enable) { | 413 void BrowserPlugin::EnableCompositing(bool enable) { |
| 408 bool enabled = !!compositing_helper_.get(); | 414 bool enabled = !!compositing_helper_; |
| 409 if (enabled == enable) | 415 if (enabled == enable) |
| 410 return; | 416 return; |
| 411 | 417 |
| 412 if (enable) { | 418 if (enable) { |
| 413 DCHECK(!compositing_helper_.get()); | 419 DCHECK(!compositing_helper_); |
| 414 if (!compositing_helper_.get()) { | 420 if (!compositing_helper_) { |
| 415 compositing_helper_ = ChildFrameCompositingHelper::CreateForBrowserPlugin( | 421 compositing_helper_ = ChildFrameCompositingHelper::CreateForBrowserPlugin( |
| 416 weak_ptr_factory_.GetWeakPtr()); | 422 weak_ptr_factory_.GetWeakPtr()); |
| 417 } | 423 } |
| 418 } | 424 } |
| 419 compositing_helper_->EnableCompositing(enable); | 425 compositing_helper_->EnableCompositing(enable); |
| 420 compositing_helper_->SetContentsOpaque(!GetAllowTransparencyAttribute()); | 426 compositing_helper_->SetContentsOpaque(!GetAllowTransparencyAttribute()); |
| 421 | 427 |
| 422 if (!enable) { | 428 if (!enable) { |
| 423 DCHECK(compositing_helper_.get()); | 429 DCHECK(compositing_helper_); |
| 424 compositing_helper_->OnContainerDestroy(); | 430 compositing_helper_->OnContainerDestroy(); |
| 425 compositing_helper_ = NULL; | 431 compositing_helper_ = NULL; |
| 426 } | 432 } |
| 427 } | 433 } |
| 428 | 434 |
| 429 void BrowserPlugin::destroy() { | 435 void BrowserPlugin::destroy() { |
| 430 // If the plugin was initialized then it has a valid |npp_| identifier, and | 436 // If the plugin was initialized then it has a valid |npp_| identifier, and |
| 431 // the |container_| must clear references to the plugin's script objects. | 437 // the |container_| must clear references to the plugin's script objects. |
| 432 DCHECK(!npp_ || container_); | 438 DCHECK(!npp_ || container_); |
| 433 if (container_) | 439 if (container_) |
| 434 container_->clearScriptObjects(); | 440 container_->clearScriptObjects(); |
| 435 | 441 |
| 436 if (compositing_helper_.get()) | 442 if (compositing_helper_) |
| 437 compositing_helper_->OnContainerDestroy(); | 443 compositing_helper_->OnContainerDestroy(); |
| 438 container_ = NULL; | 444 container_ = NULL; |
| 439 // Will be a no-op if the mouse is not currently locked. | 445 // Will be a no-op if the mouse is not currently locked. |
| 440 if (render_view_.get()) | 446 if (render_view_) |
| 441 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(this); | 447 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(this); |
| 442 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); | 448 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
| 443 } | 449 } |
| 444 | 450 |
| 445 NPObject* BrowserPlugin::scriptableObject() { | 451 NPObject* BrowserPlugin::scriptableObject() { |
| 446 if (!bindings_) | 452 if (!bindings_) |
| 447 return NULL; | 453 return NULL; |
| 448 | 454 |
| 449 NPObject* browser_plugin_np_object(bindings_->np_object()); | 455 NPObject* browser_plugin_np_object(bindings_->np_object()); |
| 450 // The object is expected to be retained before it is returned. | 456 // The object is expected to be retained before it is returned. |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 541 // resize. | 547 // resize. |
| 542 if (!paint_ack_received_ || | 548 if (!paint_ack_received_ || |
| 543 (old_width == window_rect.width && old_height == window_rect.height)) { | 549 (old_width == window_rect.width && old_height == window_rect.height)) { |
| 544 // Let the browser know about the updated view rect. | 550 // Let the browser know about the updated view rect. |
| 545 browser_plugin_manager()->Send(new BrowserPluginHostMsg_UpdateGeometry( | 551 browser_plugin_manager()->Send(new BrowserPluginHostMsg_UpdateGeometry( |
| 546 render_view_routing_id_, browser_plugin_instance_id_, plugin_rect_)); | 552 render_view_routing_id_, browser_plugin_instance_id_, plugin_rect_)); |
| 547 return; | 553 return; |
| 548 } | 554 } |
| 549 | 555 |
| 550 BrowserPluginHostMsg_ResizeGuest_Params params; | 556 BrowserPluginHostMsg_ResizeGuest_Params params; |
| 551 PopulateResizeGuestParameters(¶ms, plugin_size(), false); | 557 PopulateResizeGuestParameters(plugin_size(), ¶ms); |
| 552 paint_ack_received_ = false; | 558 paint_ack_received_ = false; |
| 553 browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( | 559 browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( |
| 554 render_view_routing_id_, | 560 render_view_routing_id_, |
| 555 browser_plugin_instance_id_, | 561 browser_plugin_instance_id_, |
| 556 params)); | 562 params)); |
| 557 } | 563 } |
| 558 | 564 |
| 559 void BrowserPlugin::PopulateResizeGuestParameters( | 565 void BrowserPlugin::PopulateResizeGuestParameters( |
| 560 BrowserPluginHostMsg_ResizeGuest_Params* params, | |
| 561 const gfx::Size& view_size, | 566 const gfx::Size& view_size, |
| 562 bool needs_repaint) { | 567 BrowserPluginHostMsg_ResizeGuest_Params* params) { |
| 563 params->size_changed = true; | 568 params->size_changed = true; |
| 564 params->view_size = view_size; | 569 params->view_size = view_size; |
| 565 params->repaint = needs_repaint; | |
| 566 params->scale_factor = GetDeviceScaleFactor(); | 570 params->scale_factor = GetDeviceScaleFactor(); |
| 567 if (last_device_scale_factor_ != params->scale_factor) { | 571 if (last_device_scale_factor_ != params->scale_factor) { |
| 568 DCHECK(params->repaint); | |
| 569 last_device_scale_factor_ = params->scale_factor; | 572 last_device_scale_factor_ = params->scale_factor; |
| 573 params->repaint = true; | |
| 570 } | 574 } |
| 571 } | 575 } |
| 572 | 576 |
| 573 void BrowserPlugin::GetSizeParams( | |
| 574 BrowserPluginHostMsg_ResizeGuest_Params* resize_guest_params, | |
| 575 bool needs_repaint) { | |
| 576 gfx::Size view_size(width(), height()); | |
| 577 if (view_size.IsEmpty()) | |
| 578 return; | |
| 579 paint_ack_received_ = false; | |
| 580 PopulateResizeGuestParameters(resize_guest_params, view_size, needs_repaint); | |
| 581 } | |
| 582 | |
| 583 void BrowserPlugin::updateFocus(bool focused) { | 577 void BrowserPlugin::updateFocus(bool focused) { |
| 584 plugin_focused_ = focused; | 578 plugin_focused_ = focused; |
| 585 UpdateGuestFocusState(); | 579 UpdateGuestFocusState(); |
| 586 } | 580 } |
| 587 | 581 |
| 588 void BrowserPlugin::updateVisibility(bool visible) { | 582 void BrowserPlugin::updateVisibility(bool visible) { |
| 589 if (visible_ == visible) | 583 if (visible_ == visible) |
| 590 return; | 584 return; |
| 591 | 585 |
| 592 visible_ = visible; | 586 visible_ = visible; |
| 593 if (!ready()) | 587 if (!ready()) |
| 594 return; | 588 return; |
| 595 | 589 |
| 596 if (compositing_helper_.get()) | 590 if (compositing_helper_) |
| 597 compositing_helper_->UpdateVisibility(visible); | 591 compositing_helper_->UpdateVisibility(visible); |
| 598 | 592 |
| 599 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetVisibility( | 593 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetVisibility( |
| 600 render_view_routing_id_, | 594 render_view_routing_id_, |
| 601 browser_plugin_instance_id_, | 595 browser_plugin_instance_id_, |
| 602 visible)); | 596 visible)); |
| 603 } | 597 } |
| 604 | 598 |
| 605 bool BrowserPlugin::acceptsInputEvents() { | 599 bool BrowserPlugin::acceptsInputEvents() { |
| 606 return true; | 600 return true; |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 809 const blink::WebMouseEvent& event) { | 803 const blink::WebMouseEvent& event) { |
| 810 browser_plugin_manager()->Send( | 804 browser_plugin_manager()->Send( |
| 811 new BrowserPluginHostMsg_HandleInputEvent(render_view_routing_id_, | 805 new BrowserPluginHostMsg_HandleInputEvent(render_view_routing_id_, |
| 812 browser_plugin_instance_id_, | 806 browser_plugin_instance_id_, |
| 813 plugin_rect_, | 807 plugin_rect_, |
| 814 &event)); | 808 &event)); |
| 815 return true; | 809 return true; |
| 816 } | 810 } |
| 817 | 811 |
| 818 } // namespace content | 812 } // namespace content |
| OLD | NEW |