blob: 3cd73d285534642d2a76f39a5229aa1581f5c778 [file] [log] [blame]
// 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.
#include "chrome/browser/ui/views/dropdown_bar_host.h"
#include "base/logging.h"
#include "ui/aura/window.h"
#include "ui/events/event.h"
#include "ui/views/view_constants_aura.h"
#include "ui/views/widget/widget.h"
using content::NativeWebKeyboardEvent;
using content::WebContents;
NativeWebKeyboardEvent DropdownBarHost::GetKeyboardEvent(
const WebContents* contents,
const ui::KeyEvent& key_event) {
// NativeWebKeyboardEvent should take a const gfx::NativeEvent, which would
// prevent this casting.
ui::Event* ui_event =
static_cast<ui::Event*>(const_cast<ui::KeyEvent*>(&key_event));
return NativeWebKeyboardEvent(ui_event);
}
void DropdownBarHost::SetWidgetPositionNative(const gfx::Rect& new_pos,
bool no_redraw) {
if (!host_->IsVisible())
host_->GetNativeView()->Show();
host_->GetNativeView()->SetBounds(new_pos);
// The z-order of |host_| is controlled by the view specified via
// views::kHostViewKey.
}
void DropdownBarHost::SetHostViewNative(views::View* host_view) {
host_->GetNativeView()->SetProperty(views::kHostViewKey, host_view);
}