summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-09 19:48:37 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-09 19:48:37 +0000
commit2879092e01ea4ebb93c1b80925c81e059b24607b (patch)
tree53638b170c3c9c3146d13238d1ed20993cdb4257 /chrome/browser/automation
parent12a6f036f3859f88b439dba009172f5c1dd03dc9 (diff)
downloadchromium_src-2879092e01ea4ebb93c1b80925c81e059b24607b.zip
chromium_src-2879092e01ea4ebb93c1b80925c81e059b24607b.tar.gz
chromium_src-2879092e01ea4ebb93c1b80925c81e059b24607b.tar.bz2
Changing ForwardMessageToExternalHost to postMessage and passing a proper
MessageEvent object to the onmessage handler. Also adding support for origin and target parameters. The origin parameter is implicit but target can be specified when calling postMessage. If no target is specified we default to "*". At the moment I'm only allowing target == "*" messages to pass through since I haven't implemented support for matching more complicated patterns :) Review URL: http://codereview.chromium.org/40128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11275 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation')
-rw-r--r--chrome/browser/automation/automation_provider.cc8
-rw-r--r--chrome/browser/automation/automation_provider.h4
2 files changed, 8 insertions, 4 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc
index 72767c5..d127040 100644
--- a/chrome/browser/automation/automation_provider.cc
+++ b/chrome/browser/automation/automation_provider.cc
@@ -2435,8 +2435,10 @@ void AutomationProvider::AutocompleteEditIsQueryInProgress(
}
}
-void AutomationProvider::OnMessageFromExternalHost(
- int handle, const std::string& message) {
+void AutomationProvider::OnMessageFromExternalHost(int handle,
+ const std::string& message,
+ const std::string& origin,
+ const std::string& target) {
if (tab_tracker_->ContainsHandle(handle)) {
NavigationController* tab = tab_tracker_->GetResource(handle);
if (!tab) {
@@ -2460,7 +2462,7 @@ void AutomationProvider::OnMessageFromExternalHost(
return;
}
- view_host->ForwardMessageFromExternalHost(message);
+ view_host->ForwardMessageFromExternalHost(message, origin, target);
}
}
diff --git a/chrome/browser/automation/automation_provider.h b/chrome/browser/automation/automation_provider.h
index 26fd979..c9aa0be 100644
--- a/chrome/browser/automation/automation_provider.h
+++ b/chrome/browser/automation/automation_provider.h
@@ -352,7 +352,9 @@ class AutomationProvider : public base::RefCounted<AutomationProvider>,
std::vector<AutocompleteMatchData>* matches);
// Handler for a message sent by the automation client.
- void OnMessageFromExternalHost(int handle, const std::string& message);
+ void OnMessageFromExternalHost(int handle, const std::string& message,
+ const std::string& origin,
+ const std::string& target);
// Retrieves the number of SSL related info-bars currently showing in |count|.
void GetSSLInfoBarCount(int handle, int* count);