Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: webkit/glue/webcursor.h

Issue 9447084: Refactor Pickle Read methods to use higher performance PickleIterator. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: compile (racing with incoming CLs) Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/glue/npruntime_util.cc ('k') | webkit/glue/webcursor.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_GLUE_WEBCURSOR_H_ 5 #ifndef WEBKIT_GLUE_WEBCURSOR_H_
6 #define WEBKIT_GLUE_WEBCURSOR_H_ 6 #define WEBKIT_GLUE_WEBCURSOR_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "ui/gfx/native_widget_types.h" 9 #include "ui/gfx/native_widget_types.h"
10 #include "ui/gfx/point.h" 10 #include "ui/gfx/point.h"
(...skipping 12 matching lines...) Expand all
23 #ifdef __OBJC__ 23 #ifdef __OBJC__
24 @class NSCursor; 24 @class NSCursor;
25 #else 25 #else
26 class NSCursor; 26 class NSCursor;
27 #endif 27 #endif
28 typedef UInt32 ThemeCursor; 28 typedef UInt32 ThemeCursor;
29 struct Cursor; 29 struct Cursor;
30 #endif 30 #endif
31 31
32 class Pickle; 32 class Pickle;
33 class PickleIterator;
33 34
34 namespace WebKit { 35 namespace WebKit {
35 class WebImage; 36 class WebImage;
36 struct WebCursorInfo; 37 struct WebCursorInfo;
37 } 38 }
38 39
39 // This class encapsulates a cross-platform description of a cursor. Platform 40 // This class encapsulates a cross-platform description of a cursor. Platform
40 // specific methods are provided to translate the cross-platform cursor into a 41 // specific methods are provided to translate the cross-platform cursor into a
41 // platform specific cursor. It is also possible to serialize / de-serialize a 42 // platform specific cursor. It is also possible to serialize / de-serialize a
42 // WebCursor. 43 // WebCursor.
43 class WEBKIT_GLUE_EXPORT WebCursor { 44 class WEBKIT_GLUE_EXPORT WebCursor {
44 public: 45 public:
45 WebCursor(); 46 WebCursor();
46 explicit WebCursor(const WebKit::WebCursorInfo& cursor_info); 47 explicit WebCursor(const WebKit::WebCursorInfo& cursor_info);
47 ~WebCursor(); 48 ~WebCursor();
48 49
49 // Copy constructor/assignment operator combine. 50 // Copy constructor/assignment operator combine.
50 WebCursor(const WebCursor& other); 51 WebCursor(const WebCursor& other);
51 const WebCursor& operator=(const WebCursor& other); 52 const WebCursor& operator=(const WebCursor& other);
52 53
53 // Conversion from/to WebCursorInfo. 54 // Conversion from/to WebCursorInfo.
54 void InitFromCursorInfo(const WebKit::WebCursorInfo& cursor_info); 55 void InitFromCursorInfo(const WebKit::WebCursorInfo& cursor_info);
55 void GetCursorInfo(WebKit::WebCursorInfo* cursor_info) const; 56 void GetCursorInfo(WebKit::WebCursorInfo* cursor_info) const;
56 57
57 // Serialization / De-serialization 58 // Serialization / De-serialization
58 bool Deserialize(const Pickle* pickle, void** iter); 59 bool Deserialize(PickleIterator* iter);
59 bool Serialize(Pickle* pickle) const; 60 bool Serialize(Pickle* pickle) const;
60 61
61 // Returns true if GetCustomCursor should be used to allocate a platform 62 // Returns true if GetCustomCursor should be used to allocate a platform
62 // specific cursor object. Otherwise GetCursor should be used. 63 // specific cursor object. Otherwise GetCursor should be used.
63 bool IsCustom() const; 64 bool IsCustom() const;
64 65
65 // Returns true if the current cursor object contains the same cursor as the 66 // Returns true if the current cursor object contains the same cursor as the
66 // cursor object passed in. If the current cursor is a custom cursor, we also 67 // cursor object passed in. If the current cursor is a custom cursor, we also
67 // compare the bitmaps to verify whether they are equal. 68 // compare the bitmaps to verify whether they are equal.
68 bool IsEqual(const WebCursor& other) const; 69 bool IsEqual(const WebCursor& other) const;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 void Copy(const WebCursor& other); 108 void Copy(const WebCursor& other);
108 109
109 // Cleans up the WebCursor instance. 110 // Cleans up the WebCursor instance.
110 void Clear(); 111 void Clear();
111 112
112 // Platform specific initialization goes here. 113 // Platform specific initialization goes here.
113 void InitPlatformData(); 114 void InitPlatformData();
114 115
115 // Platform specific Serialization / De-serialization 116 // Platform specific Serialization / De-serialization
116 bool SerializePlatformData(Pickle* pickle) const; 117 bool SerializePlatformData(Pickle* pickle) const;
117 bool DeserializePlatformData(const Pickle* pickle, void** iter); 118 bool DeserializePlatformData(PickleIterator* iter);
118 119
119 // Returns true if the platform data in the current cursor object 120 // Returns true if the platform data in the current cursor object
120 // matches that of the cursor passed in. 121 // matches that of the cursor passed in.
121 bool IsPlatformDataEqual(const WebCursor& other) const ; 122 bool IsPlatformDataEqual(const WebCursor& other) const ;
122 123
123 // Copies platform specific data from the WebCursor instance passed in. 124 // Copies platform specific data from the WebCursor instance passed in.
124 void CopyPlatformData(const WebCursor& other); 125 void CopyPlatformData(const WebCursor& other);
125 126
126 // Platform specific cleanup. 127 // Platform specific cleanup.
127 void CleanupPlatformData(); 128 void CleanupPlatformData();
(...skipping 20 matching lines...) Expand all
148 HCURSOR external_cursor_; 149 HCURSOR external_cursor_;
149 // A custom cursor created from custom bitmap data by Webkit. 150 // A custom cursor created from custom bitmap data by Webkit.
150 HCURSOR custom_cursor_; 151 HCURSOR custom_cursor_;
151 #elif defined(TOOLKIT_USES_GTK) 152 #elif defined(TOOLKIT_USES_GTK)
152 // A custom cursor created that should be unref'ed from the destructor. 153 // A custom cursor created that should be unref'ed from the destructor.
153 GdkCursor* unref_; 154 GdkCursor* unref_;
154 #endif 155 #endif
155 }; 156 };
156 157
157 #endif // WEBKIT_GLUE_WEBCURSOR_H_ 158 #endif // WEBKIT_GLUE_WEBCURSOR_H_
OLDNEW
« no previous file with comments | « webkit/glue/npruntime_util.cc ('k') | webkit/glue/webcursor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698