summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authorojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-26 01:13:43 +0000
committerojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-26 01:13:43 +0000
commit45abb0b369be7575b9e5b081ec405b4c0cfa6c2e (patch)
tree7a7f090a3fa8ff2ed043ea01c2a7ad3712e514d4 /webkit/glue
parent665b38a69560c163bb8e90c6916341d2e8d2bd24 (diff)
downloadchromium_src-45abb0b369be7575b9e5b081ec405b4c0cfa6c2e.zip
chromium_src-45abb0b369be7575b9e5b081ec405b4c0cfa6c2e.tar.gz
chromium_src-45abb0b369be7575b9e5b081ec405b4c0cfa6c2e.tar.bz2
src/webkit side of webKit merge 38600:38625.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6023 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/webframe_impl.cc10
-rw-r--r--webkit/glue/webplugin_impl.cc17
2 files changed, 16 insertions, 11 deletions
diff --git a/webkit/glue/webframe_impl.cc b/webkit/glue/webframe_impl.cc
index e3f9d47..4058d76 100644
--- a/webkit/glue/webframe_impl.cc
+++ b/webkit/glue/webframe_impl.cc
@@ -106,6 +106,7 @@ MSVC_PUSH_WARNING_LEVEL(0);
#include "ResourceHandle.h"
#include "ResourceRequest.h"
#include "ScriptController.h"
+#include "ScriptValue.h"
#include "ScrollbarTheme.h"
#include "SelectionController.h"
#include "Settings.h"
@@ -349,13 +350,14 @@ void WebFrameImpl::InternalLoadRequest(const WebRequest* request,
// but will it change out from under us?
String script =
decodeURLEscapeSequences(kurl.string().substring(sizeof("javascript:")-1));
- bool succ = false;
- String value = frame_->loader()->executeScript(script, &succ, true);
- if (succ && !frame_->loader()->isScheduledLocationChangePending()) {
+ WebCore::ScriptValue result = frame_->loader()->executeScript(script, true);
+ String scriptResult;
+ if (result.getString(scriptResult) &&
+ !frame_->loader()->isScheduledLocationChangePending()) {
// TODO(darin): We need to figure out how to represent this in session
// history. Hint: don't re-eval script when the user or script navigates
// back-n-forth (instead store the script result somewhere).
- LoadDocumentData(kurl, value, String("text/html"), String());
+ LoadDocumentData(kurl, scriptResult, String("text/html"), String());
}
return;
}
diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc
index 4d915cc..61d2587 100644
--- a/webkit/glue/webplugin_impl.cc
+++ b/webkit/glue/webplugin_impl.cc
@@ -36,6 +36,7 @@ MSVC_PUSH_WARNING_LEVEL(0);
#include "ResourceHandleClient.h"
#include "ResourceResponse.h"
#include "ScriptController.h"
+#include "ScriptValue.h"
#include "ScrollView.h"
#include "Widget.h"
MSVC_POP_WARNING();
@@ -357,18 +358,20 @@ bool WebPluginImpl::ExecuteScript(const std::string& url,
// we also need to addref the frame.
WTF::RefPtr<WebCore::Frame> cur_frame(frame());
+ WebCore::ScriptValue result =
+ frame()->loader()->executeScript(script_str, popups_allowed);
+ WebCore::String script_result;
+ std::wstring wresult;
bool succ = false;
- WebCore::String result_str = frame()->loader()->executeScript(script_str,
- &succ,
- popups_allowed);
- std::wstring result;
- if (succ)
- result = webkit_glue::StringToStdWString(result_str);
+ if (result.getString(script_result)) {
+ succ = true;
+ wresult = webkit_glue::StringToStdWString(script_result);
+ }
// delegate_ could be NULL because executeScript caused the container to be
// deleted.
if (delegate_)
- delegate_->SendJavaScriptStream(url, result, succ, notify_needed,
+ delegate_->SendJavaScriptStream(url, wresult, succ, notify_needed,
notify_data);
return succ;