// Copyright (c) 2012 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 UI_VIEWS_TEST_TEST_VIEWS_DELEGATE_H_
#define UI_VIEWS_TEST_TEST_VIEWS_DELEGATE_H_
#include "base/memory/scoped_ptr.h"
#include "ui/views/views_delegate.h"
namespace wm {
class WMState;
}
namespace views {
class TestViewsDelegate : public ViewsDelegate {
public:
TestViewsDelegate();
virtual ~TestViewsDelegate();
// If set to |true|, forces widgets that do not provide a native widget to use
// DesktopNativeWidgetAura instead of whatever the default native widget would
// be. This has no effect on ChromeOS.
void set_use_desktop_native_widgets(bool desktop) {
use_desktop_native_widgets_ = desktop;
}
void set_use_transparent_windows(bool transparent) {
use_transparent_windows_ = transparent;
}
// ViewsDelegate:
virtual void OnBeforeWidgetInit(
Widget::InitParams* params,
internal::NativeWidgetDelegate* delegate) OVERRIDE;
private:
bool use_desktop_native_widgets_;
bool use_transparent_windows_;
#if defined(USE_AURA)
scoped_ptr<wm::WMState> wm_state_;
ui::ContextFactory* context_factory_;
#endif
DISALLOW_COPY_AND_ASSIGN(TestViewsDelegate);
};
} // namespace views
#endif // UI_VIEWS_TEST_TEST_VIEWS_DELEGATE_H_