summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/database_permission_request.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-11 17:46:13 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-11 17:46:13 +0000
commita3703dd92f9779ada9486a9781b05d071e836099 (patch)
treebb9673d0a5eb14cc5953f86808d17d45e78d805f /chrome/browser/renderer_host/database_permission_request.cc
parent18fe172980c11836c129b4cdc30e5530c77c10a0 (diff)
downloadchromium_src-a3703dd92f9779ada9486a9781b05d071e836099.zip
chromium_src-a3703dd92f9779ada9486a9781b05d071e836099.tar.gz
chromium_src-a3703dd92f9779ada9486a9781b05d071e836099.tar.bz2
Add support for CONTENT_SETTING_ASK to database.
TEST=none BUG=none Review URL: http://codereview.chromium.org/572001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38783 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/database_permission_request.cc')
-rw-r--r--chrome/browser/renderer_host/database_permission_request.cc38
1 files changed, 38 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/database_permission_request.cc b/chrome/browser/renderer_host/database_permission_request.cc
new file mode 100644
index 0000000..73a9977
--- /dev/null
+++ b/chrome/browser/renderer_host/database_permission_request.cc
@@ -0,0 +1,38 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/renderer_host/database_permission_request.h"
+
+#include "chrome/browser/chrome_thread.h"
+
+DatabasePermissionRequest::DatabasePermissionRequest(
+ const string16& origin,
+ const string16& database_name,
+ Task* on_allow,
+ Task* on_block)
+ : origin_(origin),
+ database_name_(database_name),
+ on_allow_(on_allow),
+ on_block_(on_block) {
+ DCHECK(on_allow_.get());
+ DCHECK(on_block_.get());
+}
+
+DatabasePermissionRequest::~DatabasePermissionRequest() {
+}
+
+void DatabasePermissionRequest::RequestPermission() {
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
+ ChromeThread::PostTask(
+ ChromeThread::UI, FROM_HERE, NewRunnableMethod(
+ this, &DatabasePermissionRequest::RequestPermissionUI));
+}
+
+void DatabasePermissionRequest::RequestPermissionUI() {
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
+ bool allow = false; // TODO(jorlow/darin): Allow user to choose.
+
+ Task* task = allow ? on_allow_.release() : on_block_.release();
+ ChromeThread::PostTask(ChromeThread::IO, FROM_HERE, task);
+}