Merge cedar into mozilla-central
1
.hgtags
@ -61,3 +61,4 @@ b70744835d94e54eec97b8fd186c96da5708a506 PRE_MOBILE_MERGE
|
||||
b70744835d94e54eec97b8fd186c96da5708a506 PRE_MOBILE_MERGE_20110406
|
||||
a71bd564ebf5bf4f93d13e84114f759c263130b0 MOBILE_MERGE_DONE
|
||||
a71bd564ebf5bf4f93d13e84114f759c263130b0 MOBILE_MERGE_DONE_20110406
|
||||
a95d426422816513477e5863add1b00ac7041dcb AURORA_BASE_20110412
|
||||
|
@ -695,9 +695,6 @@ nsAccessible::IsVisible(PRBool* aIsOffscreen)
|
||||
PRUint64
|
||||
nsAccessible::NativeState()
|
||||
{
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
PRUint64 state = 0;
|
||||
nsEventStates intrinsicState = mContent->IntrinsicState();
|
||||
|
||||
@ -1527,10 +1524,10 @@ nsAccessible::GetState(PRUint32* aState, PRUint32* aExtraState)
|
||||
PRUint64
|
||||
nsAccessible::State()
|
||||
{
|
||||
PRUint64 state = NativeState();
|
||||
if (state & states::DEFUNCT)
|
||||
return state;
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
PRUint64 state = NativeState();
|
||||
// Apply ARIA states to be sure accessible states will be overriden.
|
||||
ApplyARIAState(&state);
|
||||
|
||||
|
@ -144,7 +144,7 @@ nsApplicationAccessible::GetKeyboardShortcut(nsAString &aKeyboardShortcut)
|
||||
PRUint64
|
||||
nsApplicationAccessible::State()
|
||||
{
|
||||
return NativeState();
|
||||
return IsDefunct() ? states::DEFUNCT : 0;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -375,7 +375,7 @@ nsApplicationAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsApplicationAccessible::NativeState()
|
||||
{
|
||||
return IsDefunct() ? states::DEFUNCT : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -294,10 +294,6 @@ nsDocAccessible::GetDescription(nsAString& aDescription)
|
||||
PRUint64
|
||||
nsDocAccessible::NativeState()
|
||||
{
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
// The root content of the document might be removed so that mContent is
|
||||
// out of date.
|
||||
PRUint64 state = (mContent->GetCurrentDoc() == mDocument) ?
|
||||
|
@ -150,7 +150,7 @@ nsHTMLBRAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsHTMLBRAccessible::NativeState()
|
||||
{
|
||||
return IsDefunct() ? states::DEFUNCT : states::READONLY;
|
||||
return states::READONLY;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -77,10 +77,7 @@ nsHTMLWin32ObjectOwnerAccessible::NativeState()
|
||||
{
|
||||
// XXX: No HWND means this is windowless plugin which is not accessible in
|
||||
// the meantime.
|
||||
if (mHwnd)
|
||||
return nsAccessibleWrap::NativeState();
|
||||
|
||||
return IsDefunct() ? states::DEFUNCT : states::UNAVAILABLE;
|
||||
return mHwnd ? nsAccessibleWrap::NativeState() : states::UNAVAILABLE;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -153,10 +153,6 @@ nsXFormsAccessible::GetValue(nsAString& aValue)
|
||||
PRUint64
|
||||
nsXFormsAccessible::NativeState()
|
||||
{
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
NS_ENSURE_TRUE(sXFormsService, 0);
|
||||
|
||||
nsCOMPtr<nsIDOMNode> DOMNode(do_QueryInterface(mContent));
|
||||
|
@ -60,10 +60,6 @@ nsXFormsDropmarkerWidgetAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXFormsDropmarkerWidgetAccessible::NativeState()
|
||||
{
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
PRBool isOpen = PR_FALSE;
|
||||
nsCOMPtr<nsIDOMNode> DOMNode(do_QueryInterface(mContent));
|
||||
nsresult rv = sXFormsService->IsDropmarkerOpen(DOMNode, &isOpen);
|
||||
|
@ -330,10 +330,6 @@ nsXULDropmarkerAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXULDropmarkerAccessible::NativeState()
|
||||
{
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
return DropmarkerOpen(PR_FALSE) ? states::PRESSED : 0;
|
||||
}
|
||||
|
||||
@ -815,7 +811,7 @@ nsXULToolbarSeparatorAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXULToolbarSeparatorAccessible::NativeState()
|
||||
{
|
||||
return IsDefunct() ? states::DEFUNCT : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -67,7 +67,7 @@ nsXULColumnsAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXULColumnsAccessible::NativeState()
|
||||
{
|
||||
return IsDefunct() ? states::DEFUNCT : states::READONLY;
|
||||
return states::READONLY;
|
||||
}
|
||||
|
||||
|
||||
@ -90,7 +90,7 @@ nsXULColumnItemAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXULColumnItemAccessible::NativeState()
|
||||
{
|
||||
return IsDefunct() ? states::DEFUNCT : states::READONLY;
|
||||
return states::READONLY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -906,12 +906,8 @@ nsXULListitemAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXULListitemAccessible::NativeState()
|
||||
{
|
||||
if (mIsCheckbox) {
|
||||
if (mIsCheckbox)
|
||||
return nsXULMenuitemAccessible::NativeState();
|
||||
}
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
PRUint64 states = states::FOCUSABLE | states::SELECTABLE;
|
||||
|
||||
|
@ -927,10 +927,6 @@ nsXULTreeItemAccessibleBase::GroupPosition(PRInt32 *aGroupLevel,
|
||||
PRUint64
|
||||
nsXULTreeItemAccessibleBase::NativeState()
|
||||
{
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
// focusable and selectable states
|
||||
PRUint64 state = states::FOCUSABLE | states::SELECTABLE;
|
||||
|
||||
|
@ -1165,10 +1165,6 @@ nsXULTreeGridCellAccessible::NativeRole()
|
||||
PRUint64
|
||||
nsXULTreeGridCellAccessible::NativeState()
|
||||
{
|
||||
|
||||
if (IsDefunct())
|
||||
return states::DEFUNCT;
|
||||
|
||||
// selectable/selected state
|
||||
PRUint64 states = states::SELECTABLE;
|
||||
|
||||
|
@ -48,7 +48,7 @@ DIRS = {972ce4c6-7e08-4474-a285-3208198ce6fd}
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifeq (beta,$(MOZ_UPDATE_CHANNEL))
|
||||
ifneq (,$(filter aurora beta,$(MOZ_UPDATE_CHANNEL)))
|
||||
EXTENSIONS = \
|
||||
testpilot@labs.mozilla.com \
|
||||
$(NULL)
|
||||
|
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://testpilot/content/browser.css" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://testpilot-os/skin/feedback.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE overlay [
|
||||
<!ENTITY % testpilotDTD SYSTEM "chrome://testpilot/locale/main.dtd">
|
||||
|
@ -57,16 +57,6 @@
|
||||
image="chrome://testpilot-os/skin/feedback-frown-16x16.png"
|
||||
label = "&testpilot.sad.label;"
|
||||
oncommand="TestPilotWindowUtils.openFeedbackPage('sad');"/>
|
||||
<menuitem id="feedback-menu-broken-button"
|
||||
class="menuitem-iconic"
|
||||
image="chrome://testpilot-os/skin/feedback-broken-website.png"
|
||||
label = "&testpilot.broken.label;"
|
||||
oncommand="TestPilotWindowUtils.openFeedbackPage('broken');"/>
|
||||
<menuitem id="feedback-menu-idea-button"
|
||||
class="menuitem-iconic"
|
||||
image="chrome://testpilot-os/skin/feedback-idea.png"
|
||||
label = "&testpilot.idea.label;"
|
||||
oncommand="TestPilotWindowUtils.openFeedbackPage('idea');"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="feedback-menu-show-studies"
|
||||
label="&testpilot.allYourStudies.label;"
|
||||
|
@ -4,7 +4,7 @@
|
||||
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
||||
<Description about="urn:mozilla:install-manifest">
|
||||
<em:id>testpilot@labs.mozilla.com</em:id>
|
||||
<em:version>1.0.6</em:version>
|
||||
<em:version>1.0.9</em:version>
|
||||
<em:type>2</em:type>
|
||||
|
||||
<!-- Target Application this extension can install into,
|
||||
@ -13,7 +13,7 @@
|
||||
<Description>
|
||||
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
|
||||
<em:minVersion>3.5</em:minVersion>
|
||||
<em:maxVersion>4.0.*</em:maxVersion>
|
||||
<em:maxVersion>5.0</em:maxVersion>
|
||||
</Description>
|
||||
</em:targetApplication>
|
||||
|
||||
|
@ -119,14 +119,11 @@ ExperimentDataStore.prototype = {
|
||||
for (i = 0; i < this._columns.length; i++) {
|
||||
let datum = uiEvent[this._columns[i].property];
|
||||
switch (this._columns[i].type) {
|
||||
case TYPE_INT_32:
|
||||
insStmt.bindInt32Parameter(i, datum);
|
||||
break;
|
||||
case TYPE_DOUBLE:
|
||||
insStmt.bindDoubleParameter(i, datum);
|
||||
case TYPE_INT_32: case TYPE_DOUBLE:
|
||||
insStmt.params[i] = datum;
|
||||
break;
|
||||
case TYPE_STRING:
|
||||
insStmt.bindUTF8StringParameter(i, sanitizeString(datum));
|
||||
insStmt.params[i] = sanitizeString(datum);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -104,12 +104,18 @@ var FeedbackManager = {
|
||||
*/
|
||||
let ioService = Cc["@mozilla.org/network/io-service;1"]
|
||||
.getService(Ci.nsIIOService);
|
||||
let uri = ioService.newURI(url, null, null);
|
||||
let path = uri.path;
|
||||
if (uri.host == "input.mozilla.com") {
|
||||
if (path.indexOf("feedback" > -1) || path.indexOf("happy" > -1) || path.indexOf("sad" > -1)) {
|
||||
return true;
|
||||
try {
|
||||
let uri = ioService.newURI(url, null, null);
|
||||
let path = uri.path;
|
||||
if (uri.host == "input.mozilla.com") {
|
||||
if (path.indexOf("feedback") > -1 || path.indexOf("happy") > -1 || path.indexOf("sad") > -1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch(e) {
|
||||
/* newURI throws an exception if we try to parse urls like "about:config". (Bug 644582)
|
||||
* Those are not the urls we're looking for anyway. */
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
@ -94,22 +94,12 @@ var TestPilotUIBuilder = {
|
||||
} catch (e) {
|
||||
}
|
||||
}
|
||||
|
||||
/* Show and hide Feedback menu items based on version -- if user is on beta channel in
|
||||
* the final version, they get the 'broken' and 'idea' items. Otherwise they get
|
||||
* 'happy' and 'sad'.*/
|
||||
if (this.isBetaChannel() && this.appVersionIsFinal()) {
|
||||
window.document.getElementById("feedback-menu-happy-button").setAttribute("hidden", "true");
|
||||
window.document.getElementById("feedback-menu-sad-button").setAttribute("hidden", "true");
|
||||
} else {
|
||||
window.document.getElementById("feedback-menu-broken-button").setAttribute("hidden", "true");
|
||||
window.document.getElementById("feedback-menu-idea-button").setAttribute("hidden", "true");
|
||||
}
|
||||
},
|
||||
|
||||
isBetaChannel: function() {
|
||||
// Nightly channel is treated the same as default channel.
|
||||
return (this._prefs.getCharPref(UPDATE_CHANNEL_PREF) == "beta");
|
||||
// Beta and aurora channels use feedback interface; nightly and release channels don't.
|
||||
let channel = this._prefs.getCharPref(UPDATE_CHANNEL_PREF);
|
||||
return (channel == "beta") || (channel == "betatest") || (channel == "aurora");
|
||||
},
|
||||
|
||||
appVersionIsFinal: function() {
|
||||
|
@ -47,6 +47,7 @@ const LOCALE_PREF = "general.useragent.locale";
|
||||
const EXTENSION_ID = "testpilot@labs.mozilla.com";
|
||||
const PREFIX_NS_EM = "http://www.mozilla.org/2004/em-rdf#";
|
||||
const PREFIX_ITEM_URI = "urn:mozilla:item:";
|
||||
const UPDATE_CHANNEL_PREF = "app.update.channel";
|
||||
|
||||
/* The following preference, if present, stores answers to the basic panel
|
||||
* survey, which tell us user's general tech level, and so should be included
|
||||
@ -116,6 +117,19 @@ let MetadataCollector = {
|
||||
accessibilities.push({ name: prefName, value: prefValue });
|
||||
}
|
||||
|
||||
/* Detect accessibility instantiation
|
||||
* (David Bolter's code from bug 577694) */
|
||||
let enabled;
|
||||
try {
|
||||
enabled = Components.manager.QueryInterface(Ci.nsIServiceManager)
|
||||
.isServiceInstantiatedByContractID(
|
||||
"@mozilla.org/accessibilityService;1",
|
||||
Ci.nsISupports);
|
||||
} catch (ex) {
|
||||
enabled = false;
|
||||
}
|
||||
accessibilities.push({name: "isInstantiated", value: enabled});
|
||||
|
||||
return accessibilities;
|
||||
},
|
||||
|
||||
@ -155,6 +169,10 @@ let MetadataCollector = {
|
||||
}
|
||||
},
|
||||
|
||||
getUpdateChannel: function MetadataCollector_getUpdateChannel() {
|
||||
return Application.prefs.getValue(UPDATE_CHANNEL_PREF, "");
|
||||
},
|
||||
|
||||
getMetadata: function MetadataCollector_getMetadata(callback) {
|
||||
let self = this;
|
||||
self.getTestPilotVersion(function(tpVersion) {
|
||||
@ -165,7 +183,8 @@ let MetadataCollector = {
|
||||
fxVersion: self.getVersion(),
|
||||
operatingSystem: self.getOperatingSystem(),
|
||||
tpVersion: tpVersion,
|
||||
surveyAnswers: self.getSurveyAnswers()}
|
||||
surveyAnswers: self.getSurveyAnswers(),
|
||||
updateChannel: self.getUpdateChannel()}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
@ -185,15 +185,10 @@ let TestPilotSetup = {
|
||||
return this.__obs;
|
||||
},
|
||||
|
||||
_isFfx4BetaVersion: function TPS__isFfx4BetaVersion() {
|
||||
let result = Cc["@mozilla.org/xpcom/version-comparator;1"]
|
||||
.getService(Ci.nsIVersionComparator)
|
||||
.compare("3.7a1pre", this._application.version);
|
||||
if (result < 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
_isBetaChannel: function TPS__isBetaChannel() {
|
||||
// Beta and aurora channels use feedback interface; nightly and release channels don't.
|
||||
let channel = this._prefs.getValue(UPDATE_CHANNEL_PREF, "");
|
||||
return (channel == "beta") || (channel == "betatest") || (channel == "aurora");
|
||||
},
|
||||
|
||||
_setPrefDefaultsForVersion: function TPS__setPrefDefaultsForVersion() {
|
||||
@ -205,7 +200,7 @@ let TestPilotSetup = {
|
||||
let prefBranch = ps.getDefaultBranch("");
|
||||
/* note we're setting default values, not current values -- these
|
||||
* get overridden by any user set values. */
|
||||
if (this._isFfx4BetaVersion()) {
|
||||
if (this._isBetaChannel()) {
|
||||
prefBranch.setBoolPref(POPUP_SHOW_ON_NEW, true);
|
||||
prefBranch.setIntPref(POPUP_CHECK_INTERVAL, 600000);
|
||||
} else {
|
||||
@ -262,7 +257,7 @@ let TestPilotSetup = {
|
||||
let currVersion = self._prefs.getValue(VERSION_PREF, "firstrun");
|
||||
|
||||
if (currVersion != self.version) {
|
||||
if(!self._isFfx4BetaVersion()) {
|
||||
if(!self._isBetaChannel()) {
|
||||
self._prefs.setValue(VERSION_PREF, self.version);
|
||||
let browser = self._getFrontBrowserWindow().getBrowser();
|
||||
let url = self._prefs.getValue(FIRST_RUN_PREF, "");
|
||||
@ -386,7 +381,7 @@ let TestPilotSetup = {
|
||||
let popup = doc.getElementById("pilot-notification-popup");
|
||||
|
||||
let anchor;
|
||||
if (this._isFfx4BetaVersion()) {
|
||||
if (this._isBetaChannel()) {
|
||||
/* If we're in the Ffx4Beta version, popups come down from feedback
|
||||
* button, but if we're in the standalone extension version, they
|
||||
* come up from status bar icon. */
|
||||
|
@ -552,6 +552,21 @@ TestPilotExperiment.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
getStudyMetadata: function TestPilotExperiment_getStudyMetadata() {
|
||||
try {
|
||||
if (this._handlers.getStudyMetadata) {
|
||||
let metadata = this._handlers.getStudyMetadata();
|
||||
if (metadata.length) {
|
||||
// getStudyMetadata must return an array, otherwise it is invalid.
|
||||
return metadata;
|
||||
}
|
||||
}
|
||||
} catch(e) {
|
||||
this._logger.warn("Error in getStudyMetadata: " + e);
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
_reschedule: function TestPilotExperiment_reschedule() {
|
||||
// Schedule next run of test:
|
||||
// add recurrence interval to start date and store!
|
||||
@ -753,6 +768,15 @@ TestPilotExperiment.prototype = {
|
||||
json.metadata = md;
|
||||
json.metadata.task_guid = self.getGuid(self._id);
|
||||
json.metadata.event_headers = self._dataStore.getPropertyNames();
|
||||
let moreMd = self.getStudyMetadata();
|
||||
if (moreMd) {
|
||||
for (let i = 0; i < moreMd.length; i++) {
|
||||
if (moreMd[i].name && moreMd[i].value) {
|
||||
json.metadata[ moreMd[i].name ] = moreMd[i].value; // TODO sanitize strings?
|
||||
// TODO handle case where name or value are something other than strings?
|
||||
}
|
||||
}
|
||||
}
|
||||
self._dataStore.getJSONRows(function(rows) {
|
||||
json.events = rows;
|
||||
callback( JSON.stringify(json) );
|
||||
|
@ -62,8 +62,7 @@ EXTRA_JS_MODULES = \
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
PRE_RELEASE_SUFFIX := $(shell $(PYTHON) $(topsrcdir)/config/printprereleasesuffix.py \
|
||||
$(shell cat $(srcdir)/../config/version.txt))
|
||||
PRE_RELEASE_SUFFIX := ""
|
||||
|
||||
DEFINES += \
|
||||
-DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \
|
||||
|
@ -1,16 +1,28 @@
|
||||
#aboutDialog {
|
||||
padding-top: 0;
|
||||
-moz-padding-end: 0;
|
||||
padding-bottom: 10px;
|
||||
-moz-padding-start: 0;
|
||||
width: 620px;
|
||||
}
|
||||
|
||||
/* Official branding has Firefox logo on the left side of the window.
|
||||
Nightly/aurora branding has background image applied to entire window. */
|
||||
%ifdef MOZ_OFFICIAL_BRANDING
|
||||
#clientBox {
|
||||
background-color: #F7F7F7;
|
||||
color: #222222;
|
||||
}
|
||||
%else
|
||||
#aboutDialogContainer {
|
||||
background-image: url("chrome://branding/content/about-background.png");
|
||||
background-repeat: no-repeat;
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.text-link {
|
||||
color: #fff !important;
|
||||
}
|
||||
%endif
|
||||
|
||||
%ifdef MOZ_OFFICIAL_BRANDING
|
||||
#leftBox {
|
||||
background-image: url("chrome://branding/content/about-logo.png");
|
||||
background-repeat: no-repeat;
|
||||
@ -20,6 +32,7 @@
|
||||
margin-top:20px;
|
||||
-moz-margin-start: 30px;
|
||||
}
|
||||
%endif
|
||||
|
||||
#rightBox {
|
||||
background-image: url("chrome://branding/content/about-wordmark.png");
|
||||
@ -27,8 +40,14 @@
|
||||
/* padding-top creates room for the wordmark */
|
||||
padding-top: 38px;
|
||||
margin-top:20px;
|
||||
-moz-margin-end: 30px;
|
||||
-moz-margin-start: 30px;
|
||||
%ifdef MOZ_OFFICIAL_BRANDING
|
||||
margin-left: 30px;
|
||||
margin-right: 30px;
|
||||
%else
|
||||
/* this margin prevents text from overlapping the planet image */
|
||||
margin-left: 280px;
|
||||
margin-right: 20px;
|
||||
%endif
|
||||
}
|
||||
|
||||
#rightBox:-moz-locale-dir(rtl) {
|
||||
@ -37,10 +56,13 @@
|
||||
|
||||
#bottomBox {
|
||||
padding: 15px 10px 0;
|
||||
%ifndef MOZ_OFFICIAL_BRANDING
|
||||
background-color: rgba(0,0,0,.7);
|
||||
%endif
|
||||
}
|
||||
|
||||
#version {
|
||||
margin-top: 5px;
|
||||
margin-top: 10px;
|
||||
-moz-margin-start: 0;
|
||||
}
|
||||
|
||||
@ -89,12 +111,16 @@
|
||||
margin: 0 40px;
|
||||
}
|
||||
|
||||
/* we assume trademark text only appears in offical builds */
|
||||
%ifdef MOZ_OFFICIAL_BRANDING
|
||||
#trademark {
|
||||
font-size: xx-small;
|
||||
text-align: center;
|
||||
color: #999999;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
%endif
|
||||
|
||||
#currentChannel {
|
||||
margin: 0;
|
||||
|
@ -70,7 +70,7 @@
|
||||
|
||||
<script type="application/javascript" src="chrome://browser/content/aboutDialog.js"/>
|
||||
|
||||
<vbox>
|
||||
<vbox id="aboutDialogContainer">
|
||||
<hbox id="clientBox">
|
||||
<vbox id="leftBox" flex="1"/>
|
||||
<vbox id="rightBox" flex="1">
|
||||
|
@ -356,7 +356,9 @@
|
||||
<key id="key_quitApplication" key="&quitApplicationCmdMac.key;" command="cmd_quitApplication" modifiers="accel"/>
|
||||
#endif
|
||||
|
||||
#ifdef FULL_BROWSER_WINDOW
|
||||
<key id="key_undoCloseTab" command="History:UndoCloseTab" key="&tabCmd.commandkey;" modifiers="accel,shift"/>
|
||||
#endif
|
||||
<key id="key_undoCloseWindow" command="History:UndoCloseWindow" key="&newNavigatorCmd.key;" modifiers="accel,shift"/>
|
||||
|
||||
#ifdef XP_GNOME
|
||||
|
@ -107,7 +107,9 @@
|
||||
|
||||
# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
|
||||
# browser-sets.inc file for sharing with hiddenWindow.xul.
|
||||
#define FULL_BROWSER_WINDOW
|
||||
#include browser-sets.inc
|
||||
#undef FULL_BROWSER_WINDOW
|
||||
|
||||
<popupset id="mainPopupSet">
|
||||
<menupopup id="tabContextMenu"
|
||||
|
@ -47,3 +47,11 @@ tabpanels {
|
||||
.tab-throbber[busy] + .tab-icon-image {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.closing-tabs-spacer {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.tabbrowser-tabs:not(:hover) > .tabbrowser-arrowscrollbox > .closing-tabs-spacer {
|
||||
-moz-transition: width .15s ease-out;
|
||||
}
|
||||
|
@ -33,6 +33,8 @@
|
||||
- Dão Gottwald <dao@mozilla.com>
|
||||
- Paul O’Shannessy <paul@oshannessy.com>
|
||||
- Rob Arnold <tellrob@gmail.com>
|
||||
- Frank Yan <fyan@mozilla.com>
|
||||
- Patrick Walton <pcwalton@mozilla.com>
|
||||
-
|
||||
- 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
|
||||
@ -234,6 +236,7 @@
|
||||
|
||||
this.moveTabTo(aTab, this._numPinnedTabs);
|
||||
aTab.setAttribute("pinned", "true");
|
||||
this.tabContainer._unlockTabSizing();
|
||||
this.tabContainer._positionPinnedTabs();
|
||||
this.tabContainer.adjustTabstrip();
|
||||
|
||||
@ -258,6 +261,7 @@
|
||||
aTab.setAttribute("fadein", "true");
|
||||
aTab.removeAttribute("pinned");
|
||||
aTab.style.MozMarginStart = "";
|
||||
this.tabContainer._unlockTabSizing();
|
||||
this.tabContainer._positionPinnedTabs();
|
||||
this.tabContainer.adjustTabstrip();
|
||||
|
||||
@ -1204,6 +1208,8 @@
|
||||
t.setAttribute("onerror", "this.removeAttribute('image');");
|
||||
t.className = "tabbrowser-tab";
|
||||
|
||||
this.tabContainer._unlockTabSizing();
|
||||
|
||||
// When overflowing, new tabs are scrolled into view smoothly, which
|
||||
// doesn't go well together with the width transition. So we skip the
|
||||
// transition in that case.
|
||||
@ -1435,8 +1441,10 @@
|
||||
<parameter name="aParams"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
if (aParams)
|
||||
if (aParams) {
|
||||
var animate = aParams.animate;
|
||||
var byMouse = aParams.byMouse;
|
||||
}
|
||||
|
||||
// Handle requests for synchronously removing an already
|
||||
// asynchronously closing tab.
|
||||
@ -1451,6 +1459,11 @@
|
||||
if (!this._beginRemoveTab(aTab, false, null, true))
|
||||
return;
|
||||
|
||||
if (!aTab.pinned && !aTab.hidden && aTab._fullyOpen && byMouse)
|
||||
this.tabContainer._lockTabSizing(aTab);
|
||||
else
|
||||
this.tabContainer._unlockTabSizing();
|
||||
|
||||
if (!animate /* the caller didn't opt in */ ||
|
||||
isLastTab ||
|
||||
aTab.pinned ||
|
||||
@ -1463,6 +1476,7 @@
|
||||
}
|
||||
|
||||
this._blurTab(aTab);
|
||||
aTab.style.maxWidth = ""; // ensure that fade-out transition happens
|
||||
aTab.removeAttribute("fadein");
|
||||
|
||||
setTimeout(function (tab, tabbrowser) {
|
||||
@ -1637,6 +1651,10 @@
|
||||
|
||||
// update tab close buttons state
|
||||
this.tabContainer.adjustTabstrip();
|
||||
|
||||
setTimeout(function(tabs) {
|
||||
tabs._lastTabClosedByMouse = false;
|
||||
}, 0, this.tabContainer);
|
||||
}
|
||||
|
||||
// update first-tab/last-tab/beforeselected/afterselected attributes
|
||||
@ -2412,6 +2430,7 @@
|
||||
this.mPanelContainer.childNodes[0].id = uniqueId;
|
||||
this.mCurrentTab.linkedPanel = uniqueId;
|
||||
this.mCurrentTab._tPos = 0;
|
||||
this.mCurrentTab._fullyOpen = true;
|
||||
this.mCurrentTab.linkedBrowser = this.mCurrentBrowser;
|
||||
|
||||
// set up the shared autoscroll popup
|
||||
@ -2591,25 +2610,28 @@
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
<handler event="underflow"><![CDATA[
|
||||
if (event.detail == 0)
|
||||
return; // Ignore vertical events
|
||||
<handler event="underflow" phase="capturing"><![CDATA[
|
||||
if (event.detail == 0)
|
||||
return; // Ignore vertical events
|
||||
|
||||
var tabs = document.getBindingParent(this);
|
||||
tabs.removeAttribute("overflow");
|
||||
var tabs = document.getBindingParent(this);
|
||||
tabs.removeAttribute("overflow");
|
||||
|
||||
tabs.tabbrowser._removingTabs.forEach(tabs.tabbrowser.removeTab,
|
||||
tabs.tabbrowser);
|
||||
if (tabs._lastTabClosedByMouse)
|
||||
tabs._expandSpacerBy(this._scrollButtonDown.clientWidth);
|
||||
|
||||
tabs._positionPinnedTabs();
|
||||
tabs.tabbrowser._removingTabs.forEach(tabs.tabbrowser.removeTab,
|
||||
tabs.tabbrowser);
|
||||
|
||||
tabs._positionPinnedTabs();
|
||||
]]></handler>
|
||||
<handler event="overflow"><![CDATA[
|
||||
if (event.detail == 0)
|
||||
return; // Ignore vertical events
|
||||
if (event.detail == 0)
|
||||
return; // Ignore vertical events
|
||||
|
||||
var tabs = document.getBindingParent(this);
|
||||
tabs.setAttribute("overflow", "true");
|
||||
tabs._positionPinnedTabs();
|
||||
var tabs = document.getBindingParent(this);
|
||||
tabs.setAttribute("overflow", "true");
|
||||
tabs._positionPinnedTabs();
|
||||
]]></handler>
|
||||
</handlers>
|
||||
</binding>
|
||||
@ -2640,6 +2662,8 @@
|
||||
command="cmd_newNavigatorTab"
|
||||
onclick="checkForMiddleClick(this, event);"
|
||||
tooltiptext="&newTabButton.tooltip;"/>
|
||||
<xul:spacer class="closing-tabs-spacer" anonid="closing-tabs-spacer"
|
||||
style="width: 0;"/>
|
||||
</xul:arrowscrollbox>
|
||||
</content>
|
||||
|
||||
@ -2811,6 +2835,104 @@
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<field name="_closingTabsSpacer">
|
||||
document.getAnonymousElementByAttribute(this, "anonid", "closing-tabs-spacer");
|
||||
</field>
|
||||
|
||||
<field name="_tabDefaultMaxWidth">NaN</field>
|
||||
<field name="_lastTabClosedByMouse">false</field>
|
||||
<field name="_hasTabTempMaxWidth">false</field>
|
||||
<field name="_usingClosingTabsSpacer">false</field>
|
||||
|
||||
<!-- Try to keep the active tab's close button under the mouse cursor -->
|
||||
<method name="_lockTabSizing">
|
||||
<parameter name="aTab"/>
|
||||
<body><![CDATA[
|
||||
var tabs = this.tabbrowser.visibleTabs;
|
||||
if (!tabs.length)
|
||||
return;
|
||||
|
||||
var isEndTab = (aTab._tPos > tabs[tabs.length-1]._tPos);
|
||||
var tabWidth = aTab.getBoundingClientRect().width;
|
||||
|
||||
if (!this._tabDefaultMaxWidth)
|
||||
this._tabDefaultMaxWidth =
|
||||
parseFloat(window.getComputedStyle(aTab).maxWidth);
|
||||
this._lastTabClosedByMouse = true;
|
||||
|
||||
if (this.getAttribute("overflow") == "true") {
|
||||
// Don't need to do anything if we're in overflow mode and aren't scrolled
|
||||
// all the way to the right, or if we're closing the last tab.
|
||||
if (isEndTab || !this.mTabstrip._scrollButtonDown.disabled)
|
||||
return;
|
||||
|
||||
// If the tab has an owner that will become the active tab, the owner will
|
||||
// be to the left of it, so we actually want the left tab to slide over.
|
||||
// This can't be done as easily in non-overflow mode, so we don't bother.
|
||||
if (aTab.owner)
|
||||
return;
|
||||
|
||||
this._expandSpacerBy(tabWidth);
|
||||
} else { // non-overflow mode
|
||||
// Locking is neither in effect nor needed, so let tabs expand normally.
|
||||
if (isEndTab && !this._hasTabTempMaxWidth)
|
||||
return;
|
||||
|
||||
let numPinned = this.tabbrowser._numPinnedTabs;
|
||||
// Force tabs to stay the same width, unless we're closing the last tab,
|
||||
// which case we need to let them expand just enough so that the overall
|
||||
// tabbar width is the same.
|
||||
if (isEndTab) {
|
||||
let numNormalTabs = tabs.length - numPinned;
|
||||
tabWidth = tabWidth * (numNormalTabs + 1) / numNormalTabs;
|
||||
if (tabWidth > this._tabDefaultMaxWidth)
|
||||
tabWidth = this._tabDefaultMaxWidth;
|
||||
}
|
||||
tabWidth += "px";
|
||||
for (let i = numPinned; i < tabs.length; i++) {
|
||||
let tab = tabs[i];
|
||||
tab.style.maxWidth = tabWidth;
|
||||
if (!isEndTab) { // keep tabs the same width
|
||||
tab.style.MozTransition = "none";
|
||||
tab.clientTop; // flush styles to skip animation; see bug 649247
|
||||
tab.style.MozTransition = "";
|
||||
}
|
||||
}
|
||||
this._hasTabTempMaxWidth = true;
|
||||
this.tabbrowser.addEventListener("mousemove", this, false);
|
||||
window.addEventListener("mouseout", this, false);
|
||||
}
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="_expandSpacerBy">
|
||||
<parameter name="pixels"/>
|
||||
<body><![CDATA[
|
||||
let spacer = this._closingTabsSpacer;
|
||||
spacer.style.width = parseFloat(spacer.style.width) + pixels + "px";
|
||||
this._usingClosingTabsSpacer = true;
|
||||
this.tabbrowser.addEventListener("mousemove", this, false);
|
||||
window.addEventListener("mouseout", this, false);
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="_unlockTabSizing">
|
||||
<body><![CDATA[
|
||||
this.tabbrowser.removeEventListener("mousemove", this, false);
|
||||
window.removeEventListener("mouseout", this, false);
|
||||
if (this._hasTabTempMaxWidth) {
|
||||
this._hasTabTempMaxWidth = false;
|
||||
let tabs = this.tabbrowser.visibleTabs;
|
||||
for (let i = 0; i < tabs.length; i++)
|
||||
tabs[i].style.maxWidth = "";
|
||||
}
|
||||
if (this._usingClosingTabsSpacer) {
|
||||
this._usingClosingTabsSpacer = false;
|
||||
this._closingTabsSpacer.style.width = 0;
|
||||
}
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="_positionPinnedTabs">
|
||||
<body><![CDATA[
|
||||
var numPinned = this.tabbrowser._numPinnedTabs;
|
||||
@ -2864,6 +2986,16 @@
|
||||
}
|
||||
this.tabbrowser.updateWindowResizers();
|
||||
break;
|
||||
case "mouseout":
|
||||
// If the "related target" (the node to which the pointer went) is not
|
||||
// a child of the current document, the mouse just left the window.
|
||||
let relatedTarget = aEvent.relatedTarget;
|
||||
if (relatedTarget && relatedTarget.ownerDocument == document)
|
||||
break;
|
||||
case "mousemove":
|
||||
if (document.getElementById("tabContextMenu").state != "open")
|
||||
this._unlockTabSizing();
|
||||
break;
|
||||
}
|
||||
]]></body>
|
||||
</method>
|
||||
@ -2999,8 +3131,9 @@
|
||||
<method name="_handleNewTab">
|
||||
<parameter name="tab"/>
|
||||
<body><![CDATA[
|
||||
if (tab.parentNode != this)
|
||||
if (tab.parentNode != this || tab._fullyOpen)
|
||||
return;
|
||||
tab._fullyOpen = true;
|
||||
|
||||
this.adjustTabstrip();
|
||||
|
||||
@ -3019,7 +3152,7 @@
|
||||
this.mTabstrip._updateScrollButtonsDisabledState();
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
|
||||
<method name="_canAdvanceToTab">
|
||||
<parameter name="aTab"/>
|
||||
<body>
|
||||
@ -3073,7 +3206,7 @@
|
||||
|
||||
if (event.target.localName == "tab") {
|
||||
if (this.childNodes.length > 1 || !this._closeWindowWithLastTab)
|
||||
this.tabbrowser.removeTab(event.target, {animate: true});
|
||||
this.tabbrowser.removeTab(event.target, {animate: true, byMouse: true});
|
||||
} else if (event.originalTarget.localName == "box") {
|
||||
BrowserOpenTab();
|
||||
} else {
|
||||
@ -3399,7 +3532,7 @@
|
||||
// Reset the "ignored click" flag
|
||||
this._ignoredClick = false;
|
||||
|
||||
tabContainer.tabbrowser.removeTab(bindingParent, {animate: true});
|
||||
tabContainer.tabbrowser.removeTab(bindingParent, {animate: true, byMouse: true});
|
||||
tabContainer._blockDblClick = true;
|
||||
|
||||
/* XXXmano hack (see bug 343628):
|
||||
@ -3487,6 +3620,7 @@
|
||||
|
||||
<field name="mOverCloseButton">false</field>
|
||||
<field name="mCorrespondingMenuitem">null</field>
|
||||
<field name="_fullyOpen">false</field>
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
|
@ -15,7 +15,7 @@ browser.jar:
|
||||
% style chrome://global/content/customizeToolbar.xul chrome://browser/skin/
|
||||
* content/browser/aboutDialog.xul (content/aboutDialog.xul)
|
||||
* content/browser/aboutDialog.js (content/aboutDialog.js)
|
||||
content/browser/aboutDialog.css (content/aboutDialog.css)
|
||||
* content/browser/aboutDialog.css (content/aboutDialog.css)
|
||||
* content/browser/aboutRobots.xhtml (content/aboutRobots.xhtml)
|
||||
* content/browser/aboutHome.xhtml (content/aboutHome.xhtml)
|
||||
* content/browser/aboutHome.js (content/aboutHome.js)
|
||||
|
BIN
browser/branding/aurora/background.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
@ -1,4 +1,3 @@
|
||||
#
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
@ -12,14 +11,14 @@
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
# The Original Code is the Mozilla Installer code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 1998
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert Strong <robert.bugzilla@gmail.com>
|
||||
#
|
||||
# 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
|
||||
@ -35,15 +34,13 @@
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
relativesrcdir = testing/mochitest/tests/SimpleTest/tests
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
_CHROME_FILES = test_synthesizeDragStart.xul \
|
||||
test_synthesizeDrop.xul \
|
||||
$(NULL)
|
||||
libs:: $(_CHROME_FILES)
|
||||
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/chrome/$(relativesrcdir)
|
||||
# NSIS branding defines for Aurora builds.
|
||||
# The official release build branding.nsi is located in other-license/branding/firefox/
|
||||
# The unofficial build branding.nsi is located in browser/branding/unofficial/
|
||||
|
||||
# BrandFullNameInternal is used for some registry and file system values
|
||||
# instead of BrandFullName and typically should not be modified.
|
||||
!define BrandFullNameInternal "Aurora"
|
||||
!define CompanyName "mozilla.org"
|
||||
!define URLInfoAbout "http://www.mozilla.org"
|
||||
!define URLUpdateInfo "http://www.mozilla.org/projects/firefox"
|
1
browser/branding/aurora/configure.sh
Normal file
@ -0,0 +1 @@
|
||||
MOZ_APP_DISPLAYNAME=Aurora
|
BIN
browser/branding/aurora/content/about-background.png
Normal file
After Width: | Height: | Size: 151 KiB |
BIN
browser/branding/aurora/content/about-logo.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
browser/branding/aurora/content/about-wordmark.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
browser/branding/aurora/content/about.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
browser/branding/aurora/content/icon48.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
browser/branding/aurora/content/icon64.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
10
browser/branding/aurora/content/jar.mn
Normal file
@ -0,0 +1,10 @@
|
||||
browser.jar:
|
||||
% content branding %content/branding/ contentaccessible=yes
|
||||
content/branding/about.png (about.png)
|
||||
content/branding/about-background.png (about-background.png)
|
||||
content/branding/about-logo.png (about-logo.png)
|
||||
content/branding/about-wordmark.png (about-wordmark.png)
|
||||
content/branding/icon48.png (icon48.png)
|
||||
content/branding/icon64.png (icon64.png)
|
||||
content/branding/icon128.png (../mozicon128.png)
|
||||
content/branding/icon16.png (../default16.png)
|
BIN
browser/branding/aurora/default16.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
browser/branding/aurora/default32.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
browser/branding/aurora/default48.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
browser/branding/aurora/disk.icns
Normal file
BIN
browser/branding/aurora/document-os2.ico
Normal file
BIN
browser/branding/aurora/document.icns
Normal file
BIN
browser/branding/aurora/document.ico
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
browser/branding/aurora/document.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
browser/branding/aurora/dsstore
Normal file
BIN
browser/branding/aurora/firefox-os2.ico
Normal file
BIN
browser/branding/aurora/firefox.icns
Normal file
BIN
browser/branding/aurora/firefox.ico
Normal file
After Width: | Height: | Size: 355 KiB |
@ -11,15 +11,14 @@
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
# The Original Code is the Mozilla Browser code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2001
|
||||
# Benjamin Smedberg <benjamin@smedbergs.us>
|
||||
# Portions created by the Initial Developer are Copyright (C) 2004
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Brian Ryner <bryner@brianryner.com>
|
||||
#
|
||||
# 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
|
||||
@ -35,12 +34,14 @@
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
relativesrcdir = browser/branding/aurora/locales
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
DEFINES += -DAB_CD=$(AB_CD) -DMOZ_DISTRIBUTION_ID_UNQUOTED=$(MOZ_DISTRIBUTION_ID)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
4
browser/branding/aurora/locales/en-US/brand.dtd
Normal file
@ -0,0 +1,4 @@
|
||||
<!ENTITY brandShortName "Aurora">
|
||||
<!ENTITY brandFullName "Aurora">
|
||||
<!ENTITY vendorShortName "Mozilla">
|
||||
<!ENTITY trademarkInfo.part1 " ">
|
3
browser/branding/aurora/locales/en-US/brand.properties
Normal file
@ -0,0 +1,3 @@
|
||||
brandShortName=Aurora
|
||||
brandFullName=Aurora
|
||||
vendorShortName=Mozilla
|
8
browser/branding/aurora/locales/jar.mn
Normal file
@ -0,0 +1,8 @@
|
||||
#filter substitution
|
||||
|
||||
@AB_CD@.jar:
|
||||
% locale branding @AB_CD@ %locale/branding/
|
||||
# Aurora branding only exists in en-US
|
||||
locale/branding/brand.dtd (en-US/brand.dtd)
|
||||
* locale/branding/brand.properties (en-US/brand.properties)
|
||||
* locale/branding/browserconfig.properties (browserconfig.properties)
|
BIN
browser/branding/aurora/mozicon128.png
Normal file
After Width: | Height: | Size: 27 KiB |
25
browser/branding/aurora/pref/firefox-branding.js
Normal file
@ -0,0 +1,25 @@
|
||||
// We don't have pages ready for this, so leave these prefs empty for now (bug 648330)
|
||||
pref("startup.homepage_override_url","");
|
||||
pref("startup.homepage_welcome_url","");
|
||||
// The time interval between checks for a new version (in seconds)
|
||||
// nightly=8 hours, official=24 hours
|
||||
pref("app.update.interval", 28800);
|
||||
// The time interval between the downloading of mar file chunks in the
|
||||
// background (in seconds)
|
||||
pref("app.update.download.backgroundInterval", 60);
|
||||
// URL user can browse to manually if for some reason all update installation
|
||||
// attempts fail.
|
||||
pref("app.update.url.manual", "http://nightly.mozilla.org/");
|
||||
// A default value for the "More information about this update" link
|
||||
// supplied in the "An update is available" page of the update wizard.
|
||||
pref("app.update.url.details", "http://www.mozilla.org/projects/%APP%/");
|
||||
|
||||
// Release notes and vendor URLs
|
||||
pref("app.releaseNotesURL", "http://www.mozilla.org/projects/%APP%/%VERSION%/releasenotes/");
|
||||
pref("app.vendorURL", "http://www.mozilla.org/projects/%APP%/");
|
||||
|
||||
// Search codes belong only in builds with official branding
|
||||
pref("browser.search.param.yahoo-fr", "");
|
||||
pref("browser.search.param.yahoo-fr-cjkt", ""); // now unused
|
||||
pref("browser.search.param.yahoo-fr-ja", "");
|
||||
pref("browser.search.param.yahoo-f-CN", "");
|
BIN
browser/branding/aurora/splash.bmp
Normal file
After Width: | Height: | Size: 232 KiB |
BIN
browser/branding/aurora/wizHeader.bmp
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
browser/branding/aurora/wizHeaderRTL.bmp
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
browser/branding/aurora/wizWatermark.bmp
Normal file
After Width: | Height: | Size: 151 KiB |
@ -40,7 +40,7 @@
|
||||
|
||||
# BrandFullNameInternal is used for some registry and file system values
|
||||
# instead of BrandFullName and typically should not be modified.
|
||||
!define BrandFullNameInternal "Minefield"
|
||||
!define BrandFullNameInternal "Nightly"
|
||||
!define CompanyName "mozilla.org"
|
||||
!define URLInfoAbout "http://www.mozilla.org"
|
||||
!define URLUpdateInfo "http://www.mozilla.org/projects/firefox"
|
||||
|
@ -1 +1 @@
|
||||
MOZ_APP_DISPLAYNAME=Minefield
|
||||
MOZ_APP_DISPLAYNAME=Nightly
|
||||
|
BIN
browser/branding/nightly/content/about-background.png
Normal file
After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 8.7 KiB |
@ -1,6 +1,7 @@
|
||||
browser.jar:
|
||||
% content branding %content/branding/ contentaccessible=yes
|
||||
content/branding/about.png (about.png)
|
||||
content/branding/about-background.png (about-background.png)
|
||||
content/branding/about-logo.png (about-logo.png)
|
||||
content/branding/about-wordmark.png (about-wordmark.png)
|
||||
content/branding/icon48.png (icon48.png)
|
||||
|
Before Width: | Height: | Size: 722 B After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 355 KiB |
@ -1,4 +1,4 @@
|
||||
<!ENTITY brandShortName "Minefield">
|
||||
<!ENTITY brandFullName "Minefield">
|
||||
<!ENTITY brandShortName "Nightly">
|
||||
<!ENTITY brandFullName "Nightly">
|
||||
<!ENTITY vendorShortName "Mozilla">
|
||||
<!ENTITY trademarkInfo.part1 " ">
|
||||
|
@ -1,3 +1,3 @@
|
||||
brandShortName=Minefield
|
||||
brandFullName=Minefield
|
||||
brandShortName=Nightly
|
||||
brandFullName=Nightly
|
||||
vendorShortName=Mozilla
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
101
browser/branding/official/Makefile.in
Normal file
@ -0,0 +1,101 @@
|
||||
# ***** 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 mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Mozilla Foundation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2009
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Justin Dolske <dolske@mozilla.com> (original author)
|
||||
#
|
||||
# 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 *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = \
|
||||
content \
|
||||
locales \
|
||||
$(NULL)
|
||||
|
||||
PREF_JS_EXPORTS = $(srcdir)/pref/firefox-branding.js
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
WINDOWS_BRANDING_FILES = \
|
||||
firefox.ico \
|
||||
document.ico \
|
||||
branding.nsi \
|
||||
wizHeader.bmp \
|
||||
wizHeaderRTL.bmp \
|
||||
wizWatermark.bmp \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_SPLASHSCREEN
|
||||
WINDOWS_BRANDING_FILES += splash.bmp
|
||||
endif
|
||||
|
||||
OSX_BRANDING_FILES = \
|
||||
background.png \
|
||||
firefox.icns \
|
||||
disk.icns \
|
||||
document.icns \
|
||||
dsstore \
|
||||
$(NULL)
|
||||
|
||||
LINUX_BRANDING_FILES = \
|
||||
default16.png \
|
||||
default32.png \
|
||||
default48.png \
|
||||
document.png \
|
||||
mozicon128.png \
|
||||
$(NULL)
|
||||
|
||||
OS2_BRANDING_FILES = \
|
||||
firefox-os2.ico \
|
||||
document-os2.ico \
|
||||
$(NULL)
|
||||
|
||||
export::
|
||||
$(NSINSTALL) -D $(DIST)/branding
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
|
||||
cp $(addprefix $(srcdir)/, $(WINDOWS_BRANDING_FILES)) $(DIST)/branding/
|
||||
endif
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
||||
cp $(addprefix $(srcdir)/, $(OSX_BRANDING_FILES)) $(DIST)/branding/
|
||||
endif
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
|
||||
cp $(addprefix $(srcdir)/, $(LINUX_BRANDING_FILES)) $(DIST)/branding/
|
||||
$(NSINSTALL) -D $(DIST)/install
|
||||
endif
|
||||
ifeq ($(OS_ARCH),OS2)
|
||||
cp $(addprefix $(srcdir)/, $(OS2_BRANDING_FILES)) $(DIST)/branding/
|
||||
endif
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
11
browser/branding/official/content/Makefile.in
Normal file
@ -0,0 +1,11 @@
|
||||
# Branding Makefile
|
||||
# - jars chrome artwork
|
||||
|
||||
DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 972 B After Width: | Height: | Size: 972 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |