From c9b3ea2f84ce8ab5f8cd56862825aba53947483b Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Sat, 6 Sep 2014 00:37:30 +0200 Subject: [PATCH 1/2] Adjust use of chrome.storage.managed for Opera It turns out that chrome.storage.managed is defined for Opera, so the previous feature detection method did not work. --- web/preferences.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web/preferences.js b/web/preferences.js index 92f0dc648..88feabce2 100644 --- a/web/preferences.js +++ b/web/preferences.js @@ -204,11 +204,15 @@ var Preferences = { // // These preferences can be overridden by the user. // chrome.storage.managed.get(DEFAULT_PREFERENCES, getPreferences); // } else { -// // Managed storage not supported, e.g. in Opera. +// // Managed storage not supported, e.g. in old Chromium versions. // getPreferences(DEFAULT_PREFERENCES); // } // // function getPreferences(defaultPrefs) { +// if (chrome.runtime.lastError) { +// // Managed storage not supported, e.g. in Opera. +// defaultPrefs = DEFAULT_PREFERENCES; +// } // chrome.storage.local.get(defaultPrefs, function(readPrefs) { // resolve(readPrefs); // }); From 7938081e813ccbfb1be789bfb567a71dd51f9a36 Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Sat, 6 Sep 2014 00:41:08 +0200 Subject: [PATCH 2/2] streamsPrivate API change. Since 25 February 2014 (crbug.com/345882) --- extensions/chromium/pdfHandler-v2.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/extensions/chromium/pdfHandler-v2.js b/extensions/chromium/pdfHandler-v2.js index 9bfbc099a..76456979a 100644 --- a/extensions/chromium/pdfHandler-v2.js +++ b/extensions/chromium/pdfHandler-v2.js @@ -180,6 +180,16 @@ limitations under the License. * (added in Chrome 29, http://crbug.com/230346) */ function handleStream(mimeType, pdfUrl, streamUrl, tabId, expectedSize) { + if (typeof mimeType === 'object') { + // API change: argument list -> object, see crbug.com/345882 + // documentation: chrome/common/extensions/api/streams_private.idl + var streamInfo = mimeType; + mimeType = streamInfo.mimeType; + pdfUrl = streamInfo.originalUrl; + streamUrl = streamInfo.streamUrl; + tabId = streamInfo.tabId; + expectedSize = streamInfo.expectedContentSize; + } console.log('Intercepted ' + mimeType + ' in tab ' + tabId + ' with URL ' + pdfUrl + '\nAvailable as: ' + streamUrl); streamSupportsTabId = typeof tabId === 'number';