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

Side by Side Diff: src/inspector/string-16.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
« no previous file with comments | « src/inspector/string-16.h ('k') | src/inspector/v8-console.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "src/inspector/string-16.h" 5 #include "src/inspector/string-16.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cctype> 8 #include <cctype>
9 #include <cstdlib> 9 #include <cstdlib>
10 #include <cstring> 10 #include <cstring>
11 #include <iomanip>
12 #include <limits> 11 #include <limits>
13 #include <locale> 12 #include <locale>
14 #include <sstream>
15 #include <string> 13 #include <string>
16 14
17 #include "src/base/platform/platform.h" 15 #include "src/base/platform/platform.h"
18 #include "src/inspector/protocol-platform.h" 16 #include "src/inspector/protocol-platform.h"
19 17
20 namespace v8_inspector { 18 namespace v8_inspector {
21 19
22 namespace { 20 namespace {
23 21
24 bool isASCII(UChar c) { return !(c & ~0x7F); } 22 bool isASCII(UChar c) { return !(c & ~0x7F); }
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 // static 374 // static
377 String16 String16::fromInteger(size_t number) { 375 String16 String16::fromInteger(size_t number) {
378 const size_t kBufferSize = 50; 376 const size_t kBufferSize = 50;
379 char buffer[kBufferSize]; 377 char buffer[kBufferSize];
380 v8::base::OS::SNPrintF(buffer, kBufferSize, "%zu", number); 378 v8::base::OS::SNPrintF(buffer, kBufferSize, "%zu", number);
381 return String16(buffer); 379 return String16(buffer);
382 } 380 }
383 381
384 // static 382 // static
385 String16 String16::fromDouble(double number) { 383 String16 String16::fromDouble(double number) {
386 std::ostringstream s; 384 const size_t kBufferSize = 100;
387 s.imbue(std::locale("C")); 385 char buffer[kBufferSize];
388 s << std::fixed << std::setprecision(std::numeric_limits<double>::digits10) 386 v8::base::OS::SNPrintF(buffer, kBufferSize, "%f", number);
389 << number; 387 return String16(buffer);
390 return String16(s.str().c_str());
391 } 388 }
392 389
393 // static 390 // static
394 String16 String16::fromDouble(double number, int precision) { 391 String16 String16::fromDoublePrecision3(double number) {
395 std::ostringstream s; 392 const size_t kBufferSize = 100;
396 s.imbue(std::locale("C")); 393 char buffer[kBufferSize];
397 s << std::fixed << std::setprecision(precision) << number; 394 v8::base::OS::SNPrintF(buffer, kBufferSize, "%.3g", number);
398 return String16(s.str().c_str()); 395 return String16(buffer);
396 }
397
398 // static
399 String16 String16::fromDoublePrecision6(double number) {
400 const size_t kBufferSize = 100;
401 char buffer[kBufferSize];
402 v8::base::OS::SNPrintF(buffer, kBufferSize, "%.6g", number);
403 return String16(buffer);
399 } 404 }
400 405
401 int String16::toInteger(bool* ok) const { 406 int String16::toInteger(bool* ok) const {
402 return charactersToInteger(characters16(), length(), ok); 407 return charactersToInteger(characters16(), length(), ok);
403 } 408 }
404 409
405 String16 String16::stripWhiteSpace() const { 410 String16 String16::stripWhiteSpace() const {
406 if (!length()) return String16(); 411 if (!length()) return String16();
407 412
408 size_t start = 0; 413 size_t start = 0;
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 // There should be room left, since one UChar hasn't been 514 // There should be room left, since one UChar hasn't been
510 // converted. 515 // converted.
511 DCHECK((buffer + 3) <= (buffer + bufferVector.size())); 516 DCHECK((buffer + 3) <= (buffer + bufferVector.size()));
512 putUTF8Triple(buffer, *characters); 517 putUTF8Triple(buffer, *characters);
513 } 518 }
514 519
515 return std::string(bufferVector.data(), buffer - bufferVector.data()); 520 return std::string(bufferVector.data(), buffer - bufferVector.data());
516 } 521 }
517 522
518 } // namespace v8_inspector 523 } // namespace v8_inspector
OLDNEW
« no previous file with comments | « src/inspector/string-16.h ('k') | src/inspector/v8-console.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698