summaryrefslogtreecommitdiffstats
path: root/extensions/renderer/logging_native_handler.cc
diff options
context:
space:
mode:
authordmazzoni <dmazzoni@chromium.org>2015-07-22 12:17:10 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-22 19:18:36 +0000
commit1777fbdbd234ddc8e19d4ba3a42cfd3234b8a158 (patch)
tree76e29ea1fd30a3c40a577685c4bf7e19eb632ebe /extensions/renderer/logging_native_handler.cc
parentbb2780cad4e11b3fdde2690428e90be003f5be73 (diff)
downloadchromium_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.cc30
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