1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#import <Cocoa/Cocoa.h> 6#import <objc/runtime.h> 7 8#import "chrome/browser/ui/cocoa/browser_window_cocoa.h" 9 10#include "base/logging.h" 11#include "chrome/browser/ui/browser.h" 12#include "chrome/browser/ui/browser_window.h" 13#include "chrome/browser/ui/cocoa/browser_window_cocoa.h" 14#import "chrome/browser/ui/cocoa/info_bubble_window.h" 15#include "chrome/test/base/in_process_browser_test.h" 16#include "components/autofill/core/browser/password_generator.h" 17#include "components/autofill/core/common/password_form.h" 18#include "ui/gfx/native_widget_types.h" 19#include "ui/gfx/rect.h" 20 21typedef InProcessBrowserTest BrowserWindowCocoaBrowsertest; 22 23IN_PROC_BROWSER_TEST_F(BrowserWindowCocoaBrowsertest, 24 ShowPasswordGenerationBubble) { 25 gfx::Rect rect; 26 autofill::PasswordForm form; 27 autofill::PasswordGenerator generator(10); 28 browser()->window()->ShowPasswordGenerationBubble(rect, form, &generator); 29 30 // Make sure that the password generation bubble is actually created. 31 NSWindow* window = browser()->window()->GetNativeWindow(); 32 BOOL found = NO; 33 for (NSUInteger i = 0; i < [[window childWindows] count]; i++) { 34 id object = [[window childWindows] objectAtIndex:i]; 35 if ([object isKindOfClass:[InfoBubbleWindow class]]) 36 found = YES; 37 } 38 EXPECT_TRUE(found); 39} 40