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

Unified Diff: chrome/browser/resources/bug_report.js

Issue 3061044: HTML UI implementation for the Google Feedback client for Chrome/ChromeOS.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 10 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/bug_report.html ('k') | chrome/browser/resources/bug_report_cros.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/bug_report.js
===================================================================
--- chrome/browser/resources/bug_report.js (revision 0)
+++ chrome/browser/resources/bug_report.js (revision 0)
@@ -0,0 +1,152 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Constants.
+var FEEDBACK_LANDING_PAGE =
+ 'http://www.google.com/support/chrome/go/feedback_confirmation'
+
+var selectedThumbnailDivId = '';
+var selectedThumbnailId = '';
+var selectedImageUrl;
+
+var savedThumbnailIds = [];
+savedThumbnailIds['current-screenshots'] = '';
+savedThumbnailIds['saved-screenshots'] = '';
+
+var localStrings = new LocalStrings();
+
+/**
+ * Selects an image thumbnail in the specified div.
+ */
+function selectImage(divId, thumbnailId) {
+ var thumbnailDivs = $(divId).children;
+ selectedThumbnailDivId = divId;
+ for (var i = 0; i < thumbnailDivs.length; i++) {
+ // If the the current div matches the thumbnail id provided,
+ // or there is no thumbnail id given, and we're at the first thumbnail.
+ if ((thumbnailDivs[i].id == thumbnailId) || (!thumbnailId && !i)) {
+ thumbnailDivs[i].className = 'image-thumbnail-container-selected';
+ selectedThumbnailId = thumbnailId;
+ savedThumbnailIds[divId] = thumbnailId;
+ } else {
+ thumbnailDivs[i].className = 'image-thumbnail-container';
+ }
+ }
+}
+
+/**
+ * Adds an image thumbnail to the specified div.
+ */
+function addScreenshot(divId, screenshot) {
+ var thumbnailDiv = document.createElement('div');
+ thumbnailDiv.className = 'image-thumbnail-container';
+
+ thumbnailDiv.id = divId + '-thumbnailDiv-' + $(divId).children.length;
+ thumbnailDiv.onclick = function() {
+ selectImage(divId, thumbnailDiv.id);
+ };
+
+ var innerDiv = document.createElement('div');
+ innerDiv.className = 'image-thumbnail';
+
+ var thumbnail = document.createElement('img');
+ thumbnail.id = thumbnailDiv.id + '-image';
+ thumbnail.src = screenshot;
+ innerDiv.appendChild(thumbnail);
+
+ var largeImage = document.createElement('img');
+ largeImage.src = screenshot;
+
+ var popupDiv = document.createElement('div');
+ popupDiv.appendChild(largeImage);
+ innerDiv.appendChild(popupDiv);
+
+ thumbnailDiv.appendChild(innerDiv);
+ $(divId).appendChild(thumbnailDiv);
+
+ if (!selectedThumbnailId)
+ selectImage(divId, thumbnailDiv.id);
+}
+
+/**
+ * Send's the report; after the report is sent, we need to be redirected to
+ * the landing page, but we shouldn't be able to navigate back, hence
+ * we open the landing page in a new tab and sendReport closes this tab.
+ */
+function sendReport() {
+ if (!$('issue-with-combo').selectedIndex) {
+ alert(localStrings.getString('no-issue-selected'));
+ return false;
+ }
+
+ var imagePath = '';
+ if (selectedThumbnailId)
+ imagePath = $(selectedThumbnailId + '-image').src;
+
+ // Note, categories are based from 1 in our protocol buffers, so no
+ // adjustment is needed on selectedIndex.
+ var reportArray = [String($('issue-with-combo').selectedIndex),
+ $('page-url-text').value,
+ $('description-text').value,
+ imagePath];
+
+ // Add chromeos data if it exists.
+ if ($('user-email-text') && $('sys-info-checkbox')) {
+ reportArray = reportArray.concat([$('user-email-text').value,
+ String($('sys-info-checkbox').checked)]);
+ }
+
+ // open the landing page in a new tab, sendReport will close this one.
+ window.open(FEEDBACK_LANDING_PAGE, '_blank');
+ chrome.send('sendReport', reportArray);
+ return true;
+}
+
+function cancel() {
+ chrome.send('cancel', []);
+ return true;
+}
+
+/**
+ * Select the current screenshots div, restoring the image that was
+ * selected when we had this div open previously.
+ */
+function currentSelected() {
+ $('current-screenshots').style.display = 'block';
+ if ($('saved-screenshots'))
+ $('saved-screenshots').style.display = 'none';
+
+ if (selectedThumbnailDivId != 'current-screenshots')
+ selectImage('current-screenshots',
+ savedThumbnailIds['current-screenshots']);
+
+ return true;
+}
+
+/**
+ * Select the saved screenshots div, restoring the image that was
+ * selected when we had this div open previously.
+ */
+function savedSelected() {
+ $('current-screenshots').style.display = 'none';
+ $('saved-screenshots').style.display = 'block';
+
+ if (selectedThumbnailDivId != 'saved-screenshots')
+ selectImage('saved-screenshots', savedThumbnailIds['saved-screenshots']);
+
+ return true;
+}
+
+/**
+ * Unselect all screenshots divs.
+ */
+function noneSelected() {
+ $('current-screenshots').style.display = 'none';
+ if ($('saved-screenshots'))
+ $('saved-screenshots').style.display = 'none';
+
+ selectedThumbnailDivId = '';
+ selectedThumbnailId = '';
+ return true;
+}
Property changes on: chrome/browser/resources/bug_report.js
___________________________________________________________________
Name: svn:eol-style
+ LF
« no previous file with comments | « chrome/browser/resources/bug_report.html ('k') | chrome/browser/resources/bug_report_cros.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698