Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / extensions / browser / extension_zoom_request_client.h
blob25d2196c0c0e4e77b4d5a82b13db4aaa64490fe6
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 {
14 class Extension;
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 {
21 public:
22 explicit ExtensionZoomRequestClient(scoped_refptr<const Extension> extension);
24 const Extension* extension() const { return extension_.get(); }
26 private:
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_