| OLD | NEW |
| 1 (function() | 1 (function() |
| 2 { | 2 { |
| 3 // Safari will load the popover once, and then show it everytime the icon is | 3 // Safari will load the popover once, and then show it everytime the icon is |
| 4 // clicked. While Chrome loads it everytime you click the icon. So in order to | 4 // clicked. While Chrome loads it everytime you click the icon. So in order to |
| 5 // force the same behavior in Safari, we are going to reload the page of the | 5 // force the same behavior in Safari, we are going to reload the page of the |
| 6 // bubble everytime it is shown. | 6 // bubble everytime it is shown. |
| 7 safari.application.addEventListener("popover", function() | 7 safari.application.addEventListener("popover", function() |
| 8 { | 8 { |
| 9 document.documentElement.style.display = "none"; | 9 document.documentElement.style.display = "none"; |
| 10 document.location.reload(); | 10 document.location.reload(); |
| 11 }, true); | 11 }, true); |
| 12 | 12 |
| 13 // import ext into the javascript context of the popover. This code might fail
, | 13 // import ext into the javascript context of the popover. This code might fail
, |
| 14 // when the background page isn't ready yet. So it is important to put it belo
w | 14 // when the background page isn't ready yet. So it is important to put it belo
w |
| 15 // the reloading code above. | 15 // the reloading code above. |
| 16 var backgroundPage = safari.extension.globalPage.contentWindow; | 16 var backgroundPage = safari.extension.globalPage.contentWindow; |
| 17 window.ext = backgroundPage.ext; | 17 window.ext = { |
| 18 __proto__: backgroundPage.ext, |
| 19 closePopup: function() |
| 20 { |
| 21 safari.self.hide(); |
| 22 } |
| 23 }; |
| 18 window.TabMap = backgroundPage.TabMap; | 24 window.TabMap = backgroundPage.TabMap; |
| 19 })(); | 25 })(); |
| OLD | NEW |