Commit e7a87fc7 authored by rkc@google.com's avatar rkc@google.com

Use <if expr".."> to use a single bug report html for both Chrome and Chrome OS.

Review URL: http://codereview.chromium.org/3122034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57054 0039d316-1c4b-4281-b951-d872f2087c98
parent 25ce958f
......@@ -64,7 +64,6 @@ without changes to the corresponding grd file. eadee -->
<include name="IDR_BUGREPORT_HTML_INVALID" file="resources\bug_report_invalid.html" flattenhtml="true" type="BINDATA" />
<if expr="pp_ifdef('chromeos')">
<include name="IDR_ABOUT_SYS_HTML" file="resources\about_sys.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_BUGREPORT_HTML_CHROMEOS" file="resources\bug_report_cros.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_FILEBROWSE_HTML" file="resources\filebrowse.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_HOST_REGISTRATION_PAGE_HTML" file="resources\host_registration_page.html" flattenhtml="true" type="BINDATA" />
<include name="IDR_MEDIAPLAYER_HTML" file="resources\mediaplayer.html" flattenhtml="true" type="BINDATA" />
......
......@@ -448,11 +448,7 @@ base::StringPiece BugReportHandler::Init() {
return base::StringPiece(
ResourceBundle::GetSharedInstance().GetRawDataResource(
#if defined(OS_CHROMEOS)
IDR_BUGREPORT_HTML_CHROMEOS));
#else
IDR_BUGREPORT_HTML));
#endif
}
void BugReportHandler::RegisterMessages() {
......
......@@ -22,6 +22,10 @@ function load() {
$('current-screenshot').nextSibling.textContent =
localStrings.getString('currentscreenshots');
<if expr="pp_ifdef('chromeos')">
$('saved-screenshot').nextSibling.textContent =
localStrings.getString('savedscreenshots');
</if>
$('no-screenshot').nextSibling.textContent =
localStrings.getString('noscreenshot');
......@@ -32,6 +36,7 @@ function load() {
// bug_report_cros.html files.
var issueTypeText = [];
issueTypeText[0] = localStrings.getString('issue-choose');
<if expr="not pp_ifdef('chromeos')">
issueTypeText[1] = localStrings.getString('issue-page-formatting');
issueTypeText[2] = localStrings.getString('issue-page-load');
issueTypeText[3] = localStrings.getString('issue-plugins');
......@@ -41,7 +46,17 @@ function load() {
issueTypeText[7] = localStrings.getString('issue-extensions');
issueTypeText[8] = localStrings.getString('issue-phishing');
issueTypeText[9] = localStrings.getString('issue-other');
</if>
<if expr="pp_ifdef('chromeos')">
issueTypeText[1] = localStrings.getString('issue-connectivity');
issueTypeText[2] = localStrings.getString('issue-sync');
issueTypeText[3] = localStrings.getString('issue-crashes');
issueTypeText[4] = localStrings.getString('issue-page-formatting');
issueTypeText[5] = localStrings.getString('issue-extensions');
issueTypeText[6] = localStrings.getString('issue-standby');
issueTypeText[7] = localStrings.getString('issue-phishing');
issueTypeText[8] = localStrings.getString('issue-other');
</if>
// Add all the issues to the selection box.
for (var i = 0; i < issueTypeText.length; i++) {
var option = document.createElement('option');
......@@ -55,13 +70,28 @@ function load() {
};
function setupScreenshots(screenshots) {
if (screenshots.length > 0)
if (screenshots.length == 1) {
addScreenshot('current-screenshots', screenshots[0]);
} else {
// We're in Chromium OS.
currentScreenshot = screenshots[0];
addScreenshot('current-screenshots', currentScreenshot);
savedScreenshots = screenshots[1];
for (i = 0; i < savedScreenshots.length; ++i)
addScreenshot('saved-screenshots', savedScreenshots[i]);
}
}
function setupDialogDefaults(defaults) {
if (defaults.length > 0)
if (defaults.length > 0) {
$('page-url-text').value = defaults[0];
if (defaults.length > 2) {
// We're in Chromium OS.
$('sysinfo-url').href = defaults[1];
$('user-email-text').value = defaults[2];
}
}
}
window.addEventListener('DOMContentLoaded', load);
......@@ -103,6 +133,26 @@ window.addEventListener('DOMContentLoaded', load);
</textarea>
</td>
</tr>
<if expr="pp_ifdef('chromeos')">
<!-- System Information checkbox -->
<tr>
<td>
<input id="sys-info-checkbox" type="checkbox" value="sysinfo" checked>
<span id="sysinfo-label"></span> <a href='about:blank' id="sysinfo-url"
target="_blank" i18n-content="sysinfo">></a>
</td>
</tr>
<!-- Page URL text box -->
<tr>
<th id="user-email" class="bug-report-label" i18n-content="user-email">
</th>
</tr>
<tr>
<td>
<input id='user-email-text' maxlength=200 class="bug-report-text">
</td>
</tr>
</if>
<!-- Screenshot radio buttons -->
<tr>
<th id="screenshot" class="bug-report-label" i18n-content="screenshot">
......@@ -113,6 +163,14 @@ window.addEventListener('DOMContentLoaded', load);
<input id="no-screenshot" type="radio" name="screenshot-group"
value="none" onclick="noneSelected()">
<br>
<if expr="pp_ifdef('chromeos')">
<input id="saved-screenshot" type="radio" name="screenshot-group"
value="saved" onclick="savedSelected()">
<br>
<div id="saved-screenshots" style="display: none;"
class="thumbnail-list">
</div>
</if>
<input id="current-screenshot" type="radio" name="screenshot-group"
value="current" checked onclick="currentSelected()">
<br>
......
<!DOCTYPE HTML>
<html i18n-values="dir:textdirection;">
<head>
<meta charset="utf-8"/>
<title i18n-content="title"></title>
<link rel="stylesheet" href="bug_report.css"/>
<script src="shared/js/local_strings.js"></script>
<script src="shared/js/util.js"></script>
<script src="bug_report.js"></script>
<script>
///////////////////////////////////////////////////////////////////////////////
// Document Functions:
/**
* Window onload handler, sets up the page.
*/
function load() {
// textContent on description-text textarea seems to default
// to several spaces, this resets it to empty.
$('description-text').textContent = '';
$('current-screenshot').nextSibling.textContent =
localStrings.getString('currentscreenshots');
$('saved-screenshot').nextSibling.textContent =
localStrings.getString('savedscreenshots');
$('no-screenshot').nextSibling.textContent =
localStrings.getString('noscreenshot');
// Get a list of issues that we allow the user to select from.
// Note, the order and the issues types themselves are different
// between Chromium and Chromium OS, so this code needs to be
// maintained individually between the bug_report.html and
// bug_report_cros.html files.
var issueTypeText = [];
issueTypeText[0] = localStrings.getString('issue-choose');
issueTypeText[1] = localStrings.getString('issue-connectivity');
issueTypeText[2] = localStrings.getString('issue-sync');
issueTypeText[3] = localStrings.getString('issue-crashes');
issueTypeText[4] = localStrings.getString('issue-page-formatting');
issueTypeText[5] = localStrings.getString('issue-extensions');
issueTypeText[6] = localStrings.getString('issue-standby');
issueTypeText[7] = localStrings.getString('issue-phishing');
issueTypeText[8] = localStrings.getString('issue-other');
// Add all the issues to the selection box.
for (var i = 0; i < issueTypeText.length; i++) {
var option = document.createElement('option');
option.className = 'bug-report-text';
option.textContent = issueTypeText[i];
$('issue-with-combo').add(option);
}
chrome.send('getDialogDefaults', []);
chrome.send('refreshScreenshots', []);
};
function setupScreenshots(screenshots) {
if (screenshots.length > 1) {
currentScreenshot = screenshots[0];
addScreenshot('current-screenshots', currentScreenshot);
savedScreenshots = screenshots[1];
for (i = 0; i < savedScreenshots.length; ++i)
addScreenshot('saved-screenshots', savedScreenshots[i]);
}
}
function setupDialogDefaults(defaults) {
if (defaults.length > 2) {
$('page-url-text').value = defaults[0];
$('sysinfo-url').href = defaults[1];
$('user-email-text').value = defaults[2];
}
}
window.addEventListener('DOMContentLoaded', load);
</script>
</head>
<body>
<table>
<!-- Issue type dropdown -->
<tr>
<th id="issue-with" class="bug-report-label" i18n-content="issue-with">
</th>
</tr>
<tr>
<td>
<select id="issue-with-combo" class="bug-report-text">
</select>
</td>
</tr>
<!-- Page URL text box -->
<tr>
<th colspan="2" id="page-url" class="bug-report-label"
i18n-content="page-url">
</th>
</tr>
<tr>
<td colspan="2">
<input id='page-url-text' maxlength=200 class="bug-report-text">
</td>
</tr>
<!-- Description -->
<tr>
<th id="description" colspan="2" class="bug-report-label"
i18n-content="description">
</th>
</tr>
<tr>
<td colspan="2">
<textarea id='description-text' rows="10" class="bug-report-text">
</textarea>
</td>
</tr>
<!-- System Information checkbox -->
<tr>
<td>
<input id="sys-info-checkbox" type="checkbox" value="sysinfo" checked>
<span id="sysinfo-label"></span> <a href='about:blank' id="sysinfo-url"
target="_blank" i18n-content="sysinfo">></a>
</td>
</tr>
<!-- Page URL text box -->
<tr>
<th id="user-email" class="bug-report-label" i18n-content="user-email">
</th>
</tr>
<tr>
<td>
<input id='user-email-text' maxlength=200 class="bug-report-text">
</td>
</tr>
<!-- Screenshot radio buttons -->
<tr>
<th id="screenshot" class="bug-report-label" i18n-content="screenshot">
</th>
</tr>
<tr>
<td>
<input id="no-screenshot" type="radio" name="screenshot-group"
value="none" onclick="noneSelected()">
<br>
<input id="saved-screenshot" type="radio" name="screenshot-group"
value="saved" onclick="savedSelected()">
<br>
<div id="saved-screenshots" style="display: none;"
class="thumbnail-list">
</div>
<input id="current-screenshot" type="radio" name="screenshot-group"
value="current" checked onclick="currentSelected()">
<br>
<div id="current-screenshots" class="thumbnail-list">
</div>
</td>
</tr>
<!-- Buttons -->
<tr>
<td>
<hr>
<input id='send-report-button' type="submit" class="bug-report-button"
i18n-values="value:send-report" onclick="sendReport()">
<input id='cancel-button' type="submit" class="bug-report-button"
i18n-values="value:cancel" onclick="cancel()">
</td>
</tr>
</table>
</body>
</html>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment