| Index: extensions/browser/extension_error.h
|
| diff --git a/extensions/browser/extension_error.h b/extensions/browser/extension_error.h
|
| index 1cd4a7b69bfd6f6252f0b71bf75786f923fcb684..00ecf4f9a39434ee596fa4b271bc8d629e58389e 100644
|
| --- a/extensions/browser/extension_error.h
|
| +++ b/extensions/browser/extension_error.h
|
| @@ -10,7 +10,10 @@
|
|
|
| #include "base/compiler_specific.h"
|
| #include "base/logging.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "base/strings/string16.h"
|
| +#include "url/gurl.h"
|
|
|
| namespace extensions {
|
|
|
| @@ -75,42 +78,43 @@ class JavascriptRuntimeError : public ExtensionError {
|
| base::string16 url;
|
| base::string16 function; // optional
|
|
|
| - // STL-Required constructor
|
| - StackFrame();
|
| -
|
| StackFrame(size_t frame_line,
|
| size_t frame_column,
|
| const base::string16& frame_url,
|
| const base::string16& frame_function /* can be empty */);
|
| -
|
| ~StackFrame();
|
| +
|
| + static scoped_ptr<StackFrame> CreateFromText(const base::string16& text);
|
| };
|
| - typedef std::vector<StackFrame> StackTrace;
|
| + typedef ScopedVector<StackFrame> StackTrace;
|
|
|
| JavascriptRuntimeError(bool from_incognito,
|
| const base::string16& source,
|
| const base::string16& message,
|
| - logging::LogSeverity level,
|
| - const base::string16& details);
|
| + const base::string16& stack_trace,
|
| + int32 line_number,
|
| + const GURL& context_url,
|
| + logging::LogSeverity level);
|
| virtual ~JavascriptRuntimeError();
|
|
|
| virtual std::string PrintForTest() const OVERRIDE;
|
|
|
| + const GURL& context_url() const { return context_url_; }
|
| logging::LogSeverity level() const { return level_; }
|
| - const base::string16& execution_context_url() const {
|
| - return execution_context_url_;
|
| - }
|
| const StackTrace& stack_trace() const { return stack_trace_; }
|
| private:
|
| - // Parse the JSON |details| passed to the error. This includes a stack trace
|
| - // and an execution context url.
|
| - void ParseDetails(const base::string16& details);
|
| - // Try to determine the ID of the extension. This may be obtained through the
|
| - // reported source, or through the execution context url.
|
| - void DetermineExtensionID();
|
| -
|
| + // Parse the stack trace from either the |message| or the |stack_trace|
|
| + // string.
|
| + void GetStackTrace(const base::string16& message,
|
| + const base::string16& stack_trace,
|
| + int32 line_number);
|
| + // Since we piggy-back onto other error reporting systems (like V8 and
|
| + // WebKit), the reported information may need to be cleaned up in order to be
|
| + // in a consistent format.
|
| + void CleanUpInit();
|
| +
|
| + GURL context_url_;
|
| logging::LogSeverity level_;
|
| - base::string16 execution_context_url_;
|
| StackTrace stack_trace_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(JavascriptRuntimeError);
|
|
|