Merge m-c to graphics
MozReview-Commit-ID: 3l2zmVoMgdl
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"infer-blacklist-path-regex": [
|
||||
// This is full of issues, and is a dependency we need to discard
|
||||
// sooner rather than later anyway:
|
||||
"mobile/android/thirdparty/ch/boye/httpclientandroidlib"
|
||||
]
|
||||
}
|
|
@ -73,108 +73,107 @@ EXTRA_JS_MODULES.sdk.system += [
|
|||
'source/modules/system/Startup.js',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] != "gonk":
|
||||
EXTRA_JS_MODULES.commonjs.method.test += [
|
||||
'source/lib/method/test/browser.js',
|
||||
'source/lib/method/test/common.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.method.test += [
|
||||
'source/lib/method/test/browser.js',
|
||||
'source/lib/method/test/common.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.deprecated += [
|
||||
'source/lib/sdk/deprecated/api-utils.js',
|
||||
'source/lib/sdk/deprecated/sync-worker.js',
|
||||
'source/lib/sdk/deprecated/unit-test-finder.js',
|
||||
'source/lib/sdk/deprecated/unit-test.js',
|
||||
'source/lib/sdk/deprecated/window-utils.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.deprecated += [
|
||||
'source/lib/sdk/deprecated/api-utils.js',
|
||||
'source/lib/sdk/deprecated/sync-worker.js',
|
||||
'source/lib/sdk/deprecated/unit-test-finder.js',
|
||||
'source/lib/sdk/deprecated/unit-test.js',
|
||||
'source/lib/sdk/deprecated/window-utils.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.frame += [
|
||||
'source/lib/sdk/frame/hidden-frame.js',
|
||||
'source/lib/sdk/frame/utils.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.frame += [
|
||||
'source/lib/sdk/frame/hidden-frame.js',
|
||||
'source/lib/sdk/frame/utils.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.panel += [
|
||||
'source/lib/sdk/panel/events.js',
|
||||
'source/lib/sdk/panel/utils.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.panel += [
|
||||
'source/lib/sdk/panel/events.js',
|
||||
'source/lib/sdk/panel/utils.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.places += [
|
||||
'source/lib/sdk/places/bookmarks.js',
|
||||
'source/lib/sdk/places/contract.js',
|
||||
'source/lib/sdk/places/events.js',
|
||||
'source/lib/sdk/places/favicon.js',
|
||||
'source/lib/sdk/places/history.js',
|
||||
'source/lib/sdk/places/utils.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.places += [
|
||||
'source/lib/sdk/places/bookmarks.js',
|
||||
'source/lib/sdk/places/contract.js',
|
||||
'source/lib/sdk/places/events.js',
|
||||
'source/lib/sdk/places/favicon.js',
|
||||
'source/lib/sdk/places/history.js',
|
||||
'source/lib/sdk/places/utils.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.places.host += [
|
||||
'source/lib/sdk/places/host/host-bookmarks.js',
|
||||
'source/lib/sdk/places/host/host-query.js',
|
||||
'source/lib/sdk/places/host/host-tags.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.places.host += [
|
||||
'source/lib/sdk/places/host/host-bookmarks.js',
|
||||
'source/lib/sdk/places/host/host-query.js',
|
||||
'source/lib/sdk/places/host/host-tags.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.tabs += [
|
||||
'source/lib/sdk/tabs/common.js',
|
||||
'source/lib/sdk/tabs/events.js',
|
||||
'source/lib/sdk/tabs/helpers.js',
|
||||
'source/lib/sdk/tabs/namespace.js',
|
||||
'source/lib/sdk/tabs/observer.js',
|
||||
'source/lib/sdk/tabs/tab-fennec.js',
|
||||
'source/lib/sdk/tabs/tab-firefox.js',
|
||||
'source/lib/sdk/tabs/tab.js',
|
||||
'source/lib/sdk/tabs/tabs-firefox.js',
|
||||
'source/lib/sdk/tabs/utils.js',
|
||||
'source/lib/sdk/tabs/worker.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.tabs += [
|
||||
'source/lib/sdk/tabs/common.js',
|
||||
'source/lib/sdk/tabs/events.js',
|
||||
'source/lib/sdk/tabs/helpers.js',
|
||||
'source/lib/sdk/tabs/namespace.js',
|
||||
'source/lib/sdk/tabs/observer.js',
|
||||
'source/lib/sdk/tabs/tab-fennec.js',
|
||||
'source/lib/sdk/tabs/tab-firefox.js',
|
||||
'source/lib/sdk/tabs/tab.js',
|
||||
'source/lib/sdk/tabs/tabs-firefox.js',
|
||||
'source/lib/sdk/tabs/utils.js',
|
||||
'source/lib/sdk/tabs/worker.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.test += [
|
||||
'source/lib/sdk/test/assert.js',
|
||||
'source/lib/sdk/test/harness.js',
|
||||
'source/lib/sdk/test/httpd.js',
|
||||
'source/lib/sdk/test/loader.js',
|
||||
'source/lib/sdk/test/memory.js',
|
||||
'source/lib/sdk/test/options.js',
|
||||
'source/lib/sdk/test/runner.js',
|
||||
'source/lib/sdk/test/utils.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.test += [
|
||||
'source/lib/sdk/test/assert.js',
|
||||
'source/lib/sdk/test/harness.js',
|
||||
'source/lib/sdk/test/httpd.js',
|
||||
'source/lib/sdk/test/loader.js',
|
||||
'source/lib/sdk/test/memory.js',
|
||||
'source/lib/sdk/test/options.js',
|
||||
'source/lib/sdk/test/runner.js',
|
||||
'source/lib/sdk/test/utils.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.ui += [
|
||||
'source/lib/sdk/ui/component.js',
|
||||
'source/lib/sdk/ui/frame.js',
|
||||
'source/lib/sdk/ui/id.js',
|
||||
'source/lib/sdk/ui/sidebar.js',
|
||||
'source/lib/sdk/ui/state.js',
|
||||
'source/lib/sdk/ui/toolbar.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.ui += [
|
||||
'source/lib/sdk/ui/component.js',
|
||||
'source/lib/sdk/ui/frame.js',
|
||||
'source/lib/sdk/ui/id.js',
|
||||
'source/lib/sdk/ui/sidebar.js',
|
||||
'source/lib/sdk/ui/state.js',
|
||||
'source/lib/sdk/ui/toolbar.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.ui.button += [
|
||||
'source/lib/sdk/ui/button/action.js',
|
||||
'source/lib/sdk/ui/button/contract.js',
|
||||
'source/lib/sdk/ui/button/toggle.js',
|
||||
'source/lib/sdk/ui/button/view.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.ui.button += [
|
||||
'source/lib/sdk/ui/button/action.js',
|
||||
'source/lib/sdk/ui/button/contract.js',
|
||||
'source/lib/sdk/ui/button/toggle.js',
|
||||
'source/lib/sdk/ui/button/view.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.ui.sidebar += [
|
||||
'source/lib/sdk/ui/sidebar/actions.js',
|
||||
'source/lib/sdk/ui/sidebar/contract.js',
|
||||
'source/lib/sdk/ui/sidebar/namespace.js',
|
||||
'source/lib/sdk/ui/sidebar/utils.js',
|
||||
'source/lib/sdk/ui/sidebar/view.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.ui.sidebar += [
|
||||
'source/lib/sdk/ui/sidebar/actions.js',
|
||||
'source/lib/sdk/ui/sidebar/contract.js',
|
||||
'source/lib/sdk/ui/sidebar/namespace.js',
|
||||
'source/lib/sdk/ui/sidebar/utils.js',
|
||||
'source/lib/sdk/ui/sidebar/view.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.window += [
|
||||
'source/lib/sdk/window/browser.js',
|
||||
'source/lib/sdk/window/events.js',
|
||||
'source/lib/sdk/window/helpers.js',
|
||||
'source/lib/sdk/window/namespace.js',
|
||||
'source/lib/sdk/window/utils.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.window += [
|
||||
'source/lib/sdk/window/browser.js',
|
||||
'source/lib/sdk/window/events.js',
|
||||
'source/lib/sdk/window/helpers.js',
|
||||
'source/lib/sdk/window/namespace.js',
|
||||
'source/lib/sdk/window/utils.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs.sdk.windows += [
|
||||
'source/lib/sdk/windows/fennec.js',
|
||||
'source/lib/sdk/windows/firefox.js',
|
||||
'source/lib/sdk/windows/observer.js',
|
||||
'source/lib/sdk/windows/tabs-fennec.js',
|
||||
]
|
||||
EXTRA_JS_MODULES.commonjs.sdk.windows += [
|
||||
'source/lib/sdk/windows/fennec.js',
|
||||
'source/lib/sdk/windows/firefox.js',
|
||||
'source/lib/sdk/windows/observer.js',
|
||||
'source/lib/sdk/windows/tabs-fennec.js',
|
||||
]
|
||||
|
||||
EXTRA_JS_MODULES.commonjs += [
|
||||
'source/lib/index.js',
|
||||
|
@ -542,4 +541,4 @@ EXTRA_JS_MODULES.commonjs.toolkit += [
|
|||
]
|
||||
|
||||
with Files("**"):
|
||||
BUG_COMPONENT = ("Add-on SDK", "General")
|
||||
BUG_COMPONENT = ("Add-on SDK", "General")
|
||||
|
|
|
@ -63,7 +63,9 @@ function load(sandbox, uri) {
|
|||
|
||||
return evaluate(sandbox, decodeURIComponent(source), '1.8', uri, 0);
|
||||
} else {
|
||||
return scriptLoader.loadSubScript(uri, sandbox, 'UTF-8');
|
||||
return scriptLoader.loadSubScriptWithOptions(uri, {target: sandbox,
|
||||
charset: 'UTF-8',
|
||||
wantReturnValue: true});
|
||||
}
|
||||
}
|
||||
exports.load = load;
|
||||
|
|
373
b2g/LICENSE
|
@ -1,373 +0,0 @@
|
|||
Mozilla Public License Version 2.0
|
||||
==================================
|
||||
|
||||
1. Definitions
|
||||
--------------
|
||||
|
||||
1.1. "Contributor"
|
||||
means each individual or legal entity that creates, contributes to
|
||||
the creation of, or owns Covered Software.
|
||||
|
||||
1.2. "Contributor Version"
|
||||
means the combination of the Contributions of others (if any) used
|
||||
by a Contributor and that particular Contributor's Contribution.
|
||||
|
||||
1.3. "Contribution"
|
||||
means Covered Software of a particular Contributor.
|
||||
|
||||
1.4. "Covered Software"
|
||||
means Source Code Form to which the initial Contributor has attached
|
||||
the notice in Exhibit A, the Executable Form of such Source Code
|
||||
Form, and Modifications of such Source Code Form, in each case
|
||||
including portions thereof.
|
||||
|
||||
1.5. "Incompatible With Secondary Licenses"
|
||||
means
|
||||
|
||||
(a) that the initial Contributor has attached the notice described
|
||||
in Exhibit B to the Covered Software; or
|
||||
|
||||
(b) that the Covered Software was made available under the terms of
|
||||
version 1.1 or earlier of the License, but not also under the
|
||||
terms of a Secondary License.
|
||||
|
||||
1.6. "Executable Form"
|
||||
means any form of the work other than Source Code Form.
|
||||
|
||||
1.7. "Larger Work"
|
||||
means a work that combines Covered Software with other material, in
|
||||
a separate file or files, that is not Covered Software.
|
||||
|
||||
1.8. "License"
|
||||
means this document.
|
||||
|
||||
1.9. "Licensable"
|
||||
means having the right to grant, to the maximum extent possible,
|
||||
whether at the time of the initial grant or subsequently, any and
|
||||
all of the rights conveyed by this License.
|
||||
|
||||
1.10. "Modifications"
|
||||
means any of the following:
|
||||
|
||||
(a) any file in Source Code Form that results from an addition to,
|
||||
deletion from, or modification of the contents of Covered
|
||||
Software; or
|
||||
|
||||
(b) any new file in Source Code Form that contains any Covered
|
||||
Software.
|
||||
|
||||
1.11. "Patent Claims" of a Contributor
|
||||
means any patent claim(s), including without limitation, method,
|
||||
process, and apparatus claims, in any patent Licensable by such
|
||||
Contributor that would be infringed, but for the grant of the
|
||||
License, by the making, using, selling, offering for sale, having
|
||||
made, import, or transfer of either its Contributions or its
|
||||
Contributor Version.
|
||||
|
||||
1.12. "Secondary License"
|
||||
means either the GNU General Public License, Version 2.0, the GNU
|
||||
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||
Public License, Version 3.0, or any later versions of those
|
||||
licenses.
|
||||
|
||||
1.13. "Source Code Form"
|
||||
means the form of the work preferred for making modifications.
|
||||
|
||||
1.14. "You" (or "Your")
|
||||
means an individual or a legal entity exercising rights under this
|
||||
License. For legal entities, "You" includes any entity that
|
||||
controls, is controlled by, or is under common control with You. For
|
||||
purposes of this definition, "control" means (a) the power, direct
|
||||
or indirect, to cause the direction or management of such entity,
|
||||
whether by contract or otherwise, or (b) ownership of more than
|
||||
fifty percent (50%) of the outstanding shares or beneficial
|
||||
ownership of such entity.
|
||||
|
||||
2. License Grants and Conditions
|
||||
--------------------------------
|
||||
|
||||
2.1. Grants
|
||||
|
||||
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license:
|
||||
|
||||
(a) under intellectual property rights (other than patent or trademark)
|
||||
Licensable by such Contributor to use, reproduce, make available,
|
||||
modify, display, perform, distribute, and otherwise exploit its
|
||||
Contributions, either on an unmodified basis, with Modifications, or
|
||||
as part of a Larger Work; and
|
||||
|
||||
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||
for sale, have made, import, and otherwise transfer either its
|
||||
Contributions or its Contributor Version.
|
||||
|
||||
2.2. Effective Date
|
||||
|
||||
The licenses granted in Section 2.1 with respect to any Contribution
|
||||
become effective for each Contribution on the date the Contributor first
|
||||
distributes such Contribution.
|
||||
|
||||
2.3. Limitations on Grant Scope
|
||||
|
||||
The licenses granted in this Section 2 are the only rights granted under
|
||||
this License. No additional rights or licenses will be implied from the
|
||||
distribution or licensing of Covered Software under this License.
|
||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||
Contributor:
|
||||
|
||||
(a) for any code that a Contributor has removed from Covered Software;
|
||||
or
|
||||
|
||||
(b) for infringements caused by: (i) Your and any other third party's
|
||||
modifications of Covered Software, or (ii) the combination of its
|
||||
Contributions with other software (except as part of its Contributor
|
||||
Version); or
|
||||
|
||||
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||
its Contributions.
|
||||
|
||||
This License does not grant any rights in the trademarks, service marks,
|
||||
or logos of any Contributor (except as may be necessary to comply with
|
||||
the notice requirements in Section 3.4).
|
||||
|
||||
2.4. Subsequent Licenses
|
||||
|
||||
No Contributor makes additional grants as a result of Your choice to
|
||||
distribute the Covered Software under a subsequent version of this
|
||||
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||
permitted under the terms of Section 3.3).
|
||||
|
||||
2.5. Representation
|
||||
|
||||
Each Contributor represents that the Contributor believes its
|
||||
Contributions are its original creation(s) or it has sufficient rights
|
||||
to grant the rights to its Contributions conveyed by this License.
|
||||
|
||||
2.6. Fair Use
|
||||
|
||||
This License is not intended to limit any rights You have under
|
||||
applicable copyright doctrines of fair use, fair dealing, or other
|
||||
equivalents.
|
||||
|
||||
2.7. Conditions
|
||||
|
||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||
in Section 2.1.
|
||||
|
||||
3. Responsibilities
|
||||
-------------------
|
||||
|
||||
3.1. Distribution of Source Form
|
||||
|
||||
All distribution of Covered Software in Source Code Form, including any
|
||||
Modifications that You create or to which You contribute, must be under
|
||||
the terms of this License. You must inform recipients that the Source
|
||||
Code Form of the Covered Software is governed by the terms of this
|
||||
License, and how they can obtain a copy of this License. You may not
|
||||
attempt to alter or restrict the recipients' rights in the Source Code
|
||||
Form.
|
||||
|
||||
3.2. Distribution of Executable Form
|
||||
|
||||
If You distribute Covered Software in Executable Form then:
|
||||
|
||||
(a) such Covered Software must also be made available in Source Code
|
||||
Form, as described in Section 3.1, and You must inform recipients of
|
||||
the Executable Form how they can obtain a copy of such Source Code
|
||||
Form by reasonable means in a timely manner, at a charge no more
|
||||
than the cost of distribution to the recipient; and
|
||||
|
||||
(b) You may distribute such Executable Form under the terms of this
|
||||
License, or sublicense it under different terms, provided that the
|
||||
license for the Executable Form does not attempt to limit or alter
|
||||
the recipients' rights in the Source Code Form under this License.
|
||||
|
||||
3.3. Distribution of a Larger Work
|
||||
|
||||
You may create and distribute a Larger Work under terms of Your choice,
|
||||
provided that You also comply with the requirements of this License for
|
||||
the Covered Software. If the Larger Work is a combination of Covered
|
||||
Software with a work governed by one or more Secondary Licenses, and the
|
||||
Covered Software is not Incompatible With Secondary Licenses, this
|
||||
License permits You to additionally distribute such Covered Software
|
||||
under the terms of such Secondary License(s), so that the recipient of
|
||||
the Larger Work may, at their option, further distribute the Covered
|
||||
Software under the terms of either this License or such Secondary
|
||||
License(s).
|
||||
|
||||
3.4. Notices
|
||||
|
||||
You may not remove or alter the substance of any license notices
|
||||
(including copyright notices, patent notices, disclaimers of warranty,
|
||||
or limitations of liability) contained within the Source Code Form of
|
||||
the Covered Software, except that You may alter any license notices to
|
||||
the extent required to remedy known factual inaccuracies.
|
||||
|
||||
3.5. Application of Additional Terms
|
||||
|
||||
You may choose to offer, and to charge a fee for, warranty, support,
|
||||
indemnity or liability obligations to one or more recipients of Covered
|
||||
Software. However, You may do so only on Your own behalf, and not on
|
||||
behalf of any Contributor. You must make it absolutely clear that any
|
||||
such warranty, support, indemnity, or liability obligation is offered by
|
||||
You alone, and You hereby agree to indemnify every Contributor for any
|
||||
liability incurred by such Contributor as a result of warranty, support,
|
||||
indemnity or liability terms You offer. You may include additional
|
||||
disclaimers of warranty and limitations of liability specific to any
|
||||
jurisdiction.
|
||||
|
||||
4. Inability to Comply Due to Statute or Regulation
|
||||
---------------------------------------------------
|
||||
|
||||
If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Software due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description must
|
||||
be placed in a text file included with all distributions of the Covered
|
||||
Software under this License. Except to the extent prohibited by statute
|
||||
or regulation, such description must be sufficiently detailed for a
|
||||
recipient of ordinary skill to be able to understand it.
|
||||
|
||||
5. Termination
|
||||
--------------
|
||||
|
||||
5.1. The rights granted under this License will terminate automatically
|
||||
if You fail to comply with any of its terms. However, if You become
|
||||
compliant, then the rights granted under this License from a particular
|
||||
Contributor are reinstated (a) provisionally, unless and until such
|
||||
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||
ongoing basis, if such Contributor fails to notify You of the
|
||||
non-compliance by some reasonable means prior to 60 days after You have
|
||||
come back into compliance. Moreover, Your grants from a particular
|
||||
Contributor are reinstated on an ongoing basis if such Contributor
|
||||
notifies You of the non-compliance by some reasonable means, this is the
|
||||
first time You have received notice of non-compliance with this License
|
||||
from such Contributor, and You become compliant prior to 30 days after
|
||||
Your receipt of the notice.
|
||||
|
||||
5.2. If You initiate litigation against any entity by asserting a patent
|
||||
infringement claim (excluding declaratory judgment actions,
|
||||
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||
directly or indirectly infringes any patent, then the rights granted to
|
||||
You by any and all Contributors for the Covered Software under Section
|
||||
2.1 of this License shall terminate.
|
||||
|
||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||
end user license agreements (excluding distributors and resellers) which
|
||||
have been validly granted by You or Your distributors under this License
|
||||
prior to termination shall survive termination.
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 6. Disclaimer of Warranty *
|
||||
* ------------------------- *
|
||||
* *
|
||||
* Covered Software is provided under this License on an "as is" *
|
||||
* basis, without warranty of any kind, either expressed, implied, or *
|
||||
* statutory, including, without limitation, warranties that the *
|
||||
* Covered Software is free of defects, merchantable, fit for a *
|
||||
* particular purpose or non-infringing. The entire risk as to the *
|
||||
* quality and performance of the Covered Software is with You. *
|
||||
* Should any Covered Software prove defective in any respect, You *
|
||||
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||
* essential part of this License. No use of any Covered Software is *
|
||||
* authorized under this License except under this disclaimer. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 7. Limitation of Liability *
|
||||
* -------------------------- *
|
||||
* *
|
||||
* Under no circumstances and under no legal theory, whether tort *
|
||||
* (including negligence), contract, or otherwise, shall any *
|
||||
* Contributor, or anyone who distributes Covered Software as *
|
||||
* permitted above, be liable to You for any direct, indirect, *
|
||||
* special, incidental, or consequential damages of any character *
|
||||
* including, without limitation, damages for lost profits, loss of *
|
||||
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||
* and all other commercial damages or losses, even if such party *
|
||||
* shall have been informed of the possibility of such damages. This *
|
||||
* limitation of liability shall not apply to liability for death or *
|
||||
* personal injury resulting from such party's negligence to the *
|
||||
* extent applicable law prohibits such limitation. Some *
|
||||
* jurisdictions do not allow the exclusion or limitation of *
|
||||
* incidental or consequential damages, so this exclusion and *
|
||||
* limitation may not apply to You. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
8. Litigation
|
||||
-------------
|
||||
|
||||
Any litigation relating to this License may be brought only in the
|
||||
courts of a jurisdiction where the defendant maintains its principal
|
||||
place of business and such litigation shall be governed by laws of that
|
||||
jurisdiction, without reference to its conflict-of-law provisions.
|
||||
Nothing in this Section shall prevent a party's ability to bring
|
||||
cross-claims or counter-claims.
|
||||
|
||||
9. Miscellaneous
|
||||
----------------
|
||||
|
||||
This License represents the complete agreement concerning the subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. Any law or regulation which provides
|
||||
that the language of a contract shall be construed against the drafter
|
||||
shall not be used to construe this License against a Contributor.
|
||||
|
||||
10. Versions of the License
|
||||
---------------------------
|
||||
|
||||
10.1. New Versions
|
||||
|
||||
Mozilla Foundation is the license steward. Except as provided in Section
|
||||
10.3, no one other than the license steward has the right to modify or
|
||||
publish new versions of this License. Each version will be given a
|
||||
distinguishing version number.
|
||||
|
||||
10.2. Effect of New Versions
|
||||
|
||||
You may distribute the Covered Software under the terms of the version
|
||||
of the License under which You originally received the Covered Software,
|
||||
or under the terms of any subsequent version published by the license
|
||||
steward.
|
||||
|
||||
10.3. Modified Versions
|
||||
|
||||
If you create software not governed by this License, and you want to
|
||||
create a new license for such software, you may create and use a
|
||||
modified version of this License if you rename the license and remove
|
||||
any references to the name of the license steward (except to note that
|
||||
such modified license differs from this License).
|
||||
|
||||
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||
Licenses
|
||||
|
||||
If You choose to distribute Source Code Form that is Incompatible With
|
||||
Secondary Licenses under the terms of this version of the License, the
|
||||
notice described in Exhibit B of this License must be attached.
|
||||
|
||||
Exhibit A - Source Code Form License Notice
|
||||
-------------------------------------------
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
file in a relevant directory) where a recipient would be likely to look
|
||||
for such a notice.
|
||||
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
|
||||
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||
---------------------------------------------------------
|
||||
|
||||
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||
defined by the Mozilla Public License, v. 2.0.
|
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
include $(topsrcdir)/testing/testsuite-targets.mk
|
|
@ -1,15 +0,0 @@
|
|||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
include('/toolkit/toolkit.mozbuild')
|
||||
|
||||
if CONFIG['MOZ_EXTENSIONS']:
|
||||
DIRS += ['/extensions']
|
||||
|
||||
DIRS += [
|
||||
'/%s' % CONFIG['MOZ_BRANDING_DIRECTORY'],
|
||||
'/b2g',
|
||||
]
|
|
@ -1,66 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Make sure the standalone glue doesn't try to get libxpcom.so from b2g/app.
|
||||
NSDISTMODE = copy
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
APP_ICON = app
|
||||
|
||||
APP_BINARY = $(MOZ_APP_NAME)$(BIN_SUFFIX)
|
||||
|
||||
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
||||
|
||||
APP_NAME = $(MOZ_APP_DISPLAYNAME)
|
||||
APP_VERSION = $(MOZ_APP_VERSION)
|
||||
|
||||
ifdef MOZ_DEBUG
|
||||
APP_NAME := $(APP_NAME)Debug
|
||||
endif
|
||||
|
||||
AB_CD = $(MOZ_UI_LOCALE)
|
||||
|
||||
ifeq (zh-TW,$(AB_CD))
|
||||
LPROJ_ROOT := $(subst -,_,$(AB_CD))
|
||||
else
|
||||
LPROJ_ROOT := $(firstword $(subst -, ,$(AB_CD)))
|
||||
endif
|
||||
LPROJ := Contents/Resources/$(LPROJ_ROOT).lproj
|
||||
|
||||
clean clobber repackage::
|
||||
rm -rf $(DIST)/$(APP_NAME).app
|
||||
|
||||
libs-preqs = \
|
||||
$(call mkdir_deps,$(DIST)/$(APP_NAME).app/Contents/MacOS) \
|
||||
$(call mkdir_deps,$(DIST)/$(APP_NAME).app/$(LPROJ)) \
|
||||
$(NULL)
|
||||
|
||||
.PHONY: repackage
|
||||
tools repackage:: $(libs-preqs)
|
||||
rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents $(DIST)/$(APP_NAME).app --exclude English.lproj
|
||||
rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(DIST)/$(APP_NAME).app/$(LPROJ)
|
||||
sed -e 's/%MOZ_APP_VERSION%/$(MOZ_APP_VERSION)/' -e 's/%MOZ_APP_NAME%/$(MOZ_APP_NAME)/' -e 's/%APP_VERSION%/$(APP_VERSION)/' -e 's/%APP_NAME%/$(APP_NAME)/' -e 's/%APP_BINARY%/$(APP_BINARY)/' $(srcdir)/macbuild/Contents/Info.plist.in > $(DIST)/$(APP_NAME).app/Contents/Info.plist
|
||||
sed -e 's/%APP_VERSION%/$(APP_VERSION)/' -e 's/%APP_NAME%/$(APP_NAME)/' $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > $(DIST)/$(APP_NAME).app/$(LPROJ)/InfoPlist.strings
|
||||
rsync -a --exclude 'mangle' --exclude 'shlibsign' --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ $(DIST)/$(APP_NAME).app/Contents/Resources
|
||||
rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ $(DIST)/$(APP_NAME).app/Contents/MacOS
|
||||
$(RM) $(DIST)/$(APP_NAME).app/Contents/MacOS/$(PROGRAM)
|
||||
rsync -aL $(PROGRAM) $(DIST)/$(APP_NAME).app/Contents/MacOS
|
||||
cp -RL $(DIST)/branding/app.icns $(DIST)/$(APP_NAME).app/Contents/Resources/$(MOZ_APP_NAME).icns
|
||||
printf APPLMOZB > $(DIST)/$(APP_NAME).app/Contents/PkgInfo
|
||||
|
||||
else # MOZ_WIDGET_TOOLKIT != cocoa
|
||||
|
||||
libs::
|
||||
$(NSINSTALL) -D $(DIST)/bin/chrome/icons/default
|
||||
|
||||
# Copy the app icon for b2g-desktop
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
cp $(DIST)/branding/$(APP_ICON).ico $(DIST)/bin/chrome/icons/default/$(APP_ICON).ico
|
||||
cp $(DIST)/branding/$(APP_ICON).ico $(DIST)/bin/chrome/icons/default/default.ico
|
||||
else ifneq (gonk,$(MOZ_WIDGET_TOOLKIT))
|
||||
cp $(DIST)/branding/default.png $(DIST)/bin/chrome/icons/default/default.png
|
||||
endif
|
||||
|
||||
endif
|
941
b2g/app/b2g.js
|
@ -1,941 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#filter substitution
|
||||
|
||||
// For the all MOZ_MULET ifdef conditions in this file: see bug 1174234
|
||||
|
||||
#ifndef MOZ_MULET
|
||||
pref("toolkit.defaultChromeURI", "chrome://b2g/content/shell.html");
|
||||
pref("browser.chromeURL", "chrome://b2g/content/");
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_MULET
|
||||
// Set FxOS as the default homepage
|
||||
// bug 1000122: this pref is fetched as a complex value,
|
||||
// so that it can't be set a just a string.
|
||||
// data: url is a workaround this.
|
||||
pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=chrome://b2g/content/shell.html");
|
||||
pref("b2g.is_mulet", true);
|
||||
// Prevent having the firstrun page
|
||||
pref("startup.homepage_welcome_url", "");
|
||||
pref("browser.shell.checkDefaultBrowser", false);
|
||||
// Automatically open devtools on the firefox os panel
|
||||
pref("devtools.toolbox.host", "side");
|
||||
pref("devtools.toolbox.sidebar.width", 800);
|
||||
// Disable session store to ensure having only one tab opened
|
||||
pref("browser.sessionstore.max_tabs_undo", 0);
|
||||
pref("browser.sessionstore.max_windows_undo", 0);
|
||||
pref("browser.sessionstore.restore_on_demand", false);
|
||||
pref("browser.sessionstore.resume_from_crash", false);
|
||||
// No e10s on mulet
|
||||
pref("browser.tabs.remote.autostart.1", false);
|
||||
pref("browser.tabs.remote.autostart.2", false);
|
||||
#endif
|
||||
|
||||
// Bug 945235: Prevent all bars to be considered visible:
|
||||
pref("toolkit.defaultChromeFeatures", "chrome,dialog=no,close,resizable,scrollbars,extrachrome");
|
||||
|
||||
// Disable focus rings
|
||||
pref("browser.display.focus_ring_width", 0);
|
||||
|
||||
// Device pixel to CSS px ratio, in percent. Set to -1 to calculate based on display density.
|
||||
pref("browser.viewport.scaleRatio", -1);
|
||||
|
||||
/* disable text selection */
|
||||
pref("browser.ignoreNativeFrameTextSelection", true);
|
||||
|
||||
/* cache prefs */
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
pref("browser.cache.disk.enable", true);
|
||||
pref("browser.cache.disk.capacity", 55000); // kilobytes
|
||||
pref("browser.cache.disk.parent_directory", "/cache");
|
||||
#endif
|
||||
pref("browser.cache.disk.smart_size.enabled", false);
|
||||
pref("browser.cache.disk.smart_size.first_run", false);
|
||||
|
||||
pref("browser.cache.memory.enable", true);
|
||||
pref("browser.cache.memory.capacity", 1024); // kilobytes
|
||||
|
||||
pref("browser.cache.memory_limit", 2048); // 2 MB
|
||||
|
||||
/* image cache prefs */
|
||||
pref("image.cache.size", 1048576); // bytes
|
||||
pref("canvas.image.cache.limit", 20971520); // 20 MB
|
||||
|
||||
/* offline cache prefs */
|
||||
pref("browser.offline-apps.notify", false);
|
||||
pref("browser.cache.offline.enable", true);
|
||||
pref("offline-apps.allow_by_default", true);
|
||||
|
||||
/* protocol warning prefs */
|
||||
pref("network.protocol-handler.warn-external.tel", false);
|
||||
pref("network.protocol-handler.warn-external.mailto", false);
|
||||
pref("network.protocol-handler.warn-external.vnd.youtube", false);
|
||||
|
||||
/* http prefs */
|
||||
pref("network.http.pipelining", true);
|
||||
pref("network.http.pipelining.ssl", true);
|
||||
pref("network.http.proxy.pipelining", true);
|
||||
pref("network.http.pipelining.maxrequests" , 6);
|
||||
pref("network.http.keep-alive.timeout", 109);
|
||||
pref("network.http.max-connections", 20);
|
||||
pref("network.http.max-persistent-connections-per-server", 6);
|
||||
pref("network.http.max-persistent-connections-per-proxy", 20);
|
||||
|
||||
// Keep the old default of accepting all cookies,
|
||||
// no matter if you already visited the website or not
|
||||
pref("network.cookie.cookieBehavior", 0);
|
||||
|
||||
// spdy
|
||||
pref("network.http.spdy.push-allowance", 32768);
|
||||
pref("network.http.spdy.default-hpack-buffer", 4096); // 4k
|
||||
|
||||
// See bug 545869 for details on why these are set the way they are
|
||||
pref("network.buffer.cache.count", 24);
|
||||
pref("network.buffer.cache.size", 16384);
|
||||
|
||||
// predictive actions
|
||||
pref("network.predictor.enabled", false); // disabled on b2g
|
||||
pref("network.predictor.max-db-size", 2097152); // bytes
|
||||
pref("network.predictor.preserve", 50); // percentage of predictor data to keep when cleaning up
|
||||
|
||||
/* session history */
|
||||
pref("browser.sessionhistory.max_entries", 50);
|
||||
pref("browser.sessionhistory.contentViewerTimeout", 360);
|
||||
|
||||
/* session store */
|
||||
pref("browser.sessionstore.resume_session_once", false);
|
||||
pref("browser.sessionstore.resume_from_crash", true);
|
||||
pref("browser.sessionstore.resume_from_crash_timeout", 60); // minutes
|
||||
pref("browser.sessionstore.interval", 10000); // milliseconds
|
||||
pref("browser.sessionstore.max_tabs_undo", 1);
|
||||
|
||||
/* these should help performance */
|
||||
pref("mozilla.widget.force-24bpp", true);
|
||||
pref("mozilla.widget.use-buffer-pixmap", true);
|
||||
pref("mozilla.widget.disable-native-theme", true);
|
||||
pref("layout.reflow.synthMouseMove", false);
|
||||
#ifndef MOZ_X11
|
||||
pref("layers.enable-tiles", true);
|
||||
#endif
|
||||
pref("layers.low-precision-buffer", true);
|
||||
pref("layers.low-precision-opacity", "0.5");
|
||||
pref("layers.progressive-paint", true);
|
||||
|
||||
/* download manager (don't show the window or alert) */
|
||||
pref("browser.download.useDownloadDir", true);
|
||||
pref("browser.download.folderList", 1); // Default to ~/Downloads
|
||||
pref("browser.download.manager.showAlertOnComplete", false);
|
||||
pref("browser.download.manager.showAlertInterval", 2000);
|
||||
pref("browser.download.manager.retention", 2);
|
||||
pref("browser.download.manager.showWhenStarting", false);
|
||||
pref("browser.download.manager.closeWhenDone", true);
|
||||
pref("browser.download.manager.openDelay", 0);
|
||||
pref("browser.download.manager.focusWhenStarting", false);
|
||||
pref("browser.download.manager.flashCount", 2);
|
||||
pref("browser.download.manager.displayedHistoryDays", 7);
|
||||
|
||||
/* download helper */
|
||||
pref("browser.helperApps.deleteTempFileOnExit", false);
|
||||
|
||||
/* password manager */
|
||||
pref("signon.rememberSignons", true);
|
||||
pref("signon.expireMasterPassword", false);
|
||||
|
||||
/* autocomplete */
|
||||
pref("browser.formfill.enable", true);
|
||||
|
||||
/* spellcheck */
|
||||
pref("layout.spellcheckDefault", 0);
|
||||
|
||||
/* block popups by default, and notify the user about blocked popups */
|
||||
pref("dom.disable_open_during_load", true);
|
||||
pref("privacy.popups.showBrowserMessage", true);
|
||||
|
||||
pref("keyword.enabled", true);
|
||||
pref("browser.fixup.domainwhitelist.localhost", true);
|
||||
|
||||
pref("accessibility.typeaheadfind", false);
|
||||
pref("accessibility.typeaheadfind.timeout", 5000);
|
||||
pref("accessibility.typeaheadfind.flashBar", 1);
|
||||
pref("accessibility.typeaheadfind.linksonly", false);
|
||||
pref("accessibility.typeaheadfind.casesensitive", 0);
|
||||
|
||||
// SSL error page behaviour
|
||||
pref("browser.ssl_override_behavior", 2);
|
||||
pref("browser.xul.error_pages.expert_bad_cert", false);
|
||||
|
||||
// disable updating
|
||||
pref("browser.search.update", false);
|
||||
|
||||
// tell the search service that we don't really expose the "current engine"
|
||||
pref("browser.search.noCurrentEngine", true);
|
||||
|
||||
// enable xul error pages
|
||||
pref("browser.xul.error_pages.enabled", true);
|
||||
|
||||
// disable color management
|
||||
pref("gfx.color_management.mode", 0);
|
||||
|
||||
// don't allow JS to move and resize existing windows
|
||||
pref("dom.disable_window_move_resize", true);
|
||||
|
||||
// prevent click image resizing for nsImageDocument
|
||||
pref("browser.enable_click_image_resizing", false);
|
||||
|
||||
// controls which bits of private data to clear. by default we clear them all.
|
||||
pref("privacy.item.cache", true);
|
||||
pref("privacy.item.cookies", true);
|
||||
pref("privacy.item.offlineApps", true);
|
||||
pref("privacy.item.history", true);
|
||||
pref("privacy.item.formdata", true);
|
||||
pref("privacy.item.downloads", true);
|
||||
pref("privacy.item.passwords", true);
|
||||
pref("privacy.item.sessions", true);
|
||||
pref("privacy.item.geolocation", true);
|
||||
pref("privacy.item.siteSettings", true);
|
||||
pref("privacy.item.syncAccount", true);
|
||||
|
||||
// base url for the wifi geolocation network provider
|
||||
pref("geo.provider.use_mls", false);
|
||||
pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
|
||||
|
||||
// base url for the stumbler
|
||||
pref("geo.stumbler.url", "https://location.services.mozilla.com/v1/geosubmit?key=%MOZILLA_API_KEY%");
|
||||
|
||||
// enable geo
|
||||
pref("geo.enabled", true);
|
||||
|
||||
// content sink control -- controls responsiveness during page load
|
||||
// see https://bugzilla.mozilla.org/show_bug.cgi?id=481566#c9
|
||||
pref("content.sink.enable_perf_mode", 2); // 0 - switch, 1 - interactive, 2 - perf
|
||||
pref("content.sink.pending_event_mode", 0);
|
||||
pref("content.sink.perf_deflect_count", 1000000);
|
||||
pref("content.sink.perf_parse_time", 50000000);
|
||||
|
||||
// Maximum scripts runtime before showing an alert
|
||||
// Disable the watchdog thread for B2G. See bug 870043 comment 31.
|
||||
pref("dom.use_watchdog", false);
|
||||
|
||||
// The slow script dialog can be triggered from inside the JS engine as well,
|
||||
// ensure that those calls don't accidentally trigger the dialog.
|
||||
pref("dom.max_script_run_time", 0);
|
||||
pref("dom.max_chrome_script_run_time", 0);
|
||||
|
||||
// plugins
|
||||
pref("plugin.disable", true);
|
||||
pref("dom.ipc.plugins.enabled", true);
|
||||
|
||||
// product URLs
|
||||
// The breakpad report server to link to in about:crashes
|
||||
pref("breakpad.reportURL", "https://crash-stats.mozilla.com/report/index/");
|
||||
pref("app.releaseNotesURL", "https://www.mozilla.com/%LOCALE%/b2g/%VERSION%/releasenotes/");
|
||||
pref("app.support.baseURL", "https://support.mozilla.com/b2g");
|
||||
pref("app.privacyURL", "https://www.mozilla.com/%LOCALE%/m/privacy.html");
|
||||
pref("app.creditsURL", "https://www.mozilla.org/credits/");
|
||||
pref("app.featuresURL", "https://www.mozilla.com/%LOCALE%/b2g/features/");
|
||||
pref("app.faqURL", "https://www.mozilla.com/%LOCALE%/b2g/faq/");
|
||||
|
||||
// Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror)
|
||||
pref("security.alternate_certificate_error_page", "certerror");
|
||||
|
||||
pref("security.warn_viewing_mixed", false); // Warning is disabled. See Bug 616712.
|
||||
|
||||
// Block insecure active content on https pages
|
||||
pref("security.mixed_content.block_active_content", true);
|
||||
|
||||
// 2 = strict certificate pinning checks.
|
||||
// This default preference is more strict than Firefox because B2G
|
||||
// currently does not have a way to install local root certificates.
|
||||
// Strict checking is effectively equivalent to non-strict checking as
|
||||
// long as that is true. If an ability to add local certificates is
|
||||
// added, there may be a need to change this pref.
|
||||
pref("security.cert_pinning.enforcement_level", 2);
|
||||
|
||||
|
||||
// Override some named colors to avoid inverse OS themes
|
||||
pref("ui.-moz-dialog", "#efebe7");
|
||||
pref("ui.-moz-dialogtext", "#101010");
|
||||
pref("ui.-moz-field", "#fff");
|
||||
pref("ui.-moz-fieldtext", "#1a1a1a");
|
||||
pref("ui.-moz-buttonhoverface", "#f3f0ed");
|
||||
pref("ui.-moz-buttonhovertext", "#101010");
|
||||
pref("ui.-moz-combobox", "#fff");
|
||||
pref("ui.-moz-comboboxtext", "#101010");
|
||||
pref("ui.buttonface", "#ece7e2");
|
||||
pref("ui.buttonhighlight", "#fff");
|
||||
pref("ui.buttonshadow", "#aea194");
|
||||
pref("ui.buttontext", "#101010");
|
||||
pref("ui.captiontext", "#101010");
|
||||
pref("ui.graytext", "#b1a598");
|
||||
pref("ui.highlighttext", "#1a1a1a");
|
||||
pref("ui.threeddarkshadow", "#000");
|
||||
pref("ui.threedface", "#ece7e2");
|
||||
pref("ui.threedhighlight", "#fff");
|
||||
pref("ui.threedlightshadow", "#ece7e2");
|
||||
pref("ui.threedshadow", "#aea194");
|
||||
pref("ui.windowframe", "#efebe7");
|
||||
|
||||
pref("ui.menu", "#f97c17");
|
||||
pref("ui.menutext", "#ffffff");
|
||||
pref("ui.infobackground", "#343e40");
|
||||
pref("ui.infotext", "#686868");
|
||||
pref("ui.window", "#ffffff");
|
||||
pref("ui.windowtext", "#000000");
|
||||
pref("ui.highlight", "#b2f2ff");
|
||||
|
||||
// replace newlines with spaces on paste into single-line text boxes
|
||||
pref("editor.singleLine.pasteNewlines", 2);
|
||||
|
||||
// threshold where a tap becomes a drag, in 1/240" reference pixels
|
||||
// The names of the preferences are to be in sync with EventStateManager.cpp
|
||||
pref("ui.dragThresholdX", 25);
|
||||
pref("ui.dragThresholdY", 25);
|
||||
|
||||
// Layers Acceleration. We can only have nice things on gonk, because
|
||||
// they're not maintained anywhere else.
|
||||
#ifndef MOZ_WIDGET_GONK
|
||||
pref("dom.ipc.tabs.disabled", true);
|
||||
pref("layers.async-pan-zoom.enabled", false);
|
||||
#else
|
||||
pref("dom.ipc.tabs.disabled", false);
|
||||
pref("layers.acceleration.disabled", false);
|
||||
pref("gfx.content.azure.backends", "cairo");
|
||||
#endif
|
||||
|
||||
// Web Notifications
|
||||
pref("notification.feature.enabled", true);
|
||||
|
||||
// prevent video elements from preloading too much data
|
||||
pref("media.preload.default", 1); // default to preload none
|
||||
pref("media.preload.auto", 2); // preload metadata if preload=auto
|
||||
pref("media.cache_size", 4096); // 4MB media cache
|
||||
// Try to save battery by not resuming reading from a connection until we fall
|
||||
// below 10s of buffered data.
|
||||
pref("media.cache_resume_threshold", 10);
|
||||
pref("media.cache_readahead_limit", 30);
|
||||
|
||||
#ifdef MOZ_FMP4
|
||||
// Enable/Disable Gonk Decoder Module
|
||||
pref("media.gonk.enabled", true);
|
||||
#endif
|
||||
|
||||
//Encrypted media extensions.
|
||||
pref("media.eme.enabled", true);
|
||||
// The default number of decoded video frames that are enqueued in
|
||||
// MediaDecoderReader's mVideoQueue.
|
||||
pref("media.video-queue.default-size", 3);
|
||||
|
||||
// optimize images' memory usage
|
||||
pref("image.downscale-during-decode.enabled", true);
|
||||
pref("image.mem.allow_locking_in_content_processes", true);
|
||||
// Limit the surface cache to 1/8 of main memory or 128MB, whichever is smaller.
|
||||
// Almost everything that was factored into 'max_decoded_image_kb' is now stored
|
||||
// in the surface cache. 1/8 of main memory is 32MB on a 256MB device, which is
|
||||
// about the same as the old 'max_decoded_image_kb'.
|
||||
pref("image.mem.surfacecache.max_size_kb", 131072); // 128MB
|
||||
pref("image.mem.surfacecache.size_factor", 8); // 1/8 of main memory
|
||||
pref("image.mem.surfacecache.discard_factor", 2); // Discard 1/2 of the surface cache at a time.
|
||||
pref("image.mem.surfacecache.min_expiration_ms", 86400000); // 24h, we rely on the out of memory hook
|
||||
|
||||
pref("dom.w3c_touch_events.safetyX", 0); // escape borders in units of 1/240"
|
||||
pref("dom.w3c_touch_events.safetyY", 120); // escape borders in units of 1/240"
|
||||
|
||||
// True if this is the first time we are showing about:firstrun
|
||||
pref("browser.firstrun.show.uidiscovery", true);
|
||||
pref("browser.firstrun.show.localepicker", true);
|
||||
|
||||
// initiated by a user
|
||||
pref("content.ime.strict_policy", true);
|
||||
|
||||
// True if you always want dump() to work
|
||||
//
|
||||
// On Android, you also need to do the following for the output
|
||||
// to show up in logcat:
|
||||
//
|
||||
// $ adb shell stop
|
||||
// $ adb shell setprop log.redirect-stdio true
|
||||
// $ adb shell start
|
||||
pref("browser.dom.window.dump.enabled", false);
|
||||
|
||||
// Default Content Security Policy to apply to certified apps.
|
||||
// If you change this CSP, make sure to update the fast path in nsCSPService.cpp
|
||||
pref("security.apps.certified.CSP.default", "default-src * data: blob:; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline' app://theme.gaiamobile.org");
|
||||
|
||||
// handle links targeting new windows
|
||||
// 1=current window/tab, 2=new window, 3=new tab in most recent window
|
||||
pref("browser.link.open_newwindow", 3);
|
||||
|
||||
// 0: no restrictions - divert everything
|
||||
// 1: don't divert window.open at all
|
||||
// 2: don't divert window.open with features
|
||||
pref("browser.link.open_newwindow.restriction", 0);
|
||||
|
||||
// Enable browser frames (including OOP, except on Windows, where it doesn't
|
||||
// work), but make in-process browser frames the default.
|
||||
pref("dom.mozBrowserFramesEnabled", true);
|
||||
|
||||
// Enable a (virtually) unlimited number of mozbrowser processes.
|
||||
// We'll run out of PIDs on UNIX-y systems before we hit this limit.
|
||||
pref("dom.ipc.processCount", 100000);
|
||||
|
||||
pref("dom.ipc.browser_frames.oop_by_default", false);
|
||||
|
||||
#if !defined(MOZ_MULET) && !defined(MOZ_GRAPHENE)
|
||||
pref("dom.meta-viewport.enabled", true);
|
||||
#endif
|
||||
|
||||
//The waiting time in network manager.
|
||||
pref("network.gonk.ms-release-mms-connection", 30000);
|
||||
|
||||
// Shortnumber matching needed for e.g. Brazil:
|
||||
// 03187654321 can be found with 87654321
|
||||
pref("dom.phonenumber.substringmatching.BR", 8);
|
||||
pref("dom.phonenumber.substringmatching.CO", 10);
|
||||
pref("dom.phonenumber.substringmatching.VE", 7);
|
||||
pref("dom.phonenumber.substringmatching.CL", 8);
|
||||
pref("dom.phonenumber.substringmatching.PE", 7);
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
pref("dom.webapps.firstRunWithSIM", true);
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_B2G_RIL
|
||||
// SingleVariant
|
||||
pref("dom.mozApps.single_variant_sourcedir", "/persist/svoperapps");
|
||||
#endif
|
||||
|
||||
// controls if we want camera support
|
||||
pref("device.camera.enabled", true);
|
||||
pref("media.realtime_decoder.enabled", true);
|
||||
|
||||
// TCPSocket
|
||||
pref("dom.mozTCPSocket.enabled", true);
|
||||
|
||||
// Handle hardware buttons in the b2g chrome package
|
||||
pref("b2g.keys.menu.enabled", true);
|
||||
|
||||
// Display simulator software buttons
|
||||
pref("b2g.software-buttons", false);
|
||||
|
||||
// Screen timeout in seconds
|
||||
pref("power.screen.timeout", 60);
|
||||
|
||||
pref("full-screen-api.enabled", true);
|
||||
|
||||
#ifndef MOZ_WIDGET_GONK
|
||||
// If we're not actually on physical hardware, don't make the top level widget
|
||||
// fullscreen when transitioning to fullscreen. This means in emulated
|
||||
// environments (like the b2g desktop client) we won't make the client window
|
||||
// fill the whole screen, we'll just make the content fill the client window,
|
||||
// i.e. it won't give the impression to content that the number of device
|
||||
// screen pixels changes!
|
||||
pref("full-screen-api.ignore-widgets", true);
|
||||
#endif
|
||||
|
||||
pref("media.volume.steps", 10);
|
||||
|
||||
#ifdef MOZ_UPDATER
|
||||
// When we're applying updates, we can't let anything hang us on
|
||||
// quit+restart. The user has no recourse.
|
||||
pref("shutdown.watchdog.timeoutSecs", 10);
|
||||
// Timeout before the update prompt automatically installs the update
|
||||
pref("b2g.update.apply-prompt-timeout", 60000); // milliseconds
|
||||
// Amount of time to wait after the user is idle before prompting to apply an update
|
||||
pref("b2g.update.apply-idle-timeout", 600000); // milliseconds
|
||||
// Amount of time after which connection will be restarted if no progress
|
||||
pref("b2g.update.download-watchdog-timeout", 120000); // milliseconds
|
||||
pref("b2g.update.download-watchdog-max-retries", 5);
|
||||
|
||||
pref("app.update.enabled", true);
|
||||
pref("app.update.auto", false);
|
||||
pref("app.update.silent", false);
|
||||
pref("app.update.staging.enabled", true);
|
||||
pref("app.update.service.enabled", true);
|
||||
|
||||
pref("app.update.url", "https://aus5.mozilla.org/update/5/%PRODUCT%/%VERSION%/%BUILD_ID%/%PRODUCT_DEVICE%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%IMEI%/update.xml");
|
||||
pref("app.update.channel", "@MOZ_UPDATE_CHANNEL@");
|
||||
|
||||
// Interval at which update manifest is fetched. In units of seconds.
|
||||
pref("app.update.interval", 86400); // 1 day
|
||||
// Don't throttle background updates.
|
||||
pref("app.update.download.backgroundInterval", 0);
|
||||
|
||||
// Retry update socket connections every 30 seconds in the cases of certain kinds of errors
|
||||
pref("app.update.socket.retryTimeout", 30000);
|
||||
|
||||
// Max of 20 consecutive retries (total 10 minutes) before giving up and marking
|
||||
// the update download as failed.
|
||||
// Note: Offline errors will always retry when the network comes online.
|
||||
pref("app.update.socket.maxErrors", 20);
|
||||
|
||||
// Enable update logging for now, to diagnose growing pains in the
|
||||
// field.
|
||||
pref("app.update.log", true);
|
||||
#else
|
||||
// Explicitly disable the shutdown watchdog. It's enabled by default.
|
||||
// When the updater is disabled, we want to know about shutdown hangs.
|
||||
pref("shutdown.watchdog.timeoutSecs", -1);
|
||||
#endif
|
||||
|
||||
// Allow webapps update checking
|
||||
pref("webapps.update.enabled", true);
|
||||
|
||||
// Check daily for apps updates.
|
||||
pref("webapps.update.interval", 86400);
|
||||
|
||||
// Extensions preferences
|
||||
pref("extensions.update.enabled", false);
|
||||
pref("extensions.getAddons.cache.enabled", false);
|
||||
|
||||
// Context Menu
|
||||
pref("ui.click_hold_context_menus", true);
|
||||
pref("ui.click_hold_context_menus.delay", 400);
|
||||
|
||||
// Enable device storage
|
||||
pref("device.storage.enabled", true);
|
||||
|
||||
// Enable pre-installed applications
|
||||
pref("dom.webapps.useCurrentProfile", true);
|
||||
|
||||
// Enable system message
|
||||
pref("dom.sysmsg.enabled", true);
|
||||
pref("media.plugins.enabled", false);
|
||||
pref("media.rtsp.enabled", true);
|
||||
pref("media.rtsp.video.enabled", true);
|
||||
|
||||
// Disable printing (particularly, window.print())
|
||||
pref("dom.disable_window_print", true);
|
||||
|
||||
// Disable window.showModalDialog
|
||||
pref("dom.disable_window_showModalDialog", true);
|
||||
|
||||
// Enable new experimental html forms
|
||||
pref("dom.experimental_forms", true);
|
||||
pref("dom.forms.number", true);
|
||||
|
||||
// Don't enable <input type=color> yet as we don't have a color picker
|
||||
// implemented for b2g (bug 875751)
|
||||
pref("dom.forms.color", false);
|
||||
|
||||
// This preference instructs the JS engine to discard the
|
||||
// source of any privileged JS after compilation. This saves
|
||||
// memory, but makes things like Function.prototype.toSource()
|
||||
// fail.
|
||||
pref("javascript.options.discardSystemSource", true);
|
||||
|
||||
// XXXX REMOVE FOR PRODUCTION. Turns on GC and CC logging
|
||||
pref("javascript.options.mem.log", false);
|
||||
|
||||
// Increase mark slice time from 10ms to 30ms
|
||||
pref("javascript.options.mem.gc_incremental_slice_ms", 30);
|
||||
|
||||
// Increase time to get more high frequency GC on benchmarks from 1000ms to 1500ms
|
||||
pref("javascript.options.mem.gc_high_frequency_time_limit_ms", 1500);
|
||||
|
||||
pref("javascript.options.mem.gc_high_frequency_heap_growth_max", 300);
|
||||
pref("javascript.options.mem.gc_high_frequency_heap_growth_min", 120);
|
||||
pref("javascript.options.mem.gc_high_frequency_high_limit_mb", 40);
|
||||
pref("javascript.options.mem.gc_high_frequency_low_limit_mb", 0);
|
||||
pref("javascript.options.mem.gc_low_frequency_heap_growth", 120);
|
||||
pref("javascript.options.mem.high_water_mark", 6);
|
||||
pref("javascript.options.mem.gc_allocation_threshold_mb", 1);
|
||||
pref("javascript.options.mem.gc_min_empty_chunk_count", 1);
|
||||
pref("javascript.options.mem.gc_max_empty_chunk_count", 2);
|
||||
|
||||
// Show/Hide scrollbars when active/inactive
|
||||
pref("ui.showHideScrollbars", 1);
|
||||
pref("ui.useOverlayScrollbars", 1);
|
||||
pref("ui.scrollbarFadeBeginDelay", 450);
|
||||
pref("ui.scrollbarFadeDuration", 0);
|
||||
|
||||
// Scrollbar position follows the document `dir` attribute
|
||||
pref("layout.scrollbar.side", 1);
|
||||
|
||||
// CSS Scroll Snapping
|
||||
pref("layout.css.scroll-snap.enabled", true);
|
||||
|
||||
// Enable the ProcessPriorityManager, and give processes with no visible
|
||||
// documents a 1s grace period before they're eligible to be marked as
|
||||
// background. Background processes that are perceivable due to playing
|
||||
// media are given a longer grace period to accomodate changing tracks, etc.
|
||||
pref("dom.ipc.processPriorityManager.enabled", true);
|
||||
pref("dom.ipc.processPriorityManager.backgroundGracePeriodMS", 1000);
|
||||
pref("dom.ipc.processPriorityManager.backgroundPerceivableGracePeriodMS", 5000);
|
||||
pref("dom.ipc.processPriorityManager.temporaryPriorityLockMS", 5000);
|
||||
|
||||
// Number of different background/foreground levels for background/foreground
|
||||
// processes. We use these different levels to force the low-memory killer to
|
||||
// kill processes in a LRU order.
|
||||
pref("dom.ipc.processPriorityManager.BACKGROUND.LRUPoolLevels", 5);
|
||||
pref("dom.ipc.processPriorityManager.BACKGROUND_PERCEIVABLE.LRUPoolLevels", 4);
|
||||
|
||||
// Kernel parameters for process priorities. These affect how processes are
|
||||
// killed on low-memory and their relative CPU priorities.
|
||||
//
|
||||
// The kernel can only accept 6 (OomScoreAdjust, KillUnderKB) pairs. But it is
|
||||
// okay, kernel will still kill processes with larger OomScoreAdjust first even
|
||||
// its OomScoreAdjust don't have a corresponding KillUnderKB.
|
||||
|
||||
pref("hal.processPriorityManager.gonk.MASTER.OomScoreAdjust", 0);
|
||||
pref("hal.processPriorityManager.gonk.MASTER.KillUnderKB", 4096);
|
||||
pref("hal.processPriorityManager.gonk.MASTER.cgroup", "");
|
||||
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND_HIGH.OomScoreAdjust", 67);
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND_HIGH.KillUnderKB", 5120);
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND_HIGH.cgroup", "apps/critical");
|
||||
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND.OomScoreAdjust", 134);
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND.KillUnderKB", 6144);
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND.cgroup", "apps");
|
||||
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND_KEYBOARD.OomScoreAdjust", 200);
|
||||
pref("hal.processPriorityManager.gonk.FOREGROUND_KEYBOARD.cgroup", "apps");
|
||||
|
||||
pref("hal.processPriorityManager.gonk.BACKGROUND_PERCEIVABLE.OomScoreAdjust", 400);
|
||||
pref("hal.processPriorityManager.gonk.BACKGROUND_PERCEIVABLE.KillUnderKB", 8192);
|
||||
pref("hal.processPriorityManager.gonk.BACKGROUND_PERCEIVABLE.cgroup", "apps/bg_perceivable");
|
||||
|
||||
pref("hal.processPriorityManager.gonk.BACKGROUND.OomScoreAdjust", 667);
|
||||
pref("hal.processPriorityManager.gonk.BACKGROUND.KillUnderKB", 20480);
|
||||
pref("hal.processPriorityManager.gonk.BACKGROUND.cgroup", "apps/bg_non_interactive");
|
||||
|
||||
// Control group definitions (i.e., CPU priority groups) for B2G processes.
|
||||
//
|
||||
// memory_swappiness - 0 - The kernel will swap only to avoid an out of memory condition
|
||||
// memory_swappiness - 60 - The default value.
|
||||
// memory_swappiness - 100 - The kernel will swap aggressively.
|
||||
|
||||
// Foreground apps
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps.cpu_shares", 1024);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps.memory_swappiness", 10);
|
||||
|
||||
// Foreground apps with high priority, 16x more CPU than foreground ones
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/critical.cpu_shares", 16384);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/critical.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/critical.memory_swappiness", 0);
|
||||
|
||||
// Background perceivable apps, ~10x less CPU than foreground ones
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_perceivable.cpu_shares", 103);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_perceivable.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_perceivable.memory_swappiness", 60);
|
||||
|
||||
// Background apps, ~20x less CPU than foreground ones and ~2x less than perceivable ones
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_non_interactive.cpu_shares", 52);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_non_interactive.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_non_interactive.memory_swappiness", 100);
|
||||
|
||||
// By default the compositor thread on gonk runs without real-time priority. RT
|
||||
// priority can be enabled by setting this pref to a value between 1 and 99.
|
||||
// Note that audio processing currently runs at RT priority 2 or 3 at most.
|
||||
//
|
||||
// If RT priority is disabled, then the compositor nice value is used. We prefer
|
||||
// to use a nice value of -4, which matches Android's preferences. Setting a preference
|
||||
// of RT priority 1 would mean it is higher than audio, which is -16. The compositor
|
||||
// priority must be below the audio thread.
|
||||
//
|
||||
// Do not change these values without gfx team review.
|
||||
pref("hal.gonk.COMPOSITOR.rt_priority", 0);
|
||||
pref("hal.gonk.COMPOSITOR.nice", -4);
|
||||
|
||||
// Fire a memory pressure event when the system has less than Xmb of memory
|
||||
// remaining. You should probably set this just above Y.KillUnderKB for
|
||||
// the highest priority class Y that you want to make an effort to keep alive.
|
||||
// (For example, we want BACKGROUND_PERCEIVABLE to stay alive.) If you set
|
||||
// this too high, then we'll send out a memory pressure event every Z seconds
|
||||
// (see below), even while we have processes that we would happily kill in
|
||||
// order to free up memory.
|
||||
pref("gonk.notifyHardLowMemUnderKB", 14336);
|
||||
|
||||
// Fire a memory pressure event when the system has less than Xmb of memory
|
||||
// remaining and then switch to the hard trigger, see above. This should be
|
||||
// placed above the BACKGROUND priority class.
|
||||
pref("gonk.notifySoftLowMemUnderKB", 43008);
|
||||
|
||||
// We wait this long before polling the memory-pressure fd after seeing one
|
||||
// memory pressure event. (When we're not under memory pressure, we sit
|
||||
// blocked on a poll(), and this pref has no effect.)
|
||||
pref("gonk.systemMemoryPressureRecoveryPollMS", 5000);
|
||||
|
||||
pref("dom.ipc.reuse_parent_app", false);
|
||||
|
||||
// When a process receives a system message, we hold a CPU wake lock on its
|
||||
// behalf for this many seconds, or until it handles the system message,
|
||||
// whichever comes first.
|
||||
pref("dom.ipc.systemMessageCPULockTimeoutSec", 30);
|
||||
|
||||
// Ignore the "dialog=1" feature in window.open.
|
||||
pref("dom.disable_window_open_dialog_feature", true);
|
||||
|
||||
// Screen reader support
|
||||
pref("accessibility.accessfu.activate", 2);
|
||||
pref("accessibility.accessfu.quicknav_modes", "Link,Heading,FormElement,Landmark,ListItem");
|
||||
// Active quicknav mode, index value of list from quicknav_modes
|
||||
pref("accessibility.accessfu.quicknav_index", 0);
|
||||
// Setting for an utterance order (0 - description first, 1 - description last).
|
||||
pref("accessibility.accessfu.utterance", 1);
|
||||
// Whether to skip images with empty alt text
|
||||
pref("accessibility.accessfu.skip_empty_images", true);
|
||||
// Setting to change the verbosity of entered text (0 - none, 1 - characters,
|
||||
// 2 - words, 3 - both)
|
||||
pref("accessibility.accessfu.keyboard_echo", 3);
|
||||
|
||||
// Enable hit-target fluffing
|
||||
pref("ui.touch.radius.enabled", true);
|
||||
pref("ui.touch.radius.leftmm", 3);
|
||||
pref("ui.touch.radius.topmm", 5);
|
||||
pref("ui.touch.radius.rightmm", 3);
|
||||
pref("ui.touch.radius.bottommm", 2);
|
||||
|
||||
pref("ui.mouse.radius.enabled", true);
|
||||
pref("ui.mouse.radius.leftmm", 3);
|
||||
pref("ui.mouse.radius.topmm", 5);
|
||||
pref("ui.mouse.radius.rightmm", 3);
|
||||
pref("ui.mouse.radius.bottommm", 2);
|
||||
|
||||
// Disable native prompt
|
||||
pref("browser.prompt.allowNative", false);
|
||||
|
||||
// Minimum delay in milliseconds between network activity notifications (0 means
|
||||
// no notifications). The delay is the same for both download and upload, though
|
||||
// they are handled separately. This pref is only read once at startup:
|
||||
// a restart is required to enable a new value.
|
||||
pref("network.activity.blipIntervalMilliseconds", 250);
|
||||
|
||||
// By default we want the NetworkManager service to manage Gecko's offline
|
||||
// status for us according to the state of Wifi/cellular data connections.
|
||||
// In some environments, such as the emulator or hardware with other network
|
||||
// connectivity, this is not desireable, however, in which case this pref
|
||||
// can be flipped to false.
|
||||
pref("network.gonk.manage-offline-status", true);
|
||||
|
||||
// On Firefox Mulet, we can't enable shared JSM scope
|
||||
// as it breaks most Firefox JSMs (see bug 961777)
|
||||
#ifndef MOZ_MULET
|
||||
// Break any JSMs or JS components that rely on shared scope
|
||||
#ifndef DEBUG
|
||||
pref("jsloader.reuseGlobal", true);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Enable font inflation for browser tab content.
|
||||
pref("font.size.inflation.minTwips", 120);
|
||||
// And disable it for lingering master-process UI.
|
||||
pref("font.size.inflation.disabledInMasterProcess", true);
|
||||
|
||||
// Enable freeing dirty pages when minimizing memory; this reduces memory
|
||||
// consumption when applications are sent to the background.
|
||||
pref("memory.free_dirty_pages", true);
|
||||
|
||||
// Enable the Linux-specific, system-wide memory reporter.
|
||||
pref("memory.system_memory_reporter", true);
|
||||
|
||||
// Don't dump memory reports on OOM, by default.
|
||||
pref("memory.dump_reports_on_oom", false);
|
||||
|
||||
pref("layout.framevisibility.numscrollportwidths", 1);
|
||||
pref("layout.framevisibility.numscrollportheights", 1);
|
||||
|
||||
// Wait up to this much milliseconds when orientation changed
|
||||
pref("layers.orientation.sync.timeout", 1000);
|
||||
|
||||
// Animate the orientation change
|
||||
pref("b2g.orientation.animate", true);
|
||||
|
||||
// Don't discard WebGL contexts for foreground apps on memory
|
||||
// pressure.
|
||||
pref("webgl.can-lose-context-in-foreground", false);
|
||||
|
||||
// Allow nsMemoryInfoDumper to create a fifo in the temp directory. We use
|
||||
// this fifo to trigger about:memory dumps, among other things.
|
||||
pref("memory_info_dumper.watch_fifo.enabled", true);
|
||||
pref("memory_info_dumper.watch_fifo.directory", "/data/local");
|
||||
|
||||
// See ua-update.json.in for the packaged UA override list
|
||||
pref("general.useragent.updates.enabled", true);
|
||||
pref("general.useragent.updates.url", "https://dynamicua.cdn.mozilla.net/0/%APP_ID%");
|
||||
pref("general.useragent.updates.interval", 604800); // 1 week
|
||||
pref("general.useragent.updates.retry", 86400); // 1 day
|
||||
// Device ID can be composed of letter, numbers, hyphen ("-") and dot (".")
|
||||
pref("general.useragent.device_id", "");
|
||||
|
||||
// Add Mozilla AudioChannel APIs.
|
||||
pref("media.useAudioChannelAPI", true);
|
||||
|
||||
pref("b2g.version", @MOZ_B2G_VERSION@);
|
||||
pref("b2g.osName", @MOZ_B2G_OS_NAME@);
|
||||
|
||||
// Disable console buffering to save memory.
|
||||
pref("consoleservice.buffered", false);
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
// Performance testing suggests 2k is a better page size for SQLite.
|
||||
pref("toolkit.storage.pageSize", 2048);
|
||||
#endif
|
||||
|
||||
// The url of the manifest we use for ADU pings.
|
||||
pref("ping.manifestURL", "https://marketplace.firefox.com/packaged.webapp");
|
||||
|
||||
// Enable the disk space watcher
|
||||
pref("disk_space_watcher.enabled", true);
|
||||
|
||||
// SNTP preferences.
|
||||
pref("network.sntp.maxRetryCount", 10);
|
||||
pref("network.sntp.refreshPeriod", 86400); // In seconds.
|
||||
pref("network.sntp.pools", // Servers separated by ';'.
|
||||
"0.pool.ntp.org;1.pool.ntp.org;2.pool.ntp.org;3.pool.ntp.org");
|
||||
pref("network.sntp.port", 123);
|
||||
pref("network.sntp.timeout", 30); // In seconds.
|
||||
|
||||
// Allow ADB to run for this many hours before disabling.
|
||||
// 0 disables the timer.
|
||||
pref("b2g.adb.timeout-hours", 12);
|
||||
|
||||
// Absolute path to the devtool unix domain socket file used
|
||||
// to communicate with a usb cable via adb forward
|
||||
pref("devtools.debugger.unix-domain-socket", "/data/local/debugger-socket");
|
||||
|
||||
// enable Skia/GL (OpenGL-accelerated 2D drawing) for large enough 2d canvases,
|
||||
// falling back to Skia/software for smaller canvases
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
pref("gfx.canvas.azure.backends", "skia");
|
||||
pref("gfx.canvas.azure.accelerated", true);
|
||||
#endif
|
||||
|
||||
// Turn on dynamic cache size for Skia
|
||||
pref("gfx.canvas.skiagl.dynamic-cache", true);
|
||||
|
||||
// Limit skia to canvases the size of the device screen or smaller
|
||||
pref("gfx.canvas.max-size-for-skia-gl", -1);
|
||||
|
||||
// enable fence with readpixels for SurfaceStream
|
||||
pref("gfx.gralloc.fence-with-readpixels", true);
|
||||
|
||||
// enable screen mirroring to external display
|
||||
pref("gfx.screen-mirroring.enabled", true);
|
||||
|
||||
// The url of the page used to display network error details.
|
||||
pref("b2g.neterror.url", "net_error.html");
|
||||
|
||||
// Enable Web Speech synthesis API
|
||||
pref("media.webspeech.synth.enabled", true);
|
||||
|
||||
// Enable Web Speech recognition API
|
||||
pref("media.webspeech.recognition.enable", true);
|
||||
|
||||
// External Helper Application Handling
|
||||
//
|
||||
// All external helper application handling can require the docshell to be
|
||||
// active before allowing the external helper app service to handle content.
|
||||
//
|
||||
// To prevent SD card DoS attacks via downloads we disable background handling.
|
||||
//
|
||||
pref("security.exthelperapp.disable_background_handling", true);
|
||||
|
||||
// Inactivity time in milliseconds after which we shut down the OS.File worker.
|
||||
pref("osfile.reset_worker_delay", 5000);
|
||||
|
||||
// APZ physics settings, tuned by UX designers
|
||||
pref("apz.axis_lock.mode", 2); // Use "sticky" axis locking
|
||||
pref("apz.fling_curve_function_x1", "0.41");
|
||||
pref("apz.fling_curve_function_y1", "0.0");
|
||||
pref("apz.fling_curve_function_x2", "0.80");
|
||||
pref("apz.fling_curve_function_y2", "1.0");
|
||||
pref("apz.fling_curve_threshold_inches_per_ms", "0.01");
|
||||
pref("apz.fling_friction", "0.0019");
|
||||
pref("apz.max_velocity_inches_per_ms", "0.07");
|
||||
pref("apz.overscroll.enabled", true);
|
||||
pref("apz.displayport_expiry_ms", 0); // causes issues on B2G, see bug 1250924
|
||||
|
||||
// For event-regions based hit-testing
|
||||
pref("layout.event-regions.enabled", true);
|
||||
|
||||
// This preference allows FirefoxOS apps (and content, I think) to force
|
||||
// the use of software (instead of hardware accelerated) 2D canvases by
|
||||
// creating a context like this:
|
||||
//
|
||||
// canvas.getContext('2d', { willReadFrequently: true })
|
||||
//
|
||||
// Using a software canvas can save memory when JS calls getImageData()
|
||||
// on the canvas frequently. See bug 884226.
|
||||
pref("gfx.canvas.willReadFrequently.enable", true);
|
||||
|
||||
// Disable autofocus until we can have it not bring up the keyboard.
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=965763
|
||||
pref("browser.autofocus", false);
|
||||
|
||||
// Enable wakelock
|
||||
pref("dom.wakelock.enabled", true);
|
||||
|
||||
// Enable webapps add-ons
|
||||
pref("dom.apps.reviewer_paths", "/reviewers/,/extension/reviewers/");
|
||||
|
||||
// New implementation to unify touch-caret and selection-carets.
|
||||
pref("layout.accessiblecaret.enabled", true);
|
||||
|
||||
// Show the selection bars at the two ends of the selection highlight. Required
|
||||
// by the spec in bug 921965.
|
||||
pref("layout.accessiblecaret.bar.enabled", true);
|
||||
|
||||
// Hide carets and text selection dialog during scrolling.
|
||||
pref("layout.accessiblecaret.always_show_when_scrolling", false);
|
||||
|
||||
// Enable sync with Firefox Accounts.
|
||||
pref("services.sync.fxaccounts.enabled", true);
|
||||
pref("identity.fxaccounts.enabled", true);
|
||||
|
||||
pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com/v1");
|
||||
pref("identity.fxaccounts.remote.profile.uri", "https://profile.accounts.firefox.com/v1");
|
||||
|
||||
// Disable Firefox Accounts device registration until bug 1238895 is fixed.
|
||||
pref("identity.fxaccounts.skipDeviceRegistration", true);
|
||||
|
||||
// Enable mapped array buffer.
|
||||
pref("dom.mapped_arraybuffer.enabled", true);
|
||||
|
||||
// UDPSocket API
|
||||
pref("dom.udpsocket.enabled", true);
|
||||
|
||||
// Comma separated list of activity names that can only be provided by
|
||||
// the system app in dev mode.
|
||||
pref("dom.activities.developer_mode_only", "import-app");
|
||||
|
||||
// mulet apparently loads firefox.js as well as b2g.js, so we have to explicitly
|
||||
// disable serviceworkers and push here to get them disabled in mulet.
|
||||
pref("dom.serviceWorkers.enabled", false);
|
||||
pref("dom.push.enabled", false);
|
||||
|
||||
#if defined(RELEASE_OR_BETA)
|
||||
// Bug 1278848: Enable service worker notifications on release B2G once
|
||||
// they're ready.
|
||||
pref("dom.webnotifications.serviceworker.enabled", false);
|
||||
#else
|
||||
pref("dom.webnotifications.serviceworker.enabled", true);
|
||||
#endif
|
||||
|
||||
// Retain at most 10 processes' layers buffers
|
||||
pref("layers.compositor-lru-size", 10);
|
||||
|
||||
// In B2G by deafult any AudioChannelAgent is muted when created.
|
||||
pref("dom.audiochannel.mutedByDefault", true);
|
||||
|
||||
// Default device name for Presentation API
|
||||
pref("dom.presentation.device.name", "Firefox OS");
|
||||
|
||||
// Enable notification of performance timing
|
||||
pref("dom.performance.enable_notify_performance_timing", true);
|
||||
|
||||
// Multi-screen
|
||||
pref("b2g.multiscreen.chrome_remote_url", "chrome://b2g/content/shell_remote.html");
|
||||
pref("b2g.multiscreen.system_remote_url", "index_remote.html");
|
||||
|
||||
// Audio competing between tabs
|
||||
pref("dom.audiochannel.audioCompeting", false);
|
||||
|
||||
// Because we can't have nice things.
|
||||
#ifdef MOZ_GRAPHENE
|
||||
#include ../graphene/graphene.js
|
||||
#endif
|
|
@ -1,67 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>%APP_BINARY%</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>%APP_NAME% %APP_VERSION%</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>%MOZ_APP_NAME%.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.mozilla.b2g</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>%MOZ_APP_VERSION%</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>%APP_NAME%</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>%APP_VERSION%</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>MOZB</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>%APP_VERSION%</string>
|
||||
<key>NSAppleScriptEnabled</key>
|
||||
<true/>
|
||||
<key>CGDisableCoalescedUpdates</key>
|
||||
<true/>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>GeckoNSApplication</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLIconFile</key>
|
||||
<string>document.icns</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>http URL</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>http</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleURLIconFile</key>
|
||||
<string>document.icns</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>https URL</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>https</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>ftp URL</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>ftp</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,9 +0,0 @@
|
|||
/*.app/***
|
||||
/*.dylib
|
||||
/b2g
|
||||
/certutil
|
||||
/gtest/***
|
||||
/pk12util
|
||||
/ssltunnel
|
||||
/xpcshell
|
||||
/XUL
|
|
@ -1,5 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
CFBundleName = "%APP_NAME%";
|
|
@ -1,76 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
if CONFIG['GAIADIR']:
|
||||
GeckoProgram(CONFIG['MOZ_APP_NAME'] + "-bin")
|
||||
else:
|
||||
GeckoProgram(CONFIG['MOZ_APP_NAME'])
|
||||
|
||||
SOURCES += [
|
||||
'nsBrowserApp.cpp',
|
||||
]
|
||||
if CONFIG['_MSC_VER']:
|
||||
# Always enter a Windows program through wmain, whether or not we're
|
||||
# a console application.
|
||||
WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']
|
||||
|
||||
USE_LIBS += [
|
||||
'zlib',
|
||||
]
|
||||
|
||||
for var in ('MOZ_APP_NAME', 'MOZ_APP_VERSION', 'MOZ_UPDATER'):
|
||||
DEFINES[var] = CONFIG[var]
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
'!/build',
|
||||
'/toolkit/xre',
|
||||
'/xpcom/base',
|
||||
'/xpcom/build',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
||||
LOCAL_INCLUDES += [
|
||||
'/widget/gonk/libdisplay',
|
||||
]
|
||||
|
||||
LDFLAGS += ['-Wl,--export-dynamic']
|
||||
|
||||
USE_LIBS += [
|
||||
'display',
|
||||
'mozpng',
|
||||
]
|
||||
OS_LIBS += [
|
||||
'ui',
|
||||
'EGL',
|
||||
'hardware_legacy',
|
||||
'hardware',
|
||||
'cutils',
|
||||
]
|
||||
OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']
|
||||
if CONFIG['ANDROID_VERSION'] in ('17', '18', '19', '21', '22'):
|
||||
OS_LIBS += [
|
||||
'gui',
|
||||
'suspend',
|
||||
]
|
||||
OS_LIBS += [
|
||||
'binder',
|
||||
'utils',
|
||||
]
|
||||
|
||||
DISABLE_STL_WRAPPING = True
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
OS_LIBS += [
|
||||
'version',
|
||||
]
|
||||
|
||||
JS_PREFERENCE_PP_FILES += [
|
||||
'b2g.js',
|
||||
]
|
||||
|
||||
FINAL_TARGET_PP_FILES += [
|
||||
'ua-update.json.in',
|
||||
]
|
|
@ -1,236 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "nsXULAppAPI.h"
|
||||
#include "application.ini.h"
|
||||
#include "nsXPCOMGlue.h"
|
||||
#if defined(XP_WIN)
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
#elif defined(XP_UNIX)
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIFile.h"
|
||||
#include "nsStringGlue.h"
|
||||
|
||||
#ifdef XP_WIN
|
||||
// we want a wmain entry point
|
||||
#include "nsWindowsWMain.cpp"
|
||||
#define strcasecmp _stricmp
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
#include "BootAnimation.h"
|
||||
#endif
|
||||
|
||||
#include "BinaryPath.h"
|
||||
|
||||
#include "nsXPCOMPrivate.h" // for MAXPATHLEN and XPCOM_DLL
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
# include <binder/ProcessState.h>
|
||||
#endif
|
||||
|
||||
#include "mozilla/Sprintf.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "mozilla/WindowsDllBlocklist.h"
|
||||
|
||||
static void Output(const char *fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
|
||||
#if defined(XP_WIN) && !MOZ_WINCONSOLE
|
||||
wchar_t msg[2048];
|
||||
_vsnwprintf(msg, sizeof(msg)/sizeof(msg[0]), NS_ConvertUTF8toUTF16(fmt).get(), ap);
|
||||
MessageBoxW(nullptr, msg, L"XULRunner", MB_OK | MB_ICONERROR);
|
||||
#else
|
||||
vfprintf(stderr, fmt, ap);
|
||||
#endif
|
||||
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if |arg| matches the given argument name.
|
||||
*/
|
||||
static bool IsArg(const char* arg, const char* s)
|
||||
{
|
||||
if (*arg == '-')
|
||||
{
|
||||
if (*++arg == '-')
|
||||
++arg;
|
||||
return !strcasecmp(arg, s);
|
||||
}
|
||||
|
||||
#if defined(XP_WIN)
|
||||
if (*arg == '/')
|
||||
return !strcasecmp(++arg, s);
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
XRE_GetFileFromPathType XRE_GetFileFromPath;
|
||||
XRE_CreateAppDataType XRE_CreateAppData;
|
||||
XRE_FreeAppDataType XRE_FreeAppData;
|
||||
XRE_TelemetryAccumulateType XRE_TelemetryAccumulate;
|
||||
XRE_mainType XRE_main;
|
||||
|
||||
static const nsDynamicFunctionLoad kXULFuncs[] = {
|
||||
{ "XRE_GetFileFromPath", (NSFuncPtr*) &XRE_GetFileFromPath },
|
||||
{ "XRE_CreateAppData", (NSFuncPtr*) &XRE_CreateAppData },
|
||||
{ "XRE_FreeAppData", (NSFuncPtr*) &XRE_FreeAppData },
|
||||
{ "XRE_TelemetryAccumulate", (NSFuncPtr*) &XRE_TelemetryAccumulate },
|
||||
{ "XRE_main", (NSFuncPtr*) &XRE_main },
|
||||
{ nullptr, nullptr }
|
||||
};
|
||||
|
||||
static int do_main(int argc, char* argv[])
|
||||
{
|
||||
nsCOMPtr<nsIFile> appini;
|
||||
nsresult rv;
|
||||
|
||||
// Allow firefox.exe to launch XULRunner apps via -app <application.ini>
|
||||
// Note that -app must be the *first* argument.
|
||||
const char *appDataFile = getenv("XUL_APP_FILE");
|
||||
if (appDataFile && *appDataFile) {
|
||||
rv = XRE_GetFileFromPath(appDataFile, getter_AddRefs(appini));
|
||||
if (NS_FAILED(rv)) {
|
||||
Output("Invalid path found: '%s'", appDataFile);
|
||||
return 255;
|
||||
}
|
||||
}
|
||||
else if (argc > 1 && IsArg(argv[1], "app")) {
|
||||
if (argc == 2) {
|
||||
Output("Incorrect number of arguments passed to -app");
|
||||
return 255;
|
||||
}
|
||||
|
||||
rv = XRE_GetFileFromPath(argv[2], getter_AddRefs(appini));
|
||||
if (NS_FAILED(rv)) {
|
||||
Output("application.ini path not recognized: '%s'", argv[2]);
|
||||
return 255;
|
||||
}
|
||||
|
||||
char appEnv[MAXPATHLEN];
|
||||
SprintfLiteral(appEnv, "XUL_APP_FILE=%s", argv[2]);
|
||||
if (putenv(strdup(appEnv))) {
|
||||
Output("Couldn't set %s.\n", appEnv);
|
||||
return 255;
|
||||
}
|
||||
argv[2] = argv[0];
|
||||
argv += 2;
|
||||
argc -= 2;
|
||||
}
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
/* Start boot animation */
|
||||
mozilla::StartBootAnimation();
|
||||
#endif
|
||||
|
||||
if (appini) {
|
||||
nsXREAppData *appData;
|
||||
rv = XRE_CreateAppData(appini, &appData);
|
||||
if (NS_FAILED(rv)) {
|
||||
Output("Couldn't read application.ini");
|
||||
return 255;
|
||||
}
|
||||
int result = XRE_main(argc, argv, appData);
|
||||
XRE_FreeAppData(appData);
|
||||
return result;
|
||||
}
|
||||
|
||||
return XRE_main(argc, argv, &sAppData);
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
char exePath[MAXPATHLEN];
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
// This creates a ThreadPool for binder ipc. A ThreadPool is necessary to
|
||||
// receive binder calls, though not necessary to send binder calls.
|
||||
// ProcessState::Self() also needs to be called once on the main thread to
|
||||
// register the main thread with the binder driver.
|
||||
android::ProcessState::self()->startThreadPool();
|
||||
#endif
|
||||
|
||||
nsresult rv;
|
||||
rv = mozilla::BinaryPath::Get(argv[0], exePath);
|
||||
if (NS_FAILED(rv)) {
|
||||
Output("Couldn't calculate the application directory.\n");
|
||||
return 255;
|
||||
}
|
||||
|
||||
char *lastSlash = strrchr(exePath, XPCOM_FILE_PATH_SEPARATOR[0]);
|
||||
if (!lastSlash || ((lastSlash - exePath) + sizeof(XPCOM_DLL) + 1 > MAXPATHLEN))
|
||||
return 255;
|
||||
|
||||
strcpy(++lastSlash, XPCOM_DLL);
|
||||
|
||||
#if defined(XP_UNIX)
|
||||
// If the b2g app is launched from adb shell, then the shell will wind
|
||||
// up being the process group controller. This means that we can't send
|
||||
// signals to the process group (useful for profiling).
|
||||
// We ignore the return value since setsid() fails if we're already the
|
||||
// process group controller (the normal situation).
|
||||
(void)setsid();
|
||||
#endif
|
||||
|
||||
#ifdef HAS_DLL_BLOCKLIST
|
||||
DllBlocklist_Initialize();
|
||||
#endif
|
||||
|
||||
rv = XPCOMGlueStartup(exePath);
|
||||
if (NS_FAILED(rv)) {
|
||||
Output("Couldn't load XPCOM.\n");
|
||||
return 255;
|
||||
}
|
||||
// Reset exePath so that it is the directory name and not the xpcom dll name
|
||||
*lastSlash = 0;
|
||||
|
||||
rv = XPCOMGlueLoadXULFunctions(kXULFuncs);
|
||||
if (NS_FAILED(rv)) {
|
||||
Output("Couldn't load XRE functions.\n");
|
||||
return 255;
|
||||
}
|
||||
|
||||
int result;
|
||||
{
|
||||
ScopedLogging log;
|
||||
char **_argv;
|
||||
|
||||
/*
|
||||
* Duplicate argument vector to conform non-const argv of
|
||||
* do_main() since XRE_main() is very stupid with non-const argv.
|
||||
*/
|
||||
_argv = new char *[argc + 1];
|
||||
for (int i = 0; i < argc; i++) {
|
||||
size_t len = strlen(argv[i]) + 1;
|
||||
_argv[i] = new char[len];
|
||||
MOZ_ASSERT(_argv[i] != nullptr);
|
||||
memcpy(_argv[i], argv[i], len);
|
||||
}
|
||||
_argv[argc] = nullptr;
|
||||
|
||||
result = do_main(argc, _argv);
|
||||
|
||||
for (int i = 0; i < argc; i++) {
|
||||
delete[] _argv[i];
|
||||
}
|
||||
delete[] _argv;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
#filter slashslash
|
||||
// Everything after the first // on a line will be removed by the preproccesor.
|
||||
// Send these sites a custom user-agent. Bugs should be included with an entry.
|
||||
{
|
||||
// bug 826347, msn.com
|
||||
"msn.com": "\\(Mobile#(Android 4.4.4; Mobile",
|
||||
// bug 826353, itau.com.br
|
||||
"itau.com.br": "\\(Mobile#(Android; Mobile",
|
||||
// bug 826510, r7.com
|
||||
"r7.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 827622, bing.com
|
||||
"bing.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 827626, magazineluiza.com.br
|
||||
"magazineluiza.com.br": "\\(Mobile#(Android; Mobile",
|
||||
// bug 827670, elpais.com.co
|
||||
"elpais.com.co": "\\(Mobile#(Android 4.4.4; Mobile",
|
||||
// bug 828416, loteriasyapuestas.es
|
||||
"loteriasyapuestas.es": "\\(Mobile#(Android; Mobile",
|
||||
// bug 828418, bbva.es
|
||||
"bbva.es": "\\(Mobile#(Android; Mobile",
|
||||
// bug 828439, movistar.com.ve
|
||||
"movistar.com.ve": "\\(Mobile#(Android; Mobile",
|
||||
// bug 843132, comunio.es
|
||||
"comunio.es": "\\(Mobile#(Android; Mobile",
|
||||
// bug 843151, citibank.com
|
||||
"citibank.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 843153, games.com
|
||||
"games.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 843160, ehow.com
|
||||
"ehow.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878228, blikk.hu
|
||||
"blikk.hu": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878238, koponyeg.hu
|
||||
"koponyeg.hu": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878240, kuruc.info
|
||||
"kuruc.info": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878242, nemzetisport.hu
|
||||
"nemzetisport.hu": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878246, port.hu
|
||||
"port.hu": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878249, portfolio.hu
|
||||
"portfolio.hu": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878260, cdm.me
|
||||
"cdm.me": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878262, download.com
|
||||
"download.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878273, livescore.com
|
||||
"livescore.com": "\\(Mobile#(Android; Mobile",
|
||||
// bug 878653, redstarbelgrade.info
|
||||
"redstarbelgrade.info": "\\(Mobile#(Android; Mobile"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
@template
|
||||
def B2GBranding():
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
||||
BRANDING_FILES += [
|
||||
'app.ico',
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
||||
BRANDING_FILES += [
|
||||
'app.icns',
|
||||
'background.png',
|
||||
'disk.icns',
|
||||
'dsstore',
|
||||
]
|
||||
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
||||
BRANDING_FILES += [
|
||||
'default.png',
|
||||
]
|
Двоичные данные
b2g/branding/browserhtml/app.icns
Двоичные данные
b2g/branding/browserhtml/app.ico
До Ширина: | Высота: | Размер: 361 KiB |
Двоичные данные
b2g/branding/browserhtml/background.png
До Ширина: | Высота: | Размер: 127 KiB |
|
@ -1,5 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
MOZ_APP_DISPLAYNAME=Browser.html
|
Двоичные данные
b2g/branding/browserhtml/content/about.png
До Ширина: | Высота: | Размер: 25 KiB |
Двоичные данные
b2g/branding/browserhtml/content/favicon32.png
До Ширина: | Высота: | Размер: 2.6 KiB |
Двоичные данные
b2g/branding/browserhtml/content/icon48.png
До Ширина: | Высота: | Размер: 5.2 KiB |
Двоичные данные
b2g/branding/browserhtml/content/icon64.png
До Ширина: | Высота: | Размер: 8.1 KiB |
|
@ -1,10 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
chrome.jar:
|
||||
% content branding %content/branding/ contentaccessible=yes
|
||||
content/branding/about.png (about.png)
|
||||
content/branding/logoWordmark.png (logoWordmark.png)
|
||||
content/branding/logo.png (logo.png)
|
||||
content/branding/favicon32.png (favicon32.png)
|
Двоичные данные
b2g/branding/browserhtml/content/logo.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/browserhtml/content/logoWordmark.png
До Ширина: | Высота: | Размер: 14 KiB |
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
Двоичные данные
b2g/branding/browserhtml/content/splash.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/browserhtml/default.png
До Ширина: | Высота: | Размер: 36 KiB |
Двоичные данные
b2g/branding/browserhtml/disk.icns
Двоичные данные
b2g/branding/browserhtml/dsstore
|
@ -1,7 +0,0 @@
|
|||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY brandShortName "Browser.html">
|
||||
<!ENTITY brandFullName "Mozilla Browser.html">
|
||||
<!ENTITY vendorShortName "Mozilla">
|
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
brandShortName=Browser.html
|
||||
brandFullName=Mozilla Browser.html
|
|
@ -1,11 +0,0 @@
|
|||
#filter substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
@AB_CD@.jar:
|
||||
% locale branding @AB_CD@ %locale/branding/
|
||||
# Branding only exists in en-US
|
||||
locale/branding/brand.dtd (en-US/brand.dtd)
|
||||
locale/branding/brand.properties (en-US/brand.properties)
|
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
|
@ -1,10 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
DIRS += ['content', 'locales']
|
||||
|
||||
include('../branding-common.mozbuild')
|
||||
B2GBranding()
|
Двоичные данные
b2g/branding/horizon/app.icns
Двоичные данные
b2g/branding/horizon/app.ico
До Ширина: | Высота: | Размер: 15 KiB |
Двоичные данные
b2g/branding/horizon/background.png
До Ширина: | Высота: | Размер: 127 KiB |
|
@ -1,5 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
MOZ_APP_DISPLAYNAME=Horizon
|
Двоичные данные
b2g/branding/horizon/content/about.png
До Ширина: | Высота: | Размер: 25 KiB |
Двоичные данные
b2g/branding/horizon/content/favicon32.png
До Ширина: | Высота: | Размер: 2.6 KiB |
Двоичные данные
b2g/branding/horizon/content/icon48.png
До Ширина: | Высота: | Размер: 5.2 KiB |
Двоичные данные
b2g/branding/horizon/content/icon64.png
До Ширина: | Высота: | Размер: 8.1 KiB |
|
@ -1,10 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
chrome.jar:
|
||||
% content branding %content/branding/ contentaccessible=yes
|
||||
content/branding/about.png (about.png)
|
||||
content/branding/logoWordmark.png (logoWordmark.png)
|
||||
content/branding/logo.png (logo.png)
|
||||
content/branding/favicon32.png (favicon32.png)
|
Двоичные данные
b2g/branding/horizon/content/logo.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/horizon/content/logoWordmark.png
До Ширина: | Высота: | Размер: 14 KiB |
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
Двоичные данные
b2g/branding/horizon/content/splash.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/horizon/default.png
До Ширина: | Высота: | Размер: 50 KiB |
Двоичные данные
b2g/branding/horizon/disk.icns
Двоичные данные
b2g/branding/horizon/dsstore
|
@ -1,8 +0,0 @@
|
|||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY brandShortName "Horizon">
|
||||
<!ENTITY brandFullName "Mozilla Horizon">
|
||||
<!ENTITY vendorShortName "Mozilla">
|
||||
<!ENTITY logoTrademark "Horizon and the Horizon logos are trademarks of the Mozilla Foundation.">
|
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
brandShortName=Horizon
|
||||
brandFullName=Mozilla Horizon
|
|
@ -1,11 +0,0 @@
|
|||
#filter substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
@AB_CD@.jar:
|
||||
% locale branding @AB_CD@ %locale/branding/
|
||||
# Branding only exists in en-US
|
||||
locale/branding/brand.dtd (en-US/brand.dtd)
|
||||
locale/branding/brand.properties (en-US/brand.properties)
|
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
|
@ -1,10 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
DIRS += ['content', 'locales']
|
||||
|
||||
include('../branding-common.mozbuild')
|
||||
B2GBranding()
|
Двоичные данные
b2g/branding/official/app.icns
Двоичные данные
b2g/branding/official/app.ico
До Ширина: | Высота: | Размер: 4.2 KiB |
Двоичные данные
b2g/branding/official/background.png
До Ширина: | Высота: | Размер: 127 KiB |
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
MOZ_APP_DISPLAYNAME=B2G
|
||||
MOZ_UPDATER=
|
Двоичные данные
b2g/branding/official/content/about.png
До Ширина: | Высота: | Размер: 25 KiB |
Двоичные данные
b2g/branding/official/content/favicon32.png
До Ширина: | Высота: | Размер: 2.6 KiB |
Двоичные данные
b2g/branding/official/content/icon48.png
До Ширина: | Высота: | Размер: 5.2 KiB |
Двоичные данные
b2g/branding/official/content/icon64.png
До Ширина: | Высота: | Размер: 8.1 KiB |
|
@ -1,10 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
chrome.jar:
|
||||
% content branding %content/branding/ contentaccessible=yes
|
||||
content/branding/about.png (about.png)
|
||||
content/branding/logoWordmark.png (logoWordmark.png)
|
||||
content/branding/logo.png (logo.png)
|
||||
content/branding/favicon32.png (favicon32.png)
|
Двоичные данные
b2g/branding/official/content/logo.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/official/content/logoWordmark.png
До Ширина: | Высота: | Размер: 14 KiB |
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
Двоичные данные
b2g/branding/official/content/splash.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/official/default.png
До Ширина: | Высота: | Размер: 4.7 KiB |
Двоичные данные
b2g/branding/official/disk.icns
Двоичные данные
b2g/branding/official/dsstore
|
@ -1,8 +0,0 @@
|
|||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY brandShortName "Firefox">
|
||||
<!ENTITY brandFullName "Mozilla Firefox">
|
||||
<!ENTITY vendorShortName "Mozilla">
|
||||
<!ENTITY logoTrademark "Firefox and the Firefox logos are trademarks of the Mozilla Foundation.">
|
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
brandShortName=Firefox
|
||||
brandFullName=Mozilla Firefox
|
|
@ -1,11 +0,0 @@
|
|||
#filter substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
@AB_CD@.jar:
|
||||
% locale branding @AB_CD@ %locale/branding/
|
||||
# Branding only exists in en-US
|
||||
locale/branding/brand.dtd (en-US/brand.dtd)
|
||||
locale/branding/brand.properties (en-US/brand.properties)
|
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
|
@ -1,10 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
DIRS += ['content', 'locales']
|
||||
|
||||
include('../branding-common.mozbuild')
|
||||
B2GBranding()
|
Двоичные данные
b2g/branding/unofficial/app.icns
Двоичные данные
b2g/branding/unofficial/app.ico
До Ширина: | Высота: | Размер: 4.2 KiB |
Двоичные данные
b2g/branding/unofficial/background.png
До Ширина: | Высота: | Размер: 127 KiB |
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
MOZ_APP_DISPLAYNAME=B2G
|
||||
MOZ_UPDATER=
|
Двоичные данные
b2g/branding/unofficial/content/about.png
До Ширина: | Высота: | Размер: 16 KiB |
Двоичные данные
b2g/branding/unofficial/content/favicon32.png
До Ширина: | Высота: | Размер: 1.7 KiB |
Двоичные данные
b2g/branding/unofficial/content/icon48.png
До Ширина: | Высота: | Размер: 4.0 KiB |
Двоичные данные
b2g/branding/unofficial/content/icon64.png
До Ширина: | Высота: | Размер: 5.8 KiB |
|
@ -1,10 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
chrome.jar:
|
||||
% content branding %content/branding/ contentaccessible=yes
|
||||
content/branding/about.png (about.png)
|
||||
content/branding/logoWordmark.png (logoWordmark.png)
|
||||
content/branding/logo.png (logo.png)
|
||||
content/branding/favicon32.png (favicon32.png)
|
Двоичные данные
b2g/branding/unofficial/content/logo.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/unofficial/content/logoWordmark.png
До Ширина: | Высота: | Размер: 15 KiB |
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
Двоичные данные
b2g/branding/unofficial/content/splash.png
До Ширина: | Высота: | Размер: 19 KiB |
Двоичные данные
b2g/branding/unofficial/default.png
До Ширина: | Высота: | Размер: 4.7 KiB |
Двоичные данные
b2g/branding/unofficial/disk.icns
Двоичные данные
b2g/branding/unofficial/dsstore
|
@ -1,8 +0,0 @@
|
|||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY brandShortName "Firefox">
|
||||
<!ENTITY brandFullName "Mozilla Firefox">
|
||||
<!ENTITY vendorShortName "Mozilla">
|
||||
<!ENTITY logoTrademark "Firefox and the Firefox logos are trademarks of the Mozilla Foundation.">
|
|
@ -1,6 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
brandShortName=Firefox
|
||||
brandFullName=Mozilla Firefox
|
|
@ -1,11 +0,0 @@
|
|||
#filter substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
@AB_CD@.jar:
|
||||
% locale branding @AB_CD@ %locale/branding/
|
||||
# Nightly branding only exists in en-US
|
||||
locale/branding/brand.dtd (en-US/brand.dtd)
|
||||
locale/branding/brand.properties (en-US/brand.properties)
|
|
@ -1,7 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
|
@ -1,10 +0,0 @@
|
|||
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
DIRS += ['content', 'locales']
|
||||
|
||||
include('../branding-common.mozbuild')
|
||||
B2GBranding()
|
31
b2g/build.mk
|
@ -1,31 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
|
||||
|
||||
installer:
|
||||
@$(MAKE) -C b2g/installer installer
|
||||
|
||||
package:
|
||||
@$(MAKE) -C b2g/installer
|
||||
|
||||
install::
|
||||
@echo 'B2G can't be installed directly.'
|
||||
@exit 1
|
||||
|
||||
upload::
|
||||
@$(MAKE) -C b2g/installer upload
|
||||
|
||||
ifdef ENABLE_TESTS
|
||||
# Implemented in testing/testsuite-targets.mk
|
||||
|
||||
mochitest-browser-chrome:
|
||||
$(RUN_MOCHITEST) --flavor=browser
|
||||
$(CHECK_TEST_ERROR)
|
||||
|
||||
mochitest:: mochitest-browser-chrome
|
||||
|
||||
.PHONY: mochitest-browser-chrome
|
||||
endif
|
||||
|