| 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/renderer/pepper/pepper_plugin_instance_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
| 9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 | 345 |
| 346 private: | 346 private: |
| 347 PepperPluginInstanceImpl* plugin_; | 347 PepperPluginInstanceImpl* plugin_; |
| 348 }; | 348 }; |
| 349 | 349 |
| 350 | 350 |
| 351 } // namespace | 351 } // namespace |
| 352 | 352 |
| 353 // static | 353 // static |
| 354 PepperPluginInstanceImpl* PepperPluginInstanceImpl::Create( | 354 PepperPluginInstanceImpl* PepperPluginInstanceImpl::Create( |
| 355 PluginDelegate* delegate, | 355 PepperPluginDelegateImpl* delegate, |
| 356 RenderViewImpl* render_view, | 356 RenderViewImpl* render_view, |
| 357 PluginModule* module, | 357 PluginModule* module, |
| 358 WebPluginContainer* container, | 358 WebPluginContainer* container, |
| 359 const GURL& plugin_url) { | 359 const GURL& plugin_url) { |
| 360 base::Callback<const void*(const char*)> get_plugin_interface_func = | 360 base::Callback<const void*(const char*)> get_plugin_interface_func = |
| 361 base::Bind(&PluginModule::GetPluginInterface, module); | 361 base::Bind(&PluginModule::GetPluginInterface, module); |
| 362 PPP_Instance_Combined* ppp_instance_combined = | 362 PPP_Instance_Combined* ppp_instance_combined = |
| 363 PPP_Instance_Combined::Create(get_plugin_interface_func); | 363 PPP_Instance_Combined::Create(get_plugin_interface_func); |
| 364 if (!ppp_instance_combined) | 364 if (!ppp_instance_combined) |
| 365 return NULL; | 365 return NULL; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 finished_loading_ = true; | 406 finished_loading_ = true; |
| 407 } | 407 } |
| 408 | 408 |
| 409 void PepperPluginInstanceImpl::NaClDocumentLoader::didFail( | 409 void PepperPluginInstanceImpl::NaClDocumentLoader::didFail( |
| 410 WebURLLoader* loader, | 410 WebURLLoader* loader, |
| 411 const WebURLError& error) { | 411 const WebURLError& error) { |
| 412 DCHECK(!error_.get()); | 412 DCHECK(!error_.get()); |
| 413 error_.reset(new WebURLError(error)); | 413 error_.reset(new WebURLError(error)); |
| 414 } | 414 } |
| 415 | 415 |
| 416 PepperPluginInstanceImpl::GamepadImpl::GamepadImpl(PluginDelegate* delegate) | 416 PepperPluginInstanceImpl::GamepadImpl::GamepadImpl( |
| 417 PepperPluginDelegateImpl* delegate) |
| 417 : Resource(::ppapi::Resource::Untracked()), | 418 : Resource(::ppapi::Resource::Untracked()), |
| 418 delegate_(delegate) { | 419 delegate_(delegate) { |
| 419 } | 420 } |
| 420 | 421 |
| 421 PepperPluginInstanceImpl::GamepadImpl::~GamepadImpl() { | 422 PepperPluginInstanceImpl::GamepadImpl::~GamepadImpl() { |
| 422 } | 423 } |
| 423 | 424 |
| 424 PPB_Gamepad_API* PepperPluginInstanceImpl::GamepadImpl::AsPPB_Gamepad_API() { | 425 PPB_Gamepad_API* PepperPluginInstanceImpl::GamepadImpl::AsPPB_Gamepad_API() { |
| 425 return this; | 426 return this; |
| 426 } | 427 } |
| 427 | 428 |
| 428 void PepperPluginInstanceImpl::GamepadImpl::Sample( | 429 void PepperPluginInstanceImpl::GamepadImpl::Sample( |
| 429 PP_Instance instance, | 430 PP_Instance instance, |
| 430 PP_GamepadsSampleData* data) { | 431 PP_GamepadsSampleData* data) { |
| 431 WebKit::WebGamepads webkit_data; | 432 WebKit::WebGamepads webkit_data; |
| 432 delegate_->SampleGamepads(&webkit_data); | 433 delegate_->SampleGamepads(&webkit_data); |
| 433 ConvertWebKitGamepadData( | 434 ConvertWebKitGamepadData( |
| 434 *reinterpret_cast<const ::ppapi::WebKitGamepads*>(&webkit_data), data); | 435 *reinterpret_cast<const ::ppapi::WebKitGamepads*>(&webkit_data), data); |
| 435 } | 436 } |
| 436 | 437 |
| 437 PepperPluginInstanceImpl::PepperPluginInstanceImpl( | 438 PepperPluginInstanceImpl::PepperPluginInstanceImpl( |
| 438 PluginDelegate* delegate, | 439 PepperPluginDelegateImpl* delegate, |
| 439 RenderViewImpl* render_view, | 440 RenderViewImpl* render_view, |
| 440 PluginModule* module, | 441 PluginModule* module, |
| 441 ::ppapi::PPP_Instance_Combined* instance_interface, | 442 ::ppapi::PPP_Instance_Combined* instance_interface, |
| 442 WebPluginContainer* container, | 443 WebPluginContainer* container, |
| 443 const GURL& plugin_url) | 444 const GURL& plugin_url) |
| 444 : delegate_(delegate), | 445 : delegate_(delegate), |
| 445 render_view_(render_view), | 446 render_view_(render_view), |
| 446 module_(module), | 447 module_(module), |
| 447 instance_interface_(instance_interface), | 448 instance_interface_(instance_interface), |
| 448 pp_instance_(0), | 449 pp_instance_(0), |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 selection_caret_(0), | 486 selection_caret_(0), |
| 486 selection_anchor_(0), | 487 selection_anchor_(0), |
| 487 pending_user_gesture_(0.0), | 488 pending_user_gesture_(0.0), |
| 488 document_loader_(NULL), | 489 document_loader_(NULL), |
| 489 nacl_document_load_(false), | 490 nacl_document_load_(false), |
| 490 npp_(new NPP_t), | 491 npp_(new NPP_t), |
| 491 isolate_(v8::Isolate::GetCurrent()) { | 492 isolate_(v8::Isolate::GetCurrent()) { |
| 492 pp_instance_ = HostGlobals::Get()->AddInstance(this); | 493 pp_instance_ = HostGlobals::Get()->AddInstance(this); |
| 493 | 494 |
| 494 memset(¤t_print_settings_, 0, sizeof(current_print_settings_)); | 495 memset(¤t_print_settings_, 0, sizeof(current_print_settings_)); |
| 495 DCHECK(delegate); | |
| 496 module_->InstanceCreated(this); | 496 module_->InstanceCreated(this); |
| 497 delegate_->InstanceCreated(this); | 497 |
| 498 if (delegate_) |
| 499 delegate_->InstanceCreated(this); |
| 498 | 500 |
| 499 if (render_view) // NULL in tests | 501 if (render_view) // NULL in tests |
| 500 view_data_.is_page_visible = !render_view->is_hidden(); | 502 view_data_.is_page_visible = !render_view->is_hidden(); |
| 501 | 503 |
| 502 RendererPpapiHostImpl* host_impl = module_->renderer_ppapi_host(); | 504 RendererPpapiHostImpl* host_impl = module_->renderer_ppapi_host(); |
| 503 resource_creation_ = host_impl->CreateInProcessResourceCreationAPI(this); | 505 resource_creation_ = host_impl->CreateInProcessResourceCreationAPI(this); |
| 504 | 506 |
| 505 // TODO(bbudge) remove this when the trusted NaCl plugin has been removed. | 507 // TODO(bbudge) remove this when the trusted NaCl plugin has been removed. |
| 506 // We must defer certain plugin events for NaCl instances since we switch | 508 // We must defer certain plugin events for NaCl instances since we switch |
| 507 // from the in-process to the out-of-process proxy after instantiating them. | 509 // from the in-process to the out-of-process proxy after instantiating them. |
| (...skipping 16 matching lines...) Expand all Loading... |
| 524 // unregister themselves inside the delete call). | 526 // unregister themselves inside the delete call). |
| 525 PluginObjectSet plugin_object_copy; | 527 PluginObjectSet plugin_object_copy; |
| 526 live_plugin_objects_.swap(plugin_object_copy); | 528 live_plugin_objects_.swap(plugin_object_copy); |
| 527 for (PluginObjectSet::iterator i = plugin_object_copy.begin(); | 529 for (PluginObjectSet::iterator i = plugin_object_copy.begin(); |
| 528 i != plugin_object_copy.end(); ++i) | 530 i != plugin_object_copy.end(); ++i) |
| 529 delete *i; | 531 delete *i; |
| 530 | 532 |
| 531 if (TrackedCallback::IsPending(lock_mouse_callback_)) | 533 if (TrackedCallback::IsPending(lock_mouse_callback_)) |
| 532 lock_mouse_callback_->Abort(); | 534 lock_mouse_callback_->Abort(); |
| 533 | 535 |
| 534 delegate_->InstanceDeleted(this); | 536 if (delegate_) |
| 537 delegate_->InstanceDeleted(this); |
| 535 UnSetAndDeleteLockTargetAdapter(); | 538 UnSetAndDeleteLockTargetAdapter(); |
| 536 module_->InstanceDeleted(this); | 539 module_->InstanceDeleted(this); |
| 537 // If we switched from the NaCl plugin module, notify it too. | 540 // If we switched from the NaCl plugin module, notify it too. |
| 538 if (original_module_.get()) | 541 if (original_module_.get()) |
| 539 original_module_->InstanceDeleted(this); | 542 original_module_->InstanceDeleted(this); |
| 540 | 543 |
| 541 // This should be last since some of the above "instance deleted" calls will | 544 // This should be last since some of the above "instance deleted" calls will |
| 542 // want to look up in the global map to get info off of our object. | 545 // want to look up in the global map to get info off of our object. |
| 543 HostGlobals::Get()->InstanceDeleted(pp_instance_); | 546 HostGlobals::Get()->InstanceDeleted(pp_instance_); |
| 544 } | 547 } |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 | 711 |
| 709 bool PepperPluginInstanceImpl::HandleDocumentLoad( | 712 bool PepperPluginInstanceImpl::HandleDocumentLoad( |
| 710 const WebKit::WebURLResponse& response) { | 713 const WebKit::WebURLResponse& response) { |
| 711 DCHECK(!document_loader_); | 714 DCHECK(!document_loader_); |
| 712 if (!nacl_document_load_) { | 715 if (!nacl_document_load_) { |
| 713 if (module()->is_crashed()) { | 716 if (module()->is_crashed()) { |
| 714 // Don't create a resource for a crashed plugin. | 717 // Don't create a resource for a crashed plugin. |
| 715 container()->element().document().frame()->stopLoading(); | 718 container()->element().document().frame()->stopLoading(); |
| 716 return false; | 719 return false; |
| 717 } | 720 } |
| 718 delegate()->HandleDocumentLoad(this, response); | 721 delegate_->HandleDocumentLoad(this, response); |
| 719 // If the load was not abandoned, document_loader_ will now be set. It's | 722 // If the load was not abandoned, document_loader_ will now be set. It's |
| 720 // possible that the load was canceled by now and document_loader_ was | 723 // possible that the load was canceled by now and document_loader_ was |
| 721 // already nulled out. | 724 // already nulled out. |
| 722 } else { | 725 } else { |
| 723 // The NaCl proxy isn't available, so save the response and record document | 726 // The NaCl proxy isn't available, so save the response and record document |
| 724 // load notifications for later replay. | 727 // load notifications for later replay. |
| 725 nacl_document_response_ = response; | 728 nacl_document_response_ = response; |
| 726 nacl_document_loader_.reset(new NaClDocumentLoader()); | 729 nacl_document_loader_.reset(new NaClDocumentLoader()); |
| 727 document_loader_ = nacl_document_loader_.get(); | 730 document_loader_ = nacl_document_loader_.get(); |
| 728 } | 731 } |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 883 caret.Offset(view_data_.rect.point.x, view_data_.rect.point.y); | 886 caret.Offset(view_data_.rect.point.x, view_data_.rect.point.y); |
| 884 return caret; | 887 return caret; |
| 885 } | 888 } |
| 886 | 889 |
| 887 bool PepperPluginInstanceImpl::HandleInputEvent( | 890 bool PepperPluginInstanceImpl::HandleInputEvent( |
| 888 const WebKit::WebInputEvent& event, | 891 const WebKit::WebInputEvent& event, |
| 889 WebCursorInfo* cursor_info) { | 892 WebCursorInfo* cursor_info) { |
| 890 TRACE_EVENT0("ppapi", "PepperPluginInstanceImpl::HandleInputEvent"); | 893 TRACE_EVENT0("ppapi", "PepperPluginInstanceImpl::HandleInputEvent"); |
| 891 | 894 |
| 892 if (WebInputEvent::isMouseEventType(event.type)) { | 895 if (WebInputEvent::isMouseEventType(event.type)) { |
| 893 static_cast<PepperPluginDelegateImpl*>(delegate_)->DidReceiveMouseEvent( | 896 delegate_->DidReceiveMouseEvent(this); |
| 894 this); | |
| 895 } | 897 } |
| 896 | 898 |
| 897 // Don't dispatch input events to crashed plugins. | 899 // Don't dispatch input events to crashed plugins. |
| 898 if (module()->is_crashed()) | 900 if (module()->is_crashed()) |
| 899 return false; | 901 return false; |
| 900 | 902 |
| 901 // Keep a reference on the stack. See NOTE above. | 903 // Keep a reference on the stack. See NOTE above. |
| 902 scoped_refptr<PepperPluginInstanceImpl> ref(this); | 904 scoped_refptr<PepperPluginInstanceImpl> ref(this); |
| 903 | 905 |
| 904 bool rv = false; | 906 bool rv = false; |
| (...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1322 } | 1324 } |
| 1323 | 1325 |
| 1324 return !!plugin_zoom_interface_; | 1326 return !!plugin_zoom_interface_; |
| 1325 } | 1327 } |
| 1326 | 1328 |
| 1327 bool PepperPluginInstanceImpl::PluginHasFocus() const { | 1329 bool PepperPluginInstanceImpl::PluginHasFocus() const { |
| 1328 return flash_fullscreen_ || (has_webkit_focus_ && has_content_area_focus_); | 1330 return flash_fullscreen_ || (has_webkit_focus_ && has_content_area_focus_); |
| 1329 } | 1331 } |
| 1330 | 1332 |
| 1331 void PepperPluginInstanceImpl::SendFocusChangeNotification() { | 1333 void PepperPluginInstanceImpl::SendFocusChangeNotification() { |
| 1332 // This call can happen during PepperPluginInstanceImpl destruction, because | 1334 // This call can happen during PepperPluginIn>stanceImpl destruction, because |
| 1333 // WebKit informs the plugin it's losing focus. See crbug.com/236574 | 1335 // WebKit informs the plugin it's losing focus. See crbug.com/236574 |
| 1334 if (!delegate_ || !instance_interface_) | 1336 if (!delegate_ || !instance_interface_) |
| 1335 return; | 1337 return; |
| 1336 bool has_focus = PluginHasFocus(); | 1338 bool has_focus = PluginHasFocus(); |
| 1337 delegate()->PluginFocusChanged(this, has_focus); | 1339 delegate_->PluginFocusChanged(this, has_focus); |
| 1338 instance_interface_->DidChangeFocus(pp_instance(), PP_FromBool(has_focus)); | 1340 instance_interface_->DidChangeFocus(pp_instance(), PP_FromBool(has_focus)); |
| 1339 } | 1341 } |
| 1340 | 1342 |
| 1341 void PepperPluginInstanceImpl::UpdateTouchEventRequest() { | 1343 void PepperPluginInstanceImpl::UpdateTouchEventRequest() { |
| 1342 bool raw_touch = (filtered_input_event_mask_ & PP_INPUTEVENT_CLASS_TOUCH) || | 1344 bool raw_touch = (filtered_input_event_mask_ & PP_INPUTEVENT_CLASS_TOUCH) || |
| 1343 (input_event_mask_ & PP_INPUTEVENT_CLASS_TOUCH); | 1345 (input_event_mask_ & PP_INPUTEVENT_CLASS_TOUCH); |
| 1344 container_->requestTouchEventType(raw_touch ? | 1346 container_->requestTouchEventType(raw_touch ? |
| 1345 WebKit::WebPluginContainer::TouchEventRequestTypeRaw : | 1347 WebKit::WebPluginContainer::TouchEventRequestTypeRaw : |
| 1346 WebKit::WebPluginContainer::TouchEventRequestTypeSynthesizedMouse); | 1348 WebKit::WebPluginContainer::TouchEventRequestTypeSynthesizedMouse); |
| 1347 } | 1349 } |
| (...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2336 void PepperPluginInstanceImpl::UnlockMouse(PP_Instance instance) { | 2338 void PepperPluginInstanceImpl::UnlockMouse(PP_Instance instance) { |
| 2337 GetMouseLockDispatcher()->UnlockMouse(GetOrCreateLockTargetAdapter()); | 2339 GetMouseLockDispatcher()->UnlockMouse(GetOrCreateLockTargetAdapter()); |
| 2338 } | 2340 } |
| 2339 | 2341 |
| 2340 void PepperPluginInstanceImpl::SetTextInputType(PP_Instance instance, | 2342 void PepperPluginInstanceImpl::SetTextInputType(PP_Instance instance, |
| 2341 PP_TextInput_Type type) { | 2343 PP_TextInput_Type type) { |
| 2342 int itype = type; | 2344 int itype = type; |
| 2343 if (itype < 0 || itype > ui::TEXT_INPUT_TYPE_URL) | 2345 if (itype < 0 || itype > ui::TEXT_INPUT_TYPE_URL) |
| 2344 itype = ui::TEXT_INPUT_TYPE_NONE; | 2346 itype = ui::TEXT_INPUT_TYPE_NONE; |
| 2345 text_input_type_ = static_cast<ui::TextInputType>(itype); | 2347 text_input_type_ = static_cast<ui::TextInputType>(itype); |
| 2346 delegate()->PluginTextInputTypeChanged(this); | 2348 delegate_->PluginTextInputTypeChanged(this); |
| 2347 } | 2349 } |
| 2348 | 2350 |
| 2349 void PepperPluginInstanceImpl::UpdateCaretPosition( | 2351 void PepperPluginInstanceImpl::UpdateCaretPosition( |
| 2350 PP_Instance instance, | 2352 PP_Instance instance, |
| 2351 const PP_Rect& caret, | 2353 const PP_Rect& caret, |
| 2352 const PP_Rect& bounding_box) { | 2354 const PP_Rect& bounding_box) { |
| 2353 text_input_caret_ = PP_ToGfxRect(caret); | 2355 text_input_caret_ = PP_ToGfxRect(caret); |
| 2354 text_input_caret_bounds_ = PP_ToGfxRect(bounding_box); | 2356 text_input_caret_bounds_ = PP_ToGfxRect(bounding_box); |
| 2355 text_input_caret_set_ = true; | 2357 text_input_caret_set_ = true; |
| 2356 delegate()->PluginCaretPositionChanged(this); | 2358 delegate_->PluginCaretPositionChanged(this); |
| 2357 } | 2359 } |
| 2358 | 2360 |
| 2359 void PepperPluginInstanceImpl::CancelCompositionText(PP_Instance instance) { | 2361 void PepperPluginInstanceImpl::CancelCompositionText(PP_Instance instance) { |
| 2360 delegate()->PluginRequestedCancelComposition(this); | 2362 delegate_->PluginRequestedCancelComposition(this); |
| 2361 } | 2363 } |
| 2362 | 2364 |
| 2363 void PepperPluginInstanceImpl::SelectionChanged(PP_Instance instance) { | 2365 void PepperPluginInstanceImpl::SelectionChanged(PP_Instance instance) { |
| 2364 // TODO(kinaba): currently the browser always calls RequestSurroundingText. | 2366 // TODO(kinaba): currently the browser always calls RequestSurroundingText. |
| 2365 // It can be optimized so that it won't call it back until the information | 2367 // It can be optimized so that it won't call it back until the information |
| 2366 // is really needed. | 2368 // is really needed. |
| 2367 | 2369 |
| 2368 // Avoid calling in nested context or else this will reenter the plugin. This | 2370 // Avoid calling in nested context or else this will reenter the plugin. This |
| 2369 // uses a weak pointer rather than exploiting the fact that this class is | 2371 // uses a weak pointer rather than exploiting the fact that this class is |
| 2370 // refcounted because we don't actually want this operation to affect the | 2372 // refcounted because we don't actually want this operation to affect the |
| 2371 // lifetime of the instance. | 2373 // lifetime of the instance. |
| 2372 base::MessageLoop::current()->PostTask( | 2374 base::MessageLoop::current()->PostTask( |
| 2373 FROM_HERE, | 2375 FROM_HERE, |
| 2374 base::Bind(&PepperPluginInstanceImpl::RequestSurroundingText, | 2376 base::Bind(&PepperPluginInstanceImpl::RequestSurroundingText, |
| 2375 AsWeakPtr(), | 2377 AsWeakPtr(), |
| 2376 static_cast<size_t>(kExtraCharsForTextInput))); | 2378 static_cast<size_t>(kExtraCharsForTextInput))); |
| 2377 } | 2379 } |
| 2378 | 2380 |
| 2379 void PepperPluginInstanceImpl::UpdateSurroundingText(PP_Instance instance, | 2381 void PepperPluginInstanceImpl::UpdateSurroundingText(PP_Instance instance, |
| 2380 const char* text, | 2382 const char* text, |
| 2381 uint32_t caret, | 2383 uint32_t caret, |
| 2382 uint32_t anchor) { | 2384 uint32_t anchor) { |
| 2383 surrounding_text_ = text; | 2385 surrounding_text_ = text; |
| 2384 selection_caret_ = caret; | 2386 selection_caret_ = caret; |
| 2385 selection_anchor_ = anchor; | 2387 selection_anchor_ = anchor; |
| 2386 delegate()->PluginSelectionChanged(this); | 2388 delegate_->PluginSelectionChanged(this); |
| 2387 } | 2389 } |
| 2388 | 2390 |
| 2389 PP_Var PepperPluginInstanceImpl::ResolveRelativeToDocument( | 2391 PP_Var PepperPluginInstanceImpl::ResolveRelativeToDocument( |
| 2390 PP_Instance instance, | 2392 PP_Instance instance, |
| 2391 PP_Var relative, | 2393 PP_Var relative, |
| 2392 PP_URLComponents_Dev* components) { | 2394 PP_URLComponents_Dev* components) { |
| 2393 StringVar* relative_string = StringVar::FromPPVar(relative); | 2395 StringVar* relative_string = StringVar::FromPPVar(relative); |
| 2394 if (!relative_string) | 2396 if (!relative_string) |
| 2395 return PP_MakeNull(); | 2397 return PP_MakeNull(); |
| 2396 | 2398 |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2627 | 2629 |
| 2628 void PepperPluginInstanceImpl::SetAlwaysOnTop(bool on_top) { | 2630 void PepperPluginInstanceImpl::SetAlwaysOnTop(bool on_top) { |
| 2629 always_on_top_ = on_top; | 2631 always_on_top_ = on_top; |
| 2630 } | 2632 } |
| 2631 | 2633 |
| 2632 void PepperPluginInstanceImpl::DoSetCursor(WebCursorInfo* cursor) { | 2634 void PepperPluginInstanceImpl::DoSetCursor(WebCursorInfo* cursor) { |
| 2633 cursor_.reset(cursor); | 2635 cursor_.reset(cursor); |
| 2634 if (fullscreen_container_) { | 2636 if (fullscreen_container_) { |
| 2635 fullscreen_container_->DidChangeCursor(*cursor); | 2637 fullscreen_container_->DidChangeCursor(*cursor); |
| 2636 } else { | 2638 } else { |
| 2637 static_cast<PepperPluginDelegateImpl*>(delegate_)->DidChangeCursor( | 2639 delegate_->DidChangeCursor(this, *cursor); |
| 2638 this, *cursor); | |
| 2639 } | 2640 } |
| 2640 } | 2641 } |
| 2641 | 2642 |
| 2642 bool PepperPluginInstanceImpl::IsFullPagePlugin() { | 2643 bool PepperPluginInstanceImpl::IsFullPagePlugin() { |
| 2643 WebFrame* frame = container()->element().document().frame(); | 2644 WebFrame* frame = container()->element().document().frame(); |
| 2644 return frame->view()->mainFrame()->document().isPluginDocument(); | 2645 return frame->view()->mainFrame()->document().isPluginDocument(); |
| 2645 } | 2646 } |
| 2646 | 2647 |
| 2647 void PepperPluginInstanceImpl::FlashSetFullscreen(bool fullscreen, | 2648 void PepperPluginInstanceImpl::FlashSetFullscreen(bool fullscreen, |
| 2648 bool delay_report) { | 2649 bool delay_report) { |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2817 } | 2818 } |
| 2818 | 2819 |
| 2819 void PepperPluginInstanceImpl::UnSetAndDeleteLockTargetAdapter() { | 2820 void PepperPluginInstanceImpl::UnSetAndDeleteLockTargetAdapter() { |
| 2820 if (lock_target_.get()) { | 2821 if (lock_target_.get()) { |
| 2821 GetMouseLockDispatcher()->OnLockTargetDestroyed(lock_target_.get()); | 2822 GetMouseLockDispatcher()->OnLockTargetDestroyed(lock_target_.get()); |
| 2822 lock_target_.reset(); | 2823 lock_target_.reset(); |
| 2823 } | 2824 } |
| 2824 } | 2825 } |
| 2825 | 2826 |
| 2826 } // namespace content | 2827 } // namespace content |
| OLD | NEW |