| Index: content/renderer/renderer_webidbfactory_impl.cc
|
| diff --git a/content/renderer/renderer_webidbfactory_impl.cc b/content/renderer/renderer_webidbfactory_impl.cc
|
| index 98102d6ce02c1ff36f25970450ef6da13982674c..bd67f66e6147edc90d1751bc64789b02d801a95a 100644
|
| --- a/content/renderer/renderer_webidbfactory_impl.cc
|
| +++ b/content/renderer/renderer_webidbfactory_impl.cc
|
| @@ -4,9 +4,12 @@
|
|
|
| #include "content/renderer/renderer_webidbfactory_impl.h"
|
|
|
| +#include "content/common/indexed_db_messages.h"
|
| #include "content/renderer/render_thread.h"
|
| +#include "content/renderer/render_view.h"
|
| #include "content/renderer/indexed_db_dispatcher.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebDOMStringList.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
|
|
|
| using WebKit::WebDOMStringList;
|
| @@ -22,6 +25,37 @@ RendererWebIDBFactoryImpl::RendererWebIDBFactoryImpl() {
|
| RendererWebIDBFactoryImpl::~RendererWebIDBFactoryImpl() {
|
| }
|
|
|
| +WebKit::WebDOMStringList RendererWebIDBFactoryImpl::databaseNames(
|
| + const WebSecurityOrigin& origin,
|
| + WebFrame* web_frame,
|
| + const WebString& data_dir,
|
| + unsigned long long maximum_size_unused,
|
| + WebKit::WebIDBFactory::BackingStoreType) {
|
| +
|
| + WebDOMStringList web_result;
|
| +
|
| + if (!web_frame)
|
| + return web_result; // We must be shutting down.
|
| + RenderView* render_view = RenderView::FromWebView(web_frame->view());
|
| + if (!render_view)
|
| + return web_result; // We must be shutting down.
|
| +
|
| + IndexedDBHostMsg_FactoryDatabaseNames_Params params;
|
| + params.routing_id = render_view->routing_id();
|
| + params.origin = origin.databaseIdentifier();
|
| +
|
| + std::vector<string16> result;
|
| + RenderThread::current()->Send(
|
| + new IndexedDBHostMsg_FactoryDatabaseNames(
|
| + params,
|
| + &result));
|
| + for (std::vector<string16>::const_iterator it = result.begin();
|
| + it != result.end(); ++it) {
|
| + web_result.append(*it);
|
| + }
|
| + return web_result;
|
| +}
|
| +
|
| void RendererWebIDBFactoryImpl::open(
|
| const WebString& name,
|
| WebIDBCallbacks* callbacks,
|
|
|