images
4 years ago
locale
4 years ago
viewer.css
4 years ago
viewer.html
4 years ago
viewer.js
4 years ago
viewer.html
400 lines
| 1 | <!DOCTYPE html> |
| 2 | <!-- |
| 3 | Copyright 2012 Mozilla Foundation |
| 4 | |
| 5 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | you may not use this file except in compliance with the License. |
| 7 | You may obtain a copy of the License at |
| 8 | |
| 9 | http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | |
| 11 | Unless required by applicable law or agreed to in writing, software |
| 12 | distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | See the License for the specific language governing permissions and |
| 15 | limitations under the License. |
| 16 | |
| 17 | Adobe CMap resources are covered by their own copyright but the same license: |
| 18 | |
| 19 | Copyright 1990-2015 Adobe Systems Incorporated. |
| 20 | |
| 21 | See https://github.com/adobe-type-tools/cmap-resources |
| 22 | --> |
| 23 | <html dir="ltr" mozdisallowselectionprint lang="en-US"> |
| 24 | <head> |
| 25 | <meta charset="utf-8"> |
| 26 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| 27 | <meta name="google" content="notranslate"> |
| 28 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| 29 | <title>PDF.js viewer</title> |
| 30 | |
| 31 | |
| 32 | <link rel="stylesheet" href="viewer.css"> |
| 33 | |
| 34 | |
| 35 | <!-- This snippet is used in production (included from viewer.html) --> |
| 36 | <link rel="resource" type="application/l10n" href="locale/locale.properties"> |
| 37 | <script src="../build/pdf.js"></script> |
| 38 | |
| 39 | |
| 40 | <script src="viewer.js"></script> |
| 41 | |
| 42 | </head> |
| 43 | |
| 44 | <body tabindex="1"> |
| 45 | <div id="outerContainer"> |
| 46 | |
| 47 | <div id="sidebarContainer"> |
| 48 | <div id="toolbarSidebar"> |
| 49 | <div id="toolbarSidebarLeft"> |
| 50 | <div class="splitToolbarButton toggled"> |
| 51 | <button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs"> |
| 52 | <span data-l10n-id="thumbs_label">Thumbnails</span> |
| 53 | </button> |
| 54 | <button id="viewOutline" class="toolbarButton" title="Show Document Outline (double-click to expand/collapse all items)" tabindex="3" data-l10n-id="document_outline"> |
| 55 | <span data-l10n-id="document_outline_label">Document Outline</span> |
| 56 | </button> |
| 57 | <button id="viewAttachments" class="toolbarButton" title="Show Attachments" tabindex="4" data-l10n-id="attachments"> |
| 58 | <span data-l10n-id="attachments_label">Attachments</span> |
| 59 | </button> |
| 60 | <button id="viewLayers" class="toolbarButton" title="Show Layers (double-click to reset all layers to the default state)" tabindex="5" data-l10n-id="layers"> |
| 61 | <span data-l10n-id="layers_label">Layers</span> |
| 62 | </button> |
| 63 | </div> |
| 64 | </div> |
| 65 | |
| 66 | <div id="toolbarSidebarRight"> |
| 67 | <div id="outlineOptionsContainer" class="hidden"> |
| 68 | <div class="verticalToolbarSeparator"></div> |
| 69 | |
| 70 | <button id="currentOutlineItem" class="toolbarButton" disabled="disabled" title="Find Current Outline Item" tabindex="6" data-l10n-id="current_outline_item"> |
| 71 | <span data-l10n-id="current_outline_item_label">Current Outline Item</span> |
| 72 | </button> |
| 73 | </div> |
| 74 | </div> |
| 75 | </div> |
| 76 | <div id="sidebarContent"> |
| 77 | <div id="thumbnailView"> |
| 78 | </div> |
| 79 | <div id="outlineView" class="hidden"> |
| 80 | </div> |
| 81 | <div id="attachmentsView" class="hidden"> |
| 82 | </div> |
| 83 | <div id="layersView" class="hidden"> |
| 84 | </div> |
| 85 | </div> |
| 86 | <div id="sidebarResizer"></div> |
| 87 | </div> <!-- sidebarContainer --> |
| 88 | |
| 89 | <div id="mainContainer"> |
| 90 | <div class="findbar hidden doorHanger" id="findbar"> |
| 91 | <div id="findbarInputContainer"> |
| 92 | <input id="findInput" class="toolbarField" title="Find" placeholder="Find in document…" tabindex="91" data-l10n-id="find_input"> |
| 93 | <div class="splitToolbarButton"> |
| 94 | <button id="findPrevious" class="toolbarButton findPrevious" title="Find the previous occurrence of the phrase" tabindex="92" data-l10n-id="find_previous"> |
| 95 | <span data-l10n-id="find_previous_label">Previous</span> |
| 96 | </button> |
| 97 | <div class="splitToolbarButtonSeparator"></div> |
| 98 | <button id="findNext" class="toolbarButton findNext" title="Find the next occurrence of the phrase" tabindex="93" data-l10n-id="find_next"> |
| 99 | <span data-l10n-id="find_next_label">Next</span> |
| 100 | </button> |
| 101 | </div> |
| 102 | </div> |
| 103 | |
| 104 | <div id="findbarOptionsOneContainer"> |
| 105 | <input type="checkbox" id="findHighlightAll" class="toolbarField" tabindex="94"> |
| 106 | <label for="findHighlightAll" class="toolbarLabel" data-l10n-id="find_highlight">Highlight all</label> |
| 107 | <input type="checkbox" id="findMatchCase" class="toolbarField" tabindex="95"> |
| 108 | <label for="findMatchCase" class="toolbarLabel" data-l10n-id="find_match_case_label">Match case</label> |
| 109 | </div> |
| 110 | <div id="findbarOptionsTwoContainer"> |
| 111 | <input type="checkbox" id="findEntireWord" class="toolbarField" tabindex="96"> |
| 112 | <label for="findEntireWord" class="toolbarLabel" data-l10n-id="find_entire_word_label">Whole words</label> |
| 113 | <span id="findResultsCount" class="toolbarLabel hidden"></span> |
| 114 | </div> |
| 115 | |
| 116 | <div id="findbarMessageContainer"> |
| 117 | <span id="findMsg" class="toolbarLabel"></span> |
| 118 | </div> |
| 119 | </div> <!-- findbar --> |
| 120 | |
| 121 | <div id="secondaryToolbar" class="secondaryToolbar hidden doorHangerRight"> |
| 122 | <div id="secondaryToolbarButtonContainer"> |
| 123 | <button id="secondaryPresentationMode" class="secondaryToolbarButton presentationMode visibleLargeView" title="Switch to Presentation Mode" tabindex="51" data-l10n-id="presentation_mode"> |
| 124 | <span data-l10n-id="presentation_mode_label">Presentation Mode</span> |
| 125 | </button> |
| 126 | |
| 127 | <button id="secondaryOpenFile" class="secondaryToolbarButton openFile visibleLargeView" title="Open File" tabindex="52" data-l10n-id="open_file"> |
| 128 | <span data-l10n-id="open_file_label">Open</span> |
| 129 | </button> |
| 130 | |
| 131 | <button id="secondaryPrint" class="secondaryToolbarButton print visibleMediumView" title="Print" tabindex="53" data-l10n-id="print"> |
| 132 | <span data-l10n-id="print_label">Print</span> |
| 133 | </button> |
| 134 | |
| 135 | <button id="secondaryDownload" class="secondaryToolbarButton download visibleMediumView" title="Download" tabindex="54" data-l10n-id="download"> |
| 136 | <span data-l10n-id="download_label">Download</span> |
| 137 | </button> |
| 138 | |
| 139 | <a href="#" id="secondaryViewBookmark" class="secondaryToolbarButton bookmark visibleSmallView" title="Current view (copy or open in new window)" tabindex="55" data-l10n-id="bookmark"> |
| 140 | <span data-l10n-id="bookmark_label">Current View</span> |
| 141 | </a> |
| 142 | |
| 143 | <div class="horizontalToolbarSeparator visibleLargeView"></div> |
| 144 | |
| 145 | <button id="firstPage" class="secondaryToolbarButton firstPage" title="Go to First Page" tabindex="56" data-l10n-id="first_page"> |
| 146 | <span data-l10n-id="first_page_label">Go to First Page</span> |
| 147 | </button> |
| 148 | <button id="lastPage" class="secondaryToolbarButton lastPage" title="Go to Last Page" tabindex="57" data-l10n-id="last_page"> |
| 149 | <span data-l10n-id="last_page_label">Go to Last Page</span> |
| 150 | </button> |
| 151 | |
| 152 | <div class="horizontalToolbarSeparator"></div> |
| 153 | |
| 154 | <button id="pageRotateCw" class="secondaryToolbarButton rotateCw" title="Rotate Clockwise" tabindex="58" data-l10n-id="page_rotate_cw"> |
| 155 | <span data-l10n-id="page_rotate_cw_label">Rotate Clockwise</span> |
| 156 | </button> |
| 157 | <button id="pageRotateCcw" class="secondaryToolbarButton rotateCcw" title="Rotate Counterclockwise" tabindex="59" data-l10n-id="page_rotate_ccw"> |
| 158 | <span data-l10n-id="page_rotate_ccw_label">Rotate Counterclockwise</span> |
| 159 | </button> |
| 160 | |
| 161 | <div class="horizontalToolbarSeparator"></div> |
| 162 | |
| 163 | <button id="cursorSelectTool" class="secondaryToolbarButton selectTool toggled" title="Enable Text Selection Tool" tabindex="60" data-l10n-id="cursor_text_select_tool"> |
| 164 | <span data-l10n-id="cursor_text_select_tool_label">Text Selection Tool</span> |
| 165 | </button> |
| 166 | <button id="cursorHandTool" class="secondaryToolbarButton handTool" title="Enable Hand Tool" tabindex="61" data-l10n-id="cursor_hand_tool"> |
| 167 | <span data-l10n-id="cursor_hand_tool_label">Hand Tool</span> |
| 168 | </button> |
| 169 | |
| 170 | <div class="horizontalToolbarSeparator"></div> |
| 171 | |
| 172 | <button id="scrollVertical" class="secondaryToolbarButton scrollModeButtons scrollVertical toggled" title="Use Vertical Scrolling" tabindex="62" data-l10n-id="scroll_vertical"> |
| 173 | <span data-l10n-id="scroll_vertical_label">Vertical Scrolling</span> |
| 174 | </button> |
| 175 | <button id="scrollHorizontal" class="secondaryToolbarButton scrollModeButtons scrollHorizontal" title="Use Horizontal Scrolling" tabindex="63" data-l10n-id="scroll_horizontal"> |
| 176 | <span data-l10n-id="scroll_horizontal_label">Horizontal Scrolling</span> |
| 177 | </button> |
| 178 | <button id="scrollWrapped" class="secondaryToolbarButton scrollModeButtons scrollWrapped" title="Use Wrapped Scrolling" tabindex="64" data-l10n-id="scroll_wrapped"> |
| 179 | <span data-l10n-id="scroll_wrapped_label">Wrapped Scrolling</span> |
| 180 | </button> |
| 181 | |
| 182 | <div class="horizontalToolbarSeparator scrollModeButtons"></div> |
| 183 | |
| 184 | <button id="spreadNone" class="secondaryToolbarButton spreadModeButtons spreadNone toggled" title="Do not join page spreads" tabindex="65" data-l10n-id="spread_none"> |
| 185 | <span data-l10n-id="spread_none_label">No Spreads</span> |
| 186 | </button> |
| 187 | <button id="spreadOdd" class="secondaryToolbarButton spreadModeButtons spreadOdd" title="Join page spreads starting with odd-numbered pages" tabindex="66" data-l10n-id="spread_odd"> |
| 188 | <span data-l10n-id="spread_odd_label">Odd Spreads</span> |
| 189 | </button> |
| 190 | <button id="spreadEven" class="secondaryToolbarButton spreadModeButtons spreadEven" title="Join page spreads starting with even-numbered pages" tabindex="67" data-l10n-id="spread_even"> |
| 191 | <span data-l10n-id="spread_even_label">Even Spreads</span> |
| 192 | </button> |
| 193 | |
| 194 | <div class="horizontalToolbarSeparator spreadModeButtons"></div> |
| 195 | |
| 196 | <button id="documentProperties" class="secondaryToolbarButton documentProperties" title="Document Properties…" tabindex="68" data-l10n-id="document_properties"> |
| 197 | <span data-l10n-id="document_properties_label">Document Properties…</span> |
| 198 | </button> |
| 199 | </div> |
| 200 | </div> <!-- secondaryToolbar --> |
| 201 | |
| 202 | <div class="toolbar"> |
| 203 | <div id="toolbarContainer"> |
| 204 | <div id="toolbarViewer"> |
| 205 | <div id="toolbarViewerLeft"> |
| 206 | <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="11" data-l10n-id="toggle_sidebar" aria-expanded="false" aria-controls="sidebarContainer"> |
| 207 | <span data-l10n-id="toggle_sidebar_label">Toggle Sidebar</span> |
| 208 | </button> |
| 209 | <div class="toolbarButtonSpacer"></div> |
| 210 | <button id="viewFind" class="toolbarButton" title="Find in Document" tabindex="12" data-l10n-id="findbar" aria-expanded="false" aria-controls="findbar"> |
| 211 | <span data-l10n-id="findbar_label">Find</span> |
| 212 | </button> |
| 213 | <div class="splitToolbarButton hiddenSmallView"> |
| 214 | <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="13" data-l10n-id="previous"> |
| 215 | <span data-l10n-id="previous_label">Previous</span> |
| 216 | </button> |
| 217 | <div class="splitToolbarButtonSeparator"></div> |
| 218 | <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="14" data-l10n-id="next"> |
| 219 | <span data-l10n-id="next_label">Next</span> |
| 220 | </button> |
| 221 | </div> |
| 222 | <input type="number" id="pageNumber" class="toolbarField pageNumber" title="Page" value="1" size="4" min="1" tabindex="15" data-l10n-id="page" autocomplete="off"> |
| 223 | <span id="numPages" class="toolbarLabel"></span> |
| 224 | </div> |
| 225 | <div id="toolbarViewerRight"> |
| 226 | <button id="presentationMode" class="toolbarButton presentationMode hiddenLargeView" title="Switch to Presentation Mode" tabindex="31" data-l10n-id="presentation_mode"> |
| 227 | <span data-l10n-id="presentation_mode_label">Presentation Mode</span> |
| 228 | </button> |
| 229 | |
| 230 | <button id="openFile" class="toolbarButton openFile hiddenLargeView" title="Open File" tabindex="32" data-l10n-id="open_file"> |
| 231 | <span data-l10n-id="open_file_label">Open</span> |
| 232 | </button> |
| 233 | |
| 234 | <button id="print" class="toolbarButton print hiddenMediumView" title="Print" tabindex="33" data-l10n-id="print"> |
| 235 | <span data-l10n-id="print_label">Print</span> |
| 236 | </button> |
| 237 | |
| 238 | <button id="download" class="toolbarButton download hiddenMediumView" title="Download" tabindex="34" data-l10n-id="download"> |
| 239 | <span data-l10n-id="download_label">Download</span> |
| 240 | </button> |
| 241 | <a href="#" id="viewBookmark" class="toolbarButton bookmark hiddenSmallView" title="Current view (copy or open in new window)" tabindex="35" data-l10n-id="bookmark"> |
| 242 | <span data-l10n-id="bookmark_label">Current View</span> |
| 243 | </a> |
| 244 | |
| 245 | <div class="verticalToolbarSeparator hiddenSmallView"></div> |
| 246 | |
| 247 | <button id="secondaryToolbarToggle" class="toolbarButton" title="Options" tabindex="36" data-l10n-id="tools" aria-expanded="false" aria-controls="secondaryToolbar"> |
| 248 | <span data-l10n-id="tools_label">Options</span> |
| 249 | </button> |
| 250 | </div> |
| 251 | <div id="toolbarViewerMiddle"> |
| 252 | <div class="splitToolbarButton"> |
| 253 | <button id="zoomOut" class="toolbarButton zoomOut" title="Zoom Out" tabindex="21" data-l10n-id="zoom_out"> |
| 254 | <span data-l10n-id="zoom_out_label">Zoom Out</span> |
| 255 | </button> |
| 256 | <div class="splitToolbarButtonSeparator"></div> |
| 257 | <button id="zoomIn" class="toolbarButton zoomIn" title="Zoom In" tabindex="22" data-l10n-id="zoom_in"> |
| 258 | <span data-l10n-id="zoom_in_label">Zoom In</span> |
| 259 | </button> |
| 260 | </div> |
| 261 | <span id="scaleSelectContainer" class="dropdownToolbarButton"> |
| 262 | <select id="scaleSelect" title="Zoom" tabindex="23" data-l10n-id="zoom"> |
| 263 | <option id="pageAutoOption" title="" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option> |
| 264 | <option id="pageActualOption" title="" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option> |
| 265 | <option id="pageFitOption" title="" value="page-fit" data-l10n-id="page_scale_fit">Page Fit</option> |
| 266 | <option id="pageWidthOption" title="" value="page-width" data-l10n-id="page_scale_width">Page Width</option> |
| 267 | <option id="customScaleOption" title="" value="custom" disabled="disabled" hidden="true"></option> |
| 268 | <option title="" value="0.5" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 50 }'>50%</option> |
| 269 | <option title="" value="0.75" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 75 }'>75%</option> |
| 270 | <option title="" value="1" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 100 }'>100%</option> |
| 271 | <option title="" value="1.25" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 125 }'>125%</option> |
| 272 | <option title="" value="1.5" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 150 }'>150%</option> |
| 273 | <option title="" value="2" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 200 }'>200%</option> |
| 274 | <option title="" value="3" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 300 }'>300%</option> |
| 275 | <option title="" value="4" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 400 }'>400%</option> |
| 276 | </select> |
| 277 | </span> |
| 278 | </div> |
| 279 | </div> |
| 280 | <div id="loadingBar"> |
| 281 | <div class="progress"> |
| 282 | <div class="glimmer"> |
| 283 | </div> |
| 284 | </div> |
| 285 | </div> |
| 286 | </div> |
| 287 | </div> |
| 288 | |
| 289 | <div id="viewerContainer" tabindex="0"> |
| 290 | <div id="viewer" class="pdfViewer"></div> |
| 291 | </div> |
| 292 | |
| 293 | <div id="errorWrapper" hidden='true'> |
| 294 | <div id="errorMessageLeft"> |
| 295 | <span id="errorMessage"></span> |
| 296 | <button id="errorShowMore" data-l10n-id="error_more_info"> |
| 297 | More Information |
| 298 | </button> |
| 299 | <button id="errorShowLess" data-l10n-id="error_less_info" hidden='true'> |
| 300 | Less Information |
| 301 | </button> |
| 302 | </div> |
| 303 | <div id="errorMessageRight"> |
| 304 | <button id="errorClose" data-l10n-id="error_close"> |
| 305 | Close |
| 306 | </button> |
| 307 | </div> |
| 308 | <div class="clearBoth"></div> |
| 309 | <textarea id="errorMoreInfo" hidden='true' readonly="readonly"></textarea> |
| 310 | </div> |
| 311 | </div> <!-- mainContainer --> |
| 312 | |
| 313 | <div id="overlayContainer" class="hidden"> |
| 314 | <div id="passwordOverlay" class="container hidden"> |
| 315 | <div class="dialog"> |
| 316 | <div class="row"> |
| 317 | <p id="passwordText" data-l10n-id="password_label">Enter the password to open this PDF file:</p> |
| 318 | </div> |
| 319 | <div class="row"> |
| 320 | <input type="password" id="password" class="toolbarField"> |
| 321 | </div> |
| 322 | <div class="buttonRow"> |
| 323 | <button id="passwordCancel" class="overlayButton"><span data-l10n-id="password_cancel">Cancel</span></button> |
| 324 | <button id="passwordSubmit" class="overlayButton"><span data-l10n-id="password_ok">OK</span></button> |
| 325 | </div> |
| 326 | </div> |
| 327 | </div> |
| 328 | <div id="documentPropertiesOverlay" class="container hidden"> |
| 329 | <div class="dialog"> |
| 330 | <div class="row"> |
| 331 | <span data-l10n-id="document_properties_file_name">File name:</span> <p id="fileNameField">-</p> |
| 332 | </div> |
| 333 | <div class="row"> |
| 334 | <span data-l10n-id="document_properties_file_size">File size:</span> <p id="fileSizeField">-</p> |
| 335 | </div> |
| 336 | <div class="separator"></div> |
| 337 | <div class="row"> |
| 338 | <span data-l10n-id="document_properties_title">Title:</span> <p id="titleField">-</p> |
| 339 | </div> |
| 340 | <div class="row"> |
| 341 | <span data-l10n-id="document_properties_author">Author:</span> <p id="authorField">-</p> |
| 342 | </div> |
| 343 | <div class="row"> |
| 344 | <span data-l10n-id="document_properties_subject">Subject:</span> <p id="subjectField">-</p> |
| 345 | </div> |
| 346 | <div class="row"> |
| 347 | <span data-l10n-id="document_properties_keywords">Keywords:</span> <p id="keywordsField">-</p> |
| 348 | </div> |
| 349 | <div class="row"> |
| 350 | <span data-l10n-id="document_properties_creation_date">Creation Date:</span> <p id="creationDateField">-</p> |
| 351 | </div> |
| 352 | <div class="row"> |
| 353 | <span data-l10n-id="document_properties_modification_date">Modification Date:</span> <p id="modificationDateField">-</p> |
| 354 | </div> |
| 355 | <div class="row"> |
| 356 | <span data-l10n-id="document_properties_creator">Creator:</span> <p id="creatorField">-</p> |
| 357 | </div> |
| 358 | <div class="separator"></div> |
| 359 | <div class="row"> |
| 360 | <span data-l10n-id="document_properties_producer">PDF Producer:</span> <p id="producerField">-</p> |
| 361 | </div> |
| 362 | <div class="row"> |
| 363 | <span data-l10n-id="document_properties_version">PDF Version:</span> <p id="versionField">-</p> |
| 364 | </div> |
| 365 | <div class="row"> |
| 366 | <span data-l10n-id="document_properties_page_count">Page Count:</span> <p id="pageCountField">-</p> |
| 367 | </div> |
| 368 | <div class="row"> |
| 369 | <span data-l10n-id="document_properties_page_size">Page Size:</span> <p id="pageSizeField">-</p> |
| 370 | </div> |
| 371 | <div class="separator"></div> |
| 372 | <div class="row"> |
| 373 | <span data-l10n-id="document_properties_linearized">Fast Web View:</span> <p id="linearizedField">-</p> |
| 374 | </div> |
| 375 | <div class="buttonRow"> |
| 376 | <button id="documentPropertiesClose" class="overlayButton"><span data-l10n-id="document_properties_close">Close</span></button> |
| 377 | </div> |
| 378 | </div> |
| 379 | </div> |
| 380 | <div id="printServiceOverlay" class="container hidden"> |
| 381 | <div class="dialog"> |
| 382 | <div class="row"> |
| 383 | <span data-l10n-id="print_progress_message">Preparing document for printing…</span> |
| 384 | </div> |
| 385 | <div class="row"> |
| 386 | <progress value="0" max="100"></progress> |
| 387 | <span data-l10n-id="print_progress_percent" data-l10n-args='{ "progress": 0 }' class="relative-progress">0%</span> |
| 388 | </div> |
| 389 | <div class="buttonRow"> |
| 390 | <button id="printCancel" class="overlayButton"><span data-l10n-id="print_progress_close">Cancel</span></button> |
| 391 | </div> |
| 392 | </div> |
| 393 | </div> |
| 394 | </div> <!-- overlayContainer --> |
| 395 | |
| 396 | </div> <!-- outerContainer --> |
| 397 | <div id="printContainer"></div> |
| 398 | </body> |
| 399 | </html> |
| 400 |