blob: 9f4cd9a32b755d866dbb7665af4b064b784d0ecd [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.
#import <Cocoa/Cocoa.h>
#include "chrome/browser/ui/cocoa/autofill/password_generation_popup_view_bridge.h"
#include "base/logging.h"
#include "chrome/browser/ui/autofill/autofill_popup_controller.h"
#import "chrome/browser/ui/cocoa/autofill/password_generation_popup_view_cocoa.h"
#include "ui/gfx/size.h"
namespace autofill {
PasswordGenerationPopupViewBridge::PasswordGenerationPopupViewBridge(
PasswordGenerationPopupController* controller) {
view_.reset(
[[PasswordGenerationPopupViewCocoa alloc]
initWithController:controller
frame:NSZeroRect]);
}
PasswordGenerationPopupViewBridge::~PasswordGenerationPopupViewBridge() {
[view_ controllerDestroyed];
[view_ hidePopup];
}
void PasswordGenerationPopupViewBridge::Hide() {
delete this;
}
void PasswordGenerationPopupViewBridge::Show() {
[view_ showPopup];
}
gfx::Size PasswordGenerationPopupViewBridge::GetPreferredSizeOfPasswordView() {
return gfx::Size(NSSizeToCGSize([view_ preferredSize]));
}
void PasswordGenerationPopupViewBridge::UpdateBoundsAndRedrawPopup() {
[view_ updateBoundsAndRedrawPopup];
}
void PasswordGenerationPopupViewBridge::PasswordSelectionUpdated() {
[view_ setNeedsDisplay:YES];
}
bool PasswordGenerationPopupViewBridge::IsPointInPasswordBounds(
const gfx::Point& point) {
return [view_ isPointInPasswordBounds:NSPointFromCGPoint(point.ToCGPoint())];
}
PasswordGenerationPopupView* PasswordGenerationPopupView::Create(
PasswordGenerationPopupController* controller) {
return new PasswordGenerationPopupViewBridge(controller);
}
} // namespace autofill