summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/pdf
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-17 13:57:45 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-19 13:44:40 +0000
commit6ec7b8da05d21a3878bd21c691b41e675d74bb1c (patch)
treeb87f250bc19413750b9bb9cdbf2da20ef5014820 /chromium/chrome/browser/resources/pdf
parentec02ee4181c49b61fce1c8fb99292dbb8139cc90 (diff)
BASELINE: Update Chromium to 60.0.3112.70
Change-Id: I9911c2280a014d4632f254857876a395d4baed2d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/chrome/browser/resources/pdf')
-rw-r--r--chromium/chrome/browser/resources/pdf/OWNERS2
-rw-r--r--chromium/chrome/browser/resources/pdf/browser_api.js2
-rw-r--r--chromium/chrome/browser/resources/pdf/compiled_resources2.gyp28
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/shared-icon-style.css15
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/shared-vars.html16
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.css52
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.html58
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-bookmarks-content/viewer-bookmarks-content.html5
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.css7
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.html26
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.js18
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.css35
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.html36
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.css53
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.html51
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.html48
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.js35
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.css92
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html92
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.css59
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.html69
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.css32
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.html34
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.css41
-rw-r--r--chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.html41
-rw-r--r--chromium/chrome/browser/resources/pdf/gesture_detector.js69
-rw-r--r--chromium/chrome/browser/resources/pdf/index.css3
-rw-r--r--chromium/chrome/browser/resources/pdf/index.html4
-rw-r--r--chromium/chrome/browser/resources/pdf/main.js2
-rw-r--r--chromium/chrome/browser/resources/pdf/navigator.js7
-rw-r--r--chromium/chrome/browser/resources/pdf/open_pdf_params_parser.js7
-rw-r--r--chromium/chrome/browser/resources/pdf/pdf.js19
-rw-r--r--chromium/chrome/browser/resources/pdf/pdf_scripting_api.js35
-rw-r--r--chromium/chrome/browser/resources/pdf/toolbar_manager.js2
-rw-r--r--chromium/chrome/browser/resources/pdf/viewport.js6
-rw-r--r--chromium/chrome/browser/resources/pdf/viewport_scroller.js1
-rw-r--r--chromium/chrome/browser/resources/pdf/zoom_manager.js8
37 files changed, 571 insertions, 539 deletions
diff --git a/chromium/chrome/browser/resources/pdf/OWNERS b/chromium/chrome/browser/resources/pdf/OWNERS
index d58e343b460..fe12ac0938b 100644
--- a/chromium/chrome/browser/resources/pdf/OWNERS
+++ b/chromium/chrome/browser/resources/pdf/OWNERS
@@ -1,3 +1,3 @@
-raymes@chromium.org
+dsinclair@chromium.org
# COMPONENT: Internals>Plugins>PDF
diff --git a/chromium/chrome/browser/resources/pdf/browser_api.js b/chromium/chrome/browser/resources/pdf/browser_api.js
index 28f17b9d1da..c29559a55b9 100644
--- a/chromium/chrome/browser/resources/pdf/browser_api.js
+++ b/chromium/chrome/browser/resources/pdf/browser_api.js
@@ -150,7 +150,7 @@ class BrowserApi {
listener(zoomChangeInfo.newZoomFactor);
}.bind(this));
}
-};
+}
/**
* Enumeration of ways to manage zoom changes.
diff --git a/chromium/chrome/browser/resources/pdf/compiled_resources2.gyp b/chromium/chrome/browser/resources/pdf/compiled_resources2.gyp
new file mode 100644
index 00000000000..a5d9dfe40b8
--- /dev/null
+++ b/chromium/chrome/browser/resources/pdf/compiled_resources2.gyp
@@ -0,0 +1,28 @@
+# Copyright 2017 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.
+
+# TODO(dpapad): Add compile targets for all files, crbug.com/721073.
+{
+ 'targets': [
+ {
+ 'target_name': 'gesture_detector',
+ 'includes': ['../../../../third_party/closure_compiler/compile_js2.gypi'],
+ },
+ {
+ 'target_name': 'open_pdf_params_parser',
+ 'includes': ['../../../../third_party/closure_compiler/compile_js2.gypi'],
+ },
+ {
+ 'target_name': 'pdf_scripting_api',
+ 'dependencies': [
+ '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:assert',
+ ],
+ 'includes': ['../../../../third_party/closure_compiler/compile_js2.gypi'],
+ },
+ {
+ 'target_name': 'viewport_scroller',
+ 'includes': ['../../../../third_party/closure_compiler/compile_js2.gypi'],
+ },
+ ],
+}
diff --git a/chromium/chrome/browser/resources/pdf/elements/shared-icon-style.css b/chromium/chrome/browser/resources/pdf/elements/shared-icon-style.css
deleted file mode 100644
index 59037556c74..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/shared-icon-style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright 2015 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. */
-
-:root {
- --iron-icon-height: 20px;
- --iron-icon-width: 20px;
- --paper-icon-button: {
- height: 32px;
- padding: 6px;
- width: 32px;
- };
- --paper-icon-button-ink-color: rgb(189, 189, 189);
- --viewer-icon-ink-color: rgb(189, 189, 189);
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/shared-vars.html b/chromium/chrome/browser/resources/pdf/elements/shared-vars.html
new file mode 100644
index 00000000000..f67f2b48af2
--- /dev/null
+++ b/chromium/chrome/browser/resources/pdf/elements/shared-vars.html
@@ -0,0 +1,16 @@
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-styles/color.html">
+
+<style is="custom-style">
+ html {
+ --primary-text-color: var(--paper-grey-900);
+ --iron-icon-height: 20px;
+ --iron-icon-width: 20px;
+ --paper-icon-button: {
+ height: 32px;
+ padding: 6px;
+ width: 32px;
+ };
+ --paper-icon-button-ink-color: rgb(189, 189, 189);
+ --viewer-icon-ink-color: rgb(189, 189, 189);
+ }
+</style>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.css b/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.css
deleted file mode 100644
index 74ac2728bd5..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.css
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2015 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. */
-
-#item {
- @apply(--layout-center);
- @apply(--layout-horizontal);
- color: rgb(80, 80, 80);
- cursor: pointer;
- font-size: 77.8%;
- height: 30px;
- position: relative;
-}
-
-#item:hover {
- background-color: rgb(237, 237, 237);
- color: rgb(20, 20, 20);
-}
-
-paper-ripple {
- /* Allowing the ripple to capture pointer events prevents a focus rectangle
- * for showing up for clicks, while still allowing it with tab-navigation.
- * This undoes a paper-ripple bugfix aimed at non-Chrome browsers.
- * TODO(tsergeant): Improve focus in viewer-bookmark so this can be removed
- * (https://crbug.com/5448190). */
- pointer-events: auto;
-}
-
-#title {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-#expand {
- --iron-icon-height: 16px;
- --iron-icon-width: 16px;
- --paper-icon-button-ink-color: var(--paper-grey-900);
- height: 28px;
- min-width: 28px;
- padding: 6px;
- transition: transform 150ms;
- width: 28px;
-}
-
-:host-context([dir=rtl]) #expand {
- transform: rotate(180deg);
-}
-
-:host([children-shown]) #expand {
- transform: rotate(90deg);
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.html b/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.html
index 0228cb835ff..7320212941e 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-bookmark/viewer-bookmark.html
@@ -1,11 +1,59 @@
-<link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="chrome://resources/html/polymer.html">
+
+<link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-ripple/paper-ripple.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-styles/color.html">
<dom-module id="viewer-bookmark" attributes="bookmark">
- <link rel="import" type="css" href="viewer-bookmark.css">
<template>
+ <style>
+ #item {
+ @apply(--layout-center);
+ @apply(--layout-horizontal);
+ cursor: pointer;
+ height: 30px;
+ position: relative;
+ }
+
+ #item:hover {
+ background-color: rgb(237, 237, 237);
+ }
+
+ paper-ripple {
+ /* Allowing the ripple to capture pointer events prevents a focus
+ * rectangle for showing up for clicks, while still allowing it with
+ * tab-navigation. This undoes a paper-ripple bug fix aimed at
+ * non-Chrome browsers. TODO(tsergeant): Improve focus in
+ * viewer-bookmark so this can be removed (https://crbug.com/5448190).
+ */
+ pointer-events: auto;
+ }
+
+ #title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ #expand {
+ --iron-icon-height: 16px;
+ --iron-icon-width: 16px;
+ --paper-icon-button-ink-color: var(--paper-grey-900);
+ height: 28px;
+ min-width: 28px;
+ padding: 6px;
+ transition: transform 150ms;
+ width: 28px;
+ }
+
+ :host-context([dir=rtl]) #expand {
+ transform: rotate(180deg);
+ }
+
+ :host([children-shown]) #expand {
+ transform: rotate(90deg);
+ }
+ </style>
<div id="item" on-click="onClick">
<paper-ripple></paper-ripple>
<paper-icon-button id="expand" icon="cr:chevron-right"
@@ -15,12 +63,12 @@
</div>
<!-- dom-if will stamp the complex bookmark tree lazily as individual nodes
are opened. -->
- <template is="dom-if" if="{{childrenShown}}" id="sub-bookmarks">
- <template is="dom-repeat" items="{{bookmark.children}}">
+ <template is="dom-if" if="[[childrenShown]]" id="sub-bookmarks">
+ <template is="dom-repeat" items="[[bookmark.children]]">
<viewer-bookmark bookmark="{{item}}" depth="{{childDepth}}">
</viewer-bookmark>
</template>
</template>
</template>
+ <script src="viewer-bookmark.js"></script>
</dom-module>
-<script src="viewer-bookmark.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-bookmarks-content/viewer-bookmarks-content.html b/chromium/chrome/browser/resources/pdf/elements/viewer-bookmarks-content/viewer-bookmarks-content.html
index f6bfcafe557..2277ec4d941 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-bookmarks-content/viewer-bookmarks-content.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-bookmarks-content/viewer-bookmarks-content.html
@@ -1,11 +1,12 @@
<link rel="import" href="chrome://resources/html/polymer.html">
+
<link rel="import" href="../viewer-bookmark/viewer-bookmark.html">
<dom-module id="viewer-bookmarks-content">
<template>
- <template is="dom-repeat" items="{{bookmarks}}">
+ <template is="dom-repeat" items="[[bookmarks]]">
<viewer-bookmark bookmark="{{item}}" depth="0"></viewer-bookmark>
</template>
</template>
+ <script src="viewer-bookmarks-content.js"></script>
</dom-module>
-<script src="viewer-bookmarks-content.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.css b/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.css
deleted file mode 100644
index e1e91bd9b39..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Copyright 2015 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. */
-
-.last-item {
- margin-bottom: 24px;
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.html b/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.html
index cdadea281b5..3dccd91dc8b 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.html
@@ -1,22 +1,24 @@
<link rel="import" href="chrome://resources/html/polymer.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/neon-animation/animations/fade-in-animation.html">
+<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/paper-dialog/paper-dialog.html">
<dom-module id="viewer-error-screen">
- <link rel="import" type="css" href="viewer-error-screen.css">
<template>
- <paper-dialog id="dialog" modal no-cancel-on-esc-key
- entry-animation="fade-in-animation">
- <div id="load-failed-message" class="last-item">
- {{strings.pageLoadFailed}}
+ <style include="cr-shared-style"></style>
+ <dialog is="cr-dialog" id="dialog" no-cancel>
+ <div class="title">
+ [[strings.errorDialogTitle]]
</div>
- <div class="buttons" hidden$="{{!reloadFn}}">
- <paper-button on-click="reload" autofocus>
- {{strings.pageReload}}
+ <div class="body">
+ [[strings.pageLoadFailed]]
+ </div>
+ <div class="button-container" hidden$="[[!reloadFn]]">
+ <paper-button class="action-button" on-click="reload">
+ [[strings.pageReload]]
</paper-button>
</div>
- </paper-dialog>
+ </dialog>
</template>
+ <script src="viewer-error-screen.js"></script>
</dom-module>
-<script src="viewer-error-screen.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.js b/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.js
index 4e461b6ad02..29951a43c1b 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.js
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-error-screen/viewer-error-screen.js
@@ -5,27 +5,13 @@
Polymer({
is: 'viewer-error-screen',
properties: {
- reloadFn: {
- type: Object,
- value: null,
- observer: 'reloadFnChanged_'
- },
+ reloadFn: Object,
strings: Object,
},
- reloadFnChanged_: function() {
- // The default margins in paper-dialog don't work well with hiding/showing
- // the .buttons div. We need to manually manage the bottom margin to get
- // around this.
- if (this.reloadFn)
- this.$['load-failed-message'].classList.remove('last-item');
- else
- this.$['load-failed-message'].classList.add('last-item');
- },
-
show: function() {
- this.$.dialog.open();
+ this.$.dialog.showModal();
},
reload: function() {
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.css b/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.css
deleted file mode 100644
index 00bc266116a..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/* 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. */
-
-:host {
- pointer-events: none;
- position: fixed;
- right: 0;
- transition: opacity 400ms ease-in-out;
-}
-
-#text {
- background-color: rgba(0, 0, 0, 0.5);
- border-radius: 5px;
- color: white;
- float: left;
- font-family: sans-serif;
- font-size: 12px;
- font-weight: bold;
- line-height: 48px;
- text-align: center;
- text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
- width: 62px;
-}
-
-#triangle-right {
- border-bottom: 6px solid transparent;
- border-left: 8px solid rgba(0, 0, 0, 0.5);
- border-top: 6px solid transparent;
- display: inline;
- float: left;
- height: 0;
- margin-top: 18px;
- width: 0;
-} \ No newline at end of file
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.html b/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.html
index 970e0a6a4ba..19f05ee2fde 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-page-indicator/viewer-page-indicator.html
@@ -1,10 +1,42 @@
<link rel="import" href="chrome://resources/html/polymer.html">
<dom-module id="viewer-page-indicator">
- <link rel="import" type="css" href="viewer-page-indicator.css">
<template>
+ <style>
+ :host {
+ pointer-events: none;
+ position: fixed;
+ right: 0;
+ transition: opacity 400ms ease-in-out;
+ }
+
+ #text {
+ background-color: rgba(0, 0, 0, 0.5);
+ border-radius: 5px;
+ color: white;
+ float: left;
+ font-family: sans-serif;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 48px;
+ text-align: center;
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
+ width: 62px;
+ }
+
+ #triangle-right {
+ border-bottom: 6px solid transparent;
+ border-left: 8px solid rgba(0, 0, 0, 0.5);
+ border-top: 6px solid transparent;
+ display: inline;
+ float: left;
+ height: 0;
+ margin-top: 18px;
+ width: 0;
+ }
+ </style>
<div id="text">{{label}}</div>
<div id="triangle-right"></div>
</template>
+ <script src="viewer-page-indicator.js"></script>
</dom-module>
-<script src="viewer-page-indicator.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.css b/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.css
deleted file mode 100644
index 78c4e5ac23c..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.css
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2015 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. */
-
-:host {
- color: #fff;
- font-size: 94.4%;
-}
-
-:host ::selection {
- background: rgba(255, 255, 255, 0.3);
-}
-
-#pageselector {
- --paper-input-container-underline: {
- visibility: hidden;
- };
- --paper-input-container-underline-focus: {
- visibility: hidden;
- };
- display: inline-block;
- padding: 0;
- width: 1ch;
-}
-
-#input {
- -webkit-margin-start: -3px;
- color: #fff;
- line-height: 18px;
- padding: 3px;
- text-align: end;
- vertical-align: baseline;
-}
-
-#input:focus,
-#input:hover {
- background-color: rgba(0, 0, 0, 0.5);
- border-radius: 2px;
-}
-
-#slash {
- padding: 0 3px;
-}
-
-#pagelength-spacer {
- display: inline-block;
- text-align: start;
-}
-
-#slash,
-#pagelength {
- font-size: 76.5%;
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.html b/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.html
index bebbd75400c..e0edf8a39e2 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-page-selector/viewer-page-selector.html
@@ -3,8 +3,55 @@
<link rel="import" href="chrome://resources/polymer/v1_0/paper-input/paper-input-container.html">
<dom-module id="viewer-page-selector">
- <link rel="import" type="css" href="viewer-page-selector.css">
<template>
+ <style>
+ :host {
+ color: #fff;
+ font-size: 123%;
+ }
+
+ :host ::selection {
+ background: rgba(255, 255, 255, 0.3);
+ }
+
+ #pageselector {
+ --container: { visibility: hidden; };
+ --paper-input-container-underline: var(--container);
+ --paper-input-container-underline-focus: var(--container);
+ display: inline-block;
+ padding: 0;
+ width: 1ch;
+ }
+
+ #input {
+ -webkit-margin-start: -3px;
+ color: #fff;
+ line-height: 18px;
+ padding: 3px;
+ text-align: end;
+ vertical-align: baseline;
+ }
+
+ #input:focus,
+ #input:hover {
+ background-color: rgba(0, 0, 0, 0.5);
+ border-radius: 2px;
+ }
+
+ #slash {
+ padding: 0 3px;
+ }
+
+ #pagelength-spacer {
+ display: inline-block;
+ text-align: start;
+ }
+
+ #slash,
+ #pagelength {
+ font-size: 81%;
+ }
+ </style>
<paper-input-container id="pageselector" no-label-float>
<input id="input" is="iron-input" value="{{pageNo}}"
prevent-invalid-input allowed-pattern="\d" on-mouseup="select"
@@ -15,5 +62,5 @@
<span id="pagelength">{{docLength}}</span>
</span>
</template>
+ <script src="viewer-page-selector.js"></script>
</dom-module>
-<script src="viewer-page-selector.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.html b/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.html
index 343f579f437..fe925120f94 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.html
@@ -1,30 +1,38 @@
<link rel="import" href="chrome://resources/html/polymer.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/neon-animation/animations/fade-in-animation.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/neon-animation/animations/fade-out-animation.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/paper-dialog/paper-dialog.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-input/paper-input.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-styles/color.html">
+<link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
<dom-module id="viewer-password-screen">
<template>
- <style include="iron-flex iron-flex-alignment"></style>
- <paper-dialog id="dialog" modal no-cancel-on-esc-key
- entry-animation="fade-in-animation" exit-animation="fade-out-animation">
- <div id="message">{{strings.passwordPrompt}}</div>
- <div class="horizontal layout start">
- <paper-input-container id="password-container" class="flex"
- no-label-float invalid="[[invalid]]">
- <input is="iron-input" id="password" type="password" size="20"
- on-keypress="handleKey" autofocus>
- </input>
- <paper-input-error>{{strings.passwordInvalid}}</paper-input-error>
- </paper-input-container>
- <paper-button id="submit" on-click="submit">
- {{strings.passwordSubmit}}
+ <style include="cr-shared-style">
+ #password {
+ --paper-input-container-focus-color: var(--google-blue-500);
+ --paper-input-container-input: {
+ font-size: inherit;
+ };
+ }
+ </style>
+ <dialog is="cr-dialog" id="dialog" no-cancel>
+ <div class="title">[[strings.passwordDialogTitle]]</div>
+ <div class="body">
+ <div id="message">[[strings.passwordPrompt]]</div>
+ <paper-input id="password"
+ type="password"
+ error-message="[[strings.passwordInvalid]]"
+ invalid="[[invalid]]"
+ no-label-float
+ autofocus>
+ </paper-input>
+ </div>
+ <div class="button-container">
+ <paper-button id="submit" class="action-button" on-click="submit">
+ [[strings.passwordSubmit]]
</paper-button>
</div>
- </paper-dialog>
+ </dialog>
</template>
+ <script src="viewer-password-screen.js"></script>
</dom-module>
-<script src="viewer-password-screen.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.js b/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.js
index 2ba723e995a..0ca52a64a8e 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.js
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-password-screen/viewer-password-screen.js
@@ -8,21 +8,20 @@ Polymer({
properties: {
invalid: Boolean,
- active: {
- type: Boolean,
- value: false,
- observer: 'activeChanged'
- },
-
strings: Object,
},
- ready: function() {
- this.activeChanged();
+ get active() {
+ return this.$.dialog.open;
+ },
+
+ show: function() {
+ this.$.dialog.showModal();
},
- accept: function() {
- this.active = false;
+ close: function() {
+ if (this.active)
+ this.$.dialog.close();
},
deny: function() {
@@ -30,12 +29,7 @@ Polymer({
this.$.submit.disabled = false;
this.invalid = true;
this.$.password.focus();
- this.$.password.select();
- },
-
- handleKey: function(e) {
- if (e.keyCode == 13)
- this.submit();
+ this.$.password.inputElement.select();
},
submit: function() {
@@ -45,13 +39,4 @@ Polymer({
this.$.submit.disabled = true;
this.fire('password-submitted', {password: this.$.password.value});
},
-
- activeChanged: function() {
- if (this.active) {
- this.$.dialog.open();
- this.$.password.focus();
- } else {
- this.$.dialog.close();
- }
- }
});
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.css b/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.css
deleted file mode 100644
index 37e8401816e..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.css
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 2015 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. */
-
-:host ::selection {
- background: rgba(255, 255, 255, 0.3);
-}
-
-/* We introduce a wrapper aligner element to help with laying out the main
- * toolbar content without changing the bottom-aligned progress bar. */
-#aligner {
- @apply(--layout-horizontal);
- @apply(--layout-center);
- padding: 0 16px;
- width: 100%;
-}
-
-#title {
- @apply(--layout-flex-5);
- font-size: 77.8%;
- font-weight: 500;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-#pageselector-container {
- @apply(--layout-flex-1);
- text-align: center;
- /* The container resizes according to the width of the toolbar. On small
- * screens with large numbers of pages, overflow page numbers without
- * wrapping. */
- white-space: nowrap;
-}
-
-#buttons {
- @apply(--layout-flex-5);
- -webkit-user-select: none;
- text-align: end;
-}
-
-paper-icon-button {
- -webkit-margin-end: 12px;
-}
-
-viewer-toolbar-dropdown {
- -webkit-margin-end: 4px;
-}
-
-paper-progress {
- --paper-progress-active-color: var(--google-blue-300);
- --paper-progress-container-color: transparent;
- --paper-progress-height: 3px;
- transition: opacity 150ms;
- width: 100%;
-}
-
-paper-toolbar {
- --paper-toolbar-background: rgb(50, 54, 57);
- --paper-toolbar-height: 48px;
- @apply(--shadow-elevation-2dp);
- color: rgb(241, 241, 241);
- font-size: 1.5em;
-}
-
-.invisible {
- visibility: hidden;
-}
-
-@media(max-width: 675px) {
- #bookmarks,
- #rotate-left {
- display: none;
- }
-
- #pageselector-container {
- flex: 2;
- }
-}
-
-@media(max-width: 450px) {
- #rotate-right {
- display: none;
- }
-}
-
-@media(max-width: 400px) {
- #buttons,
- #pageselector-container {
- display: none;
- }
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html b/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
index ca028bd0507..3935b7625f3 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
@@ -13,10 +13,96 @@
<link rel="import" href="../viewer-toolbar-dropdown/viewer-toolbar-dropdown.html">
<dom-module id="viewer-pdf-toolbar">
- <link rel="import" type="css" href="../shared-icon-style.css">
- <link rel="import" type="css" href="viewer-pdf-toolbar.css">
<template>
+ <style>
+ :host ::selection {
+ background: rgba(255, 255, 255, 0.3);
+ }
+ /* We introduce a wrapper aligner element to help with laying out the main
+ * toolbar content without changing the bottom-aligned progress bar. */
+ #aligner {
+ @apply(--layout-horizontal);
+ @apply(--layout-center);
+ padding: 0 8px;
+ width: 100%;
+ }
+
+ #title {
+ @apply(--layout-flex-5);
+ font-size: 107%;
+ font-weight: 500;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ #pageselector-container {
+ @apply(--layout-flex-1);
+ text-align: center;
+ /* The container resizes according to the width of the toolbar. On small
+ * screens with large numbers of pages, overflow page numbers without
+ * wrapping. */
+ white-space: nowrap;
+ }
+
+ #buttons {
+ @apply(--layout-flex-5);
+ -webkit-user-select: none;
+ text-align: end;
+ }
+
+ paper-icon-button {
+ -webkit-margin-end: 12px;
+ }
+
+ viewer-toolbar-dropdown {
+ -webkit-margin-end: 4px;
+ }
+
+ paper-progress {
+ --paper-progress-active-color: var(--google-blue-300);
+ --paper-progress-container-color: transparent;
+ --paper-progress-height: 3px;
+ transition: opacity 150ms;
+ width: 100%;
+ }
+
+ paper-toolbar {
+ --paper-toolbar-background: rgb(50, 54, 57);
+ --paper-toolbar-height: 48px;
+ @apply(--shadow-elevation-2dp);
+ color: rgb(241, 241, 241);
+ }
+
+ .invisible {
+ visibility: hidden;
+ }
+
+ @media(max-width: 675px) {
+ #bookmarks,
+ #rotate-left {
+ display: none;
+ }
+
+ #pageselector-container {
+ flex: 2;
+ }
+ }
+
+ @media(max-width: 450px) {
+ #rotate-right {
+ display: none;
+ }
+ }
+
+ @media(max-width: 400px) {
+ #buttons,
+ #pageselector-container {
+ display: none;
+ }
+ }
+ </style>
<paper-toolbar>
<div id="aligner" class="middle">
<span id="title" title="{{docTitle}}">
@@ -64,5 +150,5 @@
</div>
</paper-toolbar>
</template>
+ <script src="viewer-pdf-toolbar.js"></script>
</dom-module>
-<script src="viewer-pdf-toolbar.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.css b/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.css
deleted file mode 100644
index 5a6d55bf20c..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.css
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2015 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. */
-
-:host {
- text-align: start;
-}
-
-#container {
- position: absolute;
- /* Controls the position of the dropdown relative to the right of the screen.
- * Default is aligned with the right of the toolbar buttons.
- * TODO(tsergeant): Change the layout of the dropdown so this is not required.
- */
- right: var(--viewer-toolbar-dropdown-right-distance, 36px);
-}
-
-:host-context([dir=rtl]) #container {
- left: var(--viewer-toolbar-dropdown-right-distance, 36px);
- right: auto;
-}
-
-paper-material {
- background-color: rgb(256, 256, 256);
- border-radius: 4px;
- overflow-y: hidden;
- padding-bottom: 2px;
- width: 260px;
-}
-
-#scroll-container {
- max-height: 300px;
- overflow-y: auto;
- padding: 6px 0 4px 0;
-}
-
-#icon {
- cursor: pointer;
- display: inline-block;
-}
-
-:host([dropdown-open]) #icon {
- background-color: rgb(25, 27, 29);
- border-radius: 4px;
-}
-
-#arrow {
- -webkit-margin-start: -12px;
- -webkit-padding-end: 4px;
-}
-
-h1 {
- border-bottom: 1px solid rgb(219, 219, 219);
- color: rgb(33, 33, 33);
- font-size: 77.8%;
- font-weight: 500;
- margin: 0;
- padding: 14px 28px;
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.html b/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.html
index e759825c94b..f36fcc9a3bd 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.html
@@ -1,13 +1,69 @@
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/polymer/v1_0/neon-animation/web-animations.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/paper-material/paper-material.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html">
<dom-module id="viewer-toolbar-dropdown">
- <link rel="import" type="css" href="../shared-icon-style.css">
- <link rel="import" type="css" href="viewer-toolbar-dropdown.css">
<template>
+ <style>
+ :host {
+ text-align: start;
+ }
+
+ #container {
+ position: absolute;
+ /* Controls the position of the dropdown relative to the right of the
+ * screen. Default is aligned with the right of the toolbar buttons.
+ * TODO(tsergeant): Change the layout of the dropdown so this is not
+ * required.
+ */
+ right: var(--viewer-toolbar-dropdown-right-distance, 28px);
+ }
+
+ :host-context([dir=rtl]) #container {
+ left: var(--viewer-toolbar-dropdown-right-distance, 28px);
+ right: auto;
+ }
+
+ #dropdown {
+ @apply(--shadow-elevation-2dp);
+ background-color: rgb(256, 256, 256);
+ border-radius: 4px;
+ color: var(--primary-text-color);
+ overflow-y: hidden;
+ padding-bottom: 2px;
+ width: 260px;
+ }
+
+ #scroll-container {
+ max-height: 300px;
+ overflow-y: auto;
+ padding: 6px 0 4px 0;
+ }
+
+ #icon {
+ cursor: pointer;
+ display: inline-block;
+ }
+
+ :host([dropdown-open]) #icon {
+ background-color: rgb(25, 27, 29);
+ border-radius: 4px;
+ }
+
+ #arrow {
+ -webkit-margin-start: -12px;
+ -webkit-padding-end: 4px;
+ }
+
+ h1 {
+ border-bottom: 1px solid rgb(219, 219, 219);
+ font-size: 107.6%;
+ font-weight: 500;
+ margin: 0;
+ padding: 14px 28px;
+ }
+ </style>
<div on-click="toggleDropdown" id="icon">
<paper-icon-button id="main-icon" icon="[[dropdownIcon]]"
aria-label$="{{header}}" title$="{{header}}">
@@ -16,14 +72,13 @@
</div>
<div id="container">
- <paper-material id="dropdown" style="display: none">
+ <div id="dropdown" style="display: none">
<h1>{{header}}</h1>
<div id="scroll-container">
<content></content>
</div>
- </paper-material>
+ </div>
</div>
</template>
+ <script src="viewer-toolbar-dropdown.js"></script>
</dom-module>
-
-<script src="viewer-toolbar-dropdown.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.css b/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.css
deleted file mode 100644
index 02454185593..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.css
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2015 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. */
-
-#wrapper {
- transition: transform 250ms;
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
-}
-
-:host([closed]) #wrapper {
- /* 132px roughly flips the location of the button across the right edge of the
- * page. */
- transform: translateX(132px);
- transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
-}
-
-:host-context([dir=rtl]):host([closed]) #wrapper {
- transform: translateX(-132px);
-}
-
-paper-fab {
- --paper-fab-keyboard-focus-background: var(--viewer-icon-ink-color);
- --paper-fab-mini: {
- height: 36px;
- padding: 8px;
- width: 36px;
- };
- @apply(--shadow-elevation-4dp);
- background-color: rgb(242, 242, 242);
- color: rgb(96, 96, 96);
- overflow: visible;
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.html b/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.html
index 8108d7d7a1a..83d3d8df7f0 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-button.html
@@ -2,14 +2,42 @@
<link rel="import" href="chrome://resources/polymer/v1_0/paper-fab/paper-fab.html">
<dom-module id="viewer-zoom-button">
- <link rel="import" type="css" href="../shared-icon-style.css">
- <link rel="import" type="css" href="viewer-zoom-button.css">
<template>
+ <style>
+ #wrapper {
+ transition: transform 250ms;
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+ }
+
+ :host([closed]) #wrapper {
+ /* 132px roughly flips the location of the button across the right edge
+ * of the page. */
+ transform: translateX(132px);
+ transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
+ }
+
+ :host-context([dir=rtl]):host([closed]) #wrapper {
+ transform: translateX(-132px);
+ }
+
+ paper-fab {
+ @apply(--shadow-elevation-4dp);
+ --paper-fab-keyboard-focus-background: var(--viewer-icon-ink-color);
+ --paper-fab-mini: {
+ height: 36px;
+ padding: 8px;
+ width: 36px;
+ };
+ background-color: rgb(242, 242, 242);
+ color: var(--paper-grey-700);
+ overflow: visible;
+ }
+ </style>
<div id="wrapper">
<paper-fab id="button" mini icon="[[visibleIcon_]]" on-click="fireClick"
aria-label$="[[visibleTooltip_]]" title="[[visibleTooltip_]]">
</paper-fab>
</div>
</template>
+ <script src="viewer-zoom-button.js"></script>
</dom-module>
-<script src="viewer-zoom-button.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.css b/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.css
deleted file mode 100644
index c7577ef5471..00000000000
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.css
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2015 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. */
-
-:host {
- -webkit-user-select: none;
- bottom: 0;
- padding: 48px 0;
- position: fixed;
- right: 0;
- z-index: 3;
-}
-
-:host-context([dir=rtl]) {
- left: 0;
- right: auto;
-}
-
-#zoom-buttons {
- position: relative;
- right: 48px;
-}
-
-:host-context([dir=rtl]) #zoom-buttons {
- left: 48px;
- right: auto;
-}
-
-viewer-zoom-button {
- display: block;
-}
-
-/* A small gap between the zoom in/zoom out buttons. */
-#zoom-out-button {
- margin-top: 10px;
-}
-
-/* A larger gap between the fit button and bottom two buttons. */
-#zoom-in-button {
- margin-top: 24px;
-}
diff --git a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.html b/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.html
index ff8c21ee719..757c24ef859 100644
--- a/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.html
+++ b/chromium/chrome/browser/resources/pdf/elements/viewer-zoom-toolbar/viewer-zoom-toolbar.html
@@ -4,9 +4,46 @@
<link rel="import" href="viewer-zoom-button.html">
<dom-module id="viewer-zoom-toolbar">
- <link rel="import" type="css" href="viewer-zoom-toolbar.css">
<template>
+ <style>
+ :host {
+ -webkit-user-select: none;
+ bottom: 0;
+ padding: 48px 0;
+ position: fixed;
+ right: 0;
+ z-index: 3;
+ }
+ :host-context([dir=rtl]) {
+ left: 0;
+ right: auto;
+ }
+
+ #zoom-buttons {
+ position: relative;
+ right: 48px;
+ }
+
+ :host-context([dir=rtl]) #zoom-buttons {
+ left: 48px;
+ right: auto;
+ }
+
+ viewer-zoom-button {
+ display: block;
+ }
+
+ /* A small gap between the zoom in/zoom out buttons. */
+ #zoom-out-button {
+ margin-top: 10px;
+ }
+
+ /* A larger gap between the fit button and bottom two buttons. */
+ #zoom-in-button {
+ margin-top: 24px;
+ }
+ </style>
<div id="zoom-buttons">
<viewer-zoom-button id="fit-button" on-fabclick="fitToggle" delay="100"
icons="pdf:fullscreen-exit cr:fullscreen">
@@ -17,5 +54,5 @@
on-fabclick="zoomOut" delay="0"></viewer-zoom-button>
</div>
</template>
+ <script src="viewer-zoom-toolbar.js"></script>
</dom-module>
-<script src="viewer-zoom-toolbar.js"></script>
diff --git a/chromium/chrome/browser/resources/pdf/gesture_detector.js b/chromium/chrome/browser/resources/pdf/gesture_detector.js
index fde4650d92b..d73a85b7a3b 100644
--- a/chromium/chrome/browser/resources/pdf/gesture_detector.js
+++ b/chromium/chrome/browser/resources/pdf/gesture_detector.js
@@ -14,20 +14,34 @@ class GestureDetector {
* @param {!Element} element The element to monitor for touch gestures.
*/
constructor(element) {
+ /** @private {!Element} */
this.element_ = element;
this.element_.addEventListener(
- 'touchstart', this.onTouchStart_.bind(this), { passive: false });
+ 'touchstart',
+ /** @type {function(!Event)} */ (this.onTouchStart_.bind(this)),
+ { passive: true });
+
this.element_.addEventListener(
- 'touchmove', this.onTouch_.bind(this), { passive: true });
+ 'touchmove',
+ /** @type {function(!Event)} */ (this.onTouch_.bind(this)),
+ { passive: false });
this.element_.addEventListener(
- 'touchend', this.onTouch_.bind(this), { passive: true });
+ 'touchend',
+ /** @type {function(!Event)} */ (this.onTouch_.bind(this)),
+ { passive: true });
this.element_.addEventListener(
- 'touchcancel', this.onTouch_.bind(this), { passive: true });
+ 'touchcancel',
+ /** @type {function(!Event)} */ (this.onTouch_.bind(this)),
+ { passive: true });
this.pinchStartEvent_ = null;
+ this.lastTouchTouchesCount_ = 0;
+
+ /** @private {?TouchEvent} */
this.lastEvent_ = null;
+ /** @private {!Map<string, !Array<!Function>>} */
this.listeners_ = new Map([
['pinchstart', []],
['pinchupdate', []],
@@ -38,7 +52,7 @@ class GestureDetector {
/**
* Add a |listener| to be notified of |type| events.
* @param {string} type The event type to be notified for.
- * @param {Function} listener The callback.
+ * @param {!Function} listener The callback.
*/
addEventListener(type, listener) {
if (this.listeners_.has(type)) {
@@ -47,6 +61,14 @@ class GestureDetector {
}
/**
+ * Returns true if the last touch start was a two finger touch.
+ * @return {boolean} True if the last touch start was a two finger touch.
+ */
+ wasTwoFingerTouch() {
+ return this.lastTouchTouchesCount_ == 2;
+ }
+
+ /**
* Call the relevant listeners with the given |pinchEvent|.
* @private
* @param {!Object} pinchEvent The event to notify the listeners of.
@@ -64,17 +86,16 @@ class GestureDetector {
* @param {!TouchEvent} event Touch event on the element.
*/
onTouchStart_(event) {
- // We must preventDefault if there is a two finger touch. By doing so
- // native pinch-zoom does not interfere with our way of handling the event.
- if (event.touches.length == 2) {
- event.preventDefault();
- this.pinchStartEvent_ = event;
- this.lastEvent_ = event;
- this.notify_({
- type: 'pinchstart',
- center: GestureDetector.center_(event)
- });
- }
+ this.lastTouchTouchesCount_ = event.touches.length;
+ if (!this.wasTwoFingerTouch())
+ return;
+
+ this.pinchStartEvent_ = event;
+ this.lastEvent_ = event;
+ this.notify_({
+ type: 'pinchstart',
+ center: GestureDetector.center_(event)
+ });
}
/**
@@ -86,12 +107,14 @@ class GestureDetector {
if (!this.pinchStartEvent_)
return;
+ let lastEvent = /** @type {!TouchEvent} */ (this.lastEvent_);
+
// Check if the pinch ends with the current event.
if (event.touches.length < 2 ||
- this.lastEvent_.touches.length !== event.touches.length) {
+ lastEvent.touches.length !== event.touches.length) {
let startScaleRatio = GestureDetector.pinchScaleRatio_(
- this.lastEvent_, this.pinchStartEvent_);
- let center = GestureDetector.center_(this.lastEvent_);
+ lastEvent, this.pinchStartEvent_);
+ let center = GestureDetector.center_(lastEvent);
let endEvent = {
type: 'pinchend',
startScaleRatio: startScaleRatio,
@@ -103,7 +126,11 @@ class GestureDetector {
return;
}
- let scaleRatio = GestureDetector.pinchScaleRatio_(event, this.lastEvent_);
+ // We must preventDefault two finger touchmoves. By doing so native
+ // pinch-zoom does not interfere with our way of handling the event.
+ event.preventDefault();
+
+ let scaleRatio = GestureDetector.pinchScaleRatio_(event, lastEvent);
let startScaleRatio = GestureDetector.pinchScaleRatio_(
event, this.pinchStartEvent_);
let center = GestureDetector.center_(event);
@@ -161,4 +188,4 @@ class GestureDetector {
y: (touch1.clientY + touch2.clientY) / 2
};
}
-};
+}
diff --git a/chromium/chrome/browser/resources/pdf/index.css b/chromium/chrome/browser/resources/pdf/index.css
index a443bac50ec..b7c2d18dc67 100644
--- a/chromium/chrome/browser/resources/pdf/index.css
+++ b/chromium/chrome/browser/resources/pdf/index.css
@@ -4,7 +4,8 @@
body {
background-color: rgb(82, 86, 89);
- font-family: 'Roboto', 'Noto', sans-serif;
+ color: var(--primary-text-color);
+ line-height: 154%;
margin: 0;
}
diff --git a/chromium/chrome/browser/resources/pdf/index.html b/chromium/chrome/browser/resources/pdf/index.html
index 2bc79f81506..8382c4b8525 100644
--- a/chromium/chrome/browser/resources/pdf/index.html
+++ b/chromium/chrome/browser/resources/pdf/index.html
@@ -9,9 +9,9 @@
<link rel="import" href="elements/viewer-password-screen/viewer-password-screen.html">
<link rel="import" href="elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html">
<link rel="import" href="elements/viewer-zoom-toolbar/viewer-zoom-toolbar.html">
+ <link rel="import" href="elements/shared-vars.html">
- <link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
- <link rel="stylesheet" href="chrome://resources/css/roboto.css">
+ <link rel="stylesheet" href="chrome://resources/css/text_defaults_md.css">
<link rel="stylesheet" href="index.css">
</head>
<body>
diff --git a/chromium/chrome/browser/resources/pdf/main.js b/chromium/chrome/browser/resources/pdf/main.js
index e6938bc55cd..901b8e67074 100644
--- a/chromium/chrome/browser/resources/pdf/main.js
+++ b/chromium/chrome/browser/resources/pdf/main.js
@@ -49,7 +49,7 @@ var viewer;
window.addEventListener('message', handleScriptingMessage, false);
createBrowserApi().then(initViewer);
- };
+ }
main();
})();
diff --git a/chromium/chrome/browser/resources/pdf/navigator.js b/chromium/chrome/browser/resources/pdf/navigator.js
index 15c4518e128..d619c42a60b 100644
--- a/chromium/chrome/browser/resources/pdf/navigator.js
+++ b/chromium/chrome/browser/resources/pdf/navigator.js
@@ -9,6 +9,7 @@
* do the actual navigating.
* @param {number} tabId The tab ID of the PDF viewer or -1 if the viewer is
* not displayed in a tab.
+ * @constructor
*/
function NavigatorDelegate(tabId) {
this.tabId_ = tabId;
@@ -22,6 +23,7 @@ function NavigatorDelegate(tabId) {
* @param {Object} navigatorDelegate The object with callback functions that
* get called when navigation happens in the current tab, a new tab,
* and a new window.
+ * @constructor
*/
function Navigator(originalUrl, viewport, paramsParser, navigatorDelegate) {
this.originalUrl_ = originalUrl;
@@ -91,7 +93,6 @@ Navigator.WindowOpenDisposition = {
Navigator.prototype = {
/**
- * @private
* Function to navigate to the given URL. This might involve navigating
* within the PDF page or opening a new url (in the same tab or a new tab).
* @param {string} url The URL to navigate to.
@@ -173,7 +174,7 @@ Navigator.prototype = {
/**
* @private
* Checks if the URL starts with a scheme and is not just a scheme.
- * @param {string} The input URL
+ * @param {string} url The input URL
* @return {boolean} Whether the url is valid.
*/
isValidUrl_: function(url) {
@@ -206,7 +207,7 @@ Navigator.prototype = {
/**
* @private
* Attempt to figure out what a URL is when there is no scheme.
- * @param {string} The input URL
+ * @param {string} url The input URL
* @return {string} The URL with a scheme or the original URL if it is not
* possible to determine the scheme.
*/
diff --git a/chromium/chrome/browser/resources/pdf/open_pdf_params_parser.js b/chromium/chrome/browser/resources/pdf/open_pdf_params_parser.js
index 00f44773f46..8d1ac213e69 100644
--- a/chromium/chrome/browser/resources/pdf/open_pdf_params_parser.js
+++ b/chromium/chrome/browser/resources/pdf/open_pdf_params_parser.js
@@ -7,8 +7,9 @@
/**
* Creates a new OpenPDFParamsParser. This parses the open pdf parameters
* passed in the url to set initial viewport settings for opening the pdf.
- * @param {Object} getNamedDestinationsFunction The function called to fetch
+ * @param {!Function} getNamedDestinationsFunction The function called to fetch
* the page number for a named destination.
+ * @constructor
*/
function OpenPDFParamsParser(getNamedDestinationsFunction) {
this.outstandingRequests_ = [];
@@ -21,7 +22,7 @@ OpenPDFParamsParser.prototype = {
* Parse zoom parameter of open PDF parameters. If this
* parameter is passed while opening PDF then PDF should be opened
* at the specified zoom level.
- * @param {number} zoom value.
+ * @param {string} paramValue zoom value.
* @param {Object} viewportPosition to store zoom and position value.
*/
parseZoomParam_: function(paramValue, viewportPosition) {
@@ -112,7 +113,7 @@ OpenPDFParamsParser.prototype = {
if ('page' in paramsDictionary) {
// |pageNumber| is 1-based, but goToPage() take a zero-based page number.
- var pageNumber = parseInt(paramsDictionary['page']);
+ var pageNumber = parseInt(paramsDictionary['page'], 10);
if (!isNaN(pageNumber) && pageNumber > 0)
viewportPosition['page'] = pageNumber - 1;
}
diff --git a/chromium/chrome/browser/resources/pdf/pdf.js b/chromium/chrome/browser/resources/pdf/pdf.js
index da5793d9b0d..898935ef283 100644
--- a/chromium/chrome/browser/resources/pdf/pdf.js
+++ b/chromium/chrome/browser/resources/pdf/pdf.js
@@ -245,6 +245,8 @@ function PDFViewer(browserApi) {
document.addEventListener('keydown', this.handleKeyEvent_.bind(this));
document.addEventListener('mousemove', this.handleMouseEvent_.bind(this));
document.addEventListener('mouseout', this.handleMouseEvent_.bind(this));
+ document.addEventListener('contextmenu',
+ this.handleContextMenuEvent_.bind(this));
var tabId = this.browserApi_.getStreamInfo().tabId;
this.navigator_ = new Navigator(
@@ -410,6 +412,17 @@ PDFViewer.prototype = {
this.toolbarManager_.hideToolbarsForMouseOut();
},
+ handleContextMenuEvent_: function(e) {
+ // Stop Chrome from popping up the context menu on long press. We need to
+ // make sure the start event did not have 2 touches because we don't want
+ // to block two finger tap opening the context menu. We check for
+ // firesTouchEvents in order to not block the context menu on right click.
+ if (e.sourceCapabilities.firesTouchEvents &&
+ !this.gestureDetector_.wasTwoFingerTouch()) {
+ e.preventDefault();
+ }
+ },
+
/**
* @private
* Rotate the plugin clockwise.
@@ -523,7 +536,7 @@ PDFViewer.prototype = {
this.sizer_.style.display = 'none';
if (this.passwordScreen_.active) {
this.passwordScreen_.deny();
- this.passwordScreen_.active = false;
+ this.passwordScreen_.close();
}
this.loadState_ = LoadState.FAILED;
this.sendDocumentLoadedMessage_();
@@ -585,7 +598,7 @@ PDFViewer.prototype = {
// If we received the document dimensions, the password was good so we
// can dismiss the password screen.
if (this.passwordScreen_.active)
- this.passwordScreen_.accept();
+ this.passwordScreen_.close();
if (this.pageIndicator_)
this.pageIndicator_.initialFadeIn();
@@ -605,7 +618,7 @@ PDFViewer.prototype = {
// If the password screen isn't up, put it up. Otherwise we're
// responding to an incorrect password so deny it.
if (!this.passwordScreen_.active)
- this.passwordScreen_.active = true;
+ this.passwordScreen_.show();
else
this.passwordScreen_.deny();
break;
diff --git a/chromium/chrome/browser/resources/pdf/pdf_scripting_api.js b/chromium/chrome/browser/resources/pdf/pdf_scripting_api.js
index 712e390207e..102130e1959 100644
--- a/chromium/chrome/browser/resources/pdf/pdf_scripting_api.js
+++ b/chromium/chrome/browser/resources/pdf/pdf_scripting_api.js
@@ -9,7 +9,7 @@
*/
function DeserializeKeyEvent(dict) {
var e = document.createEvent('Event');
- e.initEvent('keydown');
+ e.initEvent('keydown', true, true);
e.keyCode = dict.keyCode;
e.shiftKey = dict.shiftKey;
e.ctrlKey = dict.ctrlKey;
@@ -37,6 +37,7 @@ function SerializeKeyEvent(event) {
/**
* An enum containing a value specifying whether the PDF is currently loading,
* has finished loading or failed to load.
+ * @enum {string}
*/
var LoadState = {
LOADING: 'loading',
@@ -49,6 +50,7 @@ var LoadState = {
* the PDF viewer so that it can be customized by things like print preview.
* @param {Window} window the window of the page containing the pdf viewer.
* @param {Object} plugin the plugin element containing the pdf viewer.
+ * @constructor
*/
function PDFScriptingAPI(window, plugin) {
this.loadState_ = LoadState.LOADING;
@@ -64,21 +66,33 @@ function PDFScriptingAPI(window, plugin) {
}
switch (event.data.type) {
case 'viewport':
+ /**
+ * @type {{
+ * pageX: number,
+ * pageY: number,
+ * pageWidth: number,
+ * viewportWidth: number,
+ * viewportHeight: number
+ * }}
+ */
+ var viewportData = event.data;
if (this.viewportChangedCallback_)
- this.viewportChangedCallback_(event.data.pageX,
- event.data.pageY,
- event.data.pageWidth,
- event.data.viewportWidth,
- event.data.viewportHeight);
+ this.viewportChangedCallback_(viewportData.pageX,
+ viewportData.pageY,
+ viewportData.pageWidth,
+ viewportData.viewportWidth,
+ viewportData.viewportHeight);
break;
case 'documentLoaded':
- this.loadState_ = event.data.load_state;
+ var data = /** @type {{load_state: LoadState}} */ (event.data);
+ this.loadState_ = data.load_state;
if (this.loadCallback_)
this.loadCallback_(this.loadState_ == LoadState.SUCCESS);
break;
case 'getSelectedTextReply':
+ var data = /** @type {{selectedText: string}} */ (event.data);
if (this.selectedTextCallback_) {
- this.selectedTextCallback_(event.data.selectedText);
+ this.selectedTextCallback_(data.selectedText);
this.selectedTextCallback_ = null;
}
break;
@@ -240,8 +254,9 @@ PDFScriptingAPI.prototype = {
* @return {HTMLIFrameElement} the iframe element containing the PDF viewer.
*/
function PDFCreateOutOfProcessPlugin(src) {
- var client = new PDFScriptingAPI(window);
- var iframe = window.document.createElement('iframe');
+ var client = new PDFScriptingAPI(window, null);
+ var iframe = assertInstanceof(window.document.createElement('iframe'),
+ HTMLIFrameElement);
iframe.setAttribute('src', 'pdf_preview.html?' + src);
// Prevent the frame from being tab-focusable.
iframe.setAttribute('tabindex', '-1');
diff --git a/chromium/chrome/browser/resources/pdf/toolbar_manager.js b/chromium/chrome/browser/resources/pdf/toolbar_manager.js
index 2bef16f8737..958b9ee3946 100644
--- a/chromium/chrome/browser/resources/pdf/toolbar_manager.js
+++ b/chromium/chrome/browser/resources/pdf/toolbar_manager.js
@@ -136,7 +136,7 @@ ToolbarManager.prototype = {
/**
* Wrapper around Date.now() to make it easily replaceable for testing.
- * @return {int}
+ * @return {number}
* @private
*/
getCurrentTimestamp_: function() {
diff --git a/chromium/chrome/browser/resources/pdf/viewport.js b/chromium/chrome/browser/resources/pdf/viewport.js
index 607f70ed907..6d027f1c8ee 100644
--- a/chromium/chrome/browser/resources/pdf/viewport.js
+++ b/chromium/chrome/browser/resources/pdf/viewport.js
@@ -446,8 +446,8 @@ Viewport.prototype = {
/**
* @private
- * @param {integer} y the y-coordinate to get the page at.
- * @return {integer} the index of a page overlapping the given y-coordinate.
+ * @param {number} y the y-coordinate to get the page at.
+ * @return {number} the index of a page overlapping the given y-coordinate.
*/
getPageAtY_: function(y) {
var min = 0;
@@ -477,7 +477,7 @@ Viewport.prototype = {
/**
* Returns the page with the greatest proportion of its height in the current
* viewport.
- * @return {int} the index of the most visible page.
+ * @return {number} the index of the most visible page.
*/
getMostVisiblePage: function() {
var firstVisiblePage = this.getPageAtY_(this.position.y / this.zoom);
diff --git a/chromium/chrome/browser/resources/pdf/viewport_scroller.js b/chromium/chrome/browser/resources/pdf/viewport_scroller.js
index f46ef4db412..eeef83956b9 100644
--- a/chromium/chrome/browser/resources/pdf/viewport_scroller.js
+++ b/chromium/chrome/browser/resources/pdf/viewport_scroller.js
@@ -24,6 +24,7 @@ ViewportScroller.MAX_DRAG_SCROLL_DISTANCE_ = 100;
* @param {Object} viewport The viewport info of the page.
* @param {Object} plugin The PDF plugin element.
* @param {Object} window The window containing the viewer.
+ * @constructor
*/
function ViewportScroller(viewport, plugin, window) {
this.viewport_ = viewport;
diff --git a/chromium/chrome/browser/resources/pdf/zoom_manager.js b/chromium/chrome/browser/resources/pdf/zoom_manager.js
index 25086938e36..5ed2c74ac39 100644
--- a/chromium/chrome/browser/resources/pdf/zoom_manager.js
+++ b/chromium/chrome/browser/resources/pdf/zoom_manager.js
@@ -86,13 +86,13 @@ class ZoomManager {
// due to floating point error.
return Math.abs(a - b) <= MIN_ZOOM_DELTA;
}
-};
+}
/**
* InactiveZoomManager has no control over the browser's zoom
* and does not respond to browser zoom changes.
*/
-class InactiveZoomManager extends ZoomManager {};
+class InactiveZoomManager extends ZoomManager {}
/**
* ActiveZoomManager controls the browser's zoom.
@@ -180,7 +180,7 @@ class ActiveZoomManager extends ZoomManager {
// internal zoom is the total zoom.
return totalZoom;
}
-};
+}
/**
* This EmbeddedZoomManager responds to changes in the browser zoom,
@@ -196,4 +196,4 @@ class EmbeddedZoomManager extends ZoomManager {
this.browserZoom_ = newZoom;
this.viewport_.updateZoomFromBrowserChange(oldZoom);
}
-};
+}