summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/browser/webui/web_ui.cc4
-rw-r--r--content/browser/webui/web_ui.h8
-rw-r--r--content/renderer/web_ui_bindings.cc2
3 files changed, 11 insertions, 3 deletions
diff --git a/content/browser/webui/web_ui.cc b/content/browser/webui/web_ui.cc
index 202e755..c8b23a5 100644
--- a/content/browser/webui/web_ui.cc
+++ b/content/browser/webui/web_ui.cc
@@ -173,8 +173,8 @@ void WebUI::AddMessageHandler(WebUIMessageHandler* handler) {
}
void WebUI::ExecuteJavascript(const string16& javascript) {
- tab_contents_->render_view_host()->ExecuteJavascriptInWebFrame(string16(),
- javascript);
+ tab_contents_->render_view_host()->ExecuteJavascriptInWebFrame(
+ ASCIIToUTF16(frame_xpath_), javascript);
}
///////////////////////////////////////////////////////////////////////////////
diff --git a/content/browser/webui/web_ui.h b/content/browser/webui/web_ui.h
index 5cba59f..25ea9b6 100644
--- a/content/browser/webui/web_ui.h
+++ b/content/browser/webui/web_ui.h
@@ -118,6 +118,10 @@ class CONTENT_EXPORT WebUI : public IPC::Channel::Listener {
register_callback_overwrites_ = value;
}
+ void set_frame_xpath(const std::string& xpath) {
+ frame_xpath_ = xpath;
+ }
+
// Call a Javascript function by sending its name and arguments down to
// the renderer. This is asynchronous; there's no way to get the result
// of the call, and should be thought of more like sending a message to
@@ -190,6 +194,10 @@ class CONTENT_EXPORT WebUI : public IPC::Channel::Listener {
typedef std::map<std::string, MessageCallback> MessageCallbackMap;
MessageCallbackMap message_callbacks_;
+ // The path for the iframe this WebUI is embedded in (empty if not in an
+ // iframe).
+ std::string frame_xpath_;
+
DISALLOW_COPY_AND_ASSIGN(WebUI);
};
diff --git a/content/renderer/web_ui_bindings.cc b/content/renderer/web_ui_bindings.cc
index 9427a36..7db8b8b3 100644
--- a/content/renderer/web_ui_bindings.cc
+++ b/content/renderer/web_ui_bindings.cc
@@ -99,7 +99,7 @@ void WebUIBindings::Send(const CppArgumentList& args, CppVariant* result) {
}
void DOMBoundBrowserObject::SetProperty(const std::string& name,
- const std::string& value) {
+ const std::string& value) {
CppVariant* cpp_value = new CppVariant;
cpp_value->Set(value);
BindProperty(name, cpp_value);