Bug 1164940 - Lazily create iframe. r=jaws, a=sledru
This commit is contained in:
@@ -235,7 +235,6 @@
|
|||||||
|
|
||||||
<panelview id="PanelUI-pocketView" flex="1">
|
<panelview id="PanelUI-pocketView" flex="1">
|
||||||
<vbox class="panel-subview-body">
|
<vbox class="panel-subview-body">
|
||||||
<iframe id="pocket-panel-iframe" type="content"/>
|
|
||||||
</vbox>
|
</vbox>
|
||||||
</panelview>
|
</panelview>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ let Pocket = {
|
|||||||
onPanelViewShowing(event) {
|
onPanelViewShowing(event) {
|
||||||
let document = event.target.ownerDocument;
|
let document = event.target.ownerDocument;
|
||||||
let window = document.defaultView;
|
let window = document.defaultView;
|
||||||
let iframe = document.getElementById('pocket-panel-iframe');
|
let iframe = window.pktUI.getPanelFrame();
|
||||||
|
|
||||||
let urlToSave = Pocket._urlToSave;
|
let urlToSave = Pocket._urlToSave;
|
||||||
let titleToSave = Pocket._titleToSave;
|
let titleToSave = Pocket._titleToSave;
|
||||||
@@ -55,7 +55,7 @@ let Pocket = {
|
|||||||
onFrameLoaded(event) {
|
onFrameLoaded(event) {
|
||||||
let document = event.currentTarget.ownerDocument;
|
let document = event.currentTarget.ownerDocument;
|
||||||
let window = document.defaultView;
|
let window = document.defaultView;
|
||||||
let iframe = document.getElementById('pocket-panel-iframe');
|
let iframe = window.pktUI.getPanelFrame();
|
||||||
|
|
||||||
iframe.removeEventListener("load", Pocket.onFrameLoaded, true);
|
iframe.removeEventListener("load", Pocket.onFrameLoaded, true);
|
||||||
window.pktUI.pocketPanelDidShow();
|
window.pktUI.pocketPanelDidShow();
|
||||||
|
|||||||
@@ -644,7 +644,15 @@ var pktUI = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getPanelFrame() {
|
function getPanelFrame() {
|
||||||
return document.getElementById('pocket-panel-iframe');
|
var frame = document.getElementById('pocket-panel-iframe');
|
||||||
|
if (!frame) {
|
||||||
|
var frameParent = document.getElementById("PanelUI-pocketView").firstChild;
|
||||||
|
frame = document.createElement("iframe");
|
||||||
|
frame.id = 'pocket-panel-iframe';
|
||||||
|
frame.setAttribute("type", "content");
|
||||||
|
frameParent.appendChild(frame);
|
||||||
|
}
|
||||||
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSubview() {
|
function getSubview() {
|
||||||
@@ -779,6 +787,7 @@ var pktUI = (function() {
|
|||||||
*/
|
*/
|
||||||
return {
|
return {
|
||||||
onLoad: onLoad,
|
onLoad: onLoad,
|
||||||
|
getPanelFrame: getPanelFrame,
|
||||||
|
|
||||||
pocketButtonOnCommand: pocketButtonOnCommand,
|
pocketButtonOnCommand: pocketButtonOnCommand,
|
||||||
pocketPanelDidShow: pocketPanelDidShow,
|
pocketPanelDidShow: pocketPanelDidShow,
|
||||||
@@ -841,7 +850,7 @@ var pktUIMessaging = (function() {
|
|||||||
|
|
||||||
if (!isPanelIdValid(panelId)) { return; };
|
if (!isPanelIdValid(panelId)) { return; };
|
||||||
|
|
||||||
var panelFrame = document.getElementById('pocket-panel-iframe');
|
var panelFrame = pktUI.getPanelFrame();
|
||||||
if (!isPocketPanelFrameValid(panelFrame)) { return; }
|
if (!isPocketPanelFrameValid(panelFrame)) { return; }
|
||||||
|
|
||||||
var doc = panelFrame.contentWindow.document;
|
var doc = panelFrame.contentWindow.document;
|
||||||
|
|||||||
Reference in New Issue
Block a user