| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /**
- * Backport of security fixes from:
- * https://bugs.jqueryui.com/ticket/6016
- * https://github.com/jquery/jquery-ui/pull/1635/files
- */
- (function ($) {
- // Parts of this backport differ by jQuery version.
- var versionParts = $.ui.dialog.version.split('.');
- var majorVersion = parseInt(versionParts[0]);
- var minorVersion = parseInt(versionParts[1]);
- if (majorVersion === 1 && minorVersion < 13) {
- var _originalSetOption = $.ui.dialog.prototype._setOption;
- var _originalCreateTitlebar = $.ui.dialog.prototype._createTitlebar;
- $.extend($.ui.dialog.prototype, {
- _createTitlebar: function () {
- if (this.options.closeText) {
- this.options.closeText = Drupal.checkPlain(this.options.closeText);
- }
- _originalCreateTitlebar.apply(this, arguments);
- },
- _setOption: function (key, value) {
- if (key === 'title' || key == 'closeText') {
- if (value) {
- value = Drupal.checkPlain(value);
- }
- }
- _originalSetOption.apply(this, [key, value]);
- }
- });
- if (majorVersion === 1 && minorVersion < 10) {
- var _originalCreate = $.ui.dialog.prototype._create;
- $.extend($.ui.dialog.prototype, {
- _create: function () {
- if (!this.options.title) {
- var defaultTitle = this.element.attr('title');
- // .attr() might return a DOMElement
- if (typeof defaultTitle !== "string") {
- defaultTitle = "";
- }
- this.options.title = defaultTitle;
- }
- this.options.title = Drupal.checkPlain(this.options.title);
- _originalCreate.apply(this, arguments);
- },
- });
- }
- }
- })(jQuery);
|