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..fa1464fd992b1afe3d99ae3ef7b37a34e949cdbb 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,38 @@ 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())); | 
| 
 
sky
2016/12/13 02:02:52
Do you really need the parens around ConnectToBrow
 
dvallet
2016/12/13 05:20:04
Maybe? If removed, I get the following error:
erro
 
 | 
| + 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)); | 
| + GetNetBenchmarking().ClearCache(&rv); | 
| WebCache::clear(); | 
| } | 
| static void ClearHostResolverCache( | 
| const v8::FunctionCallbackInfo<v8::Value>& args) { | 
| - content::RenderThread::Get()->Send( | 
| - new ChromeViewHostMsg_ClearHostResolverCache()); | 
| + GetNetBenchmarking().ClearHostResolverCache(); | 
| } | 
| static void ClearPredictorCache( | 
| const v8::FunctionCallbackInfo<v8::Value>& args) { | 
| - content::RenderThread::Get()->Send( | 
| - new ChromeViewHostMsg_ClearPredictorCache()); | 
| + GetNetBenchmarking().ClearPredictorCache(); | 
| } | 
| static void CloseConnections( | 
| const v8::FunctionCallbackInfo<v8::Value>& args) { | 
| - content::RenderThread::Get()->Send( | 
| - new ChromeViewHostMsg_CloseCurrentConnections()); | 
| + GetNetBenchmarking().CloseCurrentConnections(); | 
| } | 
| }; |