1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
var WebDeveloper = WebDeveloper || {};
WebDeveloper.ResizeWindow = WebDeveloper.ResizeWindow || {};
// Handles the resize window dialog being accepted
WebDeveloper.ResizeWindow.accept = function()
{
var height = document.getElementById("web-developer-resize-height").value.replace(/px/gi, "").trim();
var width = document.getElementById("web-developer-resize-width").value.replace(/px/gi, "").trim();
// If the width and height are valid
if(width && height && (width == "*" || (parseInt(width, 10) == width && width > 0)) && (height == "*" || (parseInt(height, 10) == height && height > 0)))
{
var contentWindow = window.opener.content;
var windowX = window.opener.screenX;
var windowY = window.opener.screenY;
// If resizing the view port
if(document.getElementById("web-developer-resize-viewport").checked)
{
WebDeveloper.Preferences.setExtensionBooleanPreference("resize.viewport", true);
// If the width is not a wildcard
if(width != "*")
{
contentWindow.innerWidth = width;
}
// If the height is not a wildcard
if(height != "*")
{
contentWindow.innerHeight = height;
}
}
else
{
WebDeveloper.Preferences.deleteExtensionPreference("resize.viewport");
// If the width is a wildcard
if(width == "*")
{
width = contentWindow.outerWidth;
}
// If the height is a wildcard
if(height == "*")
{
height = contentWindow.outerHeight;
}
window.opener.resizeTo(width, height);
}
window.opener.screenX = windowX;
window.opener.screenY = windowY;
return true;
}
else
{
// If the height is empty or not a number or less than zero
if(!height || parseInt(height, 10) != height || height <= 0)
{
WebDeveloper.Common.displayError(WebDeveloper.Locales.getString("resizeWindow"), WebDeveloper.Locales.getString("invalidHeight"));
}
else
{
WebDeveloper.Common.displayError(WebDeveloper.Locales.getString("resizeWindow"), WebDeveloper.Locales.getString("invalidWidth"));
}
return false;
}
};
// Initializes the resize dialog
WebDeveloper.ResizeWindow.initialize = function()
{
var resizeViewport = WebDeveloper.Preferences.getExtensionBooleanPreference("resize.viewport");
document.getElementById("web-developer-resize-viewport").checked = resizeViewport;
// If resizing the viewport
if(resizeViewport)
{
document.getElementById("web-developer-resize-width").value = window.arguments[2];
document.getElementById("web-developer-resize-height").value = window.arguments[3];
}
else
{
document.getElementById("web-developer-resize-width").value = window.arguments[0];
document.getElementById("web-developer-resize-height").value = window.arguments[1];
}
};
|