| Index: chrome/browser/extensions/api/wm/wm_api.h
|
| diff --git a/chrome/browser/extensions/api/wm/wm_api.h b/chrome/browser/extensions/api/wm/wm_api.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4073f0b62bdaa8d406dae28ddbfb84505c20a30e
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/api/wm/wm_api.h
|
| @@ -0,0 +1,169 @@
|
| +// Copyright (c) 2012 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_BROWSER_EXTENSIONS_API_WM_WM_API_H_
|
| +#define CHROME_BROWSER_EXTENSIONS_API_WM_WM_API_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/values.h"
|
| +#include "chrome/browser/extensions/api/api_function.h"
|
| +#include "chrome/browser/extensions/extension_function.h"
|
| +
|
| +namespace ui {
|
| +class Layer;
|
| +}
|
| +
|
| +namespace extensions {
|
| +namespace api {
|
| +
|
| +class WindowFunction : public AsyncApiFunction {
|
| + protected:
|
| + WindowFunction();
|
| + virtual ~WindowFunction();
|
| +
|
| + virtual bool Prepare() OVERRIDE;
|
| + virtual void Work() OVERRIDE;
|
| + virtual bool Respond() OVERRIDE;
|
| +
|
| + virtual bool WorkOnWindow(aura::Window* window) = 0;
|
| +
|
| + private:
|
| + int window_id_;
|
| +};
|
| +
|
| +class WmCloseFunction : public WindowFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.close");
|
| + WmCloseFunction();
|
| +
|
| + protected:
|
| + virtual ~WmCloseFunction();
|
| + virtual bool WorkOnWindow(aura::Window* window) OVERRIDE;
|
| +};
|
| +
|
| +class WmMinimizeFunction : public WindowFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.minimize");
|
| + WmMinimizeFunction();
|
| +
|
| + protected:
|
| + virtual ~WmMinimizeFunction();
|
| + virtual bool WorkOnWindow(aura::Window* window) OVERRIDE;
|
| +};
|
| +
|
| +class WmMaximizeFunction : public WindowFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.maximize");
|
| + WmMaximizeFunction();
|
| +
|
| + protected:
|
| + virtual ~WmMaximizeFunction();
|
| + virtual bool WorkOnWindow(aura::Window* window) OVERRIDE;
|
| +};
|
| +
|
| +class WmFullscreenFunction : public WindowFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.fullscreen");
|
| + WmFullscreenFunction();
|
| +
|
| + protected:
|
| + virtual ~WmFullscreenFunction();
|
| + virtual bool WorkOnWindow(aura::Window* window) OVERRIDE;
|
| +};
|
| +
|
| +class WmRestoreFunction : public WindowFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.restore");
|
| + WmRestoreFunction();
|
| +
|
| + protected:
|
| + virtual ~WmRestoreFunction();
|
| + virtual bool WorkOnWindow(aura::Window* window) OVERRIDE;
|
| +};
|
| +
|
| +class WindowLayerFunction : public WindowFunction {
|
| + protected:
|
| + explicit WindowLayerFunction(int num_arguments);
|
| + virtual ~WindowLayerFunction();
|
| + virtual bool Prepare() OVERRIDE;
|
| +
|
| + virtual bool WorkOnWindow(aura::Window* window) OVERRIDE;
|
| +
|
| + virtual void WorkOnLayer(ui::Layer* layer) = 0;
|
| +
|
| + private:
|
| + int duration_; // In milliseconds.
|
| + int num_arguments_;
|
| +};
|
| +
|
| +class WmOpacityFunction : public WindowLayerFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.opacity");
|
| +
|
| + WmOpacityFunction();
|
| +
|
| + protected:
|
| + virtual ~WmOpacityFunction();
|
| +
|
| + // Overridden from AsyncApiFunction.
|
| + virtual bool Prepare() OVERRIDE;
|
| +
|
| + // Overridden from WindowLayerFunction.
|
| + virtual void WorkOnLayer(ui::Layer* layer) OVERRIDE;
|
| +
|
| + private:
|
| + double opacity_;
|
| +};
|
| +
|
| +class WmTransformFunction : public WindowLayerFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.transform");
|
| +
|
| + WmTransformFunction();
|
| +
|
| + protected:
|
| + virtual ~WmTransformFunction();
|
| +
|
| + // Overridden from AsyncApiFunction.
|
| + virtual bool Prepare() OVERRIDE;
|
| +
|
| + // Overridden from WindowLayerFunction.
|
| + virtual void WorkOnLayer(ui::Layer* layer) OVERRIDE;
|
| +
|
| + scoped_ptr<base::DictionaryValue> dictionary_;
|
| +};
|
| +
|
| +class WmSetWindowBoundsFunction : public WmTransformFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.setWindowBounds");
|
| +
|
| + protected:
|
| + virtual ~WmSetWindowBoundsFunction() {}
|
| +
|
| + // Overridden from WindowLayerFunction.
|
| + virtual void WorkOnLayer(ui::Layer* layer) OVERRIDE;
|
| +};
|
| +
|
| +class WmWindowsFunction : public SyncExtensionFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.windows");
|
| +
|
| + protected:
|
| + virtual ~WmWindowsFunction() {}
|
| + virtual bool RunImpl() OVERRIDE;
|
| +};
|
| +
|
| +class WmScreenBoundsFunction : public SyncExtensionFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.screenBounds");
|
| +
|
| + protected:
|
| + virtual ~WmScreenBoundsFunction() {}
|
| + virtual bool RunImpl() OVERRIDE;
|
| +};
|
| +
|
| +class WmStackWindowAboveFunction : public SyncExtensionFunction {
|
| + DECLARE_EXTENSION_FUNCTION_NAME("experimental.wm.stackWindowAbove");
|
| +
|
| + protected:
|
| + virtual ~WmStackWindowAboveFunction() {}
|
| + virtual bool RunImpl() OVERRIDE;
|
| +};
|
| +
|
| +} // namespace api
|
| +} // namespace extensions
|
| +
|
| +#endif // CHROME_BROWSER_EXTENSIONS_API_WM_WM_API_H_
|
|
|