[nwd] Patching jQuery violations
Change-Id: I00a8395660cca59207db0b94d7168cca784b5095
diff --git a/jquery.modal.js b/jquery.modal.js
index 02c522d..9add4fd 100644
--- a/jquery.modal.js
+++ b/jquery.modal.js
@@ -1,6 +1,6 @@
/*
A simple jQuery modal (http://github.com/kylefox/jquery-modal)
- Version 0.9.1
+ Version 0.9.2
*/
(function (factory) {
@@ -115,7 +115,15 @@
block: function() {
this.$elm.trigger($.modal.BEFORE_BLOCK, [this._ctx()]);
this.$body.css('overflow','hidden');
- this.$blocker = $('<div class="' + this.options.blockerClass + ' blocker current"></div>').appendTo(this.$body);
+ if (window.trustedTypes && window.trustedTypes.createPolicy) {
+ const policy = self.trustedTypes.createPolicy('jquery-modal-fix-1', {
+ createHTML: function(_ignored) { return this.$body }
+ });
+ safeBody = policy.createHTML('_ignored');
+ } else {
+ safeBody = this.$body;
+ }
+ this.$blocker = $('<div></div>').addClass(this.options.blockerClass + ' blocker current').appendTo(safeBody);
selectCurrent();
if(this.options.doFade) {
this.$blocker.css('opacity',0).animate({opacity: 1}, this.options.fadeDuration);
@@ -169,8 +177,16 @@
showSpinner: function() {
if (!this.options.showSpinner) return;
- this.spinner = this.spinner || $('<div class="' + this.options.modalClass + '-spinner"></div>')
- .append(this.options.spinnerHtml);
+ if (window.trustedTypes && window.trustedTypes.createPolicy) {
+ const policy = self.trustedTypes.createPolicy('jquery-modal-fix-2', {
+ createHTML: function(_ignored) { return this.options.spinnerHtml }
+ });
+ safeSpinnerHtml = policy.createHTML('_ignored');
+ } else {
+ safeSpinnerHtml = this.options.spinnerHtml;
+ }
+ this.spinner = this.spinner || $('<div></div>').addClass(this.options.modalClass + '-spinner')
+ .append(safeSpinnerHtml);
this.$body.append(this.spinner);
this.spinner.show();
},
@@ -181,7 +197,7 @@
//Return context for custom events
_ctx: function() {
- return { elm: this.$elm, $elm: this.$elm, $blocker: this.$blocker, options: this.options };
+ return { elm: this.$elm, $elm: this.$elm, $blocker: this.$blocker, options: this.options, $anchor: this.anchor };
}
};