| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "webkit/plugins/ppapi/ppapi_plugin_instance.h" | 5 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 } | 597 } |
| 598 | 598 |
| 599 string16 PluginInstance::GetSelectedText(bool html) { | 599 string16 PluginInstance::GetSelectedText(bool html) { |
| 600 // Keep a reference on the stack. See NOTE above. | 600 // Keep a reference on the stack. See NOTE above. |
| 601 scoped_refptr<PluginInstance> ref(this); | 601 scoped_refptr<PluginInstance> ref(this); |
| 602 if (!LoadSelectionInterface()) | 602 if (!LoadSelectionInterface()) |
| 603 return string16(); | 603 return string16(); |
| 604 | 604 |
| 605 PP_Var rv = plugin_selection_interface_->GetSelectedText(pp_instance(), | 605 PP_Var rv = plugin_selection_interface_->GetSelectedText(pp_instance(), |
| 606 PP_FromBool(html)); | 606 PP_FromBool(html)); |
| 607 scoped_refptr<StringVar> string(StringVar::FromPPVar(rv)); | 607 StringVar* string = StringVar::FromPPVar(rv); |
| 608 // Release the ref the plugin transfered to us. | 608 // Release the ref the plugin transfered to us. |
| 609 ResourceTracker::Get()->GetVarTracker()->ReleaseVar(rv); | 609 ResourceTracker::Get()->GetVarTracker()->ReleaseVar(rv); |
| 610 if (!string) | 610 if (!string) |
| 611 return string16(); | 611 return string16(); |
| 612 return UTF8ToUTF16(string->value()); | 612 return UTF8ToUTF16(string->value()); |
| 613 } | 613 } |
| 614 | 614 |
| 615 string16 PluginInstance::GetLinkAtPosition(const gfx::Point& point) { | 615 string16 PluginInstance::GetLinkAtPosition(const gfx::Point& point) { |
| 616 // Keep a reference on the stack. See NOTE above. | 616 // Keep a reference on the stack. See NOTE above. |
| 617 scoped_refptr<PluginInstance> ref(this); | 617 scoped_refptr<PluginInstance> ref(this); |
| 618 if (!LoadPdfInterface()) | 618 if (!LoadPdfInterface()) |
| 619 return string16(); | 619 return string16(); |
| 620 | 620 |
| 621 PP_Point p; | 621 PP_Point p; |
| 622 p.x = point.x(); | 622 p.x = point.x(); |
| 623 p.y = point.y(); | 623 p.y = point.y(); |
| 624 PP_Var rv = plugin_pdf_interface_->GetLinkAtPosition(pp_instance(), p); | 624 PP_Var rv = plugin_pdf_interface_->GetLinkAtPosition(pp_instance(), p); |
| 625 scoped_refptr<StringVar> string(StringVar::FromPPVar(rv)); | 625 StringVar* string = StringVar::FromPPVar(rv); |
| 626 // Release the ref the plugin transfered to us. | 626 // Release the ref the plugin transfered to us. |
| 627 ResourceTracker::Get()->GetVarTracker()->ReleaseVar(rv); | 627 ResourceTracker::Get()->GetVarTracker()->ReleaseVar(rv); |
| 628 if (!string) | 628 if (!string) |
| 629 return string16(); | 629 return string16(); |
| 630 return UTF8ToUTF16(string->value()); | 630 return UTF8ToUTF16(string->value()); |
| 631 } | 631 } |
| 632 | 632 |
| 633 void PluginInstance::Zoom(double factor, bool text_only) { | 633 void PluginInstance::Zoom(double factor, bool text_only) { |
| 634 // Keep a reference on the stack. See NOTE above. | 634 // Keep a reference on the stack. See NOTE above. |
| 635 scoped_refptr<PluginInstance> ref(this); | 635 scoped_refptr<PluginInstance> ref(this); |
| (...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1427 } | 1427 } |
| 1428 | 1428 |
| 1429 PP_Var PluginInstance::ExecuteScript(PP_Instance instance, | 1429 PP_Var PluginInstance::ExecuteScript(PP_Instance instance, |
| 1430 PP_Var script, | 1430 PP_Var script, |
| 1431 PP_Var* exception) { | 1431 PP_Var* exception) { |
| 1432 TryCatch try_catch(module()->pp_module(), exception); | 1432 TryCatch try_catch(module()->pp_module(), exception); |
| 1433 if (try_catch.has_exception()) | 1433 if (try_catch.has_exception()) |
| 1434 return PP_MakeUndefined(); | 1434 return PP_MakeUndefined(); |
| 1435 | 1435 |
| 1436 // Convert the script into an inconvenient NPString object. | 1436 // Convert the script into an inconvenient NPString object. |
| 1437 scoped_refptr<StringVar> script_string(StringVar::FromPPVar(script)); | 1437 StringVar* script_string = StringVar::FromPPVar(script); |
| 1438 if (!script_string) { | 1438 if (!script_string) { |
| 1439 try_catch.SetException("Script param to ExecuteScript must be a string."); | 1439 try_catch.SetException("Script param to ExecuteScript must be a string."); |
| 1440 return PP_MakeUndefined(); | 1440 return PP_MakeUndefined(); |
| 1441 } | 1441 } |
| 1442 NPString np_script; | 1442 NPString np_script; |
| 1443 np_script.UTF8Characters = script_string->value().c_str(); | 1443 np_script.UTF8Characters = script_string->value().c_str(); |
| 1444 np_script.UTF8Length = script_string->value().length(); | 1444 np_script.UTF8Length = script_string->value().length(); |
| 1445 | 1445 |
| 1446 // Get the current frame to pass to the evaluate function. | 1446 // Get the current frame to pass to the evaluate function. |
| 1447 WebFrame* frame = container_->element().document().frame(); | 1447 WebFrame* frame = container_->element().document().frame(); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1542 } | 1542 } |
| 1543 | 1543 |
| 1544 void PluginInstance::DoSetCursor(WebCursorInfo* cursor) { | 1544 void PluginInstance::DoSetCursor(WebCursorInfo* cursor) { |
| 1545 cursor_.reset(cursor); | 1545 cursor_.reset(cursor); |
| 1546 if (fullscreen_container_) | 1546 if (fullscreen_container_) |
| 1547 fullscreen_container_->DidChangeCursor(*cursor); | 1547 fullscreen_container_->DidChangeCursor(*cursor); |
| 1548 } | 1548 } |
| 1549 | 1549 |
| 1550 } // namespace ppapi | 1550 } // namespace ppapi |
| 1551 } // namespace webkit | 1551 } // namespace webkit |
| OLD | NEW |