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

Side by Side Diff: content/child/npobject_proxy.cc

Issue 19761007: Move NPAPI implementation out of webkit/plugins/npapi and into content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 7 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/child/npobject_proxy.h" 5 #include "content/child/npobject_proxy.h"
6 6
7 #include "content/child/np_channel_base.h" 7 #include "content/child/np_channel_base.h"
8 #include "content/child/npapi/plugin_host.h"
9 #include "content/child/npapi/plugin_instance.h"
8 #include "content/child/npobject_util.h" 10 #include "content/child/npobject_util.h"
9 #include "content/child/plugin_messages.h" 11 #include "content/child/plugin_messages.h"
10 #include "third_party/WebKit/public/web/WebBindings.h" 12 #include "third_party/WebKit/public/web/WebBindings.h"
11 #include "webkit/glue/webkit_glue.h"
12 #include "webkit/plugins/npapi/plugin_host.h"
13 #include "webkit/plugins/npapi/plugin_instance.h"
14 13
15 using WebKit::WebBindings; 14 using WebKit::WebBindings;
16 15
17 namespace content { 16 namespace content {
18 17
19 struct NPObjectWrapper { 18 struct NPObjectWrapper {
20 NPObject object; 19 NPObject object;
21 NPObjectProxy* proxy; 20 NPObjectProxy* proxy;
22 }; 21 };
23 22
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 proxy->Send(new NPObjectMsg_Enumeration( 382 proxy->Send(new NPObjectMsg_Enumeration(
384 proxy->route_id(), &value_param, &result)); 383 proxy->route_id(), &value_param, &result));
385 // Send may delete proxy. 384 // Send may delete proxy.
386 proxy = NULL; 385 proxy = NULL;
387 386
388 if (!result) 387 if (!result)
389 return false; 388 return false;
390 389
391 *count = static_cast<unsigned int>(value_param.size()); 390 *count = static_cast<unsigned int>(value_param.size());
392 *value = static_cast<NPIdentifier *>( 391 *value = static_cast<NPIdentifier *>(
393 webkit::npapi::PluginHost::Singleton()->host_functions()->memalloc( 392 PluginHost::Singleton()->host_functions()->memalloc(
394 sizeof(NPIdentifier) * *count)); 393 sizeof(NPIdentifier) * *count));
395 for (unsigned int i = 0; i < *count; ++i) 394 for (unsigned int i = 0; i < *count; ++i)
396 (*value)[i] = CreateNPIdentifier(value_param[i]); 395 (*value)[i] = CreateNPIdentifier(value_param[i]);
397 396
398 return true; 397 return true;
399 } 398 }
400 399
401 bool NPObjectProxy::NPNConstruct(NPObject *obj, 400 bool NPObjectProxy::NPNConstruct(NPObject *obj,
402 const NPVariant *args, 401 const NPVariant *args,
403 uint32_t arg_count, 402 uint32_t arg_count,
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 NPObjectProxy* proxy = GetProxy(obj); 462 NPObjectProxy* proxy = GetProxy(obj);
464 if (!proxy) { 463 if (!proxy) {
465 return false; 464 return false;
466 } 465 }
467 466
468 bool result = false; 467 bool result = false;
469 int render_view_id = proxy->render_view_id_; 468 int render_view_id = proxy->render_view_id_;
470 bool popups_allowed = false; 469 bool popups_allowed = false;
471 470
472 if (npp) { 471 if (npp) {
473 webkit::npapi::PluginInstance* plugin_instance = 472 PluginInstance* plugin_instance =
474 reinterpret_cast<webkit::npapi::PluginInstance*>(npp->ndata); 473 reinterpret_cast<PluginInstance*>(npp->ndata);
475 if (plugin_instance) 474 if (plugin_instance)
476 popups_allowed = plugin_instance->popups_allowed(); 475 popups_allowed = plugin_instance->popups_allowed();
477 } 476 }
478 477
479 NPVariant_Param result_param; 478 NPVariant_Param result_param;
480 std::string script_str = std::string( 479 std::string script_str = std::string(
481 script->UTF8Characters, script->UTF8Length); 480 script->UTF8Characters, script->UTF8Length);
482 481
483 NPObjectMsg_Evaluate* msg = new NPObjectMsg_Evaluate(proxy->route_id(), 482 NPObjectMsg_Evaluate* msg = new NPObjectMsg_Evaluate(proxy->route_id(),
484 script_str, 483 script_str,
(...skipping 14 matching lines...) Expand all
499 proxy = NULL; 498 proxy = NULL;
500 if (!result) 499 if (!result)
501 return false; 500 return false;
502 501
503 CreateNPVariant( 502 CreateNPVariant(
504 result_param, channel.get(), result_var, render_view_id, page_url); 503 result_param, channel.get(), result_var, render_view_id, page_url);
505 return true; 504 return true;
506 } 505 }
507 506
508 } // namespace content 507 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698