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

Side by Side Diff: test/inspector/inspector-test.cc

Issue 2419453002: Revert of [inspector] fix timestamp formatting with non C locales (Closed)
Patch Set: Created 4 years, 2 months 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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project 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 #if !defined(_WIN32) && !defined(_WIN64) 5 #if !defined(_WIN32) && !defined(_WIN64)
6 #include <unistd.h> // NOLINT 6 #include <unistd.h> // NOLINT
7 #endif // !defined(_WIN32) && !defined(_WIN64) 7 #endif // !defined(_WIN32) && !defined(_WIN64)
8 8
9 #include <locale.h>
10
11 #include "include/libplatform/libplatform.h" 9 #include "include/libplatform/libplatform.h"
12 #include "include/v8.h" 10 #include "include/v8.h"
13 11
14 #include "src/base/platform/platform.h" 12 #include "src/base/platform/platform.h"
15 #include "src/flags.h" 13 #include "src/flags.h"
16 #include "src/utils.h" 14 #include "src/utils.h"
17 #include "src/vector.h" 15 #include "src/vector.h"
18 16
19 #include "test/inspector/inspector-impl.h" 17 #include "test/inspector/inspector-impl.h"
20 #include "test/inspector/task-runner.h" 18 #include "test/inspector/task-runner.h"
21 19
22 namespace { 20 namespace {
23 21
24 void Exit() { 22 void Exit() {
25 fflush(stdout); 23 fflush(stdout);
26 fflush(stderr); 24 fflush(stderr);
27 _exit(0); 25 _exit(0);
28 } 26 }
29 27
30 class UtilsExtension : public v8::Extension { 28 class UtilsExtension : public v8::Extension {
31 public: 29 public:
32 UtilsExtension() 30 UtilsExtension()
33 : v8::Extension("v8_inspector/utils", 31 : v8::Extension("v8_inspector/utils",
34 "native function print();" 32 "native function print(); native function quit();") {}
35 "native function quit();"
36 "native function setlocale();") {}
37 virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate( 33 virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
38 v8::Isolate* isolate, v8::Local<v8::String> name) { 34 v8::Isolate* isolate, v8::Local<v8::String> name) {
39 v8::Local<v8::Context> context = isolate->GetCurrentContext(); 35 v8::Local<v8::Context> context = isolate->GetCurrentContext();
40 if (name->Equals(context, v8::String::NewFromUtf8( 36 if (name->Equals(context, v8::String::NewFromUtf8(
41 isolate, "print", v8::NewStringType::kNormal) 37 isolate, "print", v8::NewStringType::kNormal)
42 .ToLocalChecked()) 38 .ToLocalChecked())
43 .FromJust()) { 39 .FromJust()) {
44 return v8::FunctionTemplate::New(isolate, UtilsExtension::Print); 40 return v8::FunctionTemplate::New(isolate, UtilsExtension::Print);
45 } else if (name->Equals(context, 41 } else if (name->Equals(context,
46 v8::String::NewFromUtf8(isolate, "quit", 42 v8::String::NewFromUtf8(isolate, "quit",
47 v8::NewStringType::kNormal) 43 v8::NewStringType::kNormal)
48 .ToLocalChecked()) 44 .ToLocalChecked())
49 .FromJust()) { 45 .FromJust()) {
50 return v8::FunctionTemplate::New(isolate, UtilsExtension::Quit); 46 return v8::FunctionTemplate::New(isolate, UtilsExtension::Quit);
51 } else if (name->Equals(context,
52 v8::String::NewFromUtf8(isolate, "setlocale",
53 v8::NewStringType::kNormal)
54 .ToLocalChecked())
55 .FromJust()) {
56 return v8::FunctionTemplate::New(isolate, UtilsExtension::SetLocale);
57 } 47 }
58 return v8::Local<v8::FunctionTemplate>(); 48 return v8::Local<v8::FunctionTemplate>();
59 } 49 }
60 50
61 private: 51 private:
62 static void Print(const v8::FunctionCallbackInfo<v8::Value>& args) { 52 static void Print(const v8::FunctionCallbackInfo<v8::Value>& args) {
63 for (int i = 0; i < args.Length(); i++) { 53 for (int i = 0; i < args.Length(); i++) {
64 v8::HandleScope handle_scope(args.GetIsolate()); 54 v8::HandleScope handle_scope(args.GetIsolate());
65 if (i != 0) { 55 if (i != 0) {
66 printf(" "); 56 printf(" ");
(...skipping 19 matching lines...) Expand all
86 if (n != str.length()) { 76 if (n != str.length()) {
87 printf("Error in fwrite\n"); 77 printf("Error in fwrite\n");
88 Quit(args); 78 Quit(args);
89 } 79 }
90 } 80 }
91 printf("\n"); 81 printf("\n");
92 fflush(stdout); 82 fflush(stdout);
93 } 83 }
94 84
95 static void Quit(const v8::FunctionCallbackInfo<v8::Value>& args) { Exit(); } 85 static void Quit(const v8::FunctionCallbackInfo<v8::Value>& args) { Exit(); }
96
97 static void SetLocale(const v8::FunctionCallbackInfo<v8::Value>& args) {
98 if (args.Length() != 1 || !args[0]->IsString()) {
99 fprintf(stderr, "Internal error: setlocale get one string argument.");
100 Exit();
101 }
102 v8::String::Utf8Value str(args[0]);
103 setlocale(LC_NUMERIC, *str);
104 }
105 }; 86 };
106 87
107 class SetTimeoutTask : public TaskRunner::Task { 88 class SetTimeoutTask : public TaskRunner::Task {
108 public: 89 public:
109 SetTimeoutTask(v8::Isolate* isolate, v8::Local<v8::Function> function) 90 SetTimeoutTask(v8::Isolate* isolate, v8::Local<v8::Function> function)
110 : function_(isolate, function) {} 91 : function_(isolate, function) {}
111 virtual ~SetTimeoutTask() {} 92 virtual ~SetTimeoutTask() {}
112 93
113 bool is_inspector_task() final { return false; } 94 bool is_inspector_task() final { return false; }
114 95
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 fprintf(stderr, "Internal error: script file doesn't exists: %s\n", 243 fprintf(stderr, "Internal error: script file doesn't exists: %s\n",
263 argv[i]); 244 argv[i]);
264 Exit(); 245 Exit();
265 } 246 }
266 frontend_runner.Append(new ExecuteStringTask(chars)); 247 frontend_runner.Append(new ExecuteStringTask(chars));
267 } 248 }
268 249
269 frontend_runner.Join(); 250 frontend_runner.Join();
270 return 0; 251 return 0;
271 } 252 }
OLDNEW
« no previous file with comments | « src/inspector/v8-console-message.cc ('k') | test/inspector/runtime/protocol-works-with-different-locale.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698