summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/appcache/appcache_frontend_proxy.cc6
-rw-r--r--chrome/browser/appcache/appcache_frontend_proxy.h2
-rw-r--r--chrome/common/appcache/appcache_dispatcher.cc8
-rw-r--r--chrome/common/appcache/appcache_dispatcher.h1
-rwxr-xr-xchrome/common/render_messages_internal.h6
-rw-r--r--webkit/appcache/appcache_frontend_impl.cc7
-rw-r--r--webkit/appcache/appcache_frontend_impl.h2
-rw-r--r--webkit/appcache/appcache_group_unittest.cc4
-rw-r--r--webkit/appcache/appcache_host_unittest.cc4
-rw-r--r--webkit/appcache/appcache_interfaces.h9
-rw-r--r--webkit/appcache/appcache_request_handler_unittest.cc3
-rw-r--r--webkit/appcache/appcache_update_job_unittest.cc4
-rw-r--r--webkit/appcache/web_application_cache_host_impl.cc6
-rw-r--r--webkit/appcache/web_application_cache_host_impl.h1
-rw-r--r--webkit/tools/test_shell/simple_appcache_system.cc16
15 files changed, 78 insertions, 1 deletions
diff --git a/chrome/browser/appcache/appcache_frontend_proxy.cc b/chrome/browser/appcache/appcache_frontend_proxy.cc
index 89822d0..fe39029 100644
--- a/chrome/browser/appcache/appcache_frontend_proxy.cc
+++ b/chrome/browser/appcache/appcache_frontend_proxy.cc
@@ -29,6 +29,12 @@ void AppCacheFrontendProxy::OnProgressEventRaised(
host_ids, url, num_total, num_complete));
}
+void AppCacheFrontendProxy::OnLogMessage(int host_id,
+ appcache::LogLevel log_level,
+ const std::string& message) {
+ sender_->Send(new AppCacheMsg_LogMessage(host_id, log_level, message));
+}
+
void AppCacheFrontendProxy::OnContentBlocked(int host_id) {
sender_->Send(new AppCacheMsg_ContentBlocked(host_id));
}
diff --git a/chrome/browser/appcache/appcache_frontend_proxy.h b/chrome/browser/appcache/appcache_frontend_proxy.h
index 2b6bc2e..90b9446 100644
--- a/chrome/browser/appcache/appcache_frontend_proxy.h
+++ b/chrome/browser/appcache/appcache_frontend_proxy.h
@@ -27,6 +27,8 @@ class AppCacheFrontendProxy : public appcache::AppCacheFrontend {
virtual void OnProgressEventRaised(const std::vector<int>& host_ids,
const GURL& url,
int num_total, int num_complete);
+ virtual void OnLogMessage(int host_id, appcache::LogLevel log_level,
+ const std::string& message);
virtual void OnContentBlocked(int host_id);
private:
diff --git a/chrome/common/appcache/appcache_dispatcher.cc b/chrome/common/appcache/appcache_dispatcher.cc
index 41d027a..97e1cba 100644
--- a/chrome/common/appcache/appcache_dispatcher.cc
+++ b/chrome/common/appcache/appcache_dispatcher.cc
@@ -14,6 +14,7 @@ bool AppCacheDispatcher::OnMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(AppCacheMsg_StatusChanged, OnStatusChanged)
IPC_MESSAGE_HANDLER(AppCacheMsg_EventRaised, OnEventRaised)
IPC_MESSAGE_HANDLER(AppCacheMsg_ProgressEventRaised, OnProgressEventRaised)
+ IPC_MESSAGE_HANDLER(AppCacheMsg_LogMessage, OnLogMessage)
IPC_MESSAGE_HANDLER(AppCacheMsg_ContentBlocked, OnContentBlocked)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -40,6 +41,13 @@ void AppCacheDispatcher::OnProgressEventRaised(
const GURL& url, int num_total, int num_complete) {
frontend_impl_.OnProgressEventRaised(host_ids, url, num_total, num_complete);
}
+
+void AppCacheDispatcher::OnLogMessage(
+ int host_id, int log_level, const std::string& message) {
+ frontend_impl_.OnLogMessage(
+ host_id, static_cast<appcache::LogLevel>(log_level), message);
+}
+
void AppCacheDispatcher::OnContentBlocked(int host_id) {
frontend_impl_.OnContentBlocked(host_id);
}
diff --git a/chrome/common/appcache/appcache_dispatcher.h b/chrome/common/appcache/appcache_dispatcher.h
index 0ecd328..39cb225 100644
--- a/chrome/common/appcache/appcache_dispatcher.h
+++ b/chrome/common/appcache/appcache_dispatcher.h
@@ -33,6 +33,7 @@ class AppCacheDispatcher {
appcache::EventID event_id);
void OnProgressEventRaised(const std::vector<int>& host_ids,
const GURL& url, int num_total, int num_complete);
+ void OnLogMessage(int host_id, int log_level, const std::string& message);
void OnContentBlocked(int host_id);
AppCacheBackendProxy backend_proxy_;
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index 7d38c3a..df043e7 100755
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -633,6 +633,12 @@ IPC_BEGIN_MESSAGES(View)
int /* total */,
int /* complete */)
+ // Notifies the renderer of an AppCache logging message.
+ IPC_MESSAGE_CONTROL3(AppCacheMsg_LogMessage,
+ int /* host_id */,
+ int /* log_level */,
+ std::string /* message */)
+
// Notifies the renderer of the fact that AppCache access was blocked.
IPC_MESSAGE_CONTROL1(AppCacheMsg_ContentBlocked,
int /* host_id */)
diff --git a/webkit/appcache/appcache_frontend_impl.cc b/webkit/appcache/appcache_frontend_impl.cc
index 3535bf1..2365a912d 100644
--- a/webkit/appcache/appcache_frontend_impl.cc
+++ b/webkit/appcache/appcache_frontend_impl.cc
@@ -53,6 +53,13 @@ void AppCacheFrontendImpl::OnProgressEventRaised(
}
}
+void AppCacheFrontendImpl::OnLogMessage(int host_id, LogLevel log_level,
+ const std::string& message) {
+ WebApplicationCacheHostImpl* host = GetHost(host_id);
+ if (host)
+ host->OnLogMessage(log_level, message);
+}
+
void AppCacheFrontendImpl::OnContentBlocked(int host_id) {
WebApplicationCacheHostImpl* host = GetHost(host_id);
if (host)
diff --git a/webkit/appcache/appcache_frontend_impl.h b/webkit/appcache/appcache_frontend_impl.h
index 99e5c2c..6617082 100644
--- a/webkit/appcache/appcache_frontend_impl.h
+++ b/webkit/appcache/appcache_frontend_impl.h
@@ -21,6 +21,8 @@ class AppCacheFrontendImpl : public AppCacheFrontend {
virtual void OnProgressEventRaised(const std::vector<int>& host_ids,
const GURL& url,
int num_total, int num_complete);
+ virtual void OnLogMessage(int host_id, LogLevel log_level,
+ const std::string& message);
virtual void OnContentBlocked(int host_id);
};
diff --git a/webkit/appcache/appcache_group_unittest.cc b/webkit/appcache/appcache_group_unittest.cc
index b1c7425..a88808d 100644
--- a/webkit/appcache/appcache_group_unittest.cc
+++ b/webkit/appcache/appcache_group_unittest.cc
@@ -38,6 +38,10 @@ class TestAppCacheFrontend : public appcache::AppCacheFrontend {
int num_total, int num_complete) {
}
+ virtual void OnLogMessage(int host_id, appcache::LogLevel log_level,
+ const std::string& message) {
+ }
+
virtual void OnContentBlocked(int host_id) {
}
diff --git a/webkit/appcache/appcache_host_unittest.cc b/webkit/appcache/appcache_host_unittest.cc
index b618ce9..f2e8a04 100644
--- a/webkit/appcache/appcache_host_unittest.cc
+++ b/webkit/appcache/appcache_host_unittest.cc
@@ -57,6 +57,10 @@ class AppCacheHostTest : public testing::Test {
last_event_id_ = PROGRESS_EVENT;
}
+ virtual void OnLogMessage(int host_id, appcache::LogLevel log_level,
+ const std::string& message) {
+ }
+
virtual void OnContentBlocked(int host_id) {
}
diff --git a/webkit/appcache/appcache_interfaces.h b/webkit/appcache/appcache_interfaces.h
index 5f1c369..a57ba67 100644
--- a/webkit/appcache/appcache_interfaces.h
+++ b/webkit/appcache/appcache_interfaces.h
@@ -44,6 +44,12 @@ enum EventID {
OBSOLETE_EVENT
};
+enum LogLevel {
+ LOG_INFO,
+ LOG_WARNING,
+ LOG_ERROR,
+};
+
// Interface used by backend (browser-process) to talk to frontend (renderer).
class AppCacheFrontend {
public:
@@ -57,7 +63,8 @@ class AppCacheFrontend {
const GURL& url,
int num_total, int num_complete) = 0;
virtual void OnContentBlocked(int host_id) = 0;
-
+ virtual void OnLogMessage(int host_id, LogLevel log_level,
+ const std::string& message) = 0;
virtual ~AppCacheFrontend() {}
};
diff --git a/webkit/appcache/appcache_request_handler_unittest.cc b/webkit/appcache/appcache_request_handler_unittest.cc
index 85db41a..1793209 100644
--- a/webkit/appcache/appcache_request_handler_unittest.cc
+++ b/webkit/appcache/appcache_request_handler_unittest.cc
@@ -36,6 +36,9 @@ class AppCacheRequestHandlerTest : public testing::Test {
const GURL& url,
int num_total, int num_complete) {}
+ virtual void OnLogMessage(int host_id, appcache::LogLevel log_level,
+ const std::string& message) {}
+
virtual void OnContentBlocked(int host_id) {}
};
diff --git a/webkit/appcache/appcache_update_job_unittest.cc b/webkit/appcache/appcache_update_job_unittest.cc
index 665150a..06ac167 100644
--- a/webkit/appcache/appcache_update_job_unittest.cc
+++ b/webkit/appcache/appcache_update_job_unittest.cc
@@ -216,6 +216,10 @@ class MockFrontend : public AppCacheFrontend {
}
}
+ virtual void OnLogMessage(int host_id, appcache::LogLevel log_level,
+ const std::string& message) {
+ }
+
virtual void OnContentBlocked(int host_id) {
}
diff --git a/webkit/appcache/web_application_cache_host_impl.cc b/webkit/appcache/web_application_cache_host_impl.cc
index 267f20b..0f1258d 100644
--- a/webkit/appcache/web_application_cache_host_impl.cc
+++ b/webkit/appcache/web_application_cache_host_impl.cc
@@ -92,6 +92,12 @@ void WebApplicationCacheHostImpl::OnProgressEventRaised(
client_->notifyEventListener(WebApplicationCacheHost::ProgressEvent);
}
+void WebApplicationCacheHostImpl::OnLogMessage(
+ LogLevel log_level, const std::string& message) {
+ // TODO(michaeln): Widen the webkit api with this addition.
+ // client_->notifyLogMessage(log_level, message);
+}
+
void WebApplicationCacheHostImpl::willStartMainResourceRequest(
WebURLRequest& request) {
request.setAppCacheHostID(host_id_);
diff --git a/webkit/appcache/web_application_cache_host_impl.h b/webkit/appcache/web_application_cache_host_impl.h
index ccba47e..6f19b0d 100644
--- a/webkit/appcache/web_application_cache_host_impl.h
+++ b/webkit/appcache/web_application_cache_host_impl.h
@@ -36,6 +36,7 @@ class WebApplicationCacheHostImpl : public WebKit::WebApplicationCacheHost {
void OnStatusChanged(appcache::Status);
void OnEventRaised(appcache::EventID);
void OnProgressEventRaised(const GURL& url, int num_total, int num_complete);
+ void OnLogMessage(LogLevel log_level, const std::string& message);
virtual void OnContentBlocked() {}
// WebApplicationCacheHost methods
diff --git a/webkit/tools/test_shell/simple_appcache_system.cc b/webkit/tools/test_shell/simple_appcache_system.cc
index 81efb98..0c0379e 100644
--- a/webkit/tools/test_shell/simple_appcache_system.cc
+++ b/webkit/tools/test_shell/simple_appcache_system.cc
@@ -115,6 +115,22 @@ class SimpleFrontendProxy
NOTREACHED();
}
+ virtual void OnLogMessage(int host_id,
+ appcache::LogLevel log_level,
+ const std::string& message) {
+ if (!system_)
+ return;
+ if (system_->is_io_thread())
+ system_->ui_message_loop()->PostTask(FROM_HERE, NewRunnableMethod(
+ this, &SimpleFrontendProxy::OnLogMessage,
+ host_id, log_level, message));
+ else if (system_->is_ui_thread())
+ system_->frontend_impl_.OnLogMessage(
+ host_id, log_level, message);
+ else
+ NOTREACHED();
+ }
+
virtual void OnContentBlocked(int host_id) {}
private: