Index: chrome/browser/extensions/error_console/extension_error.cc |
diff --git a/chrome/browser/extensions/error_console/extension_error.cc b/chrome/browser/extensions/error_console/extension_error.cc |
deleted file mode 100644 |
index 9d8944cedbc505f812d6205154bfada96f4fbb5c..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/error_console/extension_error.cc |
+++ /dev/null |
@@ -1,172 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/extensions/error_console/extension_error.h" |
- |
-#include "base/json/json_reader.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "base/values.h" |
-#include "chrome/common/extensions/extension.h" |
-#include "extensions/common/constants.h" |
- |
-using base::string16; |
- |
-namespace extensions { |
- |
-namespace { |
- |
-const char kLineNumberKey[] = "lineNumber"; |
-const char kColumnNumberKey[] = "columnNumber"; |
-const char kURLKey[] = "url"; |
-const char kFunctionNameKey[] = "functionName"; |
-const char kExecutionContextURLKey[] = "executionContextURL"; |
-const char kStackTraceKey[] = "stackTrace"; |
- |
-// Try to retrieve an extension ID from a |url|. On success, returns true and |
-// populates |extension_id| with the ID. On failure, returns false and leaves |
-// extension_id untouched. |
-bool GetExtensionIDFromGURL(const GURL& url, std::string* extension_id) { |
- if (url.SchemeIs(extensions::kExtensionScheme)) { |
- *extension_id = url.host(); |
- return true; |
- } |
- return false; |
-} |
- |
-} // namespace |
- |
-ExtensionError::ExtensionError(Type type, |
- bool from_incognito, |
- const string16& source, |
- const string16& message) |
- : type_(type), |
- from_incognito_(from_incognito), |
- source_(source), |
- message_(message) { |
-} |
- |
-ExtensionError::~ExtensionError() { |
-} |
- |
-std::string ExtensionError::PrintForTest() const { |
- return std::string("Extension Error:") + |
- "\n OTR: " + std::string(from_incognito_ ? "true" : "false") + |
- "\n Source: " + base::UTF16ToUTF8(source_) + |
- "\n Message: " + base::UTF16ToUTF8(message_) + |
- "\n ID: " + extension_id_; |
-} |
- |
-ManifestParsingError::ManifestParsingError(bool from_incognito, |
- const string16& source, |
- const string16& message, |
- size_t line_number) |
- : ExtensionError(ExtensionError::MANIFEST_PARSING_ERROR, |
- from_incognito, |
- source, |
- message), |
- line_number_(line_number) { |
-} |
- |
-ManifestParsingError::~ManifestParsingError() { |
-} |
- |
-std::string ManifestParsingError::PrintForTest() const { |
- return ExtensionError::PrintForTest() + |
- "\n Type: ManifestParsingError" + |
- "\n Line: " + base::IntToString(line_number_); |
-} |
- |
-JavascriptRuntimeError::StackFrame::StackFrame() : line_number(-1), |
- column_number(-1) { |
-} |
- |
-JavascriptRuntimeError::StackFrame::StackFrame(size_t frame_line, |
- size_t frame_column, |
- const string16& frame_url, |
- const string16& frame_function) |
- : line_number(frame_line), |
- column_number(frame_column), |
- url(frame_url), |
- function(frame_function) { |
-} |
- |
-JavascriptRuntimeError::StackFrame::~StackFrame() { |
-} |
- |
-JavascriptRuntimeError::JavascriptRuntimeError(bool from_incognito, |
- const string16& source, |
- const string16& message, |
- logging::LogSeverity level, |
- const string16& details) |
- : ExtensionError(ExtensionError::JAVASCRIPT_RUNTIME_ERROR, |
- from_incognito, |
- source, |
- message), |
- level_(level) { |
- ParseDetails(details); |
- DetermineExtensionID(); |
-} |
- |
-JavascriptRuntimeError::~JavascriptRuntimeError() { |
-} |
- |
-std::string JavascriptRuntimeError::PrintForTest() const { |
- std::string result = ExtensionError::PrintForTest() + |
- "\n Type: JavascriptRuntimeError" |
- "\n Context: " + base::UTF16ToUTF8(execution_context_url_) + |
- "\n Stack Trace: "; |
- for (StackTrace::const_iterator iter = stack_trace_.begin(); |
- iter != stack_trace_.end(); ++iter) { |
- result += "\n {" |
- "\n Line: " + base::IntToString(iter->line_number) + |
- "\n Column: " + base::IntToString(iter->column_number) + |
- "\n URL: " + base::UTF16ToUTF8(iter->url) + |
- "\n Function: " + base::UTF16ToUTF8(iter->function) + |
- "\n }"; |
- } |
- return result; |
-} |
- |
-void JavascriptRuntimeError::ParseDetails(const string16& details) { |
- scoped_ptr<base::Value> value( |
- base::JSONReader::Read(base::UTF16ToUTF8(details))); |
- const base::DictionaryValue* details_value; |
- const base::ListValue* trace_value = NULL; |
- |
- // The |details| value should contain an execution context url and a stack |
- // trace. |
- if (!value.get() || |
- !value->GetAsDictionary(&details_value) || |
- !details_value->GetString(kExecutionContextURLKey, |
- &execution_context_url_) || |
- !details_value->GetList(kStackTraceKey, &trace_value)) { |
- NOTREACHED(); |
- return; |
- } |
- |
- int line = 0; |
- int column = 0; |
- string16 url; |
- |
- for (size_t i = 0; i < trace_value->GetSize(); ++i) { |
- const base::DictionaryValue* frame_value = NULL; |
- CHECK(trace_value->GetDictionary(i, &frame_value)); |
- |
- frame_value->GetInteger(kLineNumberKey, &line); |
- frame_value->GetInteger(kColumnNumberKey, &column); |
- frame_value->GetString(kURLKey, &url); |
- |
- string16 function; |
- frame_value->GetString(kFunctionNameKey, &function); // This can be empty. |
- stack_trace_.push_back(StackFrame(line, column, url, function)); |
- } |
-} |
- |
-void JavascriptRuntimeError::DetermineExtensionID() { |
- if (!GetExtensionIDFromGURL(GURL(source_), &extension_id_)) |
- GetExtensionIDFromGURL(GURL(execution_context_url_), &extension_id_); |
-} |
- |
-} // namespace extensions |