123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // Copyright 2016 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.
- #ifndef COMPONENTS_SECURITY_INTERSTITIALS_CORE_SAFE_BROWSING_QUIET_ERROR_UI_H_
- #define COMPONENTS_SECURITY_INTERSTITIALS_CORE_SAFE_BROWSING_QUIET_ERROR_UI_H_
- #include "base/time/time.h"
- #include "base/values.h"
- #include "components/security_interstitials/core/base_safe_browsing_error_ui.h"
- #include "components/security_interstitials/core/controller_client.h"
- #include "url/gurl.h"
- namespace security_interstitials {
- // Quiet version of the safe browsing interstitial. This is the small screen
- // version of the interstitial selectively used in parts of WebView.
- // This class displays a quiet UI for Safe Browsing errors that block page loads
- // specifically for WebView. This class is purely about visual display; it does
- // not do any error-handling logic to determine what type of error should be
- // displayed when.
- class SafeBrowsingQuietErrorUI
- : public security_interstitials::BaseSafeBrowsingErrorUI {
- public:
- SafeBrowsingQuietErrorUI(
- const GURL& request_url,
- const GURL& main_frame_url,
- BaseSafeBrowsingErrorUI::SBInterstitialReason reason,
- const BaseSafeBrowsingErrorUI::SBErrorDisplayOptions& display_options,
- const std::string& app_locale,
- const base::Time& time_triggered,
- ControllerClient* controller,
- const bool is_giant_webview);
- SafeBrowsingQuietErrorUI(const SafeBrowsingQuietErrorUI&) = delete;
- SafeBrowsingQuietErrorUI& operator=(const SafeBrowsingQuietErrorUI&) = delete;
- ~SafeBrowsingQuietErrorUI() override;
- // Fills the passed dictionary with the values to be passed to the template
- // when creating the HTML.
- void PopulateStringsForHtml(base::Value::Dict& load_time_data) override;
- void HandleCommand(SecurityInterstitialCommand command) override;
- // Manually set whether displaying in a giant WebView. Specifially used in
- // tests.
- void SetGiantWebViewForTesting(bool is_giant_webview);
- int GetHTMLTemplateId() const override;
- private:
- void PopulateMalwareLoadTimeData(base::Value::Dict& load_time_data);
- void PopulateHarmfulLoadTimeData(base::Value::Dict& load_time_data);
- void PopulatePhishingLoadTimeData(base::Value::Dict& load_time_data);
- void PopulateBillingLoadTimeData(base::Value::Dict& load_time_data);
- bool is_giant_webview_;
- };
- } // security_interstitials
- #endif // COMPONENTS_SECURITY_INTERSTITIALS_CORE_SAFE_BROWSING_QUIET_ERROR_UI_H_
|