chromium/third_party/blink/renderer/core/web_test/web_test_web_frame_widget_impl.h

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_WEB_TEST_WEB_TEST_WEB_FRAME_WIDGET_IMPL_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_WEB_TEST_WEB_TEST_WEB_FRAME_WIDGET_IMPL_H_

#include <memory>
#include <utility>

#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/public/test/frame_widget_test_helper.h"
#include "third_party/blink/renderer/core/frame/web_frame_widget_impl.h"

namespace blink {

// WebTestWebFrameWidgetImpl is used to run web tests. This class is a subclass
// of WebFrameWidgetImpl that overrides the minimal necessary portions. These
// portions are limited:
// 1) Handling single threaded compositing.
// 2) Emulating drag and drop.
//
// This class exists inside blink so that it can subclass the WebFrameWidgetImpl
// yet still depends on content/web_test/renderer classes. This will eventually
// be cleaned up with more content code moving into blink but it is fine for
// now since it is only used in tests.
class WebTestWebFrameWidgetImpl : public WebFrameWidgetImpl,
                                  public FrameWidgetTestHelper {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_WEB_TEST_WEB_TEST_WEB_FRAME_WIDGET_IMPL_H_