diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3b061ce2e6744d4a715736005f4867716e92fa84..41b20a1d9a07faf16a8f46b2c92e3ab8ed98e3e8 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -236,7 +236,7 @@ def page_filter_path(options = {}) end def use_startup_css? - params[:startup_css] == 'true' || cookies['startup_css'] == 'true' + Feature.enabled?(:startup_css) && !Rails.env.test? end def stylesheet_link_tag_defer(path) diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index 4d0959021f50da72562a4f6c80043e991630a5c9..b869298e99da8a188d07a9178da8b5741ffba2e2 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -49,9 +49,7 @@ = favicon_link_tag favicon, id: 'favicon', data: { original_href: favicon }, type: 'image/png' - - if use_startup_css? - %style{ type: "text/css" } - = Rails.application.assets_manifest.find_sources('startup/startup-general.css').first.to_s.html_safe + = render 'layouts/startup_css' - if user_application_theme == 'gl-dark' = stylesheet_link_tag_defer "application_dark" - else @@ -61,7 +59,7 @@ = stylesheet_link_tag_defer "highlight/themes/#{user_color_scheme}" - = render 'layouts/startup_css' + = render 'layouts/startup_css_activation' = Gon::Base.render_data(nonce: content_security_policy_nonce) diff --git a/app/views/layouts/_startup_css.haml b/app/views/layouts/_startup_css.haml index 0b1cce06f47824d0c0ac7d28ec863f76db583941..094038d39b0c9b8316fb541f26dd87c160b33a70 100644 --- a/app/views/layouts/_startup_css.haml +++ b/app/views/layouts/_startup_css.haml @@ -1,7 +1,4 @@ - return unless use_startup_css? -= javascript_tag nonce: true do - :plain - document.querySelectorAll('link[media="print"]').forEach(linkTag => { - linkTag.addEventListener('load', function() {this.media='all'}, {once: true}); - }) +%style{ type: "text/css" } + = Rails.application.assets_manifest.find_sources('startup/startup-general.css').first.to_s.html_safe diff --git a/app/views/layouts/_startup_css_activation.haml b/app/views/layouts/_startup_css_activation.haml new file mode 100644 index 0000000000000000000000000000000000000000..0b1cce06f47824d0c0ac7d28ec863f76db583941 --- /dev/null +++ b/app/views/layouts/_startup_css_activation.haml @@ -0,0 +1,7 @@ +- return unless use_startup_css? + += javascript_tag nonce: true do + :plain + document.querySelectorAll('link[media="print"]').forEach(linkTag => { + linkTag.addEventListener('load', function() {this.media='all'}, {once: true}); + }) diff --git a/config/feature_flags/development/startup_css.yml b/config/feature_flags/development/startup_css.yml new file mode 100644 index 0000000000000000000000000000000000000000..c87b2abc9a59008575dbe4f5c4fc7277f8c9f769 --- /dev/null +++ b/config/feature_flags/development/startup_css.yml @@ -0,0 +1,7 @@ +--- +name: startup_css +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39713 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/238718 +group: group::editor +type: development +default_enabled: false