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

Side by Side Diff: chrome/browser/resources/print_preview.js

Issue 7063030: PrintPreview: Print Preview is not staying associated with initiator renderer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 9 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 var localStrings = new LocalStrings(); 5 var localStrings = new LocalStrings();
6 6
7 // The total page count of the previewed document regardless of which pages the 7 // The total page count of the previewed document regardless of which pages the
8 // user has selected. 8 // user has selected.
9 var totalPageCount = -1; 9 var totalPageCount = -1;
10 10
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 updateCopiesButtonsState(); 497 updateCopiesButtonsState();
498 } 498 }
499 499
500 /** 500 /**
501 * Update the print preview when new preview data is available. 501 * Update the print preview when new preview data is available.
502 * Create the PDF plugin as needed. 502 * Create the PDF plugin as needed.
503 * Called from PrintPreviewUI::PreviewDataIsAvailable(). 503 * Called from PrintPreviewUI::PreviewDataIsAvailable().
504 * @param {number} pageCount The expected total pages count. 504 * @param {number} pageCount The expected total pages count.
505 * @param {string} jobTitle The print job title. 505 * @param {string} jobTitle The print job title.
506 * @param {boolean} modifiable If the preview is modifiable. 506 * @param {boolean} modifiable If the preview is modifiable.
507 * 507 * @param {string} previewUid Preview unique identifier.
508 */ 508 */
509 function updatePrintPreview(pageCount, jobTitle, modifiable) { 509 function updatePrintPreview(pageCount, jobTitle, modifiable, previewUid) {
510 var tempPrintSettings = new PrintSettings(); 510 var tempPrintSettings = new PrintSettings();
511 tempPrintSettings.save(); 511 tempPrintSettings.save();
512 512
513 previewModifiable = modifiable; 513 previewModifiable = modifiable;
514 514
515 if (totalPageCount == -1) 515 if (totalPageCount == -1)
516 totalPageCount = pageCount; 516 totalPageCount = pageCount;
517 517
518 if (previouslySelectedPages.length == 0) 518 if (previouslySelectedPages.length == 0)
519 for (var i = 0; i < totalPageCount; i++) 519 for (var i = 0; i < totalPageCount; i++)
(...skipping 13 matching lines...) Expand all
533 return; 533 return;
534 } 534 }
535 } 535 }
536 536
537 if (getSelectedPagesValidityLevel() != 1) 537 if (getSelectedPagesValidityLevel() != 1)
538 pageRangesFieldChanged(); 538 pageRangesFieldChanged();
539 539
540 // Update the current tab title. 540 // Update the current tab title.
541 document.title = localStrings.getStringF('printPreviewTitleFormat', jobTitle); 541 document.title = localStrings.getStringF('printPreviewTitleFormat', jobTitle);
542 542
543 createPDFPlugin(); 543 createPDFPlugin(previewUid);
544 updatePrintSummary(); 544 updatePrintSummary();
545 updatePrintButtonState(); 545 updatePrintButtonState();
546 addEventListeners(); 546 addEventListeners();
547 } 547 }
548 548
549 /** 549 /**
550 * Create the PDF plugin or reload the existing one. 550 * Create the PDF plugin or reload the existing one.
551 * @param {string} previewUid Preview unique identifier.
551 */ 552 */
552 function createPDFPlugin() { 553 function createPDFPlugin(previewUid) {
553 // Enable the print button. 554 // Enable the print button.
554 if (!$('printer-list').disabled) { 555 if (!$('printer-list').disabled) {
555 $('print-button').disabled = false; 556 $('print-button').disabled = false;
556 } 557 }
557 558
558 var pdfViewer = $('pdf-viewer'); 559 var pdfViewer = $('pdf-viewer');
559 if (pdfViewer) { 560 if (pdfViewer) {
560 // Older version of the PDF plugin may not have this method. 561 // Older version of the PDF plugin may not have this method.
561 // TODO(thestig) Eventually remove this check. 562 // TODO(thestig) Eventually remove this check.
562 if (pdfViewer.goToPage) { 563 if (pdfViewer.goToPage) {
563 // Need to call this before the reload(), where the plugin resets its 564 // Need to call this before the reload(), where the plugin resets its
564 // internal page count. 565 // internal page count.
565 pdfViewer.goToPage('0'); 566 pdfViewer.goToPage('0');
566 } 567 }
567 pdfViewer.reload(); 568 pdfViewer.reload();
568 pdfViewer.grayscale(!isColor()); 569 pdfViewer.grayscale(!isColor());
569 return; 570 return;
570 } 571 }
571 572
572 var pdfPlugin = document.createElement('embed'); 573 var pdfPlugin = document.createElement('embed');
573 pdfPlugin.setAttribute('id', 'pdf-viewer'); 574 pdfPlugin.setAttribute('id', 'pdf-viewer');
574 pdfPlugin.setAttribute('type', 'application/pdf'); 575 pdfPlugin.setAttribute('type', 'application/pdf');
575 pdfPlugin.setAttribute('src', 'chrome://print/print.pdf'); 576 pdfPlugin.setAttribute('src', 'chrome://print/' + previewUid + '/print.pdf');
576 var mainView = $('mainview'); 577 var mainView = $('mainview');
577 mainView.appendChild(pdfPlugin); 578 mainView.appendChild(pdfPlugin);
578 pdfPlugin.onload('onPDFLoad()'); 579 pdfPlugin.onload('onPDFLoad()');
579 580
580 // Older version of the PDF plugin may not have this method. 581 // Older version of the PDF plugin may not have this method.
581 // TODO(thestig) Eventually remove this check. 582 // TODO(thestig) Eventually remove this check.
582 if (pdfPlugin.removePrintButton) { 583 if (pdfPlugin.removePrintButton) {
583 pdfPlugin.removePrintButton(); 584 pdfPlugin.removePrintButton();
584 } 585 }
585 586
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 this.isLandscape = ''; 979 this.isLandscape = '';
979 } 980 }
980 981
981 /** 982 /**
982 * Takes a snapshot of the print settings. 983 * Takes a snapshot of the print settings.
983 */ 984 */
984 PrintSettings.prototype.save = function() { 985 PrintSettings.prototype.save = function() {
985 this.deviceName = getSelectedPrinterName(); 986 this.deviceName = getSelectedPrinterName();
986 this.isLandscape = isLandscape(); 987 this.isLandscape = isLandscape();
987 } 988 }
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_preview_message_handler.cc ('k') | chrome/browser/ui/webui/print_preview_data_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698