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

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

Issue 2166193002: Handle ctrl + shift + left click on links in PDF. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Handle ctrl + shift + left click on links in PDF. Created 4 years, 5 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
« no previous file with comments | « chrome/browser/resources/pdf/pdf.js ('k') | pdf/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 function NavigateInCurrentTabCallback() { 5 function NavigateInCurrentTabCallback() {
6 this.navigateCalled = false; 6 this.navigateCalled = false;
7 this.url = undefined; 7 this.url = undefined;
8 this.callback = function(url) { 8 this.callback = function(url) {
9 this.navigateCalled = true; 9 this.navigateCalled = true;
10 this.url = url; 10 this.url = url;
(...skipping 19 matching lines...) Expand all
30 30
31 /** 31 /**
32 * Given a |navigator|, navigate to |url| in the current tab or new tab, 32 * Given a |navigator|, navigate to |url| in the current tab or new tab,
33 * depending on the value of |openInNewTab|. Use |viewportChangedCallback| 33 * depending on the value of |openInNewTab|. Use |viewportChangedCallback|
34 * and |navigateCallback| to check the callbacks, and that the navigation 34 * and |navigateCallback| to check the callbacks, and that the navigation
35 * to |expectedResultUrl| happened. 35 * to |expectedResultUrl| happened.
36 */ 36 */
37 function doNavigationUrlTest( 37 function doNavigationUrlTest(
38 navigator, 38 navigator,
39 url, 39 url,
40 openInNewTab, 40 disposition,
41 expectedResultUrl, 41 expectedResultUrl,
42 viewportChangedCallback, 42 viewportChangedCallback,
43 navigateCallback) { 43 navigateCallback) {
44 viewportChangedCallback.reset(); 44 viewportChangedCallback.reset();
45 navigateCallback.reset(); 45 navigateCallback.reset();
46 navigator.navigate(url, openInNewTab); 46 navigator.navigate(url, disposition);
47 chrome.test.assertFalse(viewportChangedCallback.wasCalled); 47 chrome.test.assertFalse(viewportChangedCallback.wasCalled);
48 chrome.test.assertTrue(navigateCallback.navigateCalled); 48 chrome.test.assertTrue(navigateCallback.navigateCalled);
49 chrome.test.assertEq(expectedResultUrl, navigateCallback.url); 49 chrome.test.assertEq(expectedResultUrl, navigateCallback.url);
50 } 50 }
51 51
52 /** 52 /**
53 * Helper function to run doNavigationUrlTest() for the current tab and a new 53 * Helper function to run doNavigationUrlTest() for the current tab and a new
54 * tab. 54 * tab.
55 */ 55 */
56 function doNavigationUrlTestInCurrentTabAndNewTab( 56 function doNavigationUrlTestInCurrentTabAndNewTab(
57 navigator, 57 navigator,
58 url, 58 url,
59 expectedResultUrl, 59 expectedResultUrl,
60 viewportChangedCallback, 60 viewportChangedCallback,
61 navigateInCurrentTabCallback, 61 navigateInCurrentTabCallback,
62 navigateInNewTabCallback) { 62 navigateInNewTabCallback) {
63 doNavigationUrlTest(navigator, url, false, expectedResultUrl, 63 doNavigationUrlTest(navigator, url,
64 Navigator.WindowOpenDisposition.CURRENT_TAB, expectedResultUrl,
64 viewportChangedCallback, navigateInCurrentTabCallback); 65 viewportChangedCallback, navigateInCurrentTabCallback);
65 doNavigationUrlTest(navigator, url, true, expectedResultUrl, 66 doNavigationUrlTest(navigator, url,
67 Navigator.WindowOpenDisposition.NEW_BACKGROUND_TAB, expectedResultUrl,
66 viewportChangedCallback, navigateInNewTabCallback); 68 viewportChangedCallback, navigateInNewTabCallback);
67 } 69 }
68 70
69 var tests = [ 71 var tests = [
70 /** 72 /**
71 * Test navigation within the page, opening a url in the same tab and 73 * Test navigation within the page, opening a url in the same tab and
72 * opening a url in a new tab. 74 * opening a url in a new tab.
73 */ 75 */
74 function testNavigate() { 76 function testNavigate() {
75 var mockWindow = new MockWindow(100, 100); 77 var mockWindow = new MockWindow(100, 100);
(...skipping 20 matching lines...) Expand all
96 98
97 var documentDimensions = new MockDocumentDimensions(); 99 var documentDimensions = new MockDocumentDimensions();
98 documentDimensions.addPage(100, 100); 100 documentDimensions.addPage(100, 100);
99 documentDimensions.addPage(200, 200); 101 documentDimensions.addPage(200, 200);
100 documentDimensions.addPage(100, 400); 102 documentDimensions.addPage(100, 400);
101 viewport.setDocumentDimensions(documentDimensions); 103 viewport.setDocumentDimensions(documentDimensions);
102 viewport.setZoom(1); 104 viewport.setZoom(1);
103 105
104 mockCallback.reset(); 106 mockCallback.reset();
105 // This should move viewport to page 0. 107 // This should move viewport to page 0.
106 navigator.navigate(url + "#US", false); 108 navigator.navigate(url + "#US",
109 Navigator.WindowOpenDisposition.CURRENT_TAB);
107 chrome.test.assertTrue(mockCallback.wasCalled); 110 chrome.test.assertTrue(mockCallback.wasCalled);
108 chrome.test.assertEq(0, viewport.position.x); 111 chrome.test.assertEq(0, viewport.position.x);
109 chrome.test.assertEq(0, viewport.position.y); 112 chrome.test.assertEq(0, viewport.position.y);
110 113
111 mockCallback.reset(); 114 mockCallback.reset();
112 navigateInNewTabCallback.reset(); 115 navigateInNewTabCallback.reset();
113 // This should open "http://xyz.pdf#US" in a new tab. So current tab 116 // This should open "http://xyz.pdf#US" in a new tab. So current tab
114 // viewport should not update and viewport position should remain same. 117 // viewport should not update and viewport position should remain same.
115 navigator.navigate(url + "#US", true); 118 navigator.navigate(url + "#US",
119 Navigator.WindowOpenDisposition.NEW_BACKGROUND_TAB);
116 chrome.test.assertFalse(mockCallback.wasCalled); 120 chrome.test.assertFalse(mockCallback.wasCalled);
117 chrome.test.assertTrue(navigateInNewTabCallback.navigateCalled); 121 chrome.test.assertTrue(navigateInNewTabCallback.navigateCalled);
118 chrome.test.assertEq(0, viewport.position.x); 122 chrome.test.assertEq(0, viewport.position.x);
119 chrome.test.assertEq(0, viewport.position.y); 123 chrome.test.assertEq(0, viewport.position.y);
120 124
121 mockCallback.reset(); 125 mockCallback.reset();
122 // This should move viewport to page 2. 126 // This should move viewport to page 2.
123 navigator.navigate(url + "#UY", false); 127 navigator.navigate(url + "#UY",
128 Navigator.WindowOpenDisposition.CURRENT_TAB);
124 chrome.test.assertTrue(mockCallback.wasCalled); 129 chrome.test.assertTrue(mockCallback.wasCalled);
125 chrome.test.assertEq(0, viewport.position.x); 130 chrome.test.assertEq(0, viewport.position.x);
126 chrome.test.assertEq(300, viewport.position.y); 131 chrome.test.assertEq(300, viewport.position.y);
127 132
128 mockCallback.reset(); 133 mockCallback.reset();
129 navigateInCurrentTabCallback.reset(); 134 navigateInCurrentTabCallback.reset();
130 // #ABC is not a named destination in the page so viewport should not 135 // #ABC is not a named destination in the page so viewport should not
131 // update and viewport position should remain same. As this link will open 136 // update and viewport position should remain same. As this link will open
132 // in the same tab. 137 // in the same tab.
133 navigator.navigate(url + "#ABC", false); 138 navigator.navigate(url + "#ABC",
139 Navigator.WindowOpenDisposition.CURRENT_TAB);
134 chrome.test.assertFalse(mockCallback.wasCalled); 140 chrome.test.assertFalse(mockCallback.wasCalled);
135 chrome.test.assertTrue(navigateInCurrentTabCallback.navigateCalled); 141 chrome.test.assertTrue(navigateInCurrentTabCallback.navigateCalled);
136 chrome.test.assertEq(0, viewport.position.x); 142 chrome.test.assertEq(0, viewport.position.x);
137 chrome.test.assertEq(300, viewport.position.y); 143 chrome.test.assertEq(300, viewport.position.y);
138 144
139 chrome.test.succeed(); 145 chrome.test.succeed();
140 }, 146 },
141 /** 147 /**
142 * Test opening a url in the same tab and opening a url in a new tab for 148 * Test opening a url in the same tab and opening a url in a new tab for
143 * a http:// url as the current location. The destination url may not have 149 * a http:// url as the current location. The destination url may not have
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 navigateInNewTabCallback); 294 navigateInNewTabCallback);
289 295
290 chrome.test.succeed(); 296 chrome.test.succeed();
291 } 297 }
292 ]; 298 ];
293 299
294 var scriptingAPI = new PDFScriptingAPI(window, window); 300 var scriptingAPI = new PDFScriptingAPI(window, window);
295 scriptingAPI.setLoadCallback(function() { 301 scriptingAPI.setLoadCallback(function() {
296 chrome.test.runTests(tests); 302 chrome.test.runTests(tests);
297 }); 303 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/pdf/pdf.js ('k') | pdf/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698