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

Side by Side Diff: chrome/test/data/pdf/zoom_manager_test.js

Issue 2503633002: Propagate browser zoom changes to embedded PDFs. (Closed)
Patch Set: Apply internal pdf zoom to browser zoom. Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 chrome.test.runTests(function() { 5 chrome.test.runTests(function() {
6 'use strict'; 6 'use strict';
7 7
8 class MockViewport { 8 class MockViewport {
9 constructor() { 9 constructor() {
10 this.zooms = []; 10 this.zooms = [];
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 complete() { 46 complete() {
47 this.resolve_(); 47 this.resolve_();
48 this.started = false; 48 this.started = false;
49 } 49 }
50 }; 50 };
51 51
52 return [ 52 return [
53 function testZoomChange() { 53 function testZoomChange() {
54 let viewport = new MockViewport(); 54 let viewport = new MockViewport();
55 let browserZoomSetter = new MockBrowserZoomSetter(); 55 let browserZoomSetter = new MockBrowserZoomSetter();
56 let zoomManager = new ZoomManager( 56 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE,
Sam McNally 2016/11/18 04:59:23 Wrap these either functionName(arg1, arg2,
Kevin McNee 2016/11/22 23:17:32 Done.
57 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), 57 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter),
58 1); 58 1);
59 viewport.zoom = 2; 59 viewport.zoom = 2;
60 zoomManager.onPdfZoomChange(); 60 zoomManager.onPdfZoomChange();
61 chrome.test.assertEq(2, browserZoomSetter.zoom); 61 chrome.test.assertEq(2, browserZoomSetter.zoom);
62 chrome.test.assertTrue(browserZoomSetter.started); 62 chrome.test.assertTrue(browserZoomSetter.started);
63 chrome.test.succeed(); 63 chrome.test.succeed();
64 }, 64 },
65 65
66 function testBrowserZoomChange() { 66 function testBrowserZoomChange() {
67 let viewport = new MockViewport(); 67 let viewport = new MockViewport();
68 let zoomManager = new ZoomManager(viewport, chrome.test.fail, 1); 68 let zoomManager = ZoomManager.create(
69 BrowserApi.ZoomBehaviour.MANAGE, viewport, chrome.test.fail, 1);
69 zoomManager.onBrowserZoomChange(3); 70 zoomManager.onBrowserZoomChange(3);
70 chrome.test.assertEq(1, viewport.zooms.length); 71 chrome.test.assertEq(1, viewport.zooms.length);
71 chrome.test.assertEq(3, viewport.zooms[0]); 72 chrome.test.assertEq(3, viewport.zooms[0]);
72 chrome.test.assertEq(3, viewport.zoom); 73 chrome.test.assertEq(3, viewport.zoom);
73 chrome.test.succeed(); 74 chrome.test.succeed();
74 }, 75 },
75 76
77 function testBrowserZoomChangeEmbedded() {
78 let viewport = new MockViewport();
79 let zoomManager = ZoomManager.create(
80 BrowserApi.ZoomBehaviour.PROPAGATE_PARENT, viewport,
81 function() { return Promise.reject(); }, 1);
82
83 zoomManager.onBrowserZoomChange(2);
84 chrome.test.assertEq(2, viewport.zoom);
85
86 // Zooming in the browser should not overwrite the viewport's zoom,
87 // but cause the viewport to zoom in as well.
88 viewport.zoom = 3;
89 zoomManager.onBrowserZoomChange(3);
90 chrome.test.assertTrue(viewport.zoom > 3);
91
92 chrome.test.succeed();
93 },
94
76 function testSmallZoomChange() { 95 function testSmallZoomChange() {
77 let viewport = new MockViewport(); 96 let viewport = new MockViewport();
78 let browserZoomSetter = new MockBrowserZoomSetter(); 97 let browserZoomSetter = new MockBrowserZoomSetter();
79 let zoomManager = new ZoomManager( 98 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE,
80 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), 99 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter),
81 2); 100 2);
82 viewport.zoom = 2.0001; 101 viewport.zoom = 2.0001;
83 zoomManager.onPdfZoomChange(); 102 zoomManager.onPdfZoomChange();
84 chrome.test.assertEq(1, browserZoomSetter.zoom); 103 chrome.test.assertEq(1, browserZoomSetter.zoom);
85 chrome.test.assertFalse(browserZoomSetter.started); 104 chrome.test.assertFalse(browserZoomSetter.started);
86 chrome.test.succeed(); 105 chrome.test.succeed();
87 }, 106 },
88 107
89 function testSmallBrowserZoomChange() { 108 function testSmallBrowserZoomChange() {
90 let viewport = new MockViewport(); 109 let viewport = new MockViewport();
91 let zoomManager = new ZoomManager(viewport, chrome.test.fail, 1); 110 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE,
111 viewport, chrome.test.fail, 1);
92 zoomManager.onBrowserZoomChange(0.999); 112 zoomManager.onBrowserZoomChange(0.999);
93 chrome.test.assertEq(0, viewport.zooms.length); 113 chrome.test.assertEq(0, viewport.zooms.length);
94 chrome.test.assertEq(1, viewport.zoom); 114 chrome.test.assertEq(1, viewport.zoom);
95 chrome.test.succeed(); 115 chrome.test.succeed();
96 }, 116 },
97 117
98 function testMultiplePdfZoomChanges() { 118 function testMultiplePdfZoomChanges() {
99 let viewport = new MockViewport(); 119 let viewport = new MockViewport();
100 let browserZoomSetter = new MockBrowserZoomSetter(); 120 let browserZoomSetter = new MockBrowserZoomSetter();
101 let zoomManager = new ZoomManager( 121 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE,
102 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), 122 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter),
103 1); 123 1);
104 viewport.zoom = 2; 124 viewport.zoom = 2;
105 zoomManager.onPdfZoomChange(); 125 zoomManager.onPdfZoomChange();
106 viewport.zoom = 3; 126 viewport.zoom = 3;
107 zoomManager.onPdfZoomChange(); 127 zoomManager.onPdfZoomChange();
108 chrome.test.assertTrue(browserZoomSetter.started); 128 chrome.test.assertTrue(browserZoomSetter.started);
109 chrome.test.assertEq(2, browserZoomSetter.zoom); 129 chrome.test.assertEq(2, browserZoomSetter.zoom);
110 browserZoomSetter.complete(); 130 browserZoomSetter.complete();
111 Promise.resolve().then(function() { 131 Promise.resolve().then(function() {
112 chrome.test.assertTrue(browserZoomSetter.started); 132 chrome.test.assertTrue(browserZoomSetter.started);
113 chrome.test.assertEq(3, browserZoomSetter.zoom); 133 chrome.test.assertEq(3, browserZoomSetter.zoom);
114 chrome.test.succeed(); 134 chrome.test.succeed();
115 }); 135 });
116 }, 136 },
117 137
118 function testMultipleBrowserZoomChanges() { 138 function testMultipleBrowserZoomChanges() {
119 let viewport = new MockViewport(); 139 let viewport = new MockViewport();
120 let zoomManager = new ZoomManager(viewport, chrome.test.fail, 1); 140 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE,
141 viewport, chrome.test.fail, 1);
121 zoomManager.onBrowserZoomChange(2); 142 zoomManager.onBrowserZoomChange(2);
122 zoomManager.onBrowserZoomChange(3); 143 zoomManager.onBrowserZoomChange(3);
123 chrome.test.assertEq(2, viewport.zooms.length); 144 chrome.test.assertEq(2, viewport.zooms.length);
124 chrome.test.assertEq(2, viewport.zooms[0]); 145 chrome.test.assertEq(2, viewport.zooms[0]);
125 chrome.test.assertEq(3, viewport.zooms[1]); 146 chrome.test.assertEq(3, viewport.zooms[1]);
126 chrome.test.assertEq(3, viewport.zoom); 147 chrome.test.assertEq(3, viewport.zoom);
127 chrome.test.succeed(); 148 chrome.test.succeed();
128 }, 149 },
129 ]; 150 ];
130 }()); 151 }());
OLDNEW
« chrome/browser/resources/pdf/zoom_manager.js ('K') | « chrome/browser/resources/pdf/zoom_manager.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698