From ed1d212ae2daea5e4bd043417610177093e99f19 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 16 Jan 2016 03:03:51 -0500 Subject: [PATCH] Improved SVG cleanup code --- program/js/app.js | 51 +++++++++++++++++++++++++++++---------------------- 1 files changed, 29 insertions(+), 22 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 78df592..45295c7 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3393,12 +3393,12 @@ mailvelope.getKeyring(keyring).then(function(kr) { ref.mailvelope_keyring = kr; ref.mailvelope_init(action, kr); - }).catch(function(err) { + }, function(err) { // attempt to create a new keyring for this app/user mailvelope.createKeyring(keyring).then(function(kr) { ref.mailvelope_keyring = kr; ref.mailvelope_init(action, kr); - }).catch(function(err) { + }, function(err) { console.error(err); }); }); @@ -3526,7 +3526,7 @@ ref.remove_from_attachment_list(name); }); } - }).catch(function(err) { + }, function(err) { console.error(err); console.log(options); }); @@ -3649,15 +3649,15 @@ form.submit(); - }).catch(function(err) { + }, function(err) { console.log(err); }); // mailvelope_editor.encrypt() - }).catch(function(err) { + }, function(err) { console.error(err); }); // mailvelope_keyring.validKeyForAddress(senders) - }).catch(function(err) { + }, function(err) { console.error(err); }); // mailvelope_keyring.validKeyForAddress(recipients) @@ -3671,7 +3671,7 @@ $(selector).addClass('mailvelope').children().not('iframe').hide(); ref.hide_message(msgid); setTimeout(function() { $(window).resize(); }, 10); - }).catch(function(err) { + }, function(err) { console.error(err); ref.hide_message(msgid); ref.display_message('Message decryption failed: ' + err.message, 'error') @@ -3727,7 +3727,7 @@ if (missing_keys.length) { ref.display_message(ref.get_label('nopubkeyfor').replace('$email', missing_keys.join(', ')), 'warning'); } - }, function() { + }).fail(function() { console.error('Pubkey lookup failed with', arguments); ref.hide_message(lock); ref.display_message('pubkeysearcherror', 'error'); @@ -3825,7 +3825,7 @@ btn.closest('.key').fadeOut(); ref.display_message(ref.get_label('keyimportsuccess').replace('$key', $key), 'confirmation'); } - }).catch(function(err) { + }, function(err) { console.log(err); }); }); @@ -8377,7 +8377,7 @@ // html5 file-drop API this.document_drag_hover = function(e, over) { - e.preventDefault(); + // don't e.preventDefault() here to not block text dragging on the page (#1490619) $(this.gui_objects.filedrop)[(over?'addClass':'removeClass')]('active'); }; @@ -8755,14 +8755,10 @@ if (!this.env.browser_capabilities) this.env.browser_capabilities = {}; - if (this.env.browser_capabilities.pdf === undefined) - this.env.browser_capabilities.pdf = this.pdf_support_check(); - - if (this.env.browser_capabilities.flash === undefined) - this.env.browser_capabilities.flash = this.flash_support_check(); - - if (this.env.browser_capabilities.tif === undefined) - this.tif_support_check(); + $.each(['pdf', 'flash', 'tif'], function() { + if (ref.env.browser_capabilities[this] === undefined) + ref.env.browser_capabilities[this] = ref[this + '_support_check'](); + }); }; // Returns browser capabilities string @@ -8781,11 +8777,14 @@ this.tif_support_check = function() { - var img = new Image(); + window.setTimeout(function() { + var img = new Image(); + img.onload = function() { ref.env.browser_capabilities.tif = 1; }; + img.onerror = function() { ref.env.browser_capabilities.tif = 0; }; + img.src = ref.assets_path('program/resources/blank.tif'); + }, 10); - img.onload = function() { ref.env.browser_capabilities.tif = 1; }; - img.onerror = function() { ref.env.browser_capabilities.tif = 0; }; - img.src = this.assets_path('program/resources/blank.tif'); + return 0; }; this.pdf_support_check = function() @@ -8821,6 +8820,14 @@ return 1; } + window.setTimeout(function() { + $('<object>').css({position: 'absolute', left: '-10000px'}) + .attr({data: ref.assets_path('program/resources/dummy.pdf'), width: 1, height: 1, type: 'application/pdf'}) + .load(function() { ref.env.browser_capabilities.pdf = 1; }) + .error(function() { ref.env.browser_capabilities.pdf = 0; }) + .appendTo($('body')); + }, 10); + return 0; }; -- Gitblit v1.9.1