Сборка стандартного Firefox и его кастомизация

Windows

Перед сборкой необходимо:

Сборка:

  1. Запустите командную среду с помощью C:\mozilla-build\start-shell-msvc2015.bat (поддерживается только версия x32);
  2. Перейдите в проектный каталог \mozilla-central
  3. Скопируйте в этот каталог файл mozconfig.
  4. Ð’ файле mozconfig замените Ð¿ÑƒÑ‚ÑŒ к ÐºÐ°ÑÑ‚омизации Videomost на какой-то стандартный, например так: 
    вместо 
    ac_add_options --with-branding=browser/branding/videomost
    укажите
    ac_add_options --with-branding= browser/branding/nightly
  5. Выполните команду:

./mach build

  1. Выполните команду:

./mach build installer

Установщик будет доступен в каталоге mozilla-central\obj-firefox\dist\install\sea\

Mac

Перед сборкой необходимо распаковать исходный код из архива.
  1. Перейдите в проектный каталог \mozilla-central;
  2. Скопируйте mozconfig.mac в mozconfig;
  3. Выполните команду:

./mach build

  1. Выполните команду:

./mach build package

Установщик будет доступен в каталоге mozilla-central\obj-firefox\dist\

Linux

Установите необходимые инструменты и зависимости, как описано здесь:

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build/Linux_and_MacOS_build_preparation

Перед сборкой необходимо распаковать исходный код из архива.

  1. Перейдите в проектный каталог \mozilla-central;
  2. Выполните команду:

./mach build

  1. Выполните команду:

./mach build package

Установщик будет доступен в каталоге mozilla-central\obj-firefox\dist\

Требования на сайте разработчика

Windows

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Windows_Prerequisites

Mac

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Mac_OS_X_Prerequisites

Linux

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build/Linux_and_MacOS_build_preparation

Инструкция по сборке на сайте разработчика

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build

Кастомизация

Для внесения изменений в собираемую версию браузера, все перечисленные настройки стилей производятся в файле mozilla-central\browser\base\content\browser.css

Отключить адресную строку:
#urlbar-container {
  display:none !important;
}

Строка поиска отключается так:
#search-container {
  display:none !important;
}

Для отключения всей панели:
#nav-bar {
  display:none !important;
}


Отключение панели закладок:
#tabbrowser-tabs {
  visibility: hidden !important;
}

Для отключения окна импорта настроек при первом запуске приложения отредактировать файл:
mozilla-central\toolkit\xre\nsAppRunner.cpp
(удалить все присвоения true для переменной gDoMigration)

Измените настройки в файлах конфигурации:
mozilla-central\browser\app\profile\prefs.js
mozilla-central\browser\branding\nightly\pref\firefox-branding.js

Настройки VideoMost Lite выглядят следующим образом:

Для файла mozconfig 

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-videomost-lite
mk_add_options MOZ_MAKE_FLAGS=-j6
ac_add_options --enable-optimize=-O1
ac_add_options --enable-installer
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
ac_add_options --disable-ipdl-tests
ac_add_options --disable-updater
ac_add_options --disable-update-channel
ac_add_options --disable-update-packaging
ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --with-app-name="VideoMost-lite"
ac_add_options --with-app-basename="VideoMost-lite"
ac_add_options --with-branding=browser/branding/nightly
ac_add_options --with-distribution-id="videomost.com"
ac_add_options --with-user-appdir=".videomost-lite"

Для файла prefs.js

pref("browser.startup.page", 1);
pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=chrome://browser/content/homepage/index.html");
pref("browser.newtab.url", "chrome://browser/content/homepage/index.html");
pref("startup.homepage_welcome_url", "chrome://browser/content/homepage/index.html");
pref("startup.homepage_override_url", "chrome://browser/content/homepage/index.html");
pref("profile.allow_automigration", false);
pref("profile.confirm_automigration", false);
pref("browser.shell.checkDefaultBrowser", false);
pref("browser.rights.3.shown", true);
pref("toolkit.telemetry.rejected", true);
pref("toolkit.telemetry.prompted", 2);
pref("datareporting.healthreport.uploadEnabled", false);
pref("app.update.channel", "videomost-lite");
pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("browser.search.update", false);
pref("app.update.mode", 0);
pref("signon.rememberSignons", false);
pref("network.proxy.type", 5);
pref("profile.enable_profile_migration", false);
pref("plugin.default.state", 2);
pref("browser.tabs.opentabfor.middleclick", false);
pref("browser.tabs.warnOnClose", false);
pref("browser.tabs.warnOnCloseOtherTabs", false);
pref("browser.link.open_newwindow", 2);  // 2 - in new window
pref("browser.link.open_newwindow.override.external", 2);
pref("datareporting.healthreport.service.enabled", false);
pref("security.ssl.errorReporting.enabled", false);
pref("datareporting.healthreport.uploadEnabled", false);
pref("network.proxy.share_proxy_settings", true);
pref("network.http.max-persistent-connections-per-server", 16);
pref("browser.newtabpage.directory.ping", "about:blank");
pref("browser.newtabpage.directory.source", "about:blank");



ID статьи: 41
Последнее обновление: 20 фев, 2018
Ревизия: 2
Videomost -> Сборка стандартного Firefox и его кастомизация
https://kb.videomost.com/entry/41/