| Index: chrome/renderer/extensions/dom_activity_logger.h
|
| diff --git a/chrome/renderer/extensions/dom_activity_logger.h b/chrome/renderer/extensions/dom_activity_logger.h
|
| index 19294f70f35c41f8e1d4122a9b51d581b2bfcb25..a37868fba532fb08237db46337a1d1d880ab95d0 100644
|
| --- a/chrome/renderer/extensions/dom_activity_logger.h
|
| +++ b/chrome/renderer/extensions/dom_activity_logger.h
|
| @@ -8,20 +8,23 @@
|
| #include <string>
|
|
|
| #include "base/strings/string_piece.h"
|
| +#include "chrome/common/extensions/dom_action_types.h"
|
| #include "third_party/WebKit/public/platform/WebString.h"
|
| #include "third_party/WebKit/public/platform/WebURL.h"
|
| #include "third_party/WebKit/public/web/WebDOMActivityLogger.h"
|
| #include "url/gurl.h"
|
| #include "v8/include/v8.h"
|
|
|
| +namespace base {
|
| +class ListValue;
|
| +}
|
| +
|
| namespace content {
|
| class V8ValueConverter;
|
| }
|
|
|
| namespace extensions {
|
|
|
| -class ActivityLogConverterStrategy;
|
| -
|
| // Used to log DOM API calls from within WebKit. The events are sent via IPC to
|
| // extensions::ActivityLog for recording and display.
|
| class DOMActivityLogger: public blink::WebDOMActivityLogger {
|
| @@ -30,16 +33,13 @@ class DOMActivityLogger: public blink::WebDOMActivityLogger {
|
| explicit DOMActivityLogger(const std::string& extension_id);
|
| virtual ~DOMActivityLogger();
|
|
|
| - // Marshalls the arguments into an ExtensionHostMsg_DOMAction_Params
|
| - // and sends it over to the browser (via IPC) for appending it to the
|
| - // extension activity log.
|
| - // (Overrides the log method in blink::WebDOMActivityLogger)
|
| + // This will soon be deprecated, and converted to the logX methods below.
|
| virtual void log(const blink::WebString& api_name,
|
| int argc,
|
| const v8::Handle<v8::Value> argv[],
|
| const blink::WebString& call_type,
|
| const blink::WebURL& url,
|
| - const blink::WebString& title) OVERRIDE;
|
| + const blink::WebString& title);
|
|
|
| // Check (using the WebKit API) if there is no logger attached to the world
|
| // corresponding to world_id, and if so, construct a new logger and attach it.
|
| @@ -48,6 +48,38 @@ class DOMActivityLogger: public blink::WebDOMActivityLogger {
|
| const std::string& extension_id);
|
|
|
| private:
|
| + // blink::WebDOMActivityLogger implementation.
|
| + // Marshals the arguments into an ExtensionHostMsg_DOMAction_Params and sends
|
| + // it over to the browser (via IPC) for appending it to the extension activity
|
| + // log.
|
| + // These methods don't have the OVERRIDE keyword due to the complexities it
|
| + // introduces when changes blink apis.
|
| + virtual void logGetter(const blink::WebString& api_name,
|
| + const blink::WebURL& url,
|
| + const blink::WebString& title);
|
| + virtual void logSetter(const blink::WebString& api_name,
|
| + const v8::Handle<v8::Value>& new_value,
|
| + const blink::WebURL& url,
|
| + const blink::WebString& title);
|
| + virtual void logSetter(const blink::WebString& api_name,
|
| + const v8::Handle<v8::Value>& new_value,
|
| + const v8::Handle<v8::Value>& old_value,
|
| + const blink::WebURL& url,
|
| + const blink::WebString& title);
|
| + virtual void logMethod(const blink::WebString& api_name,
|
| + int argc,
|
| + const v8::Handle<v8::Value>* argv,
|
| + const blink::WebURL& url,
|
| + const blink::WebString& title);
|
| +
|
| + // Helper function to actually send the message across IPC.
|
| + void SendDomActionMessage(const std::string& api_call,
|
| + const GURL& url,
|
| + const base::string16& url_title,
|
| + DomActionType::Type call_type,
|
| + scoped_ptr<base::ListValue> args);
|
| +
|
| + // The id of the extension with which this logger is associated.
|
| std::string extension_id_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(DOMActivityLogger);
|
|
|