Commit 5bb996fe authored by Devlin Cronin's avatar Devlin Cronin Committed by Commit Bot

[ServiceWorkers] Update EmbeddedWorker interface to use ConsoleMessageLevel

Update EmbeddedWorkerInstanceHost to use the
blink::mojom::ConsoleMessageLevel enum, rather than an int32. This also
percolates out to the ServiceWorkerVersion, ServiceWorkerContextCore,
and ServiceWorkerContext observer classes, and the
content::ConsoleMessage struct.

Bug: None
Change-Id: I1e392ae7ab5ca2ff679c30057d45817358d3bbf1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1501498
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#637992}
parent 628d550f
......@@ -8,6 +8,27 @@
namespace content {
logging::LogSeverity ConsoleMessageLevelToLogSeverity(
blink::mojom::ConsoleMessageLevel level) {
logging::LogSeverity log_severity = logging::LOG_VERBOSE;
switch (level) {
case blink::mojom::ConsoleMessageLevel::kVerbose:
log_severity = logging::LOG_VERBOSE;
break;
case blink::mojom::ConsoleMessageLevel::kInfo:
log_severity = logging::LOG_INFO;
break;
case blink::mojom::ConsoleMessageLevel::kWarning:
log_severity = logging::LOG_WARNING;
break;
case blink::mojom::ConsoleMessageLevel::kError:
log_severity = logging::LOG_ERROR;
break;
}
return log_severity;
}
void LogConsoleMessage(int32_t level,
const base::string16& message,
int32_t line_number,
......
......@@ -5,12 +5,18 @@
#ifndef CONTENT_BROWSER_LOG_CONSOLE_MESSAGE_H_
#define CONTENT_BROWSER_LOG_CONSOLE_MESSAGE_H_
#include "base/logging.h"
#include "base/strings/string16.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom.h"
namespace content {
logging::LogSeverity ConsoleMessageLevelToLogSeverity(
blink::mojom::ConsoleMessageLevel level);
// Optionally logs a message from the console, depending on the set logging
// levels and incognito state.
// TODO(devlin): Update |level| to be a logging::LogSeverity.
void LogConsoleMessage(int32_t level,
const base::string16& message,
int32_t line_number,
......
......@@ -1022,7 +1022,7 @@ void EmbeddedWorkerInstance::OnReportException(
void EmbeddedWorkerInstance::OnReportConsoleMessage(
int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {
......
......@@ -27,6 +27,7 @@
#include "mojo/public/cpp/bindings/associated_binding.h"
#include "third_party/blink/public/common/service_worker/service_worker_status_code.h"
#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom.h"
#include "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom.h"
#include "third_party/blink/public/mojom/service_worker/embedded_worker.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker.mojom.h"
......@@ -111,11 +112,12 @@ class CONTENT_EXPORT EmbeddedWorkerInstance
int line_number,
int column_number,
const GURL& source_url) {}
virtual void OnReportConsoleMessage(int source_identifier,
int message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {}
virtual void OnReportConsoleMessage(
int source_identifier,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {}
};
~EmbeddedWorkerInstance() override;
......@@ -292,7 +294,7 @@ class CONTENT_EXPORT EmbeddedWorkerInstance
int column_number,
const GURL& source_url) override;
void OnReportConsoleMessage(int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) override;
......
......@@ -490,7 +490,7 @@ class ServiceWorkerBrowserTest : public ContentBrowserTest {
class ConsoleListener : public EmbeddedWorkerInstance::Listener {
public:
void OnReportConsoleMessage(int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) override {
......
......@@ -836,7 +836,7 @@ void ServiceWorkerContextCore::OnErrorReported(
void ServiceWorkerContextCore::OnReportConsoleMessage(
ServiceWorkerVersion* version,
int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {
......@@ -848,8 +848,8 @@ void ServiceWorkerContextCore::OnReportConsoleMessage(
// BrowserContext and call ContentBrowserClient::IsBuiltinComponent().
const bool is_builtin_component = HasWebUIScheme(source_url);
LogConsoleMessage(message_level, message, line_number, is_builtin_component,
wrapper_->is_incognito(),
LogConsoleMessage(ConsoleMessageLevelToLogSeverity(message_level), message,
line_number, is_builtin_component, wrapper_->is_incognito(),
base::UTF8ToUTF16(source_url.spec()));
observer_list_->Notify(
......
......@@ -143,7 +143,7 @@ class CONTENT_EXPORT ServiceWorkerContextCore
const GURL& source_url) override;
void OnReportConsoleMessage(ServiceWorkerVersion* version,
int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) override;
......
......@@ -15,6 +15,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/console_message.h"
#include "content/public/common/console_message_level.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_registration.mojom.h"
#include "url/gurl.h"
......@@ -318,7 +319,7 @@ void ServiceWorkerContextWatcher::OnReportConsoleMessage(
int64_t version_id,
const ConsoleMessage& message) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (message.message_level != CONSOLE_MESSAGE_LEVEL_ERROR)
if (message.message_level != blink::mojom::ConsoleMessageLevel::kError)
return;
int64_t registration_id = blink::mojom::kInvalidServiceWorkerRegistrationId;
auto it = version_info_map_.find(version_id);
......
......@@ -288,7 +288,7 @@ class ServiceWorkerInternalsUI::PartitionObserver
args.push_back(std::make_unique<Value>(base::NumberToString(version_id)));
auto value = std::make_unique<DictionaryValue>();
value->SetInteger("sourceIdentifier", message.source_identifier);
value->SetInteger("message_level", message.message_level);
value->SetInteger("message_level", static_cast<int>(message.message_level));
value->SetString("message", message.message);
value->SetInteger("lineNumber", message.line_number);
value->SetString("sourceURL", message.source_url.spec());
......
......@@ -1056,11 +1056,12 @@ void ServiceWorkerVersion::OnReportException(
}
}
void ServiceWorkerVersion::OnReportConsoleMessage(int source_identifier,
int message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {
void ServiceWorkerVersion::OnReportConsoleMessage(
int source_identifier,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {
for (auto& observer : observers_) {
observer.OnReportConsoleMessage(this, source_identifier, message_level,
message, line_number, source_url);
......
......@@ -161,12 +161,13 @@ class CONTENT_EXPORT ServiceWorkerVersion
int line_number,
int column_number,
const GURL& source_url) {}
virtual void OnReportConsoleMessage(ServiceWorkerVersion* version,
int source_identifier,
int message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {}
virtual void OnReportConsoleMessage(
ServiceWorkerVersion* version,
int source_identifier,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) {}
// OnControlleeAdded/Removed are called asynchronously. It is possible the
// provider host identified by |client_uuid| was already destroyed when they
// are called.
......@@ -681,7 +682,7 @@ class CONTENT_EXPORT ServiceWorkerVersion
int column_number,
const GURL& source_url) override;
void OnReportConsoleMessage(int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url) override;
......
......@@ -6,6 +6,7 @@
#define CONTENT_PUBLIC_BROWSER_CONSOLE_MESSAGE_H_
#include "base/strings/string16.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom.h"
#include "url/gurl.h"
namespace content {
......@@ -14,7 +15,7 @@ namespace content {
// console.
struct ConsoleMessage {
ConsoleMessage(int source_identifier,
int message_level,
blink::mojom::ConsoleMessageLevel message_level,
const base::string16& message,
int line_number,
const GURL& source_url)
......@@ -27,9 +28,8 @@ struct ConsoleMessage {
// The type of source this came from. In practice, this maps to
// blink::MessageSource.
const int source_identifier;
// TODO(devlin): This should use blink::mojom or content's
// ConsoleMessageLevel.
const int message_level;
// The severity of the console message.
const blink::mojom::ConsoleMessageLevel message_level;
// The message that was logged to the console.
const base::string16 message;
// The line in the script file that the log was emitted at.
......
......@@ -563,7 +563,7 @@ void ServiceWorkerContextClient::ReportException(
void ServiceWorkerContextClient::ReportConsoleMessage(
int source,
int level,
blink::mojom::ConsoleMessageLevel level,
const blink::WebString& message,
int line_number,
const blink::WebString& source_url) {
......
......@@ -117,7 +117,7 @@ class CONTENT_EXPORT ServiceWorkerContextClient
int column_number,
const blink::WebString& source_url) override;
void ReportConsoleMessage(int source,
int level,
blink::mojom::ConsoleMessageLevel level,
const blink::WebString& message,
int line_number,
const blink::WebString& source_url) override;
......
......@@ -171,7 +171,8 @@ interface EmbeddedWorkerInstanceHost {
int32 column_number, url.mojom.Url source_url);
// Reports that a console message was emitted to the worker's console.
OnReportConsoleMessage(int32 source_identifier, int32 message_level,
OnReportConsoleMessage(int32 source_identifier,
ConsoleMessageLevel message_level,
mojo_base.mojom.String16 message, int32 line_number,
url.mojom.Url source_url);
// Indicates that the worker has stopped.
......
......@@ -35,6 +35,7 @@
#include "base/memory/scoped_refptr.h"
#include "base/time/time.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom-shared.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom-shared.h"
#include "third_party/blink/public/mojom/web_feature/web_feature.mojom-shared.h"
#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_stream_handle.h"
......@@ -163,7 +164,7 @@ class WebServiceWorkerContextClient {
// Called when a console message was written.
virtual void ReportConsoleMessage(int source,
int level,
blink::mojom::ConsoleMessageLevel level,
const WebString& message,
int line_number,
const WebString& source_url) {}
......
......@@ -618,8 +618,28 @@ void ServiceWorkerGlobalScopeProxy::ReportConsoleMessage(
const String& message,
SourceLocation* location) {
DCHECK_CALLED_ON_VALID_THREAD(worker_thread_checker_);
Client().ReportConsoleMessage(source, level, message, location->LineNumber(),
location->Url());
// TODO(https://crbug.com/937184): This back-and-forth conversion will be
// unnecessary once we converge on blink::mojom::ConsoleMessageLevel.
blink::mojom::ConsoleMessageLevel console_message_level =
blink::mojom::ConsoleMessageLevel::kInfo;
switch (level) {
case kVerboseMessageLevel:
console_message_level = blink::mojom::ConsoleMessageLevel::kVerbose;
break;
case kInfoMessageLevel:
console_message_level = blink::mojom::ConsoleMessageLevel::kInfo;
break;
case kWarningMessageLevel:
console_message_level = blink::mojom::ConsoleMessageLevel::kWarning;
break;
case kErrorMessageLevel:
console_message_level = blink::mojom::ConsoleMessageLevel::kError;
break;
}
Client().ReportConsoleMessage(source, console_message_level, message,
location->LineNumber(), location->Url());
}
void ServiceWorkerGlobalScopeProxy::WillInitializeWorkerContext() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment