summaryrefslogtreecommitdiffstats
path: root/content/browser/in_process_webkit/browser_webkitclient_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/in_process_webkit/browser_webkitclient_impl.cc')
-rw-r--r--content/browser/in_process_webkit/browser_webkitclient_impl.cc175
1 files changed, 175 insertions, 0 deletions
diff --git a/content/browser/in_process_webkit/browser_webkitclient_impl.cc b/content/browser/in_process_webkit/browser_webkitclient_impl.cc
new file mode 100644
index 0000000..2d086680
--- /dev/null
+++ b/content/browser/in_process_webkit/browser_webkitclient_impl.cc
@@ -0,0 +1,175 @@
+// 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 "content/browser/in_process_webkit/browser_webkitclient_impl.h"
+
+#include "base/file_util.h"
+#include "base/logging.h"
+#include "chrome/common/indexed_db_key.h"
+#include "chrome/common/serialized_script_value.h"
+#include "content/browser/in_process_webkit/dom_storage_message_filter.h"
+#include "content/browser/in_process_webkit/indexed_db_key_utility_client.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebData.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebSerializedScriptValue.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h"
+#include "webkit/glue/webkit_glue.h"
+
+BrowserWebKitClientImpl::BrowserWebKitClientImpl() {
+ file_utilities_.set_sandbox_enabled(false);
+}
+
+BrowserWebKitClientImpl::~BrowserWebKitClientImpl() {
+}
+
+WebKit::WebClipboard* BrowserWebKitClientImpl::clipboard() {
+ NOTREACHED();
+ return NULL;
+}
+
+WebKit::WebMimeRegistry* BrowserWebKitClientImpl::mimeRegistry() {
+ NOTREACHED();
+ return NULL;
+}
+
+WebKit::WebFileUtilities* BrowserWebKitClientImpl::fileUtilities() {
+ return &file_utilities_;
+}
+
+WebKit::WebSandboxSupport* BrowserWebKitClientImpl::sandboxSupport() {
+ NOTREACHED();
+ return NULL;
+}
+
+bool BrowserWebKitClientImpl::sandboxEnabled() {
+ return false;
+}
+
+unsigned long long BrowserWebKitClientImpl::visitedLinkHash(
+ const char* canonical_url,
+ size_t length) {
+ NOTREACHED();
+ return 0;
+}
+
+bool BrowserWebKitClientImpl::isLinkVisited(unsigned long long link_hash) {
+ NOTREACHED();
+ return false;
+}
+
+WebKit::WebMessagePortChannel*
+BrowserWebKitClientImpl::createMessagePortChannel() {
+ NOTREACHED();
+ return NULL;
+}
+
+void BrowserWebKitClientImpl::setCookies(
+ const WebKit::WebURL& url,
+ const WebKit::WebURL& first_party_for_cookies,
+ const WebKit::WebString& value) {
+ NOTREACHED();
+}
+
+WebKit::WebString BrowserWebKitClientImpl::cookies(
+ const WebKit::WebURL& url,
+ const WebKit::WebURL& first_party_for_cookies) {
+ NOTREACHED();
+ return WebKit::WebString();
+}
+
+void BrowserWebKitClientImpl::prefetchHostName(const WebKit::WebString&) {
+ NOTREACHED();
+}
+
+WebKit::WebString BrowserWebKitClientImpl::defaultLocale() {
+ NOTREACHED();
+ return WebKit::WebString();
+}
+
+WebKit::WebThemeEngine* BrowserWebKitClientImpl::themeEngine() {
+ NOTREACHED();
+ return NULL;
+}
+
+WebKit::WebURLLoader* BrowserWebKitClientImpl::createURLLoader() {
+ NOTREACHED();
+ return NULL;
+}
+
+WebKit::WebSocketStreamHandle*
+ BrowserWebKitClientImpl::createSocketStreamHandle() {
+ NOTREACHED();
+ return NULL;
+}
+
+void BrowserWebKitClientImpl::getPluginList(bool refresh,
+ WebKit::WebPluginListBuilder* builder) {
+ NOTREACHED();
+}
+
+WebKit::WebData BrowserWebKitClientImpl::loadResource(const char* name) {
+ NOTREACHED();
+ return WebKit::WebData();
+}
+
+WebKit::WebStorageNamespace*
+BrowserWebKitClientImpl::createLocalStorageNamespace(
+ const WebKit::WebString& path, unsigned quota) {
+ // The "WebStorage" interface is used for renderer WebKit -> browser WebKit
+ // communication only. "WebStorageClient" will be used for browser WebKit ->
+ // renderer WebKit. So this will never be implemented.
+ NOTREACHED();
+ return 0;
+}
+
+void BrowserWebKitClientImpl::dispatchStorageEvent(
+ const WebKit::WebString& key, const WebKit::WebString& old_value,
+ const WebKit::WebString& new_value, const WebKit::WebString& origin,
+ const WebKit::WebURL& url, bool is_local_storage) {
+ // TODO(jorlow): Implement
+ if (!is_local_storage)
+ return;
+
+ DOMStorageMessageFilter::DispatchStorageEvent(key, old_value, new_value,
+ origin, url, is_local_storage);
+}
+
+WebKit::WebSharedWorkerRepository*
+BrowserWebKitClientImpl::sharedWorkerRepository() {
+ NOTREACHED();
+ return NULL;
+}
+
+int BrowserWebKitClientImpl::databaseDeleteFile(
+ const WebKit::WebString& vfs_file_name, bool sync_dir) {
+ const FilePath path = webkit_glue::WebStringToFilePath(vfs_file_name);
+ return file_util::Delete(path, false) ? 0 : 1;
+}
+
+void BrowserWebKitClientImpl::createIDBKeysFromSerializedValuesAndKeyPath(
+ const WebKit::WebVector<WebKit::WebSerializedScriptValue>& values,
+ const WebKit::WebString& keyPath,
+ WebKit::WebVector<WebKit::WebIDBKey>& keys) {
+
+ std::vector<SerializedScriptValue> std_values;
+ size_t size = values.size();
+ std_values.reserve(size);
+ for (size_t i = 0; i < size; ++i)
+ std_values.push_back(SerializedScriptValue(values[i]));
+
+ std::vector<IndexedDBKey> std_keys;
+ IndexedDBKeyUtilityClient::
+ CreateIDBKeysFromSerializedValuesAndKeyPath(std_values, keyPath,
+ &std_keys);
+
+ keys = std_keys;
+}
+
+WebKit::WebSerializedScriptValue
+BrowserWebKitClientImpl::injectIDBKeyIntoSerializedValue(
+ const WebKit::WebIDBKey& key, const WebKit::WebSerializedScriptValue& value,
+ const WebKit::WebString& keyPath) {
+ return IndexedDBKeyUtilityClient::InjectIDBKeyIntoSerializedValue(
+ IndexedDBKey(key), SerializedScriptValue(value), keyPath);
+}