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

Unified Diff: chrome/renderer/extensions/api_activity_logger.cc

Issue 19730002: V8ValueConverter for the activity logger that does not invoke interceptors and (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated comment, deleted redundant code after rebase Created 7 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/api_activity_logger.cc
diff --git a/chrome/renderer/extensions/api_activity_logger.cc b/chrome/renderer/extensions/api_activity_logger.cc
index 28a4367ff15f71d4732f49d8f6997e162e8ca8b3..42f4b267f600a298ee4ede67d61ac94610f78c1b 100644
--- a/chrome/renderer/extensions/api_activity_logger.cc
+++ b/chrome/renderer/extensions/api_activity_logger.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/renderer/chrome_render_process_observer.h"
+#include "chrome/renderer/extensions/activity_log_converter_strategy.h"
#include "chrome/renderer/extensions/api_activity_logger.h"
#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/v8_value_converter.h"
@@ -56,6 +57,11 @@ void APIActivityLogger::LogInternal(
v8::Local<v8::Array> arg_array = v8::Local<v8::Array>::Cast(args[2]);
if (arg_array->Length() > 0) {
scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
+ ActivityLogConverterStrategy strategy;
+ // Do not set the converter's RegExpr to true via SetRegExpAllowed() as this
+ // will call JS toString() method which can be overwritten.
not at google - send to devlin 2013/08/07 22:07:56 RegExp seems a bit like an implementation detail.
pmarch 2013/08/08 00:53:07 I've decided to kill this comment
+ converter->SetFunctionAllowed(true);
+ converter->SetStrategy(&strategy);
scoped_ptr<ListValue> arg_list(new ListValue());
for (size_t i = 0; i < arg_array->Length(); ++i) {
arg_list->Set(i,

Powered by Google App Engine
This is Rietveld 408576698