Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Side by Side Diff: chrome/browser/resources/pdf/browser_api.js

Issue 2299943002: Record the PDF and top level URL when the PDF plugin crashes. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 'use strict'; 5 'use strict';
6 6
7 /** 7 /**
8 * Returns a promise that will resolve to the default zoom factor. 8 * Returns a promise that will resolve to the default zoom factor.
9 * @param {!Object} streamInfo The stream object pointing to the data contained 9 * @param {!Object} streamInfo The stream object pointing to the data contained
10 * in the PDF. 10 * in the PDF.
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 145
146 /** 146 /**
147 * Creates a BrowserApi for an extension running as a mime handler. 147 * Creates a BrowserApi for an extension running as a mime handler.
148 * @return {Promise<BrowserApi>} A promise to a BrowserApi instance constructed 148 * @return {Promise<BrowserApi>} A promise to a BrowserApi instance constructed
149 * using the mimeHandlerPrivate API. 149 * using the mimeHandlerPrivate API.
150 */ 150 */
151 function createBrowserApiForMimeHandlerView() { 151 function createBrowserApiForMimeHandlerView() {
152 return new Promise(function(resolve, reject) { 152 return new Promise(function(resolve, reject) {
153 chrome.mimeHandlerPrivate.getStreamInfo(resolve); 153 chrome.mimeHandlerPrivate.getStreamInfo(resolve);
154 }).then(function(streamInfo) { 154 }).then(function(streamInfo) {
155 let manageZoom = !streamInfo.embedded && streamInfo.tabId != -1; 155 let manageZoom = !streamInfo.embedded && streamInfo.tabId != -1;
raymes 2016/09/05 04:11:47 It does feel a bit weird that we pass in whether t
156 return new Promise(function(resolve, reject) { 156 return new Promise(function(resolve, reject) {
157 if (streamInfo.tabId != -1) {
158 chrome.tabs.get(streamInfo.tabId, function(tab) {
159 streamInfo.tabUrl = tab.url;
160 resolve();
161 });
162 }
raymes 2016/09/05 04:11:47 Hmm this doesn't look quite right to me. resolve()
Lei Zhang 2016/09/07 00:12:38 Uhh, no idea what I'm doing exactly. Let's take an
157 if (!manageZoom) { 163 if (!manageZoom) {
158 resolve(); 164 resolve();
159 return; 165 return;
160 } 166 }
161 chrome.tabs.setZoomSettings( 167 chrome.tabs.setZoomSettings(
162 streamInfo.tabId, {mode: 'manual', scope: 'per-tab'}, resolve); 168 streamInfo.tabId, {mode: 'manual', scope: 'per-tab'}, resolve);
163 }).then(function() { return BrowserApi.create(streamInfo, manageZoom); }); 169 }).then(function() { return BrowserApi.create(streamInfo, manageZoom); });
164 }); 170 });
165 } 171 }
166 172
(...skipping 11 matching lines...) Expand all
178 embedded: window.parent != window, 184 embedded: window.parent != window,
179 tabId: -1, 185 tabId: -1,
180 }; 186 };
181 return new Promise(function(resolve, reject) { 187 return new Promise(function(resolve, reject) {
182 if (!chrome.tabs) { 188 if (!chrome.tabs) {
183 resolve(); 189 resolve();
184 return; 190 return;
185 } 191 }
186 chrome.tabs.getCurrent(function(tab) { 192 chrome.tabs.getCurrent(function(tab) {
187 streamInfo.tabId = tab.id; 193 streamInfo.tabId = tab.id;
194 streamInfo.tabUrl = tab.url;
188 resolve(); 195 resolve();
189 }); 196 });
190 }).then(function() { return BrowserApi.create(streamInfo, false); }); 197 }).then(function() { return BrowserApi.create(streamInfo, false); });
191 } 198 }
192 199
193 /** 200 /**
194 * Returns a promise that will resolve to a BrowserApi instance. 201 * Returns a promise that will resolve to a BrowserApi instance.
195 * @return {Promise<BrowserApi>} A promise to a BrowserApi instance for the 202 * @return {Promise<BrowserApi>} A promise to a BrowserApi instance for the
196 * current environment. 203 * current environment.
197 */ 204 */
198 function createBrowserApi() { 205 function createBrowserApi() {
199 if (window.location.search) 206 if (window.location.search)
200 return createBrowserApiForStandaloneExtension(); 207 return createBrowserApiForStandaloneExtension();
201 208
202 return createBrowserApiForMimeHandlerView(); 209 return createBrowserApiForMimeHandlerView();
203 } 210 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698