deemru / Chromium-Gost

Chromium с поддержкой алгоритмов ГОСТ
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9991
MIT License
398 stars 43 forks source link

Disallowing of "doodles" #27

Closed mikhailnov closed 3 years ago

mikhailnov commented 3 years ago

Здравствуйте! Коммит https://github.com/deemru/chromium-gost/commit/e5b0dd43ca27404c8121f28a11cf92b466e7938e добавил следующий diff:

   computeDoodleAllowed_() {
-    return loadTimeData.getBoolean('themeModeDoodlesEnabled') ||
-        !this.showBackgroundImage_ && this.theme_ && this.theme_.isDefault &&
-        !this.theme_.isDark;
+    return false;
   :host([single-colored]) #logo {
-    -webkit-mask-image: url(./icons/google_logo.svg);
-    -webkit-mask-repeat: no-repeat;
-    -webkit-mask-size: 100%;
-    background-color: var(--ntp-logo-color);
+    background-image: url(./icons/google_logo.svg);
   }

Это отключение загрузки так называемой "картинки дня" для страницы новой вкладки? Если да, то, мне кажется, стоит в README добавить информацию об этом, т.к. такое изменение не имеет отношения к непосредственно поддержке ГОСТ, хотя и полезно на мой взгляд. Это важно, т.к., например, в дистрибутиве ROSA Fresh/RED Chromium в репозитории поставляется сразу с вашими патчами, не хотелось бы неожиданных и недокументированных изменений в не относящемся к ГОСТ TLS функционале.

deemru commented 3 years ago

Это случилось 10 месяцев назад: https://github.com/deemru/chromium-gost/commit/edfc67818cfb0cf3241dbde36b626ccf4cb9d2cf

Текущие патчи адаптация статуса-кво.

Это важно, т.к., например, в дистрибутиве ROSA Fresh/RED Chromium в репозитории поставляется сразу с вашими патчами, не хотелось бы неожиданных и недокументированных изменений в не относящемся к ГОСТ TLS функционале.

Не хотелось бы брать лишнюю ответственность в этом вопросе — патчи должны проверяться специалистами.

mikhailnov commented 3 years ago

Примерно ясно. Спасибо.

mikhailnov commented 3 years ago

При сборке версии 89 с патчем от 88.0.4324.182 вот такая ерунда на странице новой вкладки:

2021-03-09_22-08

Возможно, не связано с патчем ГОСТ, скоро узнаю. Пробовал удалить из патча подозрительные части

--- chromium.patch  2021-03-09 22:24:55.144198510 +0300
+++ chromium.patch  2021-03-09 22:25:35.782694992 +0300
@@ -75,84 +75,6 @@

    if (result.empty())
      *error_message = "Can't find native messaging host " + host_name;
-diff --git a/chrome/browser/resources/local_ntp/local_ntp.html b/chrome/browser/resources/local_ntp/local_ntp.html
-index 1608f7574403..52498d5b36d1 100644
---- a/chrome/browser/resources/local_ntp/local_ntp.html
-+++ b/chrome/browser/resources/local_ntp/local_ntp.html
-@@ -41,9 +41,9 @@
-   <div id="ntp-contents">
-     <div id="logo">
-       <!-- The logo that is displayed in the absence of a doodle. -->
--      <div id="logo-default" title="Google"></div>
-+      <div id="logo-default" title="Chromium GOST"></div>
-       <!-- Logo displayed when theme prevents doodles. Doesn't fade. -->
--      <div id="logo-non-white" title="Google"></div>
-+      <div id="logo-non-white" title="Chromium GOST"></div>
-       <!-- A doodle, if any: its link and image. -->
-       <div id="logo-doodle">
-         <div id="logo-doodle-container">
-diff --git a/chrome/browser/resources/local_ntp/local_ntp.js b/chrome/browser/resources/local_ntp/local_ntp.js
-index d9d58e1ddef9..1e7e6f26f029 100644
---- a/chrome/browser/resources/local_ntp/local_ntp.js
-+++ b/chrome/browser/resources/local_ntp/local_ntp.js
-@@ -1949,7 +1949,7 @@ function renderTheme() {
-   // Dark mode uses a white Google logo.
-   const useWhiteLogo =
-       theme.alternateLogo || (theme.usingDefaultTheme && isDarkModeEnabled);
--  document.body.classList.toggle(CLASSES.ALTERNATE_LOGO, useWhiteLogo);
-+  document.body.classList.toggle(CLASSES.ALTERNATE_LOGO, false);
- 
-   if (theme.logoColor) {
-     document.body.style.setProperty(
-diff --git a/chrome/browser/resources/new_tab_page/app.js b/chrome/browser/resources/new_tab_page/app.js
-index cac945951061..1e392eb0c819 100644
---- a/chrome/browser/resources/new_tab_page/app.js
-+++ b/chrome/browser/resources/new_tab_page/app.js
-@@ -694,9 +694,7 @@ class AppElement extends PolymerElement {
-    * @private
-    */
-   computeDoodleAllowed_() {
--    return loadTimeData.getBoolean('themeModeDoodlesEnabled') ||
--        !this.showBackgroundImage_ && this.theme_ && this.theme_.isDefault &&
--        !this.theme_.isDark;
-+    return false;
-   }
- 
-   /**
-diff --git a/chrome/browser/resources/new_tab_page/logo.html b/chrome/browser/resources/new_tab_page/logo.html
-index b1579fa5a764..902d504bf418 100644
---- a/chrome/browser/resources/new_tab_page/logo.html
-+++ b/chrome/browser/resources/new_tab_page/logo.html
-@@ -18,10 +18,7 @@
-   }
- 
-   :host([single-colored]) #logo {
--    -webkit-mask-image: url(./icons/google_logo.svg);
--    -webkit-mask-repeat: no-repeat;
--    -webkit-mask-size: 100%;
--    background-color: var(--ntp-logo-color);
-+    background-image: url(./icons/google_logo.svg);
-   }
- 
-   :host(:not([single-colored])) #logo {
-diff --git a/chrome/browser/search/local_ntp_source.cc b/chrome/browser/search/local_ntp_source.cc
-index eb87538793eb..df7b96d468f6 100644
---- a/chrome/browser/search/local_ntp_source.cc
-+++ b/chrome/browser/search/local_ntp_source.cc
-@@ -850,6 +850,13 @@ void LocalNtpSource::StartDataRequest(
-     return;
-   }
- 
-+#ifndef NO_GOSTSSL
-+  if( stripped_path == kPromoScriptFilename || stripped_path == kDoodleScriptFilename ) {
-+    std::move(callback).Run(nullptr);
-+    return;
-+  }
-+#endif /* NO_GOSTSSL */
-+
-   if (stripped_path == chrome::kChromeSearchLocalNtpBackgroundFilename) {
-     base::ThreadPool::PostTaskAndReplyWithResult(
-         FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
 diff --git a/chrome/installer/linux/common/chromium-browser/chromium-browser.info b/chrome/installer/linux/common/chromium-browser/chromium-browser.info
 index 6f67b06166f0..997d45b6af45 100644
 --- a/chrome/installer/linux/common/chromium-browser/chromium-browser.info

но не помогло.

Смотрю, у вас есть коммит с версией 89, но нет тега и релиза, это не связано с такой проблемой?

deemru commented 3 years ago

Смотрю, у вас есть коммит с версией 89, но нет тега и релиза, это не связано с такой проблемой?

Нет, сборочные не успевают, пока результат неизвестен.

deemru commented 3 years ago

Ошибок не видно, зарелизили.

mikhailnov commented 3 years ago

Описанное на странице новой вкладки было вызвано сборкой с is_official_build=false и тем, что в chrome/browser/resources/new_tab_page/modules/BUILD.gn в такой конфигурации включалось добавление этой штуки-заглушки:

  if (!is_official_build) {
    deps += [ "dummy:module" ]
  }

https://abf.io/import/chromium-browser-stable/commit/81854066c60973dc1bda4626943c38cd7f0639e3

В Chromium GOST проверил, проблемы нет. Простите за беспокойство.