From: Heilig Benedek Date: Sun, 31 Jan 2016 01:27:14 +0000 (+0100) Subject: Added documentation, restructured the files to fit better with electron's style and... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61e0219e9124e409916ccac6a6118407edac4854;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git Added documentation, restructured the files to fit better with electron's style and fixed a typo in keyboard_util's name. --- diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 0b557f2..091c44e 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -27,6 +27,7 @@ #include "atom/common/native_mate_converters/image_converter.h" #include "atom/common/native_mate_converters/string16_converter.h" #include "atom/common/native_mate_converters/value_converter.h" +#include "atom/common/mouse_util.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "brightray/browser/inspectable_web_contents.h" @@ -56,12 +57,9 @@ #include "net/url_request/url_request_context.h" #include "third_party/WebKit/public/web/WebInputEvent.h" #include "ui/base/l10n/l10n_util.h" -#include "mw/cursor/cursor_event_filter.h" #include "atom/common/node_includes.h" -#include - namespace { struct PrintSettings { @@ -1045,7 +1043,7 @@ void WebContents::EndFrameSubscription() { } void WebContents::OnCursorChange(const content::WebCursor& cursor) { - Emit("cursor-changed", CursorChangeEvent::toString(cursor)); + Emit("cursor-changed", CursorTypeToString(cursor)); } void WebContents::SetSize(const SetSizeParams& params) { diff --git a/atom/browser/api/atom_api_web_contents.h b/atom/browser/api/atom_api_web_contents.h index 21e201c..e00798b 100644 --- a/atom/browser/api/atom_api_web_contents.h +++ b/atom/browser/api/atom_api_web_contents.h @@ -256,6 +256,7 @@ class WebContents : public mate::TrackableObject, return ++request_id_; } + // Called when we receive a CursorChange message from chromium. void OnCursorChange(const content::WebCursor& cursor); // Called when received a message from renderer. diff --git a/atom/browser/ui/accelerator_util.cc b/atom/browser/ui/accelerator_util.cc index a0b90e0..39138d8 100644 --- a/atom/browser/ui/accelerator_util.cc +++ b/atom/browser/ui/accelerator_util.cc @@ -9,7 +9,7 @@ #include #include -#include "atom/common/keyboad_util.h" +#include "atom/common/keyboard_util.h" #include "base/stl_util.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" diff --git a/atom/common/keyboad_util.cc b/atom/common/keyboard_util.cc similarity index 98% rename from atom/common/keyboad_util.cc rename to atom/common/keyboard_util.cc index 7d7c5d9..e5dedd8 100644 --- a/atom/common/keyboad_util.cc +++ b/atom/common/keyboard_util.cc @@ -3,7 +3,7 @@ // found in the LICENSE file. #include -#include "atom/common/keyboad_util.h" +#include "atom/common/keyboard_util.h" namespace atom { diff --git a/atom/common/keyboad_util.h b/atom/common/keyboard_util.h similarity index 83% rename from atom/common/keyboad_util.h rename to atom/common/keyboard_util.h index 4a85c19..d3168d4 100644 --- a/atom/common/keyboad_util.h +++ b/atom/common/keyboard_util.h @@ -2,8 +2,8 @@ // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. -#ifndef ATOM_COMMON_KEYBOAD_UTIL_H_ -#define ATOM_COMMON_KEYBOAD_UTIL_H_ +#ifndef ATOM_COMMON_KEYBOARD_UTIL_H_ +#define ATOM_COMMON_KEYBOARD_UTIL_H_ #include #include "ui/events/keycodes/keyboard_codes.h" @@ -20,4 +20,4 @@ ui::KeyboardCode KeyboardCodeFromKeyIdentifier(const std::string& chr); } // namespace atom -#endif // ATOM_COMMON_KEYBOAD_UTIL_H_ +#endif // ATOM_COMMON_KEYBOARD_UTIL_H_ diff --git a/atom/common/mouse_util.cc b/atom/common/mouse_util.cc new file mode 100644 index 0000000..8178668 --- /dev/null +++ b/atom/common/mouse_util.cc @@ -0,0 +1,67 @@ +// Copyright (c) 2015 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#include +#include "atom/common/mouse_util.h" + +using Cursor = blink::WebCursorInfo::Type; + +namespace atom { + +std::string CursorTypeToString(const content::WebCursor& cursor) { + content::WebCursor::CursorInfo* info = new content::WebCursor::CursorInfo(); + cursor.GetCursorInfo(info); + + switch (info->type) { + case Cursor::TypePointer: return "pointer"; + case Cursor::TypeCross: return "cross"; + case Cursor::TypeHand: return "hand"; + case Cursor::TypeIBeam: return "i-beam"; + case Cursor::TypeWait: return "wait"; + case Cursor::TypeHelp: return "help"; + case Cursor::TypeEastResize: return "east-resize"; + case Cursor::TypeNorthResize: return "north-resize"; + case Cursor::TypeNorthEastResize: return "north-east-resize"; + case Cursor::TypeNorthWestResize: return "north-west-resize"; + case Cursor::TypeSouthResize: return "south-resize"; + case Cursor::TypeSouthEastResize: return "south-east-resize"; + case Cursor::TypeSouthWestResize: return "south-west-resize"; + case Cursor::TypeWestResize: return "west-resize"; + case Cursor::TypeNorthSouthResize: return "north-south-resize"; + case Cursor::TypeEastWestResize: return "east-west-resize"; + case Cursor::TypeNorthEastSouthWestResize: + return "north-east-south-west-resize"; + case Cursor::TypeNorthWestSouthEastResize: + return "north-west-south-east-resize"; + case Cursor::TypeColumnResize: return "column-resize"; + case Cursor::TypeRowResize: return "row-resize"; + case Cursor::TypeMiddlePanning: return "middle-panning"; + case Cursor::TypeEastPanning: return "east-panning"; + case Cursor::TypeNorthPanning: return "north-panning"; + case Cursor::TypeNorthEastPanning: return "north-east-panning"; + case Cursor::TypeNorthWestPanning: return "north-west-panning"; + case Cursor::TypeSouthPanning: return "south-panning"; + case Cursor::TypeSouthEastPanning: return "south-east-panning"; + case Cursor::TypeSouthWestPanning: return "south-west-panning"; + case Cursor::TypeWestPanning: return "west-panning"; + case Cursor::TypeMove: return "move"; + case Cursor::TypeVerticalText: return "vertical-text"; + case Cursor::TypeCell: return "cell"; + case Cursor::TypeContextMenu: return "context-menu"; + case Cursor::TypeAlias: return "alias"; + case Cursor::TypeProgress: return "progress"; + case Cursor::TypeNoDrop: return "nodrop"; + case Cursor::TypeCopy: return "copy"; + case Cursor::TypeNone: return "none"; + case Cursor::TypeNotAllowed: return "not-allowed"; + case Cursor::TypeZoomIn: return "zoom-in"; + case Cursor::TypeZoomOut: return "zoom-out"; + case Cursor::TypeGrab: return "grab"; + case Cursor::TypeGrabbing: return "grabbing"; + case Cursor::TypeCustom: return "custom"; + default: return "pointer"; + } +} + +} // namespace atom diff --git a/atom/common/mouse_util.h b/atom/common/mouse_util.h new file mode 100644 index 0000000..9ea1308 --- /dev/null +++ b/atom/common/mouse_util.h @@ -0,0 +1,36 @@ +// Copyright (c) 2015 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#ifndef ATOM_COMMON_MOUSE_UTIL_H_ +#define ATOM_COMMON_MOUSE_UTIL_H_ + +#include +#include "content/common/cursors/webcursor.h" +#include "ipc/ipc_message_macros.h" + +// IPC macros similar to the already existing ones in the chromium source. +// We need these to listen to the cursor change IPC message while still +// letting chromium handle the actual cursor change by setting handled = false. +#define IPC_MESSAGE_HANDLER_CODE(msg_class, member_func, code) \ + IPC_MESSAGE_FORWARD_CODE(msg_class, this, \ + _IpcMessageHandlerClass::member_func, code) + +#define IPC_MESSAGE_FORWARD_CODE(msg_class, obj, member_func, code) \ + case msg_class::ID: { \ + TRACK_RUN_IN_THIS_SCOPED_REGION(member_func); \ + if (!msg_class::Dispatch(&ipc_message__, obj, this, param__, \ + &member_func)) \ + ipc_message__.set_dispatch_error(); \ + code; \ + } \ + break; + +namespace atom { + +// Returns the cursor's type as a string. +std::string CursorTypeToString(const content::WebCursor& cursor); + +} // namespace atom + +#endif // ATOM_COMMON_MOUSE_UTIL_H_ diff --git a/atom/common/native_mate_converters/blink_converter.cc b/atom/common/native_mate_converters/blink_converter.cc index 095490a..fdb894b 100644 --- a/atom/common/native_mate_converters/blink_converter.cc +++ b/atom/common/native_mate_converters/blink_converter.cc @@ -7,7 +7,7 @@ #include #include -#include "atom/common/keyboad_util.h" +#include "atom/common/keyboard_util.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "content/public/browser/native_web_keyboard_event.h" diff --git a/docs/api/web-contents.md b/docs/api/web-contents.md index 939a096..a3fcc37 100644 --- a/docs/api/web-contents.md +++ b/docs/api/web-contents.md @@ -281,6 +281,24 @@ Emitted when a page's theme color changes. This is usually due to encountering a ``` +### Event: 'cursor-changed' + +Returns: + +* `event` Event +* `type` String + +Emitted when the cursor's type changes. The `type` parameter can be `pointer`, +`cross`, `hand`, `i-beam`, `wait`, `help`, `east-resize`, `north-resize`, +`north-east-resize`, `north-west-resize`, `south-resize`, `south-east-resize`, +`south-west-resize`, `west-resize`, `north-south-resize`, `east-west-resize`, +`north-east-south-west-resize`, `north-west-south-east-resize`, `column-resize`, +`row-resize`, `middle-panning`, `east-panning`, `north-panning`, +`north-east-panning`, `north-west-panning`, `south-panning`, +`south-east-panning`, `south-west-panning`, `west-panning`, `move`, +`vertical-text`, `cell`, `context-menu`, `alias`, `progress`, `nodrop`, `copy`, +`none`, `not-allowed`, `zoom-in`, `zoom-out`, `grab`, `grabbing`, `custom`. + ## Instance Methods The `webContents` object has the following instance methods: diff --git a/filenames.gypi b/filenames.gypi index b94d2b7..748b3b9 100644 --- a/filenames.gypi +++ b/filenames.gypi @@ -317,8 +317,10 @@ 'atom/common/google_api_key.h', 'atom/common/id_weak_map.cc', 'atom/common/id_weak_map.h', - 'atom/common/keyboad_util.cc', - 'atom/common/keyboad_util.h', + 'atom/common/keyboard_util.cc', + 'atom/common/keyboard_util.h', + 'atom/common/mouse_util.cc', + 'atom/common/mouse_util.h', 'atom/common/linux/application_info.cc', 'atom/common/native_mate_converters/accelerator_converter.cc', 'atom/common/native_mate_converters/accelerator_converter.h', @@ -371,8 +373,6 @@ 'atom/renderer/node_array_buffer_bridge.h', 'atom/utility/atom_content_utility_client.cc', 'atom/utility/atom_content_utility_client.h', - 'mw/cursor/cursor_event_filter.cc', - 'mw/cursor/cursor_event_filter.h', 'chromium_src/chrome/browser/browser_process.cc', 'chromium_src/chrome/browser/browser_process.h', 'chromium_src/chrome/browser/chrome_process_finder_win.cc', diff --git a/mw/cursor/cursor_event_filter.cc b/mw/cursor/cursor_event_filter.cc deleted file mode 100644 index 00c6d58..0000000 --- a/mw/cursor/cursor_event_filter.cc +++ /dev/null @@ -1,150 +0,0 @@ -#include "mw/cursor/cursor_event_filter.h" -#include "content/common/view_messages.h" - -namespace atom { - -std::string CursorChangeEvent::toString( - const content::WebCursor& cursor) { - content::WebCursor::CursorInfo* info = new content::WebCursor::CursorInfo(); - cursor.GetCursorInfo(info); - - switch(info->type){ - case blink::WebCursorInfo::Type::TypePointer: - return "Pointer"; - break; - case blink::WebCursorInfo::Type::TypeCross: - return "Cross"; - break; - case blink::WebCursorInfo::Type::TypeHand: - return "Hand"; - break; - case blink::WebCursorInfo::Type::TypeIBeam: - return "IBeam"; - break; - case blink::WebCursorInfo::Type::TypeWait: - return "Wait"; - break; - case blink::WebCursorInfo::Type::TypeHelp: - return "Help"; - break; - case blink::WebCursorInfo::Type::TypeEastResize: - return "EastResize"; - break; - case blink::WebCursorInfo::Type::TypeNorthResize: - return "NorthResize"; - break; - case blink::WebCursorInfo::Type::TypeNorthEastResize: - return "NorthEastResize"; - break; - case blink::WebCursorInfo::Type::TypeNorthWestResize: - return "NorthWestResize"; - break; - case blink::WebCursorInfo::Type::TypeSouthResize: - return "SouthResize"; - break; - case blink::WebCursorInfo::Type::TypeSouthEastResize: - return "SouthEastResize"; - break; - case blink::WebCursorInfo::Type::TypeSouthWestResize: - return "SouthWestResize"; - break; - case blink::WebCursorInfo::Type::TypeWestResize: - return "WestResize"; - break; - case blink::WebCursorInfo::Type::TypeNorthSouthResize: - return "NorthSouthResize"; - break; - case blink::WebCursorInfo::Type::TypeEastWestResize: - return "EastWestResize"; - break; - case blink::WebCursorInfo::Type::TypeNorthEastSouthWestResize: - return "NorthEastSouthWestResize"; - break; - case blink::WebCursorInfo::Type::TypeNorthWestSouthEastResize: - return "NorthWestSouthEastResize"; - break; - case blink::WebCursorInfo::Type::TypeColumnResize: - return "ColumnResize"; - break; - case blink::WebCursorInfo::Type::TypeRowResize: - return "RowResize"; - break; - case blink::WebCursorInfo::Type::TypeMiddlePanning: - return "MiddlePanning"; - break; - case blink::WebCursorInfo::Type::TypeEastPanning: - return "EastPanning"; - break; - case blink::WebCursorInfo::Type::TypeNorthPanning: - return "NorthPanning"; - break; - case blink::WebCursorInfo::Type::TypeNorthEastPanning: - return "NorthEastPanning"; - break; - case blink::WebCursorInfo::Type::TypeNorthWestPanning: - return "NorthWestPanning"; - break; - case blink::WebCursorInfo::Type::TypeSouthPanning: - return "SouthPanning"; - break; - case blink::WebCursorInfo::Type::TypeSouthEastPanning: - return "SouthEastPanning"; - break; - case blink::WebCursorInfo::Type::TypeSouthWestPanning: - return "SouthWestPanning"; - break; - case blink::WebCursorInfo::Type::TypeWestPanning: - return "WestPanning"; - break; - case blink::WebCursorInfo::Type::TypeMove: - return "Move"; - break; - case blink::WebCursorInfo::Type::TypeVerticalText: - return "VerticalText"; - break; - case blink::WebCursorInfo::Type::TypeCell: - return "Cell"; - break; - case blink::WebCursorInfo::Type::TypeContextMenu: - return "ContextMenu"; - break; - case blink::WebCursorInfo::Type::TypeAlias: - return "Alias"; - break; - case blink::WebCursorInfo::Type::TypeProgress: - return "Progress"; - break; - case blink::WebCursorInfo::Type::TypeNoDrop: - return "NoDrop"; - break; - case blink::WebCursorInfo::Type::TypeCopy: - return "Copy"; - break; - case blink::WebCursorInfo::Type::TypeNone: - return "None"; - break; - case blink::WebCursorInfo::Type::TypeNotAllowed: - return "NotAllowed"; - break; - case blink::WebCursorInfo::Type::TypeZoomIn: - return "ZoomIn"; - break; - case blink::WebCursorInfo::Type::TypeZoomOut: - return "ZoomOut"; - break; - case blink::WebCursorInfo::Type::TypeGrab: - return "Grab"; - break; - case blink::WebCursorInfo::Type::TypeGrabbing: - return "Grabbing"; - break; - case blink::WebCursorInfo::Type::TypeCustom: - return "Custom"; - break; - default: - return "Pointer"; - break; - } -} - -} diff --git a/mw/cursor/cursor_event_filter.h b/mw/cursor/cursor_event_filter.h deleted file mode 100644 index 31bc744..0000000 --- a/mw/cursor/cursor_event_filter.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef MW_CURSOR_EVENT_H_ -#define MW_CURSOR_EVENT_H_ - -#include "content/common/cursors/webcursor.h" -#include "ipc/ipc_message_macros.h" - -#define IPC_MESSAGE_HANDLER_CODE(msg_class, member_func, code) \ - IPC_MESSAGE_FORWARD_CODE(msg_class, this, \ - _IpcMessageHandlerClass::member_func, code) - -#define IPC_MESSAGE_FORWARD_CODE(msg_class, obj, member_func, code) \ - case msg_class::ID: { \ - TRACK_RUN_IN_THIS_SCOPED_REGION(member_func); \ - if (!msg_class::Dispatch(&ipc_message__, obj, this, param__, \ - &member_func)) \ - ipc_message__.set_dispatch_error(); \ - code; \ - } \ - break; - -namespace atom { - -class CursorChangeEvent { - public: - static std::string toString(const content::WebCursor& cursor); -}; - -} - -#endif // MW_CURSOR_EVENT_H_