Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
harthur committed Oct 12, 2010
0 parents commit c0ed1e9
Show file tree
Hide file tree
Showing 79 changed files with 8,577 additions and 0 deletions.
Empty file added README
Empty file.
5 changes: 5 additions & 0 deletions extension.properties
@@ -0,0 +1,5 @@
name=nightly
guid={8620c15f-30dc-4dba-a131-7c5d20cf4a29}
version=2.5a1pre
chromejar=nightly
globalxpt=nightly
6 changes: 6 additions & 0 deletions src/LICENSE
@@ -0,0 +1,6 @@
All files in this extension are assumed to be licensed under the
tri-license (MPL/GPL/LGPL) unless otherwise specified.

The MPL is available at http://www.mozilla.org/MPL/MPL-1.1.html

The source code is available on request from dtownsend@oxymoronical.com
31 changes: 31 additions & 0 deletions src/chrome.manifest
@@ -0,0 +1,31 @@
content nightly ${extension.chromebase}/content/
skin nightly classic/1.0 ${extension.chromebase}/skin/

locale nightly en-US ${extension.chromebase}/locale/en-US/

resource nightly modules/

# Shared chrome
overlay chrome://mozapps/content/extensions/extensions.xul chrome://nightly/content/extensions/addons.xul
override chrome://nightly/content/platform.js chrome://nightly/content/winPlatform.js os=winnt

style chrome://browser/content/browser.xul chrome://nightly/skin/browser.css
style chrome://messenger/content/messenger.xul chrome://nightly/skin/browser.css
style chrome://navigator/content/navigator.xul chrome://nightly/skin/browser.css
style chrome://calendar/content/calendar.xul chrome://nightly/skin/browser.css
style chrome://global/content/customizeToolbar.xul chrome://nightly/skin/browser.css

# Firefox chrome
overlay chrome://browser/content/browser.xul chrome://nightly/content/browserOverlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}

# Thunderbird chrome
overlay chrome://messenger/content/messenger.xul chrome://nightly/content/messengerOverlay.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6}

# Sunbird chrome
overlay chrome://calendar/content/calendar.xul chrome://nightly/content/calendarOverlay.xul application={718e30fb-e89b-41dd-9da7-e25a45638b28}

# Suiterunner chrome
overlay chrome://navigator/content/navigator.xul chrome://nightly/content/suiteOverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}

# Songbird chrome
overlay chrome://songbird/content/xul/layoutBaseOverlay.xul chrome://nightly/content/songbirdOverlay.xul application=songbird@songbirdnest.com
Binary file added src/chrome/content/brand/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/chrome/content/brand/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
98 changes: 98 additions & 0 deletions src/chrome/content/browser.js
@@ -0,0 +1,98 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Nightly Tester Tools.
#
# The Initial Developer of the Original Code is
# Dave Townsend <dtownsend@oxymoronical.com>.
#
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
var nightlyApp = {

storedTitle: document.documentElement.getAttribute("titlemodifier"),

init: function()
{
var brandbundle = document.getElementById("bundle_brand");
if (nightly.variables.name==null)
{
nightly.variables.name=brandbundle.getString("brandShortName");
}
nightly.variables.brandname=brandbundle.getString("brandFullName");
nightly.variables.defaulttitle=nightlyApp.storedTitle;
document.getElementById("content").addEventListener("DOMTitleChanged",nightlyApp.titleUpdated,false);
},

detectLeaks: function(event)
{
this.openURL('chrome://nightly/content/leaks/leaks.xul', event);
},

openURL: function(url, event)
{
openUILink(url, event, false, true);
},

titleUpdated: function()
{
if (!gBrowser.mTabbedMode)
{
gBrowser.updateTitlebar();
}
},

updateTitlebar: function()
{
window.setTimeout("gBrowser.updateTitlebar();", 50);
},

setCustomTitle: function(title)
{
document.documentElement.setAttribute("titlemodifier",title);
document.documentElement.setAttribute("titlemenuseparator"," - ");
nightlyApp.updateTitlebar();
},

setBlankTitle: function()
{
document.documentElement.setAttribute("titlemodifier","");
document.documentElement.setAttribute("titlemenuseparator","");
nightlyApp.updateTitlebar();
},

setStandardTitle: function()
{
document.documentElement.setAttribute("titlemodifier",nightlyApp.storedTitle);
document.documentElement.setAttribute("titlemenuseparator"," - ");
nightlyApp.updateTitlebar();
}

}
112 changes: 112 additions & 0 deletions src/chrome/content/browserOverlay.xul
@@ -0,0 +1,112 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Nightly Tester Tools.
#
# The Initial Developer of the Original Code is
# Dave Townsend <dtownsend@oxymoronical.com>.
#
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
<?xml version="1.0"?>

<!DOCTYPE window [
<!ENTITY % nightlyDTD SYSTEM "chrome://nightly/locale/nightly.dtd">
%nightlyDTD;
<!ENTITY % leaksDTD SYSTEM "chrome://nightly/locale/leaks.dtd">
%leaksDTD;
]>

<overlay id="NightlyBrowserOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<script type="application/x-javascript" src="nightly.js" />
<script type="application/x-javascript" src="browser.js" />
<script type="application/x-javascript" src="session/session.js" />
<script type="application/x-javascript" src="crashreports/crashreports.js" />
<script type="application/x-javascript" src="chrome://nightly/content/platform.js" />

<!-- Sidebar -->
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="viewCrashReportsSidebar"
autoCheck="false"
label="&nightly.crashreports.sidebar.title;"
type="checkbox"
group="sidebar"
sidebarurl="chrome://nightly/content/crashreports/sidebar.xul"
oncommand="toggleSidebar('viewCrashReportsSidebar');"/>
</broadcasterset>

<keyset id="mainKeyset">
<key key="s" modifiers="accel,shift" oncommand="nightly.getScreenshot();"/>
</keyset>

<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="nightly-tester-enter"
class="toolbarbutton-1"
label="&nightly.id.insert.label;"
tooltiptext="&nightly.id.insert.tooltip;"
oncommand="nightly.insertTemplate('buildid');"/>
</toolbarpalette>

<popupset id="mainPopupSet">
<tooltip orient="vertical" id="nightly-crashreport-tooltip" onpopupshowing="return crashreports.popupTooltip(event)">
<label/>
</tooltip>
<popup id="nightly-crashreport-context">
<menuitem oncommand="crashreports.copy(event)" label="&nightly.crashreports.copyid;"/>
</popup>
</popupset>

<menupopup id="goPopup">
<menuitem id="nightly-session-restore" label="&nightly.session.restore;" insertbefore="endUndoSeparator" oncommand="session.restore()"/>
</menupopup>

<menupopup id="menu_ToolsPopup">
<menu id="nightly-menu" label="Nightly Tester Tools" insertafter="devToolsSeparator">
<menupopup onpopupshowing="nightly.menuPopup(event,this);">
<menuitem id="build-copy" label="&nightly.id.copy.label;" oncommand="nightly.copyTemplate('buildid');"/>
<menuitem id="build-insert" label="&nightly.id.insert.label;" oncommand="nightly.insertTemplate('buildid');"/>
<menuitem id="list-copy" label="&nightly.extensions.copy.label;" oncommand="nightly.copyExtensions();"/>
<menuitem id="list-insert" label="&nightly.extensions.insert.label;" oncommand="nightly.insertExtensions();"/>
#include "screenshot/screenshot.inc.xul"
<menuseparator/>
<menuitem label="&nightly.openprofile.label;" oncommand="nightly.openProfileDir();"/>
#include "crashreports/crashreports.inc.xul"
<menuitem id="nightly-crashreports-sidebar" observes="viewCrashReportsSidebar"/>
<menuseparator/>
<menuitem label="&nightly.leakreporter.label;" oncommand="nightlyApp.detectLeaks(event);" onclick="checkForMiddleClick(this, event);"/>
<menuseparator/>
<menuitem label="&nightly.options.label;" oncommand="nightly.launchOptions();"/>
</menupopup>
</menu>
</menupopup>

</overlay>
91 changes: 91 additions & 0 deletions src/chrome/content/calendar.js
@@ -0,0 +1,91 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Nightly Tester Tools.
#
# The Initial Developer of the Original Code is
# Dave Townsend <dtownsend@oxymoronical.com>.
#
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
var nightlyApp = {

storedTitle: '',

init: function()
{
nightlyApp.storedTitle = document.title;
var brandbundle = document.getElementById("bundle_branding");
if (nightly.variables.name==null)
{
nightly.variables.name = brandbundle.getString("brandShortName");
}
nightly.variables.defaulttitle = nightlyApp.storedTitle;
nightly.variables.brandname = brandbundle.getString("brandFullName");
},

openURL: function(url, event)
{
var uri = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService)
.newURI(url, null, null);

var protocolSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
.getService(Components.interfaces.nsIExternalProtocolService);
protocolSvc.loadUrl(uri);
},

detectLeaks: function(event)
{
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
var win = wm.getMostRecentWindow("Nightly:LeakReporter");
if (win)
win.focus();
else
window.openDialog("chrome://nightly/content/leaks/leaks.xul", "_blank", "chrome,all,dialog=no");
},

setCustomTitle: function(title)
{
document.title = title;
},

setBlankTitle: function()
{
document.title = '';
},

setStandardTitle: function()
{
document.title = nightlyApp.storedTitle;
}

}

0 comments on commit c0ed1e9

Please sign in to comment.