summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-21 10:45:48 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-21 10:45:48 +0000
commit57d37ae3f7b4b3d020a7bf164e8be321f2babf1e (patch)
treed6abdfc18bd3cf44025b7704cba1e52de0281e06
parent2748f01eb5a186ad68f7bd62948d72e172c7546b (diff)
downloadchromium_src-57d37ae3f7b4b3d020a7bf164e8be321f2babf1e.zip
chromium_src-57d37ae3f7b4b3d020a7bf164e8be321f2babf1e.tar.gz
chromium_src-57d37ae3f7b4b3d020a7bf164e8be321f2babf1e.tar.bz2
IndexedDB should use WebSecurityOrigins rather than passing origin strings
The Chromium side of https://bugs.webkit.org/show_bug.cgi?id=39216 which (among other things) switches WebCore/WebKit to use SecurityOrigin/WebSecurityOrigins. I'm also switching it to use databaseIdentifiers (rather than just toString) since its semantics match HTML5's origins (and toStrings do not). BUG=none TEST=none Review URL: http://codereview.chromium.org/2097005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47907 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc5
-rw-r--r--chrome/renderer/renderer_webindexeddatabase_impl.cc13
-rw-r--r--chrome/renderer/renderer_webindexeddatabase_impl.h3
3 files changed, 13 insertions, 8 deletions
diff --git a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
index 7a114b1..2e32dfb 100644
--- a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
+++ b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.cc
@@ -12,9 +12,11 @@
#include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabase.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabaseError.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIndexedDatabase.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebSecurityOrigin.h"
using WebKit::WebIDBDatabase;
using WebKit::WebIDBDatabaseError;
+using WebKit::WebSecurityOrigin;
IndexedDBDispatcherHost::IndexedDBDispatcherHost(
IPC::Message::Sender* sender, WebKitContext* webkit_context)
@@ -131,7 +133,8 @@ void IndexedDBDispatcherHost::OnIndexedDatabaseOpen(
Context()->GetIndexedDatabase()->open(
params.name_, params.description_, params.modify_database_,
new IndexedDatabaseOpenCallbacks(this, params.response_id_),
- params.origin_, NULL, exception_code);
+ WebSecurityOrigin::createFromDatabaseIdentifier(params.origin_), NULL,
+ exception_code);
// ViewHostMsg_IndexedDatabaseOpen is async because we assume the exception
// code is always 0 in the renderer side.
DCHECK(exception_code == 0);
diff --git a/chrome/renderer/renderer_webindexeddatabase_impl.cc b/chrome/renderer/renderer_webindexeddatabase_impl.cc
index e472a8b2..668823f 100644
--- a/chrome/renderer/renderer_webindexeddatabase_impl.cc
+++ b/chrome/renderer/renderer_webindexeddatabase_impl.cc
@@ -8,10 +8,11 @@
#include "chrome/renderer/indexed_db_dispatcher.h"
#include "third_party/WebKit/WebKit/chromium/public/WebString.h"
+using WebKit::WebFrame;
using WebKit::WebIDBCallbacks;
using WebKit::WebIDBDatabase;
+using WebKit::WebSecurityOrigin;
using WebKit::WebString;
-using WebKit::WebFrame;
RendererWebIndexedDatabaseImpl::RendererWebIndexedDatabaseImpl() {
}
@@ -21,11 +22,11 @@ RendererWebIndexedDatabaseImpl::~RendererWebIndexedDatabaseImpl() {
void RendererWebIndexedDatabaseImpl::open(
const WebString& name, const WebString& description, bool modify_database,
- WebIDBCallbacks* callbacks, const WebString& origin, WebFrame* web_frame,
- int& exception_code) {
+ WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin,
+ WebFrame* web_frame, int& exception_code) {
IndexedDBDispatcher* dispatcher =
RenderThread::current()->indexed_db_dispatcher();
- dispatcher->RequestIndexedDatabaseOpen(name, description, modify_database,
- callbacks, origin, web_frame,
- &exception_code);
+ dispatcher->RequestIndexedDatabaseOpen(
+ name, description, modify_database, callbacks,
+ origin.databaseIdentifier(), web_frame, &exception_code);
}
diff --git a/chrome/renderer/renderer_webindexeddatabase_impl.h b/chrome/renderer/renderer_webindexeddatabase_impl.h
index 6cc73f2d..06a6ee0 100644
--- a/chrome/renderer/renderer_webindexeddatabase_impl.h
+++ b/chrome/renderer/renderer_webindexeddatabase_impl.h
@@ -11,6 +11,7 @@
namespace WebKit {
class WebFrame;
class WebIDBDatabase;
+class WebSecurityOrigin;
class WebString;
}
@@ -23,7 +24,7 @@ class RendererWebIndexedDatabaseImpl : public WebKit::WebIndexedDatabase {
virtual void open(
const WebKit::WebString& name, const WebKit::WebString& description,
bool modify_database, WebKit::WebIDBCallbacks* callbacks,
- const WebKit::WebString& origin, WebKit::WebFrame* web_frame,
+ const WebKit::WebSecurityOrigin& origin, WebKit::WebFrame* web_frame,
int& exception_code);
};