blob: bd0a9c039225f42b335ed7fd819a5d34efbaf333 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef PDF_TEST_TEST_CLIENT_H_
#define PDF_TEST_TEST_CLIENT_H_
#include <string>
#include <vector>
#include "base/location.h"
#include "pdf/pdf_engine.h"
namespace chrome_pdf {
class TestClient : public PDFEngine::Client {
public:
TestClient();
TestClient(const TestClient& other) = delete;
TestClient& operator=(const TestClient& other) = delete;
~TestClient() override;
PDFEngine* engine() const { return engine_; }
void set_engine(PDFEngine* engine) { engine_ = engine; }
// PDFEngine::Client:
void ProposeDocumentLayout(const DocumentLayout& layout) override;
bool Confirm(const std::string& message) override;
std::string Prompt(const std::string& question,
const std::string& default_answer) override;
std::string GetURL() override;
std::unique_ptr<UrlLoader> CreateUrlLoader() override;
std::vector<SearchStringResult> SearchString(const base::char16* string,
const base::char16* term,
bool case_sensitive) override;
pp::Instance* GetPluginInstance() override;
bool IsPrintPreview() override;
uint32_t GetBackgroundColor() override;
float GetToolbarHeightInScreenCoords() override;
void SetSelectedText(const std::string& selected_text) override;
void SetLinkUnderCursor(const std::string& link_under_cursor) override;
bool IsValidLink(const std::string& url) override;
void ScheduleTaskOnMainThread(
base::TimeDelta delay,
ResultCallback callback,
int32_t result,
const base::Location& from_here = base::Location::Current()) override;
private:
// Not owned. Expected to dangle briefly, as the engine usually is destroyed
// before the client.
PDFEngine* engine_ = nullptr;
};
} // namespace chrome_pdf
#endif // PDF_TEST_TEST_CLIENT_H_