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

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

Issue 5271007: UI Revamp + several fixes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/browser/resources
Patch Set: Review changes + fix for e-mail inclusion in privacy mode. Created 10 years 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 // Constants. 5 // Constants.
6 var FEEDBACK_LANDING_PAGE = 6 var FEEDBACK_LANDING_PAGE =
7 'http://www.google.com/support/chrome/go/feedback_confirmation' 7 'http://www.google.com/support/chrome/go/feedback_confirmation'
8 8
9 var selectedThumbnailDivId = ''; 9 var selectedThumbnailDivId = '';
10 var selectedThumbnailId = ''; 10 var selectedThumbnailId = '';
11 var selectedImageUrl; 11 var selectedImageUrl;
12 12
13 var savedThumbnailIds = []; 13 var savedThumbnailIds = [];
14 savedThumbnailIds['current-screenshots'] = ''; 14 savedThumbnailIds['current-screenshots'] = '';
15 savedThumbnailIds['saved-screenshots'] = ''; 15 savedThumbnailIds['saved-screenshots'] = '';
16 16
17 var localStrings = new LocalStrings(); 17 var localStrings = new LocalStrings();
18 18
19 var privacyMode = false;
oshima 2010/11/29 23:00:22 please add comment and explain what this is.
rkc 2010/11/29 23:15:59 Removed, was left over from code I had added then
20
19 /** 21 /**
20 * Selects an image thumbnail in the specified div. 22 * Selects an image thumbnail in the specified div.
21 */ 23 */
22 function selectImage(divId, thumbnailId) { 24 function selectImage(divId, thumbnailId) {
23 var thumbnailDivs = $(divId).children; 25 var thumbnailDivs = $(divId).children;
24 selectedThumbnailDivId = divId; 26 selectedThumbnailDivId = divId;
25 if (thumbnailDivs.length == 0) { 27 if (thumbnailDivs.length == 0) {
26 $(divId).style.display = 'none'; 28 $(divId).style.display = 'none';
27 return; 29 return;
28 } 30 }
(...skipping 16 matching lines...) Expand all
45 function addScreenshot(divId, screenshot) { 47 function addScreenshot(divId, screenshot) {
46 var thumbnailDiv = document.createElement('div'); 48 var thumbnailDiv = document.createElement('div');
47 thumbnailDiv.className = 'image-thumbnail-container'; 49 thumbnailDiv.className = 'image-thumbnail-container';
48 50
49 thumbnailDiv.id = divId + '-thumbnailDiv-' + $(divId).children.length; 51 thumbnailDiv.id = divId + '-thumbnailDiv-' + $(divId).children.length;
50 thumbnailDiv.onclick = function() { 52 thumbnailDiv.onclick = function() {
51 selectImage(divId, thumbnailDiv.id); 53 selectImage(divId, thumbnailDiv.id);
52 }; 54 };
53 55
54 var innerDiv = document.createElement('div'); 56 var innerDiv = document.createElement('div');
55 innerDiv.className = 'image-thumbnail'; 57 if (divId == 'current-screenshots')
58 innerDiv.className = 'image-thumbnail-current';
59 else
60 innerDiv.className = 'image-thumbnail';
56 61
57 var thumbnail = document.createElement('img'); 62 var thumbnail = document.createElement('img');
58 thumbnail.id = thumbnailDiv.id + '-image'; 63 thumbnail.id = thumbnailDiv.id + '-image';
59 // We add the ?+timestamp to make sure the image URLs are unique 64 // We add the ?+timestamp to make sure the image URLs are unique
60 // and Chrome does not load the image from cache. 65 // and Chrome does not load the image from cache.
61 thumbnail.src = screenshot + "?" + Date.now(); 66 thumbnail.src = screenshot + '?' + Date.now();
62 innerDiv.appendChild(thumbnail); 67 innerDiv.appendChild(thumbnail);
63 68
64 var largeImage = document.createElement('img');
65 largeImage.src = screenshot + "?" + Date.now();
66
67 var popupDiv = document.createElement('div');
68 popupDiv.appendChild(largeImage);
69 innerDiv.appendChild(popupDiv);
70
71 thumbnailDiv.appendChild(innerDiv); 69 thumbnailDiv.appendChild(innerDiv);
72 $(divId).appendChild(thumbnailDiv); 70 $(divId).appendChild(thumbnailDiv);
73 71
74 if (!selectedThumbnailId) 72 if (!selectedThumbnailId)
75 selectImage(divId, thumbnailDiv.id); 73 selectImage(divId, thumbnailDiv.id);
76 } 74 }
77 75
78 /** 76 /**
79 * Send's the report; after the report is sent, we need to be redirected to 77 * Send's the report; after the report is sent, we need to be redirected to
80 * the landing page, but we shouldn't be able to navigate back, hence 78 * the landing page, but we shouldn't be able to navigate back, hence
81 * we open the landing page in a new tab and sendReport closes this tab. 79 * we open the landing page in a new tab and sendReport closes this tab.
82 */ 80 */
83 function sendReport() { 81 function sendReport() {
84 if (!$('issue-with-combo').selectedIndex) { 82 if (!$('issue-with-combo').selectedIndex) {
85 alert(localStrings.getString('no-issue-selected')); 83 alert(localStrings.getString('no-issue-selected'));
86 return false; 84 return false;
85 } else if ($('description-text').value.length == 0) {
86 alert(localStrings.getString('no-description'));
87 return false;
87 } 88 }
88 89
89 var imagePath = ''; 90 var imagePath = '';
90 if (selectedThumbnailId) 91 if (selectedThumbnailId)
91 imagePath = $(selectedThumbnailId + '-image').src; 92 imagePath = $(selectedThumbnailId + '-image').src;
92 93
93 // Note, categories are based from 1 in our protocol buffers, so no 94 // Note, categories are based from 1 in our protocol buffers, so no
94 // adjustment is needed on selectedIndex. 95 // adjustment is needed on selectedIndex.
96 var pageUrl = $('page-url-text').value;
97 if (!$('page-url-checkbox').checked)
98 pageUrl = '';
95 var reportArray = [String($('issue-with-combo').selectedIndex), 99 var reportArray = [String($('issue-with-combo').selectedIndex),
96 $('page-url-text').value, 100 pageUrl,
97 $('description-text').value, 101 $('description-text').value,
98 imagePath]; 102 imagePath];
99 103
100 // Add chromeos data if it exists. 104 // Add chromeos data if it exists.
101 if ($('user-email-text') && $('sys-info-checkbox')) { 105 if ($('user-email-text') && $('sys-info-checkbox')) {
102 reportArray = reportArray.concat([$('user-email-text').value, 106 var userEmail= $('user-email-text').textContent;
107 if (!$('user-email-checkbox').checked)
108 userEmail = '';
109 reportArray = reportArray.concat([userEmail,
103 String($('sys-info-checkbox').checked)]); 110 String($('sys-info-checkbox').checked)]);
104 } 111 }
105 112
106 // open the landing page in a new tab, sendReport will close this one. 113 // open the landing page in a new tab, sendReport will close this one.
107 window.open(FEEDBACK_LANDING_PAGE, '_blank'); 114 window.open(FEEDBACK_LANDING_PAGE, '_blank');
108 chrome.send('sendReport', reportArray); 115 chrome.send('sendReport', reportArray);
109 return true; 116 return true;
110 } 117 }
111 118
112 function cancel() { 119 function cancel() {
(...skipping 16 matching lines...) Expand all
129 136
130 return true; 137 return true;
131 } 138 }
132 139
133 /** 140 /**
134 * Select the saved screenshots div, restoring the image that was 141 * Select the saved screenshots div, restoring the image that was
135 * selected when we had this div open previously. 142 * selected when we had this div open previously.
136 */ 143 */
137 function savedSelected() { 144 function savedSelected() {
138 $('current-screenshots').style.display = 'none'; 145 $('current-screenshots').style.display = 'none';
139 $('saved-screenshots').style.display = 'block';
140 146
141 if (selectedThumbnailDivId != 'saved-screenshots') 147 if ($('saved-screenshots').childElementCount == 0) {
142 selectImage('saved-screenshots', savedThumbnailIds['saved-screenshots']); 148 // setupSavedScreenshots will take care of changing visibility
149 chrome.send('refreshSavedScreenshots', []);
150 } else {
151 $('saved-screenshots').style.display = 'block';
152 if (selectedThumbnailDivId != 'saved-screenshots')
153 selectImage('saved-screenshots', savedThumbnailIds['saved-screenshots']);
154 }
143 155
144 return true; 156 return true;
145 } 157 }
146 158
159
147 /** 160 /**
148 * Unselect all screenshots divs. 161 * Change the type of screenshot we're showing to the user from
162 * the current screenshot to saved screenshots
149 */ 163 */
150 function noneSelected() { 164 function changeToSaved() {
151 $('current-screenshots').style.display = 'none'; 165 $('screenshot-label-current').style.display = 'none';
152 if ($('saved-screenshots')) 166 $('screenshot-label-saved').style.display = 'inline';
oshima 2010/11/29 23:00:22 can you add TODO to use a class?
rkc 2010/11/29 23:15:59 Done.
153 $('saved-screenshots').style.display = 'none';
154 167
155 selectedThumbnailDivId = ''; 168 // Change the link to say "go to original"
156 selectedThumbnailId = ''; 169 $('screenshot-link-tosaved').style.display = 'none';
157 return true; 170 $('screenshot-link-tocurrent').style.display = 'inline';
171
172 savedSelected();
158 } 173 }
174
175 /**
176 * Change the type of screenshot we're showing to the user from
177 * the saved screenshots to the current screenshots
178 */
179 function changeToCurrent() {
180 $('screenshot-label-current').style.display = 'inline';
181 $('screenshot-label-saved').style.display = 'none';
182
183 // Change the link to say "go to original"
184 $('screenshot-link-tosaved').style.display = 'inline';
185 $('screenshot-link-tocurrent').style.display = 'none';
186
187 currentSelected();
188 }
OLDNEW
« chrome/browser/resources/bug_report.html ('K') | « chrome/browser/resources/bug_report.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698