Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / content / common / cursors / webcursor_aura.cc
blob584ebdfb600f26b2b030284eb189a7648a2a71be
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
3 // found in the LICENSE file.
5 #include "content/common/cursors/webcursor.h"
7 #include "base/logging.h"
8 #include "third_party/WebKit/public/platform/WebCursorInfo.h"
9 #include "ui/base/cursor/cursor.h"
11 using blink::WebCursorInfo;
13 namespace content {
15 gfx::NativeCursor WebCursor::GetNativeCursor() {
16 switch (type_) {
17 case WebCursorInfo::TypePointer:
18 return ui::kCursorPointer;
19 case WebCursorInfo::TypeCross:
20 return ui::kCursorCross;
21 case WebCursorInfo::TypeHand:
22 return ui::kCursorHand;
23 case WebCursorInfo::TypeIBeam:
24 return ui::kCursorIBeam;
25 case WebCursorInfo::TypeWait:
26 return ui::kCursorWait;
27 case WebCursorInfo::TypeHelp:
28 return ui::kCursorHelp;
29 case WebCursorInfo::TypeEastResize:
30 return ui::kCursorEastResize;
31 case WebCursorInfo::TypeNorthResize:
32 return ui::kCursorNorthResize;
33 case WebCursorInfo::TypeNorthEastResize:
34 return ui::kCursorNorthEastResize;
35 case WebCursorInfo::TypeNorthWestResize:
36 return ui::kCursorNorthWestResize;
37 case WebCursorInfo::TypeSouthResize:
38 return ui::kCursorSouthResize;
39 case WebCursorInfo::TypeSouthEastResize:
40 return ui::kCursorSouthEastResize;
41 case WebCursorInfo::TypeSouthWestResize:
42 return ui::kCursorSouthWestResize;
43 case WebCursorInfo::TypeWestResize:
44 return ui::kCursorWestResize;
45 case WebCursorInfo::TypeNorthSouthResize:
46 return ui::kCursorNorthSouthResize;
47 case WebCursorInfo::TypeEastWestResize:
48 return ui::kCursorEastWestResize;
49 case WebCursorInfo::TypeNorthEastSouthWestResize:
50 return ui::kCursorNorthEastSouthWestResize;
51 case WebCursorInfo::TypeNorthWestSouthEastResize:
52 return ui::kCursorNorthWestSouthEastResize;
53 case WebCursorInfo::TypeColumnResize:
54 return ui::kCursorColumnResize;
55 case WebCursorInfo::TypeRowResize:
56 return ui::kCursorRowResize;
57 case WebCursorInfo::TypeMiddlePanning:
58 return ui::kCursorMiddlePanning;
59 case WebCursorInfo::TypeEastPanning:
60 return ui::kCursorEastPanning;
61 case WebCursorInfo::TypeNorthPanning:
62 return ui::kCursorNorthPanning;
63 case WebCursorInfo::TypeNorthEastPanning:
64 return ui::kCursorNorthEastPanning;
65 case WebCursorInfo::TypeNorthWestPanning:
66 return ui::kCursorNorthWestPanning;
67 case WebCursorInfo::TypeSouthPanning:
68 return ui::kCursorSouthPanning;
69 case WebCursorInfo::TypeSouthEastPanning:
70 return ui::kCursorSouthEastPanning;
71 case WebCursorInfo::TypeSouthWestPanning:
72 return ui::kCursorSouthWestPanning;
73 case WebCursorInfo::TypeWestPanning:
74 return ui::kCursorWestPanning;
75 case WebCursorInfo::TypeMove:
76 return ui::kCursorMove;
77 case WebCursorInfo::TypeVerticalText:
78 return ui::kCursorVerticalText;
79 case WebCursorInfo::TypeCell:
80 return ui::kCursorCell;
81 case WebCursorInfo::TypeContextMenu:
82 return ui::kCursorContextMenu;
83 case WebCursorInfo::TypeAlias:
84 return ui::kCursorAlias;
85 case WebCursorInfo::TypeProgress:
86 return ui::kCursorProgress;
87 case WebCursorInfo::TypeNoDrop:
88 return ui::kCursorNoDrop;
89 case WebCursorInfo::TypeCopy:
90 return ui::kCursorCopy;
91 case WebCursorInfo::TypeNone:
92 return ui::kCursorNone;
93 case WebCursorInfo::TypeNotAllowed:
94 return ui::kCursorNotAllowed;
95 case WebCursorInfo::TypeZoomIn:
96 return ui::kCursorZoomIn;
97 case WebCursorInfo::TypeZoomOut:
98 return ui::kCursorZoomOut;
99 case WebCursorInfo::TypeGrab:
100 return ui::kCursorGrab;
101 case WebCursorInfo::TypeGrabbing:
102 return ui::kCursorGrabbing;
103 case WebCursorInfo::TypeCustom: {
104 ui::Cursor cursor(ui::kCursorCustom);
105 cursor.SetPlatformCursor(GetPlatformCursor());
106 return cursor;
108 default:
109 NOTREACHED();
110 return gfx::kNullCursor;
114 } // namespace content