| Index: chrome/browser/ui/website_settings/permission_bubble_delegate.cc
|
| diff --git a/chrome/browser/ui/website_settings/permission_bubble_delegate.cc b/chrome/browser/ui/website_settings/permission_bubble_delegate.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..33ab2dd4c12a696e5521b3bbedca6232a393a2b3
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/website_settings/permission_bubble_delegate.cc
|
| @@ -0,0 +1,47 @@
|
| +// Copyright 2015 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 "base/bind.h"
|
| +#include "chrome/browser/ui/website_settings/permission_bubble_delegate.h"
|
| +#include "chrome/browser/ui/website_settings/permission_bubble_manager.h"
|
| +#include "chrome/browser/ui/website_settings/permission_bubble_view.h"
|
| +#include "components/bubble/bubble_builder.h"
|
| +
|
| +PermissionBubbleDelegate::PermissionBubbleDelegate(
|
| + Browser* browser,
|
| + PermissionBubbleManager* permission_bubble_manager)
|
| + : browser_(browser),
|
| + permission_bubble_manager_(permission_bubble_manager),
|
| +#if !defined(OS_ANDROID) // No bubbles in android tests.
|
| + view_factory_(base::Bind(&PermissionBubbleView::Create)),
|
| +#endif
|
| + view_(nullptr) {
|
| + DCHECK(browser);
|
| +}
|
| +
|
| +PermissionBubbleDelegate::~PermissionBubbleDelegate() {}
|
| +
|
| +void PermissionBubbleDelegate::OnShow() {
|
| + // TODO(hcarmona): what to do here?
|
| + view_->SetDelegate(permission_bubble_manager_);
|
| + view_->Show(permission_bubble_manager_->requests_,
|
| + permission_bubble_manager_->accept_states_);
|
| +}
|
| +
|
| +void PermissionBubbleDelegate::OnHide() {
|
| + // TODO(hcarmona): what to do here?
|
| + // view_->SetDelegate(nullptr); not always.... TODO(hcarmona): decide when.
|
| + view_->Hide();
|
| +}
|
| +
|
| +void PermissionBubbleDelegate::OnUpdatePosition() {
|
| + // TODO(hcarmona): what to do here?
|
| + view_->UpdateAnchorPosition();
|
| +}
|
| +
|
| +void PermissionBubbleDelegate::BuildBubble(BubbleBuilder* builder) {
|
| + view_ = view_factory_.Run(browser_);
|
| + // TODO(hcarmona): get native view from view_;
|
| + builder->SetNativeWindow(nullptr);
|
| +}
|
|
|