Disallow copying EmbedderTest::ScopedEmbedderTestPage objects

Copying would accidentally allow a double unload. Also fix
ScopedEmbedderTestPage's dtor to not unload a null FPDF_PAGE.

Change-Id: I8806326beaf298705b131696d1475d2bfad7a732
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/124050
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Tom Sepez <tsepez@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index 3654554..b9e64c9 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -894,5 +894,7 @@
     : test_(test), page_(test->LoadPage(page_index)) {}
 
 EmbedderTest::ScopedEmbedderTestPage::~ScopedEmbedderTestPage() {
-  test_->UnloadPage(page_);
+  if (page_) {
+    test_->UnloadPage(page_);
+  }
 }
diff --git a/testing/embedder_test.h b/testing/embedder_test.h
index a065623..ef8f631 100644
--- a/testing/embedder_test.h
+++ b/testing/embedder_test.h
@@ -92,6 +92,8 @@
   class ScopedEmbedderTestPage {
    public:
     ScopedEmbedderTestPage(EmbedderTest* test, int page_index);
+    ScopedEmbedderTestPage(const ScopedEmbedderTestPage&) = delete;
+    ScopedEmbedderTestPage& operator=(const ScopedEmbedderTestPage&) = delete;
     ~ScopedEmbedderTestPage();
 
     FPDF_PAGE get() { return page_; }
@@ -99,8 +101,8 @@
     explicit operator bool() const { return !!page_; }
 
    private:
-    UnownedPtr<EmbedderTest> const test_;
-    const FPDF_PAGE page_;
+    UnownedPtr<EmbedderTest> test_;
+    FPDF_PAGE page_;
   };
 
   EmbedderTest();