blob: a7a12334cd2e36ac6a0b542f69a866da59ebe4bb [file] [log] [blame]
// Copyright 2017 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.
#include "chrome/browser/ssl/insecure_sensitive_input_driver.h"
#include <utility>
#include "chrome/browser/ssl/insecure_sensitive_input_driver_factory.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
InsecureSensitiveInputDriver::InsecureSensitiveInputDriver(
content::RenderFrameHost* render_frame_host)
: render_frame_host_(render_frame_host) {}
InsecureSensitiveInputDriver::~InsecureSensitiveInputDriver() {}
void InsecureSensitiveInputDriver::BindInsecureInputServiceRequest(
blink::mojom::InsecureInputServiceRequest request) {
insecure_input_bindings_.AddBinding(this, std::move(request));
}
void InsecureSensitiveInputDriver::PasswordFieldVisibleInInsecureContext() {
InsecureSensitiveInputDriverFactory* parent =
InsecureSensitiveInputDriverFactory::GetOrCreateForWebContents(
content::WebContents::FromRenderFrameHost(render_frame_host_));
parent->RenderFrameHasVisiblePasswordField(render_frame_host_);
}
void InsecureSensitiveInputDriver::
AllPasswordFieldsInInsecureContextInvisible() {
InsecureSensitiveInputDriverFactory* parent =
InsecureSensitiveInputDriverFactory::GetOrCreateForWebContents(
content::WebContents::FromRenderFrameHost(render_frame_host_));
parent->RenderFrameHasNoVisiblePasswordFields(render_frame_host_);
}
void InsecureSensitiveInputDriver::DidEditFieldInInsecureContext() {
InsecureSensitiveInputDriverFactory* parent =
InsecureSensitiveInputDriverFactory::GetOrCreateForWebContents(
content::WebContents::FromRenderFrameHost(render_frame_host_));
parent->DidEditFieldInInsecureContext();
}