#include "ui/snapshot/screenshot_grabber.h"
#include <stddef.h>
#include <climits>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/task/current_thread.h"
#include "base/task/single_thread_task_runner.h"
#include "base/task/task_runner.h"
#include "base/time/time.h"
#include "ui/snapshot/snapshot.h"
#if defined(USE_AURA)
#include "ui/aura/client/cursor_client.h"
#include "ui/aura/window.h"
#endif
namespace ui {
namespace {
const int kScreenshotMinimumIntervalInMS = …;
}
#if defined(USE_AURA)
class ScreenshotGrabber::ScopedCursorHider { … };
#endif
ScreenshotGrabber::ScreenshotGrabber() { … }
ScreenshotGrabber::~ScreenshotGrabber() { … }
void ScreenshotGrabber::TakeScreenshot(gfx::NativeWindow window,
const gfx::Rect& rect,
ScreenshotCallback callback) { … }
bool ScreenshotGrabber::CanTakeScreenshot() { … }
void ScreenshotGrabber::GrabSnapshotImageCallback(
const std::string& window_identifier,
bool is_partial,
ScreenshotCallback callback,
scoped_refptr<base::RefCountedMemory> png_data) { … }
}