Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: content/renderer/browser_plugin/browser_plugin.cc

Issue 16256018: Update content/ to use WeakPtr<T>::get() instead of implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix incorrectly modified code Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/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/json/json_string_value_serializer.h" 8 #include "base/json/json_string_value_serializer.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 std::map<std::string, base::Value*> props; 443 std::map<std::string, base::Value*> props;
444 // Fill in the info provided by the browser. 444 // Fill in the info provided by the browser.
445 for (DictionaryValue::Iterator iter(message_info); !iter.IsAtEnd(); 445 for (DictionaryValue::Iterator iter(message_info); !iter.IsAtEnd();
446 iter.Advance()) { 446 iter.Advance()) {
447 props[iter.key()] = iter.value().DeepCopy(); 447 props[iter.key()] = iter.value().DeepCopy();
448 } 448 }
449 TriggerEvent(browser_plugin::kEventConsoleMessage, &props); 449 TriggerEvent(browser_plugin::kEventConsoleMessage, &props);
450 } 450 }
451 451
452 void BrowserPlugin::OnAdvanceFocus(int guest_instance_id, bool reverse) { 452 void BrowserPlugin::OnAdvanceFocus(int guest_instance_id, bool reverse) {
453 DCHECK(render_view_); 453 DCHECK(render_view_.get());
454 render_view_->GetWebView()->advanceFocus(reverse); 454 render_view_->GetWebView()->advanceFocus(reverse);
455 } 455 }
456 456
457 void BrowserPlugin::OnAttachACK( 457 void BrowserPlugin::OnAttachACK(
458 int guest_instance_id, 458 int guest_instance_id,
459 const BrowserPluginMsg_Attach_ACK_Params& params) { 459 const BrowserPluginMsg_Attach_ACK_Params& params) {
460 // Update BrowserPlugin attributes to match the state of the guest. 460 // Update BrowserPlugin attributes to match the state of the guest.
461 if (!params.name.empty()) 461 if (!params.name.empty())
462 OnUpdatedName(guest_instance_id, params.name); 462 OnUpdatedName(guest_instance_id, params.name);
463 if (!params.storage_partition_id.empty()) { 463 if (!params.storage_partition_id.empty()) {
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 // TODO(mthiesse): Handle errors here? 929 // TODO(mthiesse): Handle errors here?
930 std::string error; 930 std::string error;
931 ParsePartitionAttribute(&error); 931 ParsePartitionAttribute(&error);
932 932
933 // Parse the 'src' attribute last, as it will set the has_navigated_ flag to 933 // Parse the 'src' attribute last, as it will set the has_navigated_ flag to
934 // true, which prevents changing the 'partition' attribute. 934 // true, which prevents changing the 'partition' attribute.
935 ParseSrcAttribute(&error); 935 ParseSrcAttribute(&error);
936 } 936 }
937 937
938 float BrowserPlugin::GetDeviceScaleFactor() const { 938 float BrowserPlugin::GetDeviceScaleFactor() const {
939 if (!render_view_) 939 if (!render_view_.get())
940 return 1.0f; 940 return 1.0f;
941 return render_view_->GetWebView()->deviceScaleFactor(); 941 return render_view_->GetWebView()->deviceScaleFactor();
942 } 942 }
943 943
944 void BrowserPlugin::UpdateDeviceScaleFactor(float device_scale_factor) { 944 void BrowserPlugin::UpdateDeviceScaleFactor(float device_scale_factor) {
945 if (last_device_scale_factor_ == device_scale_factor || !resize_ack_received_) 945 if (last_device_scale_factor_ == device_scale_factor || !resize_ack_received_)
946 return; 946 return;
947 947
948 BrowserPluginHostMsg_ResizeGuest_Params params; 948 BrowserPluginHostMsg_ResizeGuest_Params params;
949 PopulateResizeGuestParameters(&params, plugin_rect()); 949 PopulateResizeGuestParameters(&params, plugin_rect());
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 v8::Isolate* isolate, v8::Persistent<v8::Value>* object, void* param) { 1029 v8::Isolate* isolate, v8::Persistent<v8::Value>* object, void* param) {
1030 1030
1031 AliveV8PermissionRequestItem* item_ptr = 1031 AliveV8PermissionRequestItem* item_ptr =
1032 static_cast<AliveV8PermissionRequestItem*>(param); 1032 static_cast<AliveV8PermissionRequestItem*>(param);
1033 int request_id = item_ptr->first; 1033 int request_id = item_ptr->first;
1034 base::WeakPtr<BrowserPlugin> plugin = item_ptr->second; 1034 base::WeakPtr<BrowserPlugin> plugin = item_ptr->second;
1035 delete item_ptr; 1035 delete item_ptr;
1036 1036
1037 object->Dispose(); 1037 object->Dispose();
1038 1038
1039 if (plugin) { 1039 if (plugin.get()) {
1040 // Asynchronously remove item from |alive_v8_permission_request_objects_|. 1040 // Asynchronously remove item from |alive_v8_permission_request_objects_|.
1041 // Note that we are using weak pointer for the following PostTask, so we 1041 // Note that we are using weak pointer for the following PostTask, so we
1042 // don't need to worry about BrowserPlugin going away. 1042 // don't need to worry about BrowserPlugin going away.
1043 base::MessageLoop::current()->PostTask( 1043 base::MessageLoop::current()->PostTask(
1044 FROM_HERE, 1044 FROM_HERE,
1045 base::Bind(&BrowserPlugin::OnRequestObjectGarbageCollected, 1045 base::Bind(&BrowserPlugin::OnRequestObjectGarbageCollected,
1046 plugin, 1046 plugin,
1047 request_id)); 1047 request_id));
1048 } 1048 }
1049 } 1049 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1102 return; 1102 return;
1103 bool should_be_focused = ShouldGuestBeFocused(); 1103 bool should_be_focused = ShouldGuestBeFocused();
1104 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetFocus( 1104 browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetFocus(
1105 render_view_routing_id_, 1105 render_view_routing_id_,
1106 guest_instance_id_, 1106 guest_instance_id_,
1107 should_be_focused)); 1107 should_be_focused));
1108 } 1108 }
1109 1109
1110 bool BrowserPlugin::ShouldGuestBeFocused() const { 1110 bool BrowserPlugin::ShouldGuestBeFocused() const {
1111 bool embedder_focused = false; 1111 bool embedder_focused = false;
1112 if (render_view_) 1112 if (render_view_.get())
1113 embedder_focused = render_view_->has_focus(); 1113 embedder_focused = render_view_->has_focus();
1114 return plugin_focused_ && embedder_focused; 1114 return plugin_focused_ && embedder_focused;
1115 } 1115 }
1116 1116
1117 WebKit::WebPluginContainer* BrowserPlugin::container() const { 1117 WebKit::WebPluginContainer* BrowserPlugin::container() const {
1118 return container_; 1118 return container_;
1119 } 1119 }
1120 1120
1121 void BrowserPlugin::RespondPermission( 1121 void BrowserPlugin::RespondPermission(
1122 BrowserPluginPermissionType permission_type, int request_id, bool allow) { 1122 BrowserPluginPermissionType permission_type, int request_id, bool allow) {
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1212 if (container_) 1212 if (container_)
1213 container_->clearScriptObjects(); 1213 container_->clearScriptObjects();
1214 1214
1215 // The BrowserPlugin's WebPluginContainer is deleted immediately after this 1215 // The BrowserPlugin's WebPluginContainer is deleted immediately after this
1216 // call returns, so let's not keep a reference to it around. 1216 // call returns, so let's not keep a reference to it around.
1217 g_plugin_container_map.Get().erase(container_); 1217 g_plugin_container_map.Get().erase(container_);
1218 container_ = NULL; 1218 container_ = NULL;
1219 if (compositing_helper_.get()) 1219 if (compositing_helper_.get())
1220 compositing_helper_->OnContainerDestroy(); 1220 compositing_helper_->OnContainerDestroy();
1221 // Will be a no-op if the mouse is not currently locked. 1221 // Will be a no-op if the mouse is not currently locked.
1222 if (render_view_) 1222 if (render_view_.get())
1223 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(this); 1223 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(this);
1224 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); 1224 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
1225 } 1225 }
1226 1226
1227 NPObject* BrowserPlugin::scriptableObject() { 1227 NPObject* BrowserPlugin::scriptableObject() {
1228 if (!bindings_) 1228 if (!bindings_)
1229 return NULL; 1229 return NULL;
1230 1230
1231 NPObject* browser_plugin_np_object(bindings_->np_object()); 1231 NPObject* browser_plugin_np_object(bindings_->np_object());
1232 // The object is expected to be retained before it is returned. 1232 // The object is expected to be retained before it is returned.
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
1617 const WebKit::WebMouseEvent& event) { 1617 const WebKit::WebMouseEvent& event) {
1618 browser_plugin_manager()->Send( 1618 browser_plugin_manager()->Send(
1619 new BrowserPluginHostMsg_HandleInputEvent(render_view_routing_id_, 1619 new BrowserPluginHostMsg_HandleInputEvent(render_view_routing_id_,
1620 guest_instance_id_, 1620 guest_instance_id_,
1621 plugin_rect_, 1621 plugin_rect_,
1622 &event)); 1622 &event));
1623 return true; 1623 return true;
1624 } 1624 }
1625 1625
1626 } // namespace content 1626 } // namespace content
OLDNEW
« no previous file with comments | « content/ppapi_plugin/broker_process_dispatcher.cc ('k') | content/renderer/browser_plugin/browser_plugin_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698