blob: fcf03439c08c7efe96790fc1de760c35aa767aaf [file] [log] [blame]
// Copyright 2017 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/session_crashed_bubble_view.h"
#include <string>
#include "build/buildflag.h"
#include "chrome/browser/ui/bubble_anchor_util.h"
#include "chrome/browser/ui/test/test_browser_dialog.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "ui/base/buildflags.h"
#include "ui/views/view.h"
class SessionCrashedBubbleViewTest : public DialogBrowserTest {
public:
SessionCrashedBubbleViewTest() {}
~SessionCrashedBubbleViewTest() override {}
void ShowUi(const std::string& name) override {
gfx::Rect anchor_rect = gfx::Rect();
views::View* anchor_view = nullptr;
if (anchor_rect == gfx::Rect()) {
anchor_view = BrowserView::GetBrowserViewForBrowser(browser())
->toolbar_button_provider()
->GetAppMenuButton();
}
SessionCrashedBubbleView* crash_bubble =
new SessionCrashedBubbleView(anchor_view, anchor_rect, browser(),
name == "SessionCrashedBubbleOfferUma");
views::BubbleDialogDelegateView::CreateBubble(crash_bubble)->Show();
}
private:
DISALLOW_COPY_AND_ASSIGN(SessionCrashedBubbleViewTest);
};
IN_PROC_BROWSER_TEST_F(SessionCrashedBubbleViewTest,
InvokeUi_SessionCrashedBubble) {
ShowAndVerifyUi();
}
IN_PROC_BROWSER_TEST_F(SessionCrashedBubbleViewTest,
InvokeUi_SessionCrashedBubbleOfferUma) {
ShowAndVerifyUi();
}