Skip PDF OCR tests when PDF Searchify is enabled.

When PDF Searchify feature is enabled, PDF OCR is not run for
accessibility as the PDFs are made accessible by Searchify.
The affected tests are skipped if PDF Searchify is enabled.

AX-Relnotes: n/a.
Bug: 360803943
Change-Id: I1e39976bfb13dda6f6a63615c5342fbf943816ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5886169
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1373738}
diff --git a/chrome/browser/accessibility/pdf_ocr_controller_browsertest.cc b/chrome/browser/accessibility/pdf_ocr_controller_browsertest.cc
index 4b8a6c2..bd5cec5 100644
--- a/chrome/browser/accessibility/pdf_ocr_controller_browsertest.cc
+++ b/chrome/browser/accessibility/pdf_ocr_controller_browsertest.cc
@@ -82,6 +82,7 @@
 
 }  // namespace
 
+// TODO(crbug.com/360803943): Remove this test when PDF Searchify is launched.
 class PdfOcrControllerBrowserTest : public base::test::WithFeatureOverride,
                                     public PDFExtensionTestBase {
  public:
@@ -181,8 +182,11 @@
 IN_PROC_BROWSER_TEST_P(PdfOcrControllerBrowserTest,
                        OpenPDFAfterTurningOnScreenReader) {
   // Forced accessibility contradicts with turning off the screen reader.
+  // When PDF Searchify is enabled, PDF OCR controller will not trigger OCR in
+  // renderer.
   if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kForceRendererAccessibility)) {
+          switches::kForceRendererAccessibility) ||
+      base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
     GTEST_SKIP();
   }
 
@@ -209,10 +213,14 @@
 IN_PROC_BROWSER_TEST_P(PdfOcrControllerBrowserTest,
                        OpenPDFBeforeTurningOnScreenReader) {
   // Forced accessibility contradicts with turning off the screen reader.
+  // When PDF Searchify is enabled, PDF OCR controller will not trigger OCR in
+  // renderer.
   if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kForceRendererAccessibility)) {
+          switches::kForceRendererAccessibility) ||
+      base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
     GTEST_SKIP();
   }
+
   ui::AXMode ax_mode =
       content::BrowserAccessibilityState::GetInstance()->GetAccessibilityMode();
   EXPECT_FALSE(ax_mode.has_mode(ui::AXMode::kPDFOcr));
@@ -257,8 +265,11 @@
 // Retry download if it fails.
 IN_PROC_BROWSER_TEST_P(PdfOcrControllerBrowserTest, DownloadRetry) {
   // Forced accessibility affects counting.
+  // When PDF Searchify is enabled, PDF OCR controller will not trigger ScreenAI
+  // service initialization.
   if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kForceRendererAccessibility)) {
+          switches::kForceRendererAccessibility) ||
+      base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
     GTEST_SKIP();
   }
 
diff --git a/components/pdf/renderer/pdf_accessibility_tree_browsertest.cc b/components/pdf/renderer/pdf_accessibility_tree_browsertest.cc
index a04b799..1da4f73d 100644
--- a/components/pdf/renderer/pdf_accessibility_tree_browsertest.cc
+++ b/components/pdf/renderer/pdf_accessibility_tree_browsertest.cc
@@ -378,8 +378,10 @@
   void TearDown() override {
     // Ensure we clean up the PDF accessibility tree before the page closes
     // since we directly set a plugin container.
-    pdf_accessibility_tree_->ForcePluginAXObjectForTesting(
-        blink::WebAXObject());
+    if (!IsSkipped()) {
+      pdf_accessibility_tree_->ForcePluginAXObjectForTesting(
+          blink::WebAXObject());
+    }
     content::RenderViewTest::TearDown();
   }
 
@@ -2480,6 +2482,7 @@
   uint32_t expected_batch_size;
 };
 
+// TODO(crbug.com/360803943): Remove this test when PDF Searchify is launched.
 class PdfOcrHelperTest : public PdfAccessibilityTreeTest,
                          public testing::WithParamInterface<std::tuple<
                              /* is_ocr_helper_started_before_pdf_loads */ bool,
@@ -2581,6 +2584,11 @@
 };
 
 TEST_P(PdfOcrHelperTest, PageBatching) {
+  // When PDF Searchify is enabled, PDF OCR helper is not used.
+  if (base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
+    GTEST_SKIP();
+  }
+
   CreatePdfAccessibilityTree();
 
   const bool is_ocr_helper_started_before_pdf_loads =
@@ -2669,6 +2677,11 @@
 }
 
 TEST_P(PdfOcrHelperTest, UMAMetrics) {
+  // When PDF Searchify is enabled, PDF OCR helper is not used.
+  if (base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
+    GTEST_SKIP();
+  }
+
   CreatePdfAccessibilityTree();
 
   base::HistogramTester histograms;
@@ -2754,6 +2767,11 @@
 }
 
 TEST_P(PdfOcrHelperTest, EmptyOCRResults) {
+  // When PDF Searchify is enabled, PDF OCR helper is not used.
+  if (base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
+    GTEST_SKIP();
+  }
+
   CreatePdfAccessibilityTree();
 
   const bool is_ocr_helper_started_before_pdf_loads =
@@ -2834,6 +2852,11 @@
 }
 
 TEST_P(PdfOcrHelperTest, OCRCompleteNotification) {
+  // When PDF Searchify is enabled, PDF OCR helper is not used.
+  if (base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
+    GTEST_SKIP();
+  }
+
   CreatePdfAccessibilityTree();
 
   const bool is_ocr_helper_started_before_pdf_loads =
@@ -3123,6 +3146,7 @@
   ASSERT_EQ(1u, static_text_node->GetChildCount());
 }
 
+// TODO(crbug.com/360803943): Remove this test when PDF Searchify is launched.
 // Test param: image orientation.
 class PdfOcrRotationTest : public PdfOcrTest,
                            public testing::WithParamInterface<int> {
@@ -3136,6 +3160,11 @@
 INSTANTIATE_TEST_SUITE_P(All, PdfOcrRotationTest, testing::Range(0, 4));
 
 TEST_P(PdfOcrRotationTest, TestTransformFromOnOcrDataReceived) {
+  // When PDF Searchify is enabled, PDF OCR in renderer is not activated.
+  if (base::FeatureList::IsEnabled(chrome_pdf::features::kPdfSearchify)) {
+    GTEST_SKIP();
+  }
+
   // Assume `image` contains some text that will be extracted by OCR. `image`
   // will be passed to the function that creates a transform, which will be
   // then applied to the text paragraphs extracted by OCR.