From 22a37653943754e1c8bac3807f7a6f704bf17cfc Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Thu, 12 May 2016 13:56:46 -0700 Subject: [PATCH] Wire up a new method in web frame --- atom/renderer/api/atom_api_web_frame.cc | 12 +++++++++++- atom/renderer/api/atom_api_web_frame.h | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/atom/renderer/api/atom_api_web_frame.cc b/atom/renderer/api/atom_api_web_frame.cc index 0eebc94..173236f 100644 --- a/atom/renderer/api/atom_api_web_frame.cc +++ b/atom/renderer/api/atom_api_web_frame.cc @@ -5,6 +5,7 @@ #include "atom/renderer/api/atom_api_web_frame.h" #include "atom/common/api/event_emitter_caller.h" +#include "atom/common/native_mate_converters/blink_converter.h" #include "atom/common/native_mate_converters/callback.h" #include "atom/common/native_mate_converters/gfx_converter.h" #include "atom/common/native_mate_converters/string16_converter.h" @@ -13,6 +14,7 @@ #include "content/public/renderer/render_view.h" #include "native_mate/dictionary.h" #include "native_mate/object_template_builder.h" +#include "third_party/WebKit/public/web/WebCache.h" #include "third_party/WebKit/public/web/WebDocument.h" #include "third_party/WebKit/public/web/WebLocalFrame.h" #include "third_party/WebKit/public/web/WebScriptExecutionCallback.h" @@ -168,6 +170,13 @@ mate::Handle WebFrame::Create(v8::Isolate* isolate) { return mate::CreateHandle(isolate, new WebFrame(isolate)); } +v8::Local WebFrame::GetResourceUsage(v8::Isolate* isolate) { + blink::WebCache::ResourceTypeStats stats; + + blink::WebCache::getResourceTypeStats(&stats); + return mate::Converter::ToV8(isolate, stats); +} + // static void WebFrame::BuildPrototype( v8::Isolate* isolate, v8::Local prototype) { @@ -191,7 +200,8 @@ void WebFrame::BuildPrototype( .SetMethod("registerURLSchemeAsPrivileged", &WebFrame::RegisterURLSchemeAsPrivileged) .SetMethod("insertText", &WebFrame::InsertText) - .SetMethod("executeJavaScript", &WebFrame::ExecuteJavaScript); + .SetMethod("executeJavaScript", &WebFrame::ExecuteJavaScript) + .SetMethod("getResourceUsage", &WebFrame::GetResourceUsage); } } // namespace api diff --git a/atom/renderer/api/atom_api_web_frame.h b/atom/renderer/api/atom_api_web_frame.h index e1eeb22..60c6159 100644 --- a/atom/renderer/api/atom_api_web_frame.h +++ b/atom/renderer/api/atom_api_web_frame.h @@ -11,6 +11,7 @@ #include "base/memory/scoped_ptr.h" #include "native_mate/handle.h" #include "native_mate/wrappable.h" +#include "third_party/WebKit/public/web/WebCache.h" namespace blink { class WebLocalFrame; @@ -69,6 +70,9 @@ class WebFrame : public mate::Wrappable { // Excecuting scripts. void ExecuteJavaScript(const base::string16& code, mate::Arguments* args); + // Resource related methods + v8::Local GetResourceUsage(v8::Isolate* isolate); + scoped_ptr spell_check_client_; blink::WebLocalFrame* web_frame_; -- 2.7.4