1 // Copyright 2014 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.
5 #ifndef EXTENSIONS_BROWSER_EXTENSION_ZOOM_REQUEST_CLIENT_H_
6 #define EXTENSIONS_BROWSER_EXTENSION_ZOOM_REQUEST_CLIENT_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "components/ui/zoom/zoom_controller.h"
10 #include "extensions/common/extension.h"
12 namespace extensions
{
16 // This class implements ZoomRequestClient in order to encapsulate a ref pointer
17 // back to an extension requesting a zoom level change. This is important so
18 // that zoom event observers can determine if an extension made the request
19 // as opposed to direct user input.
20 class ExtensionZoomRequestClient
: public ui_zoom::ZoomRequestClient
{
22 explicit ExtensionZoomRequestClient(scoped_refptr
<const Extension
> extension
);
24 const Extension
* extension() const { return extension_
.get(); }
27 ~ExtensionZoomRequestClient() override
;
28 scoped_refptr
<const Extension
> extension_
;
30 DISALLOW_COPY_AND_ASSIGN(ExtensionZoomRequestClient
);
33 } // namespace extensions
35 #endif // EXTENSIONS_BROWSER_EXTENSION_ZOOM_REQUEST_CLIENT_H_