// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. (function() { 'use strict'; /** * Keep a stack of stream details for requests. These are pushed onto the * stack as requests come in and popped off the stack as they are handled by a * renderer. * TODO(raymes): This is probably racy for multiple requests. We could * associate an ID with the request but this code will probably change * completely when MIME type handling is improved. */ var streamsCache = []; window.popStreamDetails = function() { if (streamsCache.length > 0) return streamsCache.pop(); }; chrome.streamsPrivate.onExecuteMimeTypeHandler.addListener( function(streamDetails) { // TODO(raymes): Currently this doesn't work with embedded PDFs (it // causes the entire frame to navigate). Also work out how we can // mask the URL with the URL of the PDF. streamsCache.push(streamDetails); chrome.tabs.update(streamDetails.tabId, {url: 'index.html'}); } ); }());