From dd76d564910eda0f02c16a4d45a189cc3287c843 Mon Sep 17 00:00:00 2001 From: Yunchan Cho Date: Mon, 24 Jun 2013 14:22:29 +0900 Subject: [PATCH] Fire 'appwidgetready' regardless sequence of executing injection scripts [Issue#] N/A [Problem] If injection script was already executed before loading main resource of box/pd, 'appwidgetready' event on the main resource is not fired. [Cause] Generally the injection script fires 'appwidgetready' event, if it is executed after loading main resource of box/pd. However, in this case, the injection scripts didn't fire 'appwidgetready' event. [Solution] For fixing this bug, injections script is modified to fire 'appwidgetready' event even in this case. Change-Id: I75a4174a6753550e8e3ec3df150e3adb86bcc76f --- src/Core/View/injection.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Core/View/injection.js b/src/Core/View/injection.js index 0780755..0fb5660 100644 --- a/src/Core/View/injection.js +++ b/src/Core/View/injection.js @@ -10,6 +10,14 @@ if (typeof window.tizen == 'undefined') { // For future, only window.appwidget will be used window.appwidget = new Object(); + +window.appwidget.fireReadyEvent = function () { + // If every functionalities of appwidget are initialized, fire appwidget ready event + var readyevent = document.createEvent("CustomEvent"); + readyevent.initCustomEvent("appwidgetready", true, true); + document.dispatchEvent(readyevent); +}; + // these are functions for overriding standard javascript functions regarding event var original_addEventListener = window.addEventListener; var original_removeEventListener = window.removeEventListener; @@ -30,6 +38,11 @@ window.addEventListener = function(event, callback, capture) { } else { original_addEventListener.call(window, event, callback, capture); } + + if (e == 'appwidgetready') { + // fire ready event to content + setTimeout(window.appwidget.fireReadyEvent(), 0); + } }; window.removeEventListener = function(event, callback, capture) { @@ -111,8 +124,3 @@ if (!appTizenObject) { window.tizen.appwidget.scrollStart = window.appwidget.scrollStart; window.tizen.appwidget.scrollStop = window.appwidget.scrollStop; } - -// If every functionalities of appwidget are initialized, fire appwidget ready event -var readyevent = document.createEvent("CustomEvent"); -readyevent.initCustomEvent("appwidgetready", true, true); -document.dispatchEvent(readyevent); -- 2.7.4