From 1efe2ad1e057a9468232b92bc435fb09915e5a20 Mon Sep 17 00:00:00 2001 From: Paul Kinlan Date: Fri, 9 Sep 2011 10:53:03 -0700 Subject: [PATCH] First set of commits for getting webintents to work in an extension - #88 --- server/script/webintents-server.js | 6 ++++++ src/webintents.js | 7 ++++++- tools/chrome/extensions/share/background.html | 8 +++++++- .../extensions/share/handlers/twitter.html | 18 ++++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 tools/chrome/extensions/share/handlers/twitter.html diff --git a/server/script/webintents-server.js b/server/script/webintents-server.js index b7049c6d..00246f82 100644 --- a/server/script/webintents-server.js +++ b/server/script/webintents-server.js @@ -219,6 +219,12 @@ attachEventListener(window, "message", msgHandler.handler, false); attachEventListener(window, "storage", msgHandler.handler, false); attachEventListener(document, "storage", msgHandler.handler, false); +attachEventListener(window, "load", function() { + // Tell the app we are loaded. + var message = JSON.stringify({ request: "ready" }); + window.parent.postMessage(message, "*"); +}, false); + if(!!window.onstorage) { // we don't have storage events, so lets poll. diff --git a/src/webintents.js b/src/webintents.js index 7b7990ab..4c224b60 100644 --- a/src/webintents.js +++ b/src/webintents.js @@ -71,12 +71,17 @@ var handler = function(e) { var data = JSON.parse(e.data); - if(!!intents[data.intent._id] == true && + if( + !!data.intent == true && + !!intents[data.intent._id] == true && data.request && data.request == "response") { intents[data.intent._id].callback(data.intent); } + else if (data.request == "ready") { + console.log("Webintents frame ready"); + } }; addEventListener(window, "message", handler, false); diff --git a/tools/chrome/extensions/share/background.html b/tools/chrome/extensions/share/background.html index dabb08ed..40da271b 100644 --- a/tools/chrome/extensions/share/background.html +++ b/tools/chrome/extensions/share/background.html @@ -1,12 +1,18 @@ + + + + +