Enable the URL portion of storage events.  This is mostly just plumbing + a hack for making them work in test shell and single process mode.

This replaces http://codereview.chromium.org/335034/show

TEST=none
BUG=24581

Review URL: http://codereview.chromium.org/363014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31081 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/renderer_webstoragearea_impl.cc b/chrome/renderer/renderer_webstoragearea_impl.cc
index 417e949..3ddc29c19 100644
--- a/chrome/renderer/renderer_webstoragearea_impl.cc
+++ b/chrome/renderer/renderer_webstoragearea_impl.cc
@@ -6,8 +6,10 @@
 
 #include "chrome/common/render_messages.h"
 #include "chrome/renderer/render_thread.h"
+#include "webkit/api/public/WebURL.h"
 
 using WebKit::WebString;
+using WebKit::WebURL;
 
 RendererWebStorageAreaImpl::RendererWebStorageAreaImpl(
     int64 namespace_id, const WebString& origin) {
@@ -40,20 +42,21 @@
   return value;
 }
 
-void RendererWebStorageAreaImpl::setItem(const WebString& key,
-                                         const WebString& value,
-                                         bool& quota_exception) {
+void RendererWebStorageAreaImpl::setItem(
+    const WebString& key, const WebString& value, const WebURL& url,
+    bool& quota_exception) {
   RenderThread::current()->Send(
-      new ViewHostMsg_DOMStorageSetItem(storage_area_id_, key, value,
+      new ViewHostMsg_DOMStorageSetItem(storage_area_id_, key, value, url,
                                         &quota_exception));
 }
 
-void RendererWebStorageAreaImpl::removeItem(const WebString& key) {
+void RendererWebStorageAreaImpl::removeItem(const WebString& key,
+                                            const WebURL& url) {
   RenderThread::current()->Send(
-      new ViewHostMsg_DOMStorageRemoveItem(storage_area_id_, key));
+      new ViewHostMsg_DOMStorageRemoveItem(storage_area_id_, key, url));
 }
 
-void RendererWebStorageAreaImpl::clear() {
+void RendererWebStorageAreaImpl::clear(const WebURL& url) {
   RenderThread::current()->Send(
-      new ViewHostMsg_DOMStorageClear(storage_area_id_));
+      new ViewHostMsg_DOMStorageClear(storage_area_id_, url));
 }