Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / child / quota_dispatcher.cc
index dc8bc81..5862783 100644 (file)
 #include "content/child/quota_message_filter.h"
 #include "content/child/thread_safe_sender.h"
 #include "content/common/quota_messages.h"
-#include "third_party/WebKit/public/web/WebStorageQuotaCallbacks.h"
-#include "third_party/WebKit/public/web/WebStorageQuotaType.h"
+#include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h"
+#include "third_party/WebKit/public/platform/WebStorageQuotaType.h"
+#include "third_party/WebKit/public/web/WebUserGestureIndicator.h"
 #include "url/gurl.h"
 
-using quota::QuotaStatusCode;
-using quota::StorageType;
-
-using WebKit::WebStorageQuotaCallbacks;
-using WebKit::WebStorageQuotaError;
-using WebKit::WebStorageQuotaType;
-
-using webkit_glue::WorkerTaskRunner;
+using blink::WebStorageQuotaCallbacks;
+using blink::WebStorageQuotaError;
+using blink::WebStorageQuotaType;
+using storage::QuotaStatusCode;
+using storage::StorageType;
 
 namespace content {
 
@@ -34,24 +32,25 @@ namespace {
 // QuotaDispatcher::Callback implementation for WebStorageQuotaCallbacks.
 class WebStorageQuotaDispatcherCallback : public QuotaDispatcher::Callback {
  public:
-  WebStorageQuotaDispatcherCallback(WebKit::WebStorageQuotaCallbacks* callback)
-      : callbacks_(callback) {
-    DCHECK(callbacks_);
-  }
-  virtual ~WebStorageQuotaDispatcherCallback() {}
-  virtual void DidQueryStorageUsageAndQuota(int64 usage, int64 quota) OVERRIDE {
-    callbacks_->didQueryStorageUsageAndQuota(usage, quota);
+  explicit WebStorageQuotaDispatcherCallback(
+      blink::WebStorageQuotaCallbacks callback)
+      : callbacks_(callback) {}
+  ~WebStorageQuotaDispatcherCallback() override {}
+
+  void DidQueryStorageUsageAndQuota(int64 usage, int64 quota) override {
+    callbacks_.didQueryStorageUsageAndQuota(usage, quota);
   }
-  virtual void DidGrantStorageQuota(int64 granted_quota) OVERRIDE {
-    callbacks_->didGrantStorageQuota(granted_quota);
+  void DidGrantStorageQuota(int64 usage, int64 granted_quota) override {
+    callbacks_.didGrantStorageQuota(usage, granted_quota);
   }
-  virtual void DidFail(quota::QuotaStatusCode error) OVERRIDE {
-    callbacks_->didFail(static_cast<WebStorageQuotaError>(error));
+  void DidFail(storage::QuotaStatusCode error) override {
+    callbacks_.didFail(static_cast<WebStorageQuotaError>(error));
   }
 
  private:
-  // Not owned (self-destructed).
-  WebKit::WebStorageQuotaCallbacks* callbacks_;
+  blink::WebStorageQuotaCallbacks callbacks_;
+
+  DISALLOW_COPY_AND_ASSIGN(WebStorageQuotaDispatcherCallback);
 };
 
 int CurrentWorkerId() {
@@ -70,7 +69,7 @@ QuotaDispatcher::QuotaDispatcher(ThreadSafeSender* thread_safe_sender,
 QuotaDispatcher::~QuotaDispatcher() {
   IDMap<Callback, IDMapOwnPointer>::iterator iter(&pending_quota_callbacks_);
   while (!iter.IsAtEnd()) {
-    iter.GetCurrentValue()->DidFail(quota::kQuotaErrorAbort);
+    iter.GetCurrentValue()->DidFail(storage::kQuotaErrorAbort);
     iter.Advance();
   }
 
@@ -122,29 +121,38 @@ void QuotaDispatcher::RequestStorageQuota(
     int render_view_id,
     const GURL& origin_url,
     StorageType type,
-    int64 requested_size,
+    uint64 requested_size,
     Callback* callback) {
   DCHECK(callback);
   DCHECK(CurrentWorkerId() == 0);
   int request_id = quota_message_filter_->GenerateRequestID(CurrentWorkerId());
   pending_quota_callbacks_.AddWithID(callback, request_id);
-  thread_safe_sender_->Send(new QuotaHostMsg_RequestStorageQuota(
-      render_view_id, request_id, origin_url, type, requested_size));
+
+  StorageQuotaParams params;
+  params.render_view_id = render_view_id;
+  params.request_id = request_id;
+  params.origin_url = origin_url;
+  params.storage_type = type;
+  params.requested_size = requested_size;
+  params.user_gesture =
+      blink::WebUserGestureIndicator::isProcessingUserGesture();
+  thread_safe_sender_->Send(new QuotaHostMsg_RequestStorageQuota(params));
 }
 
 // static
 QuotaDispatcher::Callback*
 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(
-    WebKit::WebStorageQuotaCallbacks* callbacks) {
+    blink::WebStorageQuotaCallbacks callbacks) {
   return new WebStorageQuotaDispatcherCallback(callbacks);
 }
 
 void QuotaDispatcher::DidGrantStorageQuota(
     int request_id,
+    int64 current_usage,
     int64 granted_quota) {
   Callback* callback = pending_quota_callbacks_.Lookup(request_id);
   DCHECK(callback);
-  callback->DidGrantStorageQuota(granted_quota);
+  callback->DidGrantStorageQuota(current_usage, granted_quota);
   pending_quota_callbacks_.Remove(request_id);
 }
 
@@ -167,14 +175,18 @@ void QuotaDispatcher::DidFail(
   pending_quota_callbacks_.Remove(request_id);
 }
 
-COMPILE_ASSERT(int(WebKit::WebStorageQuotaTypeTemporary) == \
-               int(quota::kStorageTypeTemporary), mismatching_enums);
-COMPILE_ASSERT(int(WebKit::WebStorageQuotaTypePersistent) == \
-               int(quota::kStorageTypePersistent), mismatching_enums);
-
-COMPILE_ASSERT(int(WebKit::WebStorageQuotaErrorNotSupported) == \
-               int(quota::kQuotaErrorNotSupported), mismatching_enums);
-COMPILE_ASSERT(int(WebKit::WebStorageQuotaErrorAbort) == \
-               int(quota::kQuotaErrorAbort), mismatching_enums);
+COMPILE_ASSERT(int(blink::WebStorageQuotaTypeTemporary) ==
+                   int(storage::kStorageTypeTemporary),
+               mismatching_enums);
+COMPILE_ASSERT(int(blink::WebStorageQuotaTypePersistent) ==
+                   int(storage::kStorageTypePersistent),
+               mismatching_enums);
+
+COMPILE_ASSERT(int(blink::WebStorageQuotaErrorNotSupported) ==
+                   int(storage::kQuotaErrorNotSupported),
+               mismatching_enums);
+COMPILE_ASSERT(int(blink::WebStorageQuotaErrorAbort) ==
+                   int(storage::kQuotaErrorAbort),
+               mismatching_enums);
 
 }  // namespace content