Commit feedc807 authored by dpapad's avatar dpapad Committed by Commit Bot

PDF Viewer: Enable type checking for main.js

This is in preparation of converting the remaining parts
of PDF Viewer to JS modules.

Fixed: 1011585
Change-Id: I904ec1b03268e9d11881f4055173bcea5c952326
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1842625
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#708255}
parent 4812124d
...@@ -67,6 +67,9 @@ js_library("zoom_manager") { ...@@ -67,6 +67,9 @@ js_library("zoom_manager") {
} }
js_library("metrics") { js_library("metrics") {
deps = [
":pdf_fitting_type",
]
externs_list = [ "$externs_path/metrics_private.js" ] externs_list = [ "$externs_path/metrics_private.js" ]
} }
...@@ -81,6 +84,7 @@ js_library("toolbar_manager") { ...@@ -81,6 +84,7 @@ js_library("toolbar_manager") {
deps = [ deps = [
"elements:viewer-pdf-toolbar", "elements:viewer-pdf-toolbar",
"elements:viewer-zoom-toolbar", "elements:viewer-zoom-toolbar",
"//ui/webui/resources/js:util",
] ]
} }
...@@ -97,9 +101,12 @@ js_library("controller") { ...@@ -97,9 +101,12 @@ js_library("controller") {
js_library("pdf_viewer") { js_library("pdf_viewer") {
deps = [ deps = [
":controller", ":controller",
":metrics",
":navigator", ":navigator",
":pdf_scripting_api",
":toolbar_manager", ":toolbar_manager",
":viewport", ":viewport",
":viewport_scroller",
"elements:viewer-bookmark", "elements:viewer-bookmark",
"elements:viewer-error-screen", "elements:viewer-error-screen",
"elements:viewer-page-indicator", "elements:viewer-page-indicator",
...@@ -112,12 +119,21 @@ js_library("pdf_viewer") { ...@@ -112,12 +119,21 @@ js_library("pdf_viewer") {
externs_list = [ "$externs_path/resources_private.js" ] externs_list = [ "$externs_path/resources_private.js" ]
} }
js_library("main") {
deps = [
":browser_api",
":pdf_viewer",
]
}
js_type_check("pdf_resources") { js_type_check("pdf_resources") {
is_polymer3 = true is_polymer3 = true
deps = [ deps = [
":annotation_tool",
":browser_api", ":browser_api",
":controller", ":controller",
":gesture_detector", ":gesture_detector",
":main",
":metrics", ":metrics",
":navigator", ":navigator",
":open_pdf_params_parser", ":open_pdf_params_parser",
......
...@@ -161,8 +161,8 @@ BrowserApi.ZoomBehavior = { ...@@ -161,8 +161,8 @@ BrowserApi.ZoomBehavior = {
/** /**
* Creates a BrowserApi for an extension running as a mime handler. * Creates a BrowserApi for an extension running as a mime handler.
* *
* @return {Promise<BrowserApi>} A promise to a BrowserApi instance constructed * @return {!Promise<!BrowserApi>} A promise to a BrowserApi instance
* using the mimeHandlerPrivate API. * constructed using the mimeHandlerPrivate API.
*/ */
function createBrowserApiForMimeHandlerView() { function createBrowserApiForMimeHandlerView() {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
...@@ -198,8 +198,8 @@ function createBrowserApiForMimeHandlerView() { ...@@ -198,8 +198,8 @@ function createBrowserApiForMimeHandlerView() {
/** /**
* Creates a BrowserApi instance for an extension not running as a mime handler. * Creates a BrowserApi instance for an extension not running as a mime handler.
* *
* @return {Promise<BrowserApi>} A promise to a BrowserApi instance constructed * @return {!Promise<!BrowserApi>} A promise to a BrowserApi instance
* from the URL. * constructed from the URL.
*/ */
function createBrowserApiForPrintPreview() { function createBrowserApiForPrintPreview() {
const url = window.location.search.substring(1); const url = window.location.search.substring(1);
...@@ -227,7 +227,7 @@ function createBrowserApiForPrintPreview() { ...@@ -227,7 +227,7 @@ function createBrowserApiForPrintPreview() {
} }
/** /**
* @return {Promise<BrowserApi>} A promise to a BrowserApi instance for the * @return {!Promise<!BrowserApi>} A promise to a BrowserApi instance for the
* current environment. * current environment.
*/ */
function createBrowserApi() { function createBrowserApi() {
......
...@@ -42,30 +42,29 @@ function handleScriptingMessage(message) { ...@@ -42,30 +42,29 @@ function handleScriptingMessage(message) {
/** /**
* Initialize the global PDFViewer and pass any outstanding messages to it. * Initialize the global PDFViewer and pass any outstanding messages to it.
* *
* @param {Promise<BrowserApi>} browserApi A promise resolving to an API * @param {!BrowserApi} browserApi
* to the browser.
*/ */
function initViewer(browserApi) { function initViewer(browserApi) {
// PDFViewer will handle any messages after it is created. // PDFViewer will handle any messages after it is created.
window.removeEventListener('message', handleScriptingMessage, false); window.removeEventListener('message', handleScriptingMessage, false);
viewer = new PDFViewer(browserApi); window.viewer = new PDFViewer(browserApi);
while (pendingMessages.length > 0) { while (pendingMessages.length > 0) {
viewer.handleScriptingMessage(pendingMessages.shift()); window.viewer.handleScriptingMessage(pendingMessages.shift());
} }
} }
/** /**
* Determine if the content settings allow PDFs to execute javascript. * Determine if the content settings allow PDFs to execute javascript.
* *
* @param {Promise<BrowserApi>} browserApi A promise resolving to an API * @param {!BrowserApi} browserApi
* to the browser. * @return {!Promise<!BrowserApi>}
*/ */
function configureJavaScriptContentSetting(browserApi) { function configureJavaScriptContentSetting(browserApi) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
chrome.contentSettings.javascript.get( chrome.contentSettings.javascript.get(
{ {
'primaryUrl': browserApi.getStreamInfo().originalUrl, 'primaryUrl': browserApi.getStreamInfo().originalUrl,
'secondaryUrl': window.origin 'secondaryUrl': window.location.origin
}, },
(result) => { (result) => {
browserApi.getStreamInfo().javascript = result.setting; browserApi.getStreamInfo().javascript = result.setting;
...@@ -89,7 +88,7 @@ function main() { ...@@ -89,7 +88,7 @@ function main() {
chain = chain.then(configureJavaScriptContentSetting); chain = chain.then(configureJavaScriptContentSetting);
} }
chain = chain.then(initViewer); chain.then(initViewer);
} }
main(); main();
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment