diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-03 17:43:36 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-03 17:43:36 +0000 |
commit | e8f07ac77c1b27633eb7c6c2793d5b465e023f9f (patch) | |
tree | 6b1aa7de84dcb5f18adac114bba01c4f77a71e6b /ppapi/shared_impl/ppb_view_shared.h | |
parent | 08d9dfe8c279ec894cdacdf5f0a89bd8c85a92fc (diff) | |
download | chromium_src-e8f07ac77c1b27633eb7c6c2793d5b465e023f9f.zip chromium_src-e8f07ac77c1b27633eb7c6c2793d5b465e023f9f.tar.gz chromium_src-e8f07ac77c1b27633eb7c6c2793d5b465e023f9f.tar.bz2 |
Change the DidChangeView update to take a new ViewChanged resource.
This will allow us to be more flexible about adding data to view changed updates in the future. For now, I've incorporated fullscreen and tab foreground state into the view state.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8951014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116142 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/ppb_view_shared.h')
-rw-r--r-- | ppapi/shared_impl/ppb_view_shared.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ppapi/shared_impl/ppb_view_shared.h b/ppapi/shared_impl/ppb_view_shared.h new file mode 100644 index 0000000..6bba605 --- /dev/null +++ b/ppapi/shared_impl/ppb_view_shared.h @@ -0,0 +1,61 @@ +// Copyright (c) 2011 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 PPAPI_SHARED_IMPL_PPB_VIEW_SHARED_H_
+#define PPAPI_SHARED_IMPL_PPB_VIEW_SHARED_H_
+
+#include "base/compiler_specific.h"
+#include "ppapi/c/pp_rect.h"
+#include "ppapi/c/pp_size.h"
+#include "ppapi/shared_impl/resource.h"
+#include "ppapi/thunk/ppb_view_api.h"
+
+namespace ppapi {
+
+// If you add to this struct, be sure to update the serialization in
+// ppapi_messages.h.
+struct PPAPI_SHARED_EXPORT ViewData {
+ ViewData();
+ ~ViewData();
+
+ bool Equals(const ViewData& other) const;
+
+ PP_Rect rect;
+ bool is_fullscreen;
+ bool is_page_visible;
+ PP_Rect clip_rect;
+};
+
+class PPAPI_SHARED_EXPORT PPB_View_Shared
+ : public Resource,
+ public thunk::PPB_View_API {
+ public:
+ struct InitAsImpl {};
+ struct InitAsProxy {};
+
+ // The dummy arguments control which version of Resource's constructor is
+ // called for this base class.
+ PPB_View_Shared(const InitAsImpl&,
+ PP_Instance instance,
+ const ViewData& data);
+ PPB_View_Shared(const InitAsProxy&,
+ PP_Instance instance,
+ const ViewData& data);
+ virtual ~PPB_View_Shared();
+
+ // Resource overrides.
+ virtual thunk::PPB_View_API* AsPPB_View_API() OVERRIDE;
+
+ // PPB_View_API implementation.
+ virtual const ViewData& GetData() const OVERRIDE;
+
+ private:
+ ViewData data_;
+
+ DISALLOW_COPY_AND_ASSIGN(PPB_View_Shared);
+};
+
+} // namespace ppapi
+
+#endif // PPAPI_SHARED_IMPL_PPB_VIEW_SHARED_H_
|