blob: bbf7b5749c663bc836e9536d32d29597d501dc29 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/app_mode/kiosk_web_contents_observer.h"
#include <cstdint>
#include <optional>
#include <string>
#include "base/functional/bind.h"
#include "base/functional/callback_forward.h"
#include "chrome/browser/chromeos/app_mode/kiosk_app_level_logs_saver.h"
#include "content/public/browser/web_contents_observer.h"
namespace chromeos {
KioskWebContentsObserver::KioskWebContentsObserver(
content::WebContents* web_contents,
LoggerCallback logger_callback)
: content::WebContentsObserver(web_contents),
logger_callback_(std::move(logger_callback)) {}
KioskWebContentsObserver::~KioskWebContentsObserver() = default;
void KioskWebContentsObserver::OnDidAddMessageToConsole(
content::RenderFrameHost* source_frame,
blink::mojom::ConsoleMessageLevel log_level,
const std::u16string& message,
int32_t line_no,
const std::u16string& source_id,
const std::optional<std::u16string>& untrusted_stack_trace) {
logger_callback_.Run(
{message, log_level, line_no, source_id, untrusted_stack_trace});
}
} // namespace chromeos