MPL-2.0 Source: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/focus-ios-tests/Documentation/images/04-searchsettingsVC.png Rights: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/README.md Original image: https://waptrick.me/app-assets/65f41cc6ece9c0217ddac1b89fe9fd749e2f008425ee8dbd4872354536b6a4b3.source.png/view Original SHA-256: 65f41cc6ece9c0217ddac1b89fe9fd749e2f008425ee8dbd4872354536b6a4b3 Firefox Focus by Mozilla. Earlier iPhone UI/code-map images (2017), documentation credited to Krishna: MPL 2.0. Mozilla product marks and logos belong to the Mozilla Foundation. Independent coverage; no endorsement. Complete publisher originals unchanged; display copies may be resized or re-encoded. Full licence and pinned original/editable source are available. Images were proportionately resized and encoded as WebP for delivery. Original publisher source: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/LICENSE SHA-256: 60222c28c1a7f6a92c7df98e5c5f4459e624e6e285e0b9b94467af5f6ab3343d 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. Original publisher source: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/README.md SHA-256: 2dfd1f47d52a9db8f9eb72aa8bdd2c5a190cef43d0b3c75e934de5bb401c76d8 # Firefox for iOS and Focus iOS Download [Firefox iOS](https://apps.apple.com/app/firefox-web-browser/id989804926) and [Focus iOS](https://itunes.apple.com/app/id1055677337) on the App Store.
Firefox iOS Firefox-iOS Firefox-iOS Firefox-iOS
Focus iOS Focus-iOS Focus-iOS Focus-iOS
## Building the code This is a monolithic-repository, containing both the Firefox and Focus iOS projects. As this is an iOS project, it is required to have Xcode on your system, and you should check that `xcode-select -p` points to `/Applications/Xcode.app/Contents/Developer` (or however you've named your `Xcode.app`). ### Automatic Installation (Recommended) Steps: [Automated Project Setup with FXIOS](https://github.com/mozilla-mobile/firefox-ios/wiki/Automated-Project-Setup-with-FXIOS) ### Manual Installation 1. Clone the repo locally 1. For their related build instructions, please follow the respective project readmes: - [Firefox for iOS](./firefox-ios/README.md) - [Focus iOS](./focus-ios/README.md) ## Getting involved We encourage you to participate in those open source projects. We love Pull Requests, Issue Reports, Feature Requests or any kind of positive contribution. Please read the [Mozilla Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) and our [Contributing guidelines](https://github.com/mozilla-mobile/firefox-ios/blob/main/CONTRIBUTING.md) first. - You can [file a new issue](https://github.com/mozilla-mobile/firefox-ios/issues/new/choose) or research [existing bugs](https://github.com/mozilla-mobile/firefox-ios/issues) If more information is required or you have any questions then we suggest reaching out to us via: - Chat on Element channel [#fx-ios](https://chat.mozilla.org/#/room/#fx-ios:mozilla.org) and [#focus-ios](https://chat.mozilla.org/#/room/#focus-ios:mozilla.org) for general discussion, or write DMs to specific teammates for questions. - Open a [ticket](https://github.com/mozilla-mobile/firefox-ios/issues/new?template=BLANK_ISSUE) with your question. Want to contribute on the codebase but don't know where to start? Here is a list of [issues that are contributor friendly](https://github.com/mozilla-mobile/firefox-ios/labels/Contributor%20OK), but make sure to read the [Contributing guidelines](https://github.com/mozilla-mobile/firefox-ios/blob/main/CONTRIBUTING.md) first. ## License 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 https://mozilla.org/MPL/2.0/ Original publisher source: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/README.md SHA-256: e426ed02d6dc64dea8c66b3163b2b7bb6079d7bd863651b073776639066cdf86 # Focus iOS This is the subdirectory that contains the Focus iOS application. For details on compatible Xcode and Swift versions used to build this project, as well as the minimum iOS version, refer to the root [README](../README.md). ## Getting Involved For information on how to contribute to this project, including communication channels, coding style, PR naming guidelines and more, visit the [Contribution guidelines](https://github.com/mozilla-mobile/firefox-ios/blob/main/CONTRIBUTING.md). ## Build Instructions 1. Install the version of [Xcode](https://developer.apple.com/download/applications/) from Apple that matches what this project uses, as listed in the root [README](../README.md). 1. Clone the repository: ```shell git clone https://github.com/mozilla-mobile/firefox-ios.git ``` 1. Change directories to the project root: ```shell cd firefox-ios ``` 1. Pull in the project dependencies using the bootstrap script (pass in `focus` as the product argument): ```shell ./bootstrap.sh focus ``` 1. Open `Blockzilla.xcodeproj` under the `focus-ios` folder in Xcode. 1. Build the `Focus` scheme in Xcode. Original publisher source: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/focus-ios-tests/Documentation/UI%20and%20Code%20Map.md SHA-256: 84b7d0e2f0b2d9dd93e1054e04bec5321d410e694f85918c59495aeb9a28d5fa # What is this Document? This document serves as a map to the code and UI elements of the Firefox Focus app for iOS. It aims to make it easy to get a high level overview of the code, and see which parts of the code relate to which parts of the app. There are many details of the code that are omitted from this document! This is by design - view this as a map to help start your explorations of the code base. Happy hacking! ## Revision History |Date|Changes|Author| |:--|:------|--:| |12-Oct-2017 | Initial Revision. | [@Krishna](https://github.com/Krishna)| ## Splash Screen The Splash Screen animates out at start up. See: ```AppDelegate displaySplashAnimation()``` The Splash Screen view is shown again when the app is sent to the background. This ensures Focus’s browser view is not viewable from the iOS task switching functionality. (This is a privacy safeguard). The Splash Screen view is hidden again when Focus becomes the active app. ## The App's Root View Controller The root view controller of the app is a standard Navigation Controller (```UINavigationController```). And the root view controller of the Navigation Controller is an instance of ```BrowserViewController```. ```BrowserViewController``` hides the navigation bar in its ```viewWillAppear()``` method. ## FirstRunViewController ![FirstRunViewController](images/00-firstrunVC.png) If it’s the first run of the app, an instance of ```FirstRunViewController``` is presented. ## BrowserViewController - no web page loaded ![BrowserViewController and the OverlayView](images/01-browserVC-OverlayView.png) ```BrowserViewController``` works by displaying an instance of ```HomeView``` (when no web page is loaded). When the user enters input in the ```URLBar```, an ```OverlayView``` is presented. Finally, when the user initiates a search or enters a valid URL, ```BrowserViewController``` will display its ```WebViewContainer``` (which does view containment on a ```WebViewController``` instance). ## OverlayView ```OverlayView``` is presented when the user has begun entering data into the ```URLBar```. As the user types (or pastes in input that is not a complete URL), an instance of ```InsetButton``` is displayed. If the user pastes in a URL, the ```copyButton``` is displayed. When the user enters input in the ```URLBar```, an ```OverlayView``` is presented. ## BrowserViewController - web page loaded ![BrowserViewController showing a web page](images/02-browserVC-showing-webpage.png) ```BrowserViewController``` will display its ```WebViewContainer``` once it has a valid URL or a search to perform. ```WebViewContainer``` is showing the view controlled by ```WebViewController```. ## Other ViewControllers ![SettingsViewController](images/03-settingsVC.png) --- ![SearchSettingsViewController](images/04-searchsettingsVC.png) --- ![AboutViewController](images/05-aboutVC.png) Complete publisher policy text: https://www.mozilla.org/en-US/foundation/trademarks/policy/ Original HTML SHA-256: 883b4b44358ce148db5e7396eca1afb06c535e3a4d3c4d35f37713e45ef8d1f3 Mozilla Trademark Guidelines Help us improve your Mozilla experience In addition to Cookies necessary for this site to function, we’d like your permission to set some additional Cookies to better understand your browsing needs and improve your experience. Rest assured — we value your privacy. Accept All Additional Cookies Reject All Additional Cookies Cookie settings Menu Products Close Products menu Firefox browsers Mozilla VPN Mozilla Monitor Firefox Relay MDN Plus Thunderbird 0DIN Tabstack Otari All products About us Close About us menu Our Mission About Mozilla The Mozilla Manifesto Get Involved Blog Our Work Mozilla Foundation Mozilla.ai Mozilla Ventures Mozilla Advertising Mozilla Builders Mozilla New Products Menu Mozilla Foundation Mozilla Foundation About the Foundation Licensing & Trademarks Public Documents Careers Key Internet Issues Advocacy Leadership Network Mozilla Foundation Mozilla Trademark Guidelines Mozilla is an open source company . Because we make our code available to download and modify, proper use of our trademarks is essential to inform users whether or not Mozilla stands behind a product or service. When using Mozilla trademarks you must comply with these Mozilla Trademark Guidelines. A list of Mozilla’s and its affiliates’ trademarks can be found here: Trademarks List . However, that is not a complete list of our names, logos, and brand features, all of which are subject to these guidelines. If you want to report misuse of a Mozilla trademark, please contact us here: https://www.mozilla.org/about/legal/defend-mozilla-trademarks/ When do I need specific permission to use a Mozilla trademark? You may do the following without receiving specific permission from Mozilla (or its affiliates): Use Mozilla wordmarks in text to truthfully refer to and/or link to unmodified Mozilla programs, products, services and technologies. Use Mozilla logos in visuals to truthfully refer to and/or to link to the applicable programs, products, services and technologies hosted on Mozilla servers. Describe a Firefox Add-on in accordance with the Firefox Add-on Guidelines . Use Mozilla wordmarks to explain that your software is based on Mozilla’s open source code, or is compatible with Mozilla’s software, in accordance with the Open Source Project Guidelines below. Describe a social media account, page, or community in accordance with the Social Media Guidelines . All other uses of a Mozilla trademark require our prior written permission. This includes any use of a Mozilla trademark in a domain name. Contact us at trademark-permissions@mozilla.com for more information. When allowed, how should I use a Mozilla trademark? General Guidelines Do: Give a Mozilla logo adequate spacing from the other elements on the web page or document (see the Mozilla Logo and Firefox Logo Guidelines below). Use the Mozilla trademark exactly as shown in the Trademarks List . Use Mozilla wordmarks only as an adjective, never as a noun or verb. Do not use them in plural or possessive forms. Instead, use the generic term for the Mozilla product or service following the trademark. For example: Firefox web browser, Pocket app. Include a trademark attribution notice. Use a clearly visible notice to provide attribution to Mozilla, such as: “[Mozilla trademark] is a trademark of the Mozilla Foundation in the US and other countries.” Please see the Trademarks List for examples of attribution notices. Don’t: Don’t use Mozilla trademarks in the name of your business, product, service, app, domain name, publication, or other offering. Don’t use marks, logos, company names, slogans, domain names, or designs that are confusingly similar to Mozilla trademarks. Don’t use Mozilla trademarks in a way that incorrectly implies affiliation with, or sponsorship, endorsement, or approval by Mozilla of your products or services. Don’t display Mozilla trademarks more prominently than your product, service, or company name. Don’t use Mozilla trademarks on merchandise for sale (e.g., selling t-shirts, mugs, etc.) Don’t use Mozilla trademarks for any other form of commercial use (e.g. offering technical support services), unless such use is limited to a truthful and descriptive reference (e.g. “Independent technical support for Mozilla’s Firefox browser”). Don’t modify Mozilla’s trademarks, abbreviate them, or combine them with any other symbols, words, or images, or incorporate them into a tagline or slogan. Additional Guidelines Software Distribution Guidelines Our distribution policy contains additional guidelines that apply to distribution of the Firefox Browser and other Mozilla software. Mozilla Logo and Firefox Logo Guidelines If your use of a logo is permitted under the General Guidelines above, then please refer to the Mozilla Style Guide for detailed information on proper usage. Mozilla Logo: https://brand.mozilla.com/ Firefox Logo: https://brand.firefox.com/ Firefox Add-on Guidelines In addition to the General Guidelines above, your add-on developer name and everything about your add-on (including the add-on name, icon, description, graphics and screenshots) must be unique and free of Mozilla trademarks unless (1) you’ve received prior written permission from Mozilla or (2) you’re only using a Mozilla wordmark to describe that your add-on works with Firefox and as long as your add-on icon and/or name: Does not suggest or give the impression your add-on is actually published by, affiliated with or endorsed by Mozilla; and Denotes your own unique identity so as to clearly signal to users that there is no affiliation with or endorsement by Mozilla. For example, you cannot name your add-on “Firefox NewGadget Extension”. However, it would be acceptable to name your add-on "NewGadget Extension for Firefox”. Social Media Guidelines In addition to the General Guidelines above, the name and handle of your social media account and any and all pages cannot begin with a Mozilla trademark. In addition, Mozilla logos cannot be used in a way that might suggest affiliation with Mozilla, including, but not limited to, the account, profile, or header images. The only exception to these requirements is if you’ve received prior permission from Mozilla. For example, you cannot name your account, page, or community “Firefox Representatives” or “Mozilla Software.” However, it would be acceptable to name your account, page, or community “Fans of Firefox” or “Information about Mozilla Software” as long as you do not use the Firefox or Mozilla logos or otherwise suggest any affiliation with Mozilla. Open Source Project Guidelines The specific license for each of Mozilla’s software products and code says what you can and cannot do with the code itself but does not give permission to use Mozilla’s trademarks. If you choose to build on or modify Mozilla’s open source code for your own project, You Must: Follow the terms of the Open Source License(s) for Mozilla software products and code. Choose branding, logos, and trademarks that denotes your own unique identity so as to clearly signal to users that there is no affiliation with or endorsement by Mozilla. Follow the General Guidelines, above. You Must NOT: Use any Mozilla trademark in connection with the user-facing name or branding of your project. Use any Mozilla trademark or any part of any Mozilla trademark to incorrectly suggest or give the impression your software is actually published by, affiliated with, or endorsed by Mozilla. For example, please do not name your project, [Something]-fox, Moz-[Something], or [Something]-zilla. You May: State in words (not using logos or images) that your product “works with” or “is compatible” with certain Mozilla software products, if that is true. State in words (not using logos or images) that your project is based on Mozilla open source technology, if that is true, as long as you also include a statement that your project is not officially associated with Mozilla or its products. For instance, you may state that your project: “is proudly built from Mozilla’s open source GeckoView software” “adapted from Mozilla’s open source Boot2Gecko” as long as you also include the statement equally prominently: “[Brand Name] and [Product Name] are not officially associated with Mozilla or its products.” Cloud-based Services If you offer a cloud-based service that provides remote access to Mozilla software, it is important that you do so in a way that does not confuse users about who is offering the service. You must not use Mozilla trademarks in the name of your product or service. You may state in words (not using logos or images) that your product or service features or provides access to unaltered Mozilla software, if this is true. For example: Acceptable: [Your Product Name] featuring Mozilla’s Firefox browser Incorrect: Firefox [Your Product Name] Mozilla Community Guidelines Various permissions to use Mozilla Trademarks have been provided to various members of the Mozilla Community, and these Mozilla Trademark Guidelines do not alter any such previously granted permissions. Questions If you have any questions, please contact us at trademark-permissions@mozilla.com . Mozilla Foundation Sign up. Read up. Make a difference. Get the Mozilla newsletter and help us keep the Web free and open. Please enter a valid email address Please select a country or region Please select a language Please check at least one of the newsletter options. You must agree to the privacy notice We are sorry, but there was a problem with our system. Please try again later! Your email address: Select country or region: Afghanistan Akrotiri Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Ashmore and Cartier Islands Australia Austria Azerbaijan Bahamas, The Bahrain Baker Island Bangladesh Barbados Bassas da India Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory Brunei Bulgaria Burkina Faso Burma Burundi Cambodia Cameroon Canada Cape Verde Caribbean Netherlands Cayman Islands Central African Republic Chad Chile China Christmas Island Clipperton Island Cocos (Keeling) Islands Colombia Comoros Congo (Brazzaville) Congo (Kinshasa) Cook Islands Coral Sea Islands Costa Rica Croatia Cuba Curaçao Cyprus Czechia Côte d’Ivoire Denmark Dhekelia Diego Garcia Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Eswatini Ethiopia Europa Island Falkland Islands (Islas Malvinas) Faroe Islands Fiji Finland France French Guiana French Polynesia French Southern and Antarctic Lands Gabon Gambia, The Gaza Strip Georgia Germany Ghana Gibraltar Glorioso Islands Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and McDonald Islands Honduras Hong Kong Howland Island Hungary Iceland India Indonesia Iran Iraq Ireland Isle of Man Israel Italy Jamaica Jan Mayen Japan Jarvis Island Jersey Johnston Atoll Jordan Juan de Nova Island Kazakhstan Kenya Kingman Reef Kiribati Korea, North Korea, South Kosovo Kuwait Kyrgyzstan Laos Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macau Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Micronesia, Federated States of Midway Islands Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Namibia Nauru Navassa Island Nepal Netherlands New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palmyra Atoll Panama Papua New Guinea Paracel Islands Paraguay Peru Philippines Pitcairn Islands Poland Portugal Puerto Rico Qatar Romania Russia Rwanda Réunion Saint Barthélemy Saint Helena, Ascension, and Tristan da Cunha Saint Kitts and Nevis Saint Lucia Saint Martin Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Sint Maarten Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and South Sandwich Islands South Sudan Spain Spratly Islands Sri Lanka Sudan Suriname Svalbard Sweden Switzerland Syria São Tomé and Príncipe Taiwan Tajikistan Tanzania Thailand Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tromelin Island Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu Uganda Ukraine United Arab Emirates United Kingdom United States Uruguay Uzbekistan Vanuatu Vatican City Venezuela Vietnam Virgin Islands, British Virgin Islands, U.S. Wake Island Wallis and Futuna West Bank Western Sahara Yemen Zambia Zimbabwe Select language: Deutsch English Español Français Polski Português I’m okay with Mozilla handling my info as explained in this Privacy Notice Sign Up Now Sending We will only send you Mozilla-related information. You can unsubscribe at any time. Thanks! If you haven’t previously confirmed a subscription to a Mozilla-related newsletter, you may have to do so. Please check your inbox or your spam filter for an email from us. Company Leadership Press Center Careers Merch Store Contact Support Product Help File a Bug Localize Mozilla Security Developers Developer Edition Enterprise Tools MDN Firefox Release Notes Follow @Mozilla Bluesky (@mozilla.org) Instagram (@mozilla) LinkedIn (@mozilla) TikTok (@mozilla) Spotify (@mozilla) Follow @Firefox Bluesky (@firefox.com) Instagram (@firefox) YouTube (@firefoxchannel) TikTok (@firefox) Donate All languages Language English (Canadian) English (British) English Donate to the not-for-profit Mozilla Foundation . Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license . Website Privacy Notice Cookies Legal Community Participation Guidelines About this site Complete publisher policy text: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ Original HTML SHA-256: fdab6f563b2f0b8b166b0cb56c86cadfdcee011e2dd647257dcb220f8e065e60 Websites & Communications Terms of Use — Mozilla Help us improve your Mozilla experience In addition to Cookies necessary for this site to function, we’d like your permission to set some additional Cookies to better understand your browsing needs and improve your experience. Rest assured — we value your privacy. Accept All Additional Cookies Reject All Additional Cookies Cookie settings Menu Products Close Products menu Firefox browsers Mozilla VPN Mozilla Monitor Firefox Relay MDN Plus Thunderbird 0DIN Tabstack Otari All products About us Close About us menu Our Mission About Mozilla The Mozilla Manifesto Get Involved Blog Our Work Mozilla Foundation Mozilla.ai Mozilla Ventures Mozilla Advertising Mozilla Builders Mozilla New Products Websites & Communications Terms of Use Back to Legal Websites & Communications Terms of Use September 16, 2026 Terms of Use 1. Introduction Please read the terms of this entire document (“Terms”) carefully because it explains your rights and responsibilities when you visit any of Mozilla’s websites (“Websites”), or related feeds, social media, newsletters, source code repositories, and emails (together with Websites, these are collectively referred to as “Communications”). By accessing or signing up to receive Communications, you agree to be bound by these Terms. Our Websites include multiple domains such as mozilla.org, mozillians.org, firefox.com, mozillafestival.org, openstandard.com, openbadges.org and webmaker.org. You may also recognize our Websites by nicknames such as Bugzilla@Mozilla, BMO, MozWiki, MoPad, MozReps, MDN, Marketplace, One and Done, SUMO, and AMO. Some of our Websites connect you with links, apps or add-ons that are provided by other parties and are subject to separate Terms. 2. Account Registration Some Websites require you to register for an account in order to access additional features of a Website or another Mozilla service. If applicable, additional terms will be presented to you. You are responsible for all activities under your account. Some Websites allow you to create a username during registration. Your use of a username must comply with our Acceptable Use Policy . 3. Content Licensing Our Communications include content such as articles, images, photographs, comments, software code, audio and video clips, and other materials (collectively, “Content”). Content is authored by Mozilla, contributors to Mozilla projects, and other sources. Content authored by Mozilla is generally made available for public sharing and reuse through open licenses such as Creative Commons (for expressive material) or the Mozilla Public License (for software code). In most cases we ask Mozilla contributors to release Content under open licenses. Some Content in our Communications is acquired from sources that prohibit further use of their Content without advance permission. Where possible, the Content or Website footer will display a notice with the applicable license. You agree to abide by such notices. Note the following specifics: Some Content expressly indicates that the author does not intend for an open license to apply. You should contact the author or author’s agent for permission to use such Content. Questions on Mozilla authored content can be sent to: licensing@mozilla.org. Some Content contains trademarks, trade dress, logos and brand assets of Mozilla and other parties (“Trademarks”). Except for a few limited circumstances, Trademarks cannot be used without advance written permission of the owner of the Trademark. Learn more on Mozilla trademarks. Software used by our Websites is licensed under the MPL or similarly permissive open source licenses. For more information on the specific license, please see the applicable source code or GitHub repository. 4. Content Submissions You may contribute Content when interacting with our Communications, including but not limited to commenting on an article, blogging, contributing code, or contributing graphics or written material (each a “Submission”). Unless your Submission is made under a separate agreement with Mozilla, in which case that agreement will govern, then For Submissions to Mozilla's open source projects: You agree to license your Submission under the terms of the corresponding license of the particular open source project to which you are contributing. For more information on the specific license, please see the applicable source code or GitHub repository. For all other Submissions, you agree to the following in connection with each: You represent and warrant that your Submission will comply with these Terms, the Mozilla Acceptable Use Policy , and any additional terms that may govern your Submission. You hereby grant us a nonexclusive, royalty-free, worldwide, sublicensable (to those we work with) license to use your Submission in connection with the Communications and online and offline promotion of Mozilla’s mission, products and services. You acknowledge that your Submissions may be accessible by other registered users of the applicable service or the public. If your Submission contains expressive material or software code, you agree to license it in a manner that is compatible with the particular Website you are making a Submission to. You represent and warrant that you have the rights necessary to grant the rights granted herein, and further, that the uses contemplated under these Terms will not infringe the proprietary or intellectual property rights of any third party. You understand and agree that Mozilla reserves the right, at its discretion, to review, modify, or remove any Submission that it deems is objectionable or in violation of these Terms. 5. Privacy Policy & Cookies The Mozilla Websites, Communications & Cookies Privacy Notice describes how we handle information that we receive from you in connection with our Communications. The Privacy Notice explains, for example, that we place certain cookies on our Websites and how you can opt-out. 6. Communications and Events If you subscribe to receive our newsletters or register for an account in connection with any of our Websites, you may receive transactional emails from us in connection with your account (for example, legal, privacy, and security updates). Some of our Websites have online tools that allow you to send emails to others. For example, you can invite your contacts to events on Mozillians. You agree not to misuse others’ email addresses (for example, by spamming them). Other Websites, like MozReps, provide tools that enable users to arrange physical events for anyone to attend. Please exercise caution and good judgment when attending events. 7. Notice of Claimed Infringement For more information on how to report claims of copyright or trademark infringement, please see: https://www.mozilla.org/about/legal/report-infringement/ . 8. Term; Termination These Terms will continue to apply until ended by either you or Mozilla. You can choose to end them at any time for any reason by discontinuing your use of our Communications and, if applicable, deleting your account. We may suspend or terminate your access to our Communications at any time for any reason, including, but not limited to, if we reasonably believe: (i) you have violated these Terms, our Acceptable Use Policy, or other relevant policy; (ii) you create risk or possible legal exposure for us; or (iii) our provision of the Communications to you is no longer commercially viable. In all such cases, these Terms shall terminate, except that the following sections shall continue to apply: Indemnification, Disclaimer; Limitation of Liability, Miscellaneous. 9. Indemnification You agree to defend, indemnify and hold harmless Mozilla, its contractors, contributors, licensors, and partners; and the respective directors, officers, employees and agents of the foregoing ("Indemnified Parties") from and against any and all third party claims and expenses, including attorneys' fees, arising out of or related to your use of our Communications (including, but not limited to, from your Submissions or from your violation of any these Terms). 10. Disclaimer; Limitation of Liability THE COMMUNICATIONS ARE PROVIDED "AS IS" WITH ALL FAULTS. TO THE EXTENT PERMITTED BY LAW, MOZILLA AND THE INDEMNIFIED PARTIES HEREBY DISCLAIM ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES THAT THE COMMUNICATIONS ARE FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, AND NON-INFRINGING. YOU BEAR THE ENTIRE RISK AS TO USING THE COMMUNICATIONS FOR YOUR PURPOSES AND AS TO THE QUALITY AND PERFORMANCE OF THE COMMUNICATIONS, INCLUDING WITHOUT LIMITATION THE RISK THAT YOUR HARDWARE, SOFTWARE, OR CONTENT IS DELETED OR CORRUPTED, THAT SOMEONE ELSE GAINS UNAUTHORIZED ACCESS TO YOUR INFORMATION, OR THAT ANOTHER USER MISUSES OR MISAPPROPRIATES YOUR SUBMISSION. THIS LIMITATION WILL APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES, SO THIS DISCLAIMER MAY NOT APPLY TO YOU. EXCEPT AS REQUIRED BY LAW, MOZILLA AND THE INDEMNIFIED PARTIES WILL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR EXEMPLARY DAMAGES ARISING OUT OF OR IN ANY WAY RELATING TO THESE TERMS OR THE USE OF OR INABILITY TO USE THE COMMUNICATIONS, INCLUDING WITHOUT LIMITATION DIRECT AND INDIRECT DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, LOSS OF DATA, AND COMPUTER FAILURE OR MALFUNCTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF THE THEORY (CONTRACT, TORT, OR OTHERWISE) UPON WHICH SUCH CLAIM IS BASED. THE COLLECTIVE LIABILITY OF MOZILLA AND THE INDEMNIFIED PARTIES UNDER THIS AGREEMENT WILL NOT EXCEED $500 (FIVE HUNDRED DOLLARS). SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL, CONSEQUENTIAL, OR SPECIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 11. Modifications to these Terms We may update these Terms from time to time to address a new feature of the Communications or to clarify a provision. The updated Terms will be posted online. If the changes are substantive, we will announce the update through our usual channels for such announcements such as blog posts, banners, emails, or forums. Your continued use of our Communications after the effective date of such changes constitutes your acceptance of such changes. To make your review more convenient, we will post an effective date at the top of this page. 12. Miscellaneous These Terms constitute the entire agreement between you and Mozilla concerning our Communications and supersede any prior versions of these Terms. The Communications and these Terms are governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions. All claims and disputes arising out of the Communications or these Terms shall be brought exclusively in the courts of Santa Clara County, California, and you consent to personal jurisdiction in those courts. If any portion of these Terms is held to be invalid or unenforceable, the remaining portions will remain in full force and effect. In the event of a conflict between a translated version of these Terms and the English language version, the English language version shall control. In the event of a conflict between these Terms and relevant additional terms, the additional terms shall control. 13. Contact Us Mozilla Attn: Mozilla – Legal Notices 1875 Mission Street, Suite 103 San Francisco, CA 94103 USA Telephone: 650-903-0800 Fax: 650-903-0875 Legal-notices at mozilla.com Please note that we do not accept information requests from government agencies at the above address. See our Transparency Page for details about how to submit such requests. Company Leadership Press Center Careers Merch Store Contact Support Product Help File a Bug Localize Mozilla Security Developers Developer Edition Enterprise Tools MDN Firefox Release Notes Follow @Mozilla Bluesky (@mozilla.org) Instagram (@mozilla) LinkedIn (@mozilla) TikTok (@mozilla) Spotify (@mozilla) Follow @Firefox Bluesky (@firefox.com) Instagram (@firefox) YouTube (@firefoxchannel) TikTok (@firefox) Donate All languages Language Čeština Deutsch English (Canadian) English (British) English Español (de Argentina) Español (de Chile) Español (de España) Español (de México) Français magyar Bahasa Indonesia Italiano 日本語 Nederlands Polski Português (do Brasil) Português (Europeu) Русский 中文 (简体) Donate to the not-for-profit Mozilla Foundation . Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license . Website Privacy Notice Cookies Legal Community Participation Guidelines About this site Original editable documentation source is also publicly available from the publisher: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/focus-ios-tests/Documentation/UI%20and%20Code%20Map.sketch SHA-256: 5a102008632d9beb27c9f4d85aed9b8fc2b7150c07211cd8575230a907c7fb57 Bytes: 1576395 Licence scope and source availability: the current publisher monorepo is expressly titled Firefox for iOS and Focus iOS. Its root README attaches the MPL-2.0 Source Code Form notice to the project, and its root LICENSE supplies the complete MPL. The selected PNGs are native app resources and associated Focus documentation files inside that same source repository, not images taken from the separate Mozilla support or marketing websites. The documentation explicitly maps these original Focus app views to their native view-controller implementations and credits the initial 12-Oct-2017 document to Krishna. No narrower licence, proprietary-image notice or third-party photo/art exclusion was found in their source directories. The current native implementation retains the depicted privacy settings, selectable search engines and support/privacy information, with updated layout and provider choices. Complete original PNGs are preserved unchanged; display derivatives may be resized or re-encoded, and their corresponding originals and full notices remain available. The publisher editable Sketch source and native source are available at the pinned URLs above and below. No font files, app binaries or external website media are distributed. Mozilla product trademarks are used unchanged for truthful independent identification under the separately retained publisher trademark policy. Mozilla Communications terms are retained as context and are not claimed to be a blanket screenshot grant. Selected complete unchanged publisher images: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/Assets.xcassets/AppIcon.appiconset/ios-marketing.png SHA-256: 342ffc62f6cd121ea829b1937dd9e108224d694b8627fed71295b42da62e7838 Dimensions: 1024 x 1024 Bytes: 527123 https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/focus-ios-tests/Documentation/images/03-settingsVC.png SHA-256: 7bb93b3ee018680603e8d5b136b34c06d1ba9b54f40f9ae3a864fd33e111fd2f Dimensions: 827 x 1519 Bytes: 158359 https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/focus-ios-tests/Documentation/images/04-searchsettingsVC.png SHA-256: 65f41cc6ece9c0217ddac1b89fe9fd749e2f008425ee8dbd4872354536b6a4b3 Dimensions: 897 x 1519 Bytes: 99417 https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/focus-ios-tests/Documentation/images/05-aboutVC.png SHA-256: 4b06a38feb827700d32c05cf5beae030ecdb1ed70c25dd587b4c7bc0b7c9eecd Dimensions: 827 x 1546 Bytes: 157697 Current publisher native implementations supporting the depicted functions: https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/Settings/Controller/SettingsViewController.swift https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/Settings/Controller/SettingsContentViewController.swift https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/Tracking%20Protection/TrackingProtectionViewController.swift https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/Settings/Controller/SearchSettingsViewController.swift https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/Settings/Controller/AboutViewController.swift https://raw.githubusercontent.com/mozilla-mobile/firefox-ios/df881863cefc680252cd2157bf124e5c71501b59/focus-ios/Blockzilla/BrowserViewController.swift