summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/webui
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/webui')
-rw-r--r--chrome/browser/ui/webui/gpu_internals_ui.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/chrome/browser/ui/webui/gpu_internals_ui.cc b/chrome/browser/ui/webui/gpu_internals_ui.cc
index fb7c9c2..dcfab3a 100644
--- a/chrome/browser/ui/webui/gpu_internals_ui.cc
+++ b/chrome/browser/ui/webui/gpu_internals_ui.cc
@@ -14,6 +14,7 @@
#include "base/memory/singleton.h"
#include "base/message_loop.h"
#include "base/path_service.h"
+#include "base/scoped_ptr.h"
#include "base/string_number_conversions.h"
#include "base/string_piece.h"
#include "base/utf_string_conversions.h"
@@ -85,6 +86,7 @@ class GpuMessageHandler
void OnEndTracingAsync(const ListValue* list);
void OnBrowserBridgeInitialized(const ListValue* list);
void OnCallAsync(const ListValue* list);
+ void OnBeginRequestBufferPercentFull(const ListValue* list);
void OnLoadTraceFile(const ListValue* list);
void OnSaveTraceFile(const ListValue* list);
@@ -104,6 +106,7 @@ class GpuMessageHandler
// TraceSubscriber implementation.
virtual void OnEndTracingComplete();
virtual void OnTraceDataCollected(const std::string& json_events);
+ virtual void OnTraceBufferPercentFullReply(float percent_full);
// Executes the javascript function |function_name| in the renderer, passing
// it the argument |value|.
@@ -232,6 +235,9 @@ void GpuMessageHandler::RegisterMessages() {
"callAsync",
NewCallback(this, &GpuMessageHandler::OnCallAsync));
web_ui_->RegisterMessageCallback(
+ "beginRequestBufferPercentFull",
+ NewCallback(this, &GpuMessageHandler::OnBeginRequestBufferPercentFull));
+ web_ui_->RegisterMessageCallback(
"loadTraceFile",
NewCallback(this, &GpuMessageHandler::OnLoadTraceFile));
web_ui_->RegisterMessageCallback(
@@ -286,6 +292,10 @@ void GpuMessageHandler::OnCallAsync(const ListValue* args) {
}
}
+void GpuMessageHandler::OnBeginRequestBufferPercentFull(const ListValue* list) {
+ TraceController::GetInstance()->GetTraceBufferPercentFullAsync(this);
+}
+
class ReadTraceFileTask : public Task {
public:
ReadTraceFileTask(TaskProxy* proxy, const FilePath& path)
@@ -610,6 +620,13 @@ void GpuMessageHandler::OnTraceDataCollected(const std::string& json_events) {
WideToUTF16Hack(javascript));
}
+void GpuMessageHandler::OnTraceBufferPercentFullReply(float percent_full) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ web_ui_->CallJavascriptFunction(
+ "tracingController.onRequestBufferPercentFullComplete",
+ *scoped_ptr<Value>(Value::CreateDoubleValue(percent_full)));
+}
+
} // namespace