910e62b5创建于 1月15日历史提交
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/browsing_data/content/browsing_data_test_util.h"

#include <string>
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/browser_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace browsing_data_test_util {

bool HasDataForType(const std::string& type,
                    content::WebContents* web_contents) {
  EXPECT_TRUE(web_contents);
  std::string script = "has" + type + "()";
  return content::EvalJs(web_contents, script).ExtractBool();
}

void SetDataForType(const std::string& type,
                    content::WebContents* web_contents) {
  EXPECT_TRUE(web_contents);
  SetDataForType(type, web_contents->GetPrimaryMainFrame());
}

void SetDataForType(const std::string& type,
                    content::RenderFrameHost* render_frame_host) {
  EXPECT_TRUE(render_frame_host);
  std::string script = "set" + type + "()";
  ASSERT_TRUE(content::ExecJs(render_frame_host, script))
      << "Couldn't create data for: " << type;
}

}  // namespace browsing_data_test_util