// 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 "extensions/renderer/object_backed_native_handler.h" namespace base { class Value; } namespace extensions { class NotificationsNativeHandler : public ObjectBackedNativeHandler { public: explicit NotificationsNativeHandler(ScriptContext* context); 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& args); DISALLOW_COPY_AND_ASSIGN(NotificationsNativeHandler); }; } // namespace extensions #endif // CHROME_RENDERER_EXTENSIONS_NOTIFICATIONS_NATIVE_HANDLER_H_