Index: chrome/browser/ui/views/tabs/dragged_tab_controller.cc |
=================================================================== |
--- chrome/browser/ui/views/tabs/dragged_tab_controller.cc (revision 85284) |
+++ chrome/browser/ui/views/tabs/dragged_tab_controller.cc (working copy) |
@@ -203,8 +203,7 @@ |
hidden_(false), |
in_enable_area_(info.in_enable_area()) { |
#if defined(OS_WIN) |
- popup_ = views::Widget::CreateWidget(); |
- popup_->SetOpacity(0x00); |
+ popup_ = new views::Widget; |
// TODO(sky): This should "just work" on Gtk now. |
views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP); |
params.transparent = true; |
@@ -212,6 +211,7 @@ |
params.bounds = info.GetPopupRect(); |
popup_->Init(params); |
popup_->SetContentsView(new DockView(info.type())); |
+ popup_->SetOpacity(0x00); |
if (info.in_enable_area()) |
animation_.Reset(1); |
else |
@@ -265,23 +265,15 @@ |
virtual void AnimationEnded(const ui::Animation* animation) { |
if (!hidden_) |
return; |
-#if defined(OS_WIN) |
- static_cast<views::WidgetWin*>(popup_)->Close(); |
-#else |
- NOTIMPLEMENTED(); |
-#endif |
+ popup_->Close(); |
delete this; |
} |
virtual void UpdateLayeredAlpha() { |
-#if defined(OS_WIN) |
double scale = in_enable_area_ ? 1 : .5; |
- static_cast<views::WidgetWin*>(popup_)->SetOpacity( |
- static_cast<BYTE>(animation_.GetCurrentValue() * scale * 255.0)); |
+ popup_->SetOpacity(static_cast<unsigned char>(animation_.GetCurrentValue() * |
+ scale * 255.0)); |
popup_->GetRootView()->SchedulePaint(); |
-#else |
- NOTIMPLEMENTED(); |
-#endif |
} |
private: |