diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-26 01:13:43 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-26 01:13:43 +0000 |
commit | 45abb0b369be7575b9e5b081ec405b4c0cfa6c2e (patch) | |
tree | 7a7f090a3fa8ff2ed043ea01c2a7ad3712e514d4 /webkit/glue | |
parent | 665b38a69560c163bb8e90c6916341d2e8d2bd24 (diff) | |
download | chromium_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.cc | 10 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 17 |
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; |