1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// found in the LICENSE file.
4f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Must match the commands handled by SafeBrowsingBlockingPage::CommandReceived.
6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_DO_REPORT = 'doReport';
7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_DONT_REPORT = 'dontReport';
8f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_EXPANDED_SEE_MORE = 'expandedSeeMore';
9f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_LEARN_MORE_2 = 'learnMore2';
10f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_PROCEED = 'proceed';
11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_REPORT_ERROR = 'reportError';
12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_SHOW_DIAGNOSTIC = 'showDiagnostic';
13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_SHOW_PRIVACY = 'showPrivacy';
14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_CMD_TAKE_ME_BACK = 'takeMeBack';
15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Other constants defined in safe_browsing_blocking_page.cc.
17f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_BOX_CHECKED = 'boxchecked';
18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)var SB_DISPLAY_CHECK_BOX = 'displaycheckbox';
19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
20f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// This sets up the Extended Safe Browsing Reporting opt-in.
21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)function setupCheckbox() {
22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  if (loadTimeData.getBoolean('ssl') || loadTimeData.getBoolean('phishing') ||
23f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)      !loadTimeData.getBoolean(SB_DISPLAY_CHECK_BOX)) {
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    return;
25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  }
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  $('opt-in-label').innerHTML = loadTimeData.getString('optInLink');
28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  $('opt-in-checkbox').checked = loadTimeData.getBoolean(SB_BOX_CHECKED);
29f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  $('malware-opt-in').classList.remove('hidden');
30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  $('opt-in-checkbox').addEventListener('click', function() {
32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    sendCommand(
33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)        $('opt-in-checkbox').checked ? SB_CMD_DO_REPORT : SB_CMD_DONT_REPORT);
34f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  });
35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)}
366d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
376d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)function setupMalwareFinchExperiment() {
386d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  if (loadTimeData.getString('trialCondition') != 'V3Advice')
396d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    return;
406d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  // Add all this dynamically instead of into the HTML because it's just a
416d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  // short-lived experiment.
426d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  var heading = document.createElement('h2');
436d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  heading.innerText = loadTimeData.getString('adviceHeading');
446d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)  $('details').insertBefore(heading, $('details').firstChild);
456d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)}
46