| // Copyright 2014 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. |
| |
| #ifndef CHROME_RENDERER_EXTENSIONS_NOTIFICATIONS_NATIVE_HANDLER_H_ |
| #define CHROME_RENDERER_EXTENSIONS_NOTIFICATIONS_NATIVE_HANDLER_H_ |
| |
| #include "base/compiler_specific.h" |
| #include "base/macros.h" |
| #include "extensions/renderer/object_backed_native_handler.h" |
| |
| namespace base { |
| class Value; |
| } |
| |
| namespace extensions { |
| |
| class NotificationsNativeHandler : public ObjectBackedNativeHandler { |
| public: |
| explicit NotificationsNativeHandler(ScriptContext* context); |
| |
| // ObjectBackedNativeHandler: |
| void AddRoutes() override; |
| |
| private: |
| // This implements notifications_private.GetImageSizes() which |
| // informs the renderer of the actual rendered size of each |
| // component of a notification. It additionally includes |
| // information about the system's maximum scale factor so that |
| // larger images specified in DP can be interpreted as scaled |
| // versions of the DIP size. |
| // * |args| is used only to get the return value. |
| // * The return value contains the following keys: |
| // scaleFactor - a float a la devicePixelRatio |
| // icon - a dictionary with integer keys "height" and "width" (DIPs) |
| // image - a dictionary of the same format as |icon| |
| // buttonIcon - a dictionary of the same format as |icon| |
| void GetNotificationImageSizes( |
| const v8::FunctionCallbackInfo<v8::Value>& args); |
| |
| DISALLOW_COPY_AND_ASSIGN(NotificationsNativeHandler); |
| }; |
| |
| } // namespace extensions |
| |
| #endif // CHROME_RENDERER_EXTENSIONS_NOTIFICATIONS_NATIVE_HANDLER_H_ |