#include "components/page_load_metrics/browser/observers/ad_metrics/ad_intervention_browser_test_utils.h"
#include <memory>
#include <string>
#include "components/page_load_metrics/browser/observers/ad_metrics/ads_page_load_metrics_observer.h"
#include "components/page_load_metrics/browser/observers/ad_metrics/frame_tree_data.h"
#include "components/page_load_metrics/browser/page_load_metrics_test_waiter.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/test/browser_test_utils.h"
#include "net/test/embedded_test_server/controllable_http_response.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/rect.h"
namespace page_load_metrics {
namespace {
gfx::Rect ScaleRectByDeviceScaleFactor(const gfx::Rect& rect,
content::WebContents* web_contents) { … }
void NavigateAndWaitForTimingEvent(
content::WebContents* web_contents,
const GURL& url,
PageLoadMetricsTestWaiter::TimingField event) { … }
}
const char kHttpOkResponseHeader[] = …;
const int kMaxHeavyAdNetworkSize = …;
int GetDocumentHeight(content::WebContents* web_contents) { … }
void CreateAndWaitForIframeAtRect(content::WebContents* web_contents,
PageLoadMetricsTestWaiter* waiter,
const GURL& url,
const gfx::Rect& rect) { … }
void NavigateAndWaitForFirstContentfulPaint(content::WebContents* web_contents,
const GURL& url) { … }
void NavigateAndWaitForFirstMeaningfulPaint(content::WebContents* web_contents,
const GURL& url) { … }
void TriggerAndDetectLargeStickyAd(content::WebContents* web_contents) { … }
void TriggerAndDetectOverlayPopupAd(content::WebContents* web_contents) { … }
void LoadLargeResource(net::test_server::ControllableHttpResponse* response,
int bytes) { … }
}