summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/chromium/src/PlatformBridge.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/src/PlatformBridge.cpp')
-rw-r--r--Source/WebKit/chromium/src/PlatformBridge.cpp46
1 files changed, 33 insertions, 13 deletions
diff --git a/Source/WebKit/chromium/src/PlatformBridge.cpp b/Source/WebKit/chromium/src/PlatformBridge.cpp
index 04016fc..b09d150 100644
--- a/Source/WebKit/chromium/src/PlatformBridge.cpp
+++ b/Source/WebKit/chromium/src/PlatformBridge.cpp
@@ -132,6 +132,14 @@ static WebWidgetClient* toWebWidgetClient(Widget* widget)
return chromeClientImpl->webView()->client();
}
+static WebClipboard* getClipboard(const Frame* frame)
+{
+ WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(frame);
+ if (!frameImpl || !frameImpl->client())
+ return 0;
+ return frameImpl->client()->clipboard();
+}
+
static WebCookieJar* getCookieJar(const Document* document)
{
WebFrameImpl* frameImpl = WebFrameImpl::fromFrame(document->frame());
@@ -217,9 +225,15 @@ void PlatformBridge::clipboardWriteData(const String& type,
}
HashSet<String> PlatformBridge::clipboardReadAvailableTypes(
- PasteboardPrivate::ClipboardBuffer buffer, bool* containsFilenames)
+ const Frame* frame,
+ PasteboardPrivate::ClipboardBuffer buffer,
+ bool* containsFilenames)
{
- WebVector<WebString> result = webKitClient()->clipboard()->readAvailableTypes(
+ WebClipboard* clipboard = getClipboard(frame);
+ if (!clipboard)
+ return HashSet<String>();
+
+ WebVector<WebString> result = clipboard->readAvailableTypes(
static_cast<WebClipboard::Buffer>(buffer), containsFilenames);
HashSet<String> types;
for (size_t i = 0; i < result.size(); ++i)
@@ -227,12 +241,19 @@ HashSet<String> PlatformBridge::clipboardReadAvailableTypes(
return types;
}
-bool PlatformBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer,
- const String& type, String& data, String& metadata)
+bool PlatformBridge::clipboardReadData(const Frame* frame,
+ PasteboardPrivate::ClipboardBuffer buffer,
+ const String& type,
+ String& data,
+ String& metadata)
{
+ WebClipboard* clipboard = getClipboard(frame);
+ if (!clipboard)
+ return false;
+
WebString resultData;
WebString resultMetadata;
- bool succeeded = webKitClient()->clipboard()->readData(
+ bool succeeded = clipboard->readData(
static_cast<WebClipboard::Buffer>(buffer), type, &resultData, &resultMetadata);
if (succeeded) {
data = resultData;
@@ -241,9 +262,14 @@ bool PlatformBridge::clipboardReadData(PasteboardPrivate::ClipboardBuffer buffer
return succeeded;
}
-Vector<String> PlatformBridge::clipboardReadFilenames(PasteboardPrivate::ClipboardBuffer buffer)
+Vector<String> PlatformBridge::clipboardReadFilenames(const Frame* frame,
+ PasteboardPrivate::ClipboardBuffer buffer)
{
- WebVector<WebString> result = webKitClient()->clipboard()->readFilenames(
+ WebClipboard* clipboard = getClipboard(frame);
+ if (!clipboard)
+ return Vector<String>();
+
+ WebVector<WebString> result = clipboard->readFilenames(
static_cast<WebClipboard::Buffer>(buffer));
Vector<String> convertedResult;
for (size_t i = 0; i < result.size(); ++i)
@@ -509,12 +535,6 @@ PassRefPtr<IDBFactoryBackendInterface> PlatformBridge::idbFactory()
return IDBFactoryBackendProxy::create();
}
-void PlatformBridge::idbShutdown()
-{
- // In the browser process, this shuts down the utility process. In the renderer process, it does nothing.
- webKitClient()->idbShutdown();
-}
-
void PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const String& keyPath, Vector<RefPtr<IDBKey> >& keys)
{
WebVector<WebSerializedScriptValue> webValues = values;