15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Copyright (c) 2014 The Chromium Authors. All rights reserved.
25c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Use of this source code is governed by a BSD-style license that can be
35c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// found in the LICENSE file.
45c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
55c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#ifndef CHROME_BROWSER_EXTENSIONS_NTP_OVERRIDDEN_BUBBLE_CONTROLLER_H_
65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#define CHROME_BROWSER_EXTENSIONS_NTP_OVERRIDDEN_BUBBLE_CONTROLLER_H_
75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include <string>
95c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "chrome/browser/extensions/extension_message_bubble_controller.h"
105c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
115c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace extensions {
125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass NtpOverriddenBubbleController : public ExtensionMessageBubbleController {
145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu public:
155c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  explicit NtpOverriddenBubbleController(Profile* profile);
165c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  virtual ~NtpOverriddenBubbleController();
175c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  // Whether the controller knows that we should show the bubble for extension
195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  // with |extension_id|. Returns true if so.
205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  bool ShouldShow(const std::string& extension_id);
215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
225c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  // ExtensionMessageBubbleController:
235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  virtual bool CloseOnDeactivate() OVERRIDE;
245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu private:
265c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  // A weak pointer to the profile we are associated with. Not owned by us.
275c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  Profile* profile_;
285c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  DISALLOW_COPY_AND_ASSIGN(NtpOverriddenBubbleController);
305c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu};
315c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}  // namespace extensions
335c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
345c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#endif  // CHROME_BROWSER_EXTENSIONS_NTP_OVERRIDDEN_BUBBLE_CONTROLLER_H_
35