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

Unified Diff: chrome/browser/resources/pdf/pdf.js

Issue 898673003: Refactor Material Design PDF Viewer toolbar into a single element (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Improve variable naming and documentation Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/pdf/pdf.js
diff --git a/chrome/browser/resources/pdf/pdf.js b/chrome/browser/resources/pdf/pdf.js
index ef62ca7988c55396a7a89d59c0ff8b0b991caa07..a7c1b56a2df7457fa90d8dd585117086308cc587 100644
--- a/chrome/browser/resources/pdf/pdf.js
+++ b/chrome/browser/resources/pdf/pdf.js
@@ -86,8 +86,10 @@ function PDFViewer(streamDetails) {
this.passwordScreen_.addEventListener('password-submitted',
this.onPasswordSubmitted_.bind(this));
this.errorScreen_ = $('error-screen');
- this.toolbarHeight_ = this.isMaterial_ ? $('pdf-toolbar').clientHeight : 0;
- this.bookmarksPane = $('bookmarks-pane');
+ this.materialToolbar_ = $('material-toolbar');
+ this.toolbarHeight_ = this.isMaterial_ ?
+ this.materialToolbar_.clientHeight : 0;
+ this.bookmarksPane_ = $('bookmarks-pane');
// Create the viewport.
this.viewport_ = new Viewport(window,
@@ -123,7 +125,7 @@ function PDFViewer(streamDetails) {
document.title = getFilenameFromURL(this.streamDetails_.originalUrl);
if (this.isMaterial_)
- $('title').textContent = document.title;
+ this.materialToolbar_.filename = document.title;
this.plugin_.setAttribute('src', this.streamDetails_.originalUrl);
this.plugin_.setAttribute('stream-url', this.streamDetails_.streamUrl);
var headers = '';
@@ -137,16 +139,10 @@ function PDFViewer(streamDetails) {
this.plugin_.setAttribute('full-frame', '');
document.body.appendChild(this.plugin_);
- this.pageIndicator_.addEventListener('changePage', function(e) {
+ document.body.addEventListener('changePage', function(e) {
raymes 2015/02/04 00:54:25 nit: should we just attach the event listener to t
Alexandre Carlton 2015/02/04 04:28:47 The viewer-bookmarks-pane also fires 'change-page'
this.viewport_.goToPage(e.detail.page);
}.bind(this));
- if (this.isMaterial_) {
- this.bookmarksPane.addEventListener('changePage', function(e) {
- this.viewport_.goToPage(e.detail.page);
- }.bind(this));
- }
-
// Setup the button event listeners.
$('fit-to-width-button').addEventListener('click',
this.viewport_.fitToWidth.bind(this.viewport_));
@@ -156,12 +152,16 @@ function PDFViewer(streamDetails) {
this.viewport_.zoomIn.bind(this.viewport_));
$('zoom-out-button').addEventListener('click',
this.viewport_.zoomOut.bind(this.viewport_));
- $('save-button').addEventListener('click', this.save_.bind(this));
- $('print-button').addEventListener('click', this.print_.bind(this));
+
if (this.isMaterial_) {
- $('bookmarks-button').addEventListener('click', function() {
- this.bookmarksPane.toggle();
+ this.materialToolbar_.addEventListener('save', this.save_.bind(this));
+ this.materialToolbar_.addEventListener('print', this.print_.bind(this));
+ this.materialToolbar_.addEventListener('toggle-bookmarks', function() {
raymes 2015/02/04 00:54:25 We should be consistent with how we name events (w
Alexandre Carlton 2015/02/04 04:28:47 Done.
+ this.bookmarksPane_.toggle();
}.bind(this));
+ } else {
+ $('save-button').addEventListener('click', this.save_.bind(this));
+ $('print-button').addEventListener('click', this.print_.bind(this));
}
// Setup the keyboard event listener.
@@ -373,7 +373,7 @@ PDFViewer.prototype = {
*/
updateProgress_: function(progress) {
if (this.isMaterial_)
- this.progressBar_.value = progress;
+ this.materialToolbar_.loadProgress = progress;
else
this.progressBar_.progress = progress;
@@ -390,7 +390,7 @@ PDFViewer.prototype = {
// Document load complete.
if (this.lastViewportPosition_)
this.viewport_.position = this.lastViewportPosition_;
- if (this.isMaterial_)
+ if (!this.isMaterial_)
this.pageIndicator_.style.visibility = 'visible';
this.handleURLParams_();
this.loaded_ = true;
@@ -431,7 +431,7 @@ PDFViewer.prototype = {
this.passwordScreen_.accept();
if (this.isMaterial_) {
- this.pageIndicator_.docLength =
+ this.materialToolbar_.docLength =
this.documentDimensions_.pageDimensions.length;
} else {
this.pageIndicator_.initialFadeIn();
@@ -485,9 +485,11 @@ PDFViewer.prototype = {
break;
case 'setTranslatedStrings':
this.passwordScreen_.text = message.data.getPasswordString;
- this.progressBar_.text = message.data.loadingString;
- if (!this.isPrintPreview_)
- this.progressBar_.style.visibility = 'visible';
+ if (!this.isMaterial_) {
+ this.progressBar_.text = message.data.loadingString;
+ if (!this.isPrintPreview_)
+ this.progressBar_.style.visibility = 'visible';
+ }
this.errorScreen_.text = message.data.loadFailedString;
break;
case 'cancelStreamUrl':
@@ -496,7 +498,7 @@ PDFViewer.prototype = {
case 'bookmarks':
this.bookmarks_ = message.data.bookmarks;
if (this.isMaterial_)
- this.bookmarksPane.bookmarks = message.data.bookmarks;
+ this.bookmarksPane_.bookmarks = message.data.bookmarks;
break;
}
},
@@ -594,7 +596,11 @@ PDFViewer.prototype = {
// Update the page indicator.
var visiblePage = this.viewport_.getMostVisiblePage();
- this.pageIndicator_.index = visiblePage;
+ if (this.isMaterial_)
+ this.materialToolbar_.pageIndex = visiblePage;
+ else
+ this.pageIndicator_.index = visiblePage;
+
if (!this.isMaterial_) {
if (this.documentDimensions_.pageDimensions.length > 1 &&
hasScrollbars.vertical) {
@@ -686,7 +692,8 @@ PDFViewer.prototype = {
if (saveButton)
saveButton.parentNode.removeChild(saveButton);
- this.pageIndicator_.pageLabels = message.data.pageNumbers;
+ if (!this.isMaterial_)
+ this.pageIndicator_.pageLabels = message.data.pageNumbers;
this.plugin_.postMessage({
type: 'resetPrintPreviewMode',

Powered by Google App Engine
This is Rietveld 408576698