Lines Matching defs:this

2 // Use of this source code is governed by a BSD-style license that can be
36 this.streamDetails = streamDetails;
37 this.loaded = false;
42 this.sizer_ = $('sizer');
43 this.toolbar_ = $('toolbar');
44 this.pageIndicator_ = $('page-indicator');
45 this.progressBar_ = $('progress-bar');
46 this.passwordScreen_ = $('password-screen');
47 this.passwordScreen_.addEventListener('password-submitted',
48 this.onPasswordSubmitted_.bind(this));
49 this.errorScreen_ = $('error-screen');
52 this.viewport_ = new Viewport(window,
53 this.sizer_,
54 this.viewportChanged_.bind(this),
55 this.beforeZoom_.bind(this),
56 this.afterZoom_.bind(this),
61 // positioning, acting as a viewport. The plugin renders into this viewport
63 this.plugin_ = document.createElement('object');
66 this.plugin_.id = 'plugin';
67 this.plugin_.type = 'application/x-google-chrome-pdf';
68 this.plugin_.addEventListener('message', this.handlePluginMessage_.bind(this),
74 window.addEventListener('message', this.handleScriptingMessage_.bind(this),
76 this.sendScriptingMessage_({type: 'readyToReceive'});
78 this.plugin_.setAttribute('src', this.streamDetails.originalUrl);
79 this.plugin_.setAttribute('stream-url', this.streamDetails.streamUrl);
81 for (var header in this.streamDetails.responseHeaders) {
83 this.streamDetails.responseHeaders[header] + '\n';
85 this.plugin_.setAttribute('headers', headers);
88 this.plugin_.setAttribute('full-frame', '');
89 document.body.appendChild(this.plugin_);
91 // TODO(raymes): Remove this spurious message once crbug.com/388606 is fixed.
93 this.plugin_.postMessage({
102 this.viewport_.fitToWidth.bind(this.viewport_));
104 this.viewport_.fitToPage.bind(this.viewport_));
106 this.viewport_.zoomIn.bind(this.viewport_));
108 this.viewport_.zoomOut.bind(this.viewport_));
109 $('save-button-link').href = this.streamDetails.originalUrl;
110 $('print-button').addEventListener('click', this.print_.bind(this));
113 document.onkeydown = this.handleKeyEvent_.bind(this);
118 this.afterZoom_.bind(this));
124 var zoomDelta = Math.abs(this.viewport_.zoom -
129 if ((zoomDelta > MIN_ZOOM_DELTA) && !this.setZoomInProgress_)
130 this.viewport_.setZoom(zoomChangeInfo.newZoomFactor);
131 }.bind(this));
135 var paramsParser = new OpenPDFParamsParser(this.streamDetails.originalUrl);
136 this.urlParams_ = paramsParser.urlParams;
147 var position = this.viewport_.position;
153 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) {
154 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() - 1);
158 position.y -= this.viewport.size.height;
159 this.viewport.position = position;
161 }.bind(this);
164 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) {
165 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() + 1);
169 position.y += this.viewport.size.height;
170 this.viewport.position = position;
172 }.bind(this);
189 if (!this.viewport_.documentHasScrollbars().x) {
190 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() - 1);
195 this.viewport.position = position;
201 this.viewport.position = position;
206 if (!this.viewport_.documentHasScrollbars().x) {
207 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() + 1);
212 this.viewport.position = position;
218 this.viewport.position = position;
232 this.print_();
239 this.plugin_.postMessage({
246 this.plugin_.postMessage({
259 this.plugin_.postMessage({
271 if (this.urlParams_.page)
272 this.viewport_.goToPage(this.urlParams_.page);
273 if (this.urlParams_.position) {
275 this.viewport_.position = {
276 x: this.viewport_.position.x + this.urlParams_.position.x,
277 y: this.viewport_.position.y + this.urlParams_.position.y
280 if (this.urlParams_.zoom)
281 this.viewport_.setZoom(this.urlParams_.zoom);
291 this.progressBar_.progress = progress;
294 this.errorScreen_.style.visibility = 'visible';
295 this.sizer_.style.display = 'none';
296 this.toolbar_.style.visibility = 'hidden';
297 if (this.passwordScreen_.active) {
298 this.passwordScreen_.deny();
299 this.passwordScreen_.active = false;
303 if (this.lastViewportPosition_)
304 this.viewport_.position = this.lastViewportPosition_;
305 this.handleURLParams_();
306 this.loaded = true;
309 this.sendScriptingMessage_({
322 this.plugin_.postMessage({
336 this.documentDimensions_ = message.data;
337 this.viewport_.setDocumentDimensions(this.documentDimensions_);
338 this.toolbar_.style.visibility = 'visible';
341 if (this.passwordScreen_.active)
342 this.passwordScreen_.accept();
344 this.pageIndicator_.initialFadeIn();
345 this.toolbar_.initialFadeIn();
356 this.sendScriptingMessage_(message.data);
361 if (!this.passwordScreen_.active)
362 this.passwordScreen_.active = true;
364 this.passwordScreen_.deny();
367 this.viewport_.goToPage(message.data.page);
370 this.updateProgress_(message.data.progress);
379 var position = this.viewport_.position;
384 this.viewport_.position = position;
387 this.passwordScreen_.text = message.data.getPasswordString;
388 this.progressBar_.text = message.data.loadingString;
389 this.errorScreen_.text = message.data.loadFailedString;
392 chrome.streamsPrivate.abort(this.streamDetails.streamUrl);
403 this.plugin_.postMessage({
414 var position = this.viewport_.position;
415 var zoom = this.viewport_.zoom;
416 if (chrome.tabs && !this.setZoomInProgress_) {
417 this.setZoomInProgress_ = true;
418 chrome.tabs.setZoom(zoom, this.setZoomComplete_.bind(this, zoom));
420 this.plugin_.postMessage({
437 var zoom = this.viewport_.zoom;
439 chrome.tabs.setZoom(zoom, this.setZoomComplete_.bind(this, zoom));
441 this.setZoomInProgress_ = false;
449 if (!this.documentDimensions_)
455 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) {
457 } else if (this.viewport_.fittingType ==
462 var hasScrollbars = this.viewport_.documentHasScrollbars();
463 var scrollbarWidth = this.viewport_.scrollbarWidth;
471 this.toolbar_.style.right = toolbarRight + 'px';
472 this.toolbar_.style.bottom = toolbarBottom + 'px';
475 var visiblePage = this.viewport_.getMostVisiblePage();
476 this.pageIndicator_.index = visiblePage;
477 if (this.documentDimensions_.pageDimensions.length > 1 &&
479 this.pageIndicator_.style.visibility = 'visible';
481 this.pageIndicator_.style.visibility = 'hidden';
484 var visiblePageDimensions = this.viewport_.getPageScreenRect(visiblePage);
485 var size = this.viewport_.size;
486 this.sendScriptingMessage_({
507 this.plugin_.postMessage(message.data);
510 if (!this.inPrintPreviewMode_) {
511 this.inPrintPreviewMode_ = true;
512 this.viewport_.fitToPage();
517 this.lastViewportPosition_ = this.viewport_.position;
527 this.pageIndicator_.pageLabels = message.data.pageNumbers;
529 this.plugin_.postMessage({
543 this.handleKeyEvent_(e);
563 return this.viewport_;