Add IsSwipeTrackingFromScrollEventsEnabled in system prefs
authorAnthony Tseng <darkdh@gmail.com>
Wed, 3 Aug 2016 02:27:56 +0000 (10:27 +0800)
committerAnthony Tseng <darkdh@gmail.com>
Wed, 3 Aug 2016 02:27:56 +0000 (10:27 +0800)
atom/browser/api/atom_api_system_preferences.cc
atom/browser/api/atom_api_system_preferences.h
atom/browser/api/atom_api_system_preferences_mac.mm
atom/browser/native_window_mac.mm
atom/common/platform_util.h
atom/common/platform_util_mac.mm
docs/api/system-preferences.md

index c342136..c530f6c 100644 (file)
@@ -58,6 +58,8 @@ void SystemPreferences::BuildPrototype(
       .SetMethod("unsubscribeLocalNotification",
                  &SystemPreferences::UnsubscribeLocalNotification)
       .SetMethod("getUserDefault", &SystemPreferences::GetUserDefault)
+      .SetMethod("isSwipeTrackingFromScrollEventsEnabled",
+                 &SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled)
 #endif
       .SetMethod("isDarkMode", &SystemPreferences::IsDarkMode);
 }
index 9a5cf99..5438ca7 100644 (file)
@@ -40,6 +40,10 @@ class SystemPreferences : public mate::EventEmitter<SystemPreferences> {
   void UnsubscribeLocalNotification(int request_id);
   v8::Local<v8::Value> GetUserDefault(const std::string& name,
                                       const std::string& type);
+  // On 10.7+, back and forward swipe gestures can be triggered using a scroll
+  // gesture, if enabled in System Preferences. This function returns true if
+  // the feature is supported and enabled, and false otherwise.
+  bool IsSwipeTrackingFromScrollEventsEnabled();
 #endif
   bool IsDarkMode();
 
index 6f7055a..3fe109c 100644 (file)
@@ -11,6 +11,7 @@
 #include "atom/browser/mac/dict_util.h"
 #include "atom/common/native_mate_converters/value_converter.h"
 #include "atom/common/native_mate_converters/gurl_converter.h"
+#import "base/mac/sdk_forward_declarations.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/values.h"
 #include "net/base/mac/url_conversions.h"
@@ -122,6 +123,12 @@ bool SystemPreferences::IsDarkMode() {
   return [mode isEqualToString:@"Dark"];
 }
 
+bool SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled() {
+  SEL selector = @selector(isSwipeTrackingFromScrollEventsEnabled);
+  return [NSEvent respondsToSelector:selector]
+    && [NSEvent performSelector:selector];
+}
+
 }  // namespace api
 
 }  // namespace atom
index 5b2f300..743e308 100644 (file)
@@ -10,7 +10,6 @@
 #include "atom/common/color_util.h"
 #include "atom/common/draggable_region.h"
 #include "atom/common/options_switches.h"
-#include "atom/common/platform_util.h"
 #include "base/mac/mac_util.h"
 #include "base/mac/scoped_cftyperef.h"
 #include "base/strings/sys_string_conversions.h"
@@ -578,9 +577,6 @@ NativeWindowMac::NativeWindowMac(
       if (!web_contents)
         return event;
 
-      if (!platform_util::IsSwipeTrackingFromScrollEventsEnabled())
-        return event;
-
       if (!began && (([event phase] == NSEventPhaseMayBegin) ||
                      ([event phase] == NSEventPhaseBegan))) {
         this->NotifyWindowScrollTouchBegin();
index 5c65ec7..262f0a2 100644 (file)
@@ -42,13 +42,6 @@ bool MoveItemToTrash(const base::FilePath& full_path);
 
 void Beep();
 
-#if defined(OS_MACOSX)
-// On 10.7+, back and forward swipe gestures can be triggered using a scroll
-// gesture, if enabled in System Preferences. This function returns true if
-// the feature is supported and enabled, and false otherwise.
-bool IsSwipeTrackingFromScrollEventsEnabled();
-#endif
-
 }  // namespace platform_util
 
 #endif  // ATOM_COMMON_PLATFORM_UTIL_H_
index 2768230..d0146b1 100644 (file)
@@ -11,7 +11,6 @@
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/mac/mac_logging.h"
-#import "base/mac/sdk_forward_declarations.h"
 #include "base/mac/scoped_aedesc.h"
 #include "base/strings/sys_string_conversions.h"
 #include "net/base/mac/url_conversions.h"
@@ -169,10 +168,4 @@ void Beep() {
   NSBeep();
 }
 
-bool IsSwipeTrackingFromScrollEventsEnabled() {
-  SEL selector = @selector(isSwipeTrackingFromScrollEventsEnabled);
-  return [NSEvent respondsToSelector:selector]
-    && [NSEvent performSelector:selector];
-}
-
 }  // namespace platform_util
index 8a2af28..0ac63b1 100644 (file)
@@ -13,6 +13,10 @@ console.log(systemPreferences.isDarkMode())
 
 This method returns `true` if the system is in Dark Mode, and `false` otherwise.
 
+### `systemPreferences.isSwipeTrackingFromScrollEventsEnabled()` _macOS_
+
+This method returns `true` if the Swipe between pages setting is on, and `false` otherwise.
+
 ### `systemPreferences.subscribeNotification(event, callback)` _macOS_
 
 * `event` String