summaryrefslogtreecommitdiff
path: root/app/views/layouts
diff options
context:
space:
mode:
authorJacob Schatz <jschatz@gitlab.com>2016-06-24 20:51:02 +0000
committerJacob Schatz <jschatz@gitlab.com>2016-06-24 20:51:02 +0000
commite45d6043e8dc8a159e276ec9ef1763f0e98afc39 (patch)
tree9a6a1b6b2d9aeddaa1b1db6a1f1d303659351283 /app/views/layouts
parent3fe7ee7a197a211b2a3b2d0eb8b24fe019123dd9 (diff)
parent3e363a5a79dd0f03e7b0feb8c028f34e7ad45330 (diff)
downloadgitlab-ce-e45d6043e8dc8a159e276ec9ef1763f0e98afc39.tar.gz
Merge branch 'js-content-for' into 'master'
Re-implement page-specific JS in a better way. ## What does this MR do? This rebuilds the way we do page-specific JavaScript assets for a few reasons: - The current implementation does not work with Subresource Integrity (!4808) - The current implementation doesn't allow caching of libraries because each page we hook up with this system will have a separate application.js. Meaning that for every page that uses Ace Editor, we'd have to load Ace Editor plus any GitLab-specific scripts in the same file, making local caching of just Ace Editor impossible. - The current implementation is rather hacky. ## Are there points in the code the reviewer needs to double check? That Sprockets doesn't choke on this when we use precompiled assets. ## What are the relevant issue numbers? #14372 ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support added - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) cc: @jschatz1 @pavelloz Thanks to @pavelloz for his example implementation which was very useful. See merge request !4883
Diffstat (limited to 'app/views/layouts')
-rw-r--r--app/views/layouts/_head.html.haml7
1 files changed, 2 insertions, 5 deletions
diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml
index d5965a6ec99..2d020e9c222 100644
--- a/app/views/layouts/_head.html.haml
+++ b/app/views/layouts/_head.html.haml
@@ -30,11 +30,8 @@
= javascript_include_tag "application", integrity: true
- -# FIXME: SRI doesn't apply to the dynamically-generated per-page
- -# JavaScript due to a bug in sprockets-rails.
- -# See https://github.com/rails/sprockets-rails/issues/359
- - if page_specific_javascripts
- = javascript_include_tag page_specific_javascripts, {"data-turbolinks-track" => true}
+ - if content_for?(:page_specific_javascripts)
+ = yield :page_specific_javascripts
= csrf_meta_tags