diff options
author | dmazzoni <dmazzoni@chromium.org> | 2015-07-22 12:17:10 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-22 19:18:36 +0000 |
commit | 1777fbdbd234ddc8e19d4ba3a42cfd3234b8a158 (patch) | |
tree | 76e29ea1fd30a3c40a577685c4bf7e19eb632ebe /extensions/renderer/logging_native_handler.cc | |
parent | bb2780cad4e11b3fdde2690428e90be003f5be73 (diff) | |
download | chromium_src-1777fbdbd234ddc8e19d4ba3a42cfd3234b8a158.zip chromium_src-1777fbdbd234ddc8e19d4ba3a42cfd3234b8a158.tar.gz chromium_src-1777fbdbd234ddc8e19d4ba3a42cfd3234b8a158.tar.bz2 |
Re-land: Reimplement automation API on top of C++-backed AXTree.
Original review: https://codereview.chromium.org/1155183006
Landed in: r335183
Reverted in: r335343 (bug 502311)
BUG=495323,502311
Review URL: https://codereview.chromium.org/1231603009
Cr-Commit-Position: refs/heads/master@{#339929}
Diffstat (limited to 'extensions/renderer/logging_native_handler.cc')
-rw-r--r-- | extensions/renderer/logging_native_handler.cc | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/extensions/renderer/logging_native_handler.cc b/extensions/renderer/logging_native_handler.cc index 8a913a1..86fbc9c 100644 --- a/extensions/renderer/logging_native_handler.cc +++ b/extensions/renderer/logging_native_handler.cc @@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "extensions/renderer/logging_native_handler.h" - #include "base/logging.h" #include "base/strings/stringprintf.h" +#include "extensions/renderer/logging_native_handler.h" +#include "extensions/renderer/script_context.h" namespace extensions { @@ -72,31 +72,7 @@ void LoggingNativeHandler::ParseArgs( *error_message = "Error: " + std::string(*v8::String::Utf8Value(args[1])); } - v8::Local<v8::StackTrace> stack_trace = - v8::StackTrace::CurrentStackTrace(args.GetIsolate(), 10); - if (stack_trace.IsEmpty() || stack_trace->GetFrameCount() <= 0) { - *error_message += "\n <no stack trace>"; - } else { - for (size_t i = 0; i < (size_t)stack_trace->GetFrameCount(); ++i) { - v8::Local<v8::StackFrame> frame = stack_trace->GetFrame(i); - CHECK(!frame.IsEmpty()); - *error_message += base::StringPrintf( - "\n at %s (%s:%d:%d)", - ToStringOrDefault(frame->GetFunctionName(), "<anonymous>").c_str(), - ToStringOrDefault(frame->GetScriptName(), "<anonymous>").c_str(), - frame->GetLineNumber(), - frame->GetColumn()); - } - } -} - -std::string LoggingNativeHandler::ToStringOrDefault( - const v8::Local<v8::String>& v8_string, - const std::string& dflt) { - if (v8_string.IsEmpty()) - return dflt; - std::string ascii_value = *v8::String::Utf8Value(v8_string); - return ascii_value.empty() ? dflt : ascii_value; + *error_message += "\n" + context()->GetStackTraceAsString(); } } // namespace extensions |