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

Unified Diff: chrome/browser/extensions/error_console/extension_error.cc

Issue 22647007: Resubmit 21609003: Move ExtensionError to extensions/, add error limits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Latest master Created 7 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/error_console/extension_error.h ('k') | chrome/chrome_browser_extensions.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/extensions/error_console/extension_error.h ('k') | chrome/chrome_browser_extensions.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698