Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: safari/ext/popup.js

Issue 5703008528629760: Issue 2071 - Fixed issues when sending messages from the popup to the background page (Closed)
Patch Set: Created March 2, 2015, 11:57 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« chrome/ext/popup.js ('K') | « safari/ext/background.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 (function() 1 (function()
2 { 2 {
3 // Safari doesn't adjust the size of the popover automatically to the size 3 // Safari doesn't adjust the size of the popover automatically to the size
4 // of its content, like when the ad counter is expanded/collapsed. So we add 4 // of its content, like when the ad counter is expanded/collapsed. So we add
5 // event listeners to do so. 5 // event listeners to do so.
6 var mayResize = true; 6 var mayResize = true;
7 var resizingScheduled = false; 7 var resizingScheduled = false;
8 8
9 var updateSize = function() 9 var updateSize = function()
10 { 10 {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 // listener to do so. 66 // listener to do so.
67 safari.application.addEventListener("activate", function() 67 safari.application.addEventListener("activate", function()
68 { 68 {
69 safari.self.hide(); 69 safari.self.hide();
70 }, true); 70 }, true);
71 71
72 72
73 // import ext into the javascript context of the popover. This code might fail , 73 // import ext into the javascript context of the popover. This code might fail ,
74 // when the background page isn't ready yet. So it is important to put it belo w 74 // when the background page isn't ready yet. So it is important to put it belo w
75 // the reloading code above. 75 // the reloading code above.
76 window.ext = Object.create(safari.extension.globalPage.contentWindow.ext); 76 var backgroundPage = safari.extension.globalPage.contentWindow;
77 window.ext = Object.create(backgroundPage.ext);
77 78
78 ext.closePopup = function() 79 ext.closePopup = function()
79 { 80 {
80 safari.self.hide(); 81 safari.self.hide();
81 }; 82 };
83
84 ext.backgroundPage = {
85 getWindow: function()
86 {
87 return backgroundPage;
88 },
89
90 // On Safari, you can't send messages from the popup to the
91 // background page. So we call the message listeners directly.
92 sendMessage: function(message, responseCallback)
93 {
94 if (!responseCallback)
95 responseCallback = function () {};
96
97 backgroundPage.ext.onMessage._dispatch(message, {}, responseCallback);
98 }
99 };
100
82 })(); 101 })();
OLDNEW
« chrome/ext/popup.js ('K') | « safari/ext/background.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld