Chromium Code Reviews| Index: chrome/renderer/net_benchmarking_extension.cc |
| diff --git a/chrome/renderer/net_benchmarking_extension.cc b/chrome/renderer/net_benchmarking_extension.cc |
| index 2164281b30e1678a7934c88922425698ab19e274..7408ffd42da8f4e2e7947cddddca64792387f1b9 100644 |
| --- a/chrome/renderer/net_benchmarking_extension.cc |
| +++ b/chrome/renderer/net_benchmarking_extension.cc |
| @@ -4,8 +4,9 @@ |
| #include "chrome/renderer/net_benchmarking_extension.h" |
| -#include "chrome/common/benchmarking_messages.h" |
| +#include "chrome/common/net_benchmarking.mojom.h" |
| #include "content/public/renderer/render_thread.h" |
| +#include "services/service_manager/public/cpp/interface_provider.h" |
| #include "third_party/WebKit/public/web/WebCache.h" |
| #include "v8/include/v8.h" |
| @@ -62,28 +63,40 @@ class NetBenchmarkingWrapper : public v8::Extension { |
| return v8::Local<v8::FunctionTemplate>(); |
| } |
| + static chrome::mojom::NetBenchmarking& GetNetBenchmarking() { |
| + CR_DEFINE_STATIC_LOCAL(chrome::mojom::NetBenchmarkingPtr, net_benchmarking, |
| + (ConnectToBrowser())); |
| + return *net_benchmarking; |
| + } |
| + |
| + static chrome::mojom::NetBenchmarkingPtr ConnectToBrowser() { |
| + chrome::mojom::NetBenchmarkingPtr net_benchmarking; |
| + content::RenderThread::Get()->GetRemoteInterfaces()->GetInterface( |
| + &net_benchmarking); |
| + return net_benchmarking; |
| + } |
| + |
| static void ClearCache(const v8::FunctionCallbackInfo<v8::Value>& args) { |
| - int rv; |
| - content::RenderThread::Get()->Send(new ChromeViewHostMsg_ClearCache(&rv)); |
| - WebCache::clear(); |
|
Sam McNally
2016/12/12 22:23:52
I think this is still needed.
dvallet
2016/12/12 22:47:26
Oops, done.
|
| + chrome::mojom::NetBenchmarking::ClearCacheCallback callback; |
| + GetNetBenchmarking().ClearCache(callback); |
|
Sam McNally
2016/12/12 22:23:52
Sync mojo methods generate sync and async overload
dvallet
2016/12/12 22:47:26
Done. That's neat
|
| } |
| static void ClearHostResolverCache( |
| const v8::FunctionCallbackInfo<v8::Value>& args) { |
| - content::RenderThread::Get()->Send( |
| - new ChromeViewHostMsg_ClearHostResolverCache()); |
| + chrome::mojom::NetBenchmarking::ClearHostResolverCacheCallback callback; |
| + GetNetBenchmarking().ClearHostResolverCache(callback); |
| } |
| static void ClearPredictorCache( |
| const v8::FunctionCallbackInfo<v8::Value>& args) { |
| - content::RenderThread::Get()->Send( |
| - new ChromeViewHostMsg_ClearPredictorCache()); |
| + chrome::mojom::NetBenchmarking::ClearPredictorCacheCallback callback; |
| + GetNetBenchmarking().ClearPredictorCache(callback); |
| } |
| static void CloseConnections( |
| const v8::FunctionCallbackInfo<v8::Value>& args) { |
| - content::RenderThread::Get()->Send( |
| - new ChromeViewHostMsg_CloseCurrentConnections()); |
| + chrome::mojom::NetBenchmarking::CloseCurrentConnectionsCallback callback; |
| + GetNetBenchmarking().CloseCurrentConnections(callback); |
| } |
| }; |