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

Side by Side Diff: chrome/renderer/net_benchmarking_extension.cc

Issue 2521823008: Migrate chrome_net_benchmarking_message_filter to mojo (Closed)
Patch Set: change ClearPredictorCache to run on UI thread via PostTask Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/net_benchmarking_extension.h" 5 #include "chrome/renderer/net_benchmarking_extension.h"
6 6
7 #include "chrome/common/benchmarking_messages.h" 7 #include "chrome/common/chrome_net_benchmarking.mojom.h"
8 #include "content/public/renderer/render_thread.h" 8 #include "content/public/renderer/render_thread.h"
9 #include "services/service_manager/public/cpp/interface_provider.h"
9 #include "third_party/WebKit/public/web/WebCache.h" 10 #include "third_party/WebKit/public/web/WebCache.h"
10 #include "v8/include/v8.h" 11 #include "v8/include/v8.h"
11 12
12 using blink::WebCache; 13 using blink::WebCache;
13 14
14 const char kNetBenchmarkingExtensionName[] = "v8/NetBenchmarking"; 15 const char kNetBenchmarkingExtensionName[] = "v8/NetBenchmarking";
15 16
16 namespace extensions_v8 { 17 namespace extensions_v8 {
17 18
18 class NetBenchmarkingWrapper : public v8::Extension { 19 class NetBenchmarkingWrapper : public v8::Extension {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 return v8::FunctionTemplate::New(isolate, ClearPredictorCache); 57 return v8::FunctionTemplate::New(isolate, ClearPredictorCache);
57 } else if (name->Equals( 58 } else if (name->Equals(
58 v8::String::NewFromUtf8(isolate, "CloseConnections"))) { 59 v8::String::NewFromUtf8(isolate, "CloseConnections"))) {
59 return v8::FunctionTemplate::New(isolate, CloseConnections); 60 return v8::FunctionTemplate::New(isolate, CloseConnections);
60 } 61 }
61 62
62 return v8::Local<v8::FunctionTemplate>(); 63 return v8::Local<v8::FunctionTemplate>();
63 } 64 }
64 65
65 static void ClearCache(const v8::FunctionCallbackInfo<v8::Value>& args) { 66 static void ClearCache(const v8::FunctionCallbackInfo<v8::Value>& args) {
66 int rv; 67 content::RenderThread* thread = content::RenderThread::Get();
67 content::RenderThread::Get()->Send(new ChromeViewHostMsg_ClearCache(&rv)); 68 chrome::mojom::ChromeNetBenchmarkingPtr chrome_net_benchmarking;
68 WebCache::clear(); 69 thread->GetRemoteInterfaces()->GetInterface(&chrome_net_benchmarking);
Sam McNally 2016/12/05 06:57:10 I think I'd prefer a single shared connection inst
dvallet 2016/12/07 02:21:03 Done, not sure if correctly though, PTAL
70
71 chrome::mojom::ChromeNetBenchmarking::ClearCacheCallback callback;
72 chrome_net_benchmarking->ClearCache(callback);
69 } 73 }
70 74
71 static void ClearHostResolverCache( 75 static void ClearHostResolverCache(
72 const v8::FunctionCallbackInfo<v8::Value>& args) { 76 const v8::FunctionCallbackInfo<v8::Value>& args) {
73 content::RenderThread::Get()->Send( 77 content::RenderThread* thread = content::RenderThread::Get();
74 new ChromeViewHostMsg_ClearHostResolverCache()); 78 chrome::mojom::ChromeNetBenchmarkingPtr chrome_net_benchmarking;
79
80 thread->GetRemoteInterfaces()->GetInterface(&chrome_net_benchmarking);
81 chrome_net_benchmarking->ClearHostResolverCache();
75 } 82 }
76 83
77 static void ClearPredictorCache( 84 static void ClearPredictorCache(
78 const v8::FunctionCallbackInfo<v8::Value>& args) { 85 const v8::FunctionCallbackInfo<v8::Value>& args) {
79 content::RenderThread::Get()->Send( 86 content::RenderThread* thread = content::RenderThread::Get();
80 new ChromeViewHostMsg_ClearPredictorCache()); 87 chrome::mojom::ChromeNetBenchmarkingPtr chrome_net_benchmarking;
88
89 thread->GetRemoteInterfaces()->GetInterface(&chrome_net_benchmarking);
90 chrome_net_benchmarking->ClearPredictorCache();
81 } 91 }
82 92
83 static void CloseConnections( 93 static void CloseConnections(
84 const v8::FunctionCallbackInfo<v8::Value>& args) { 94 const v8::FunctionCallbackInfo<v8::Value>& args) {
85 content::RenderThread::Get()->Send( 95 content::RenderThread* thread = content::RenderThread::Get();
86 new ChromeViewHostMsg_CloseCurrentConnections()); 96 chrome::mojom::ChromeNetBenchmarkingPtr chrome_net_benchmarking;
97
98 thread->GetRemoteInterfaces()->GetInterface(&chrome_net_benchmarking);
99 chrome_net_benchmarking->CloseCurrentConnections();
87 } 100 }
88 }; 101 };
89 102
90 v8::Extension* NetBenchmarkingExtension::Get() { 103 v8::Extension* NetBenchmarkingExtension::Get() {
91 return new NetBenchmarkingWrapper(); 104 return new NetBenchmarkingWrapper();
92 } 105 }
93 106
94 } // namespace extensions_v8 107 } // namespace extensions_v8
OLDNEW
« chrome/common/chrome_net_benchmarking.mojom ('K') | « chrome/common/common_message_generator.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698