Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / device / hid / hid_usage_and_page.cc
index 773346b..079ec66 100644 (file)
@@ -6,8 +6,31 @@
 
 namespace device {
 
-bool HidUsageAndPage::operator==(const HidUsageAndPage& other) const {
-  return usage == other.usage && usage_page == other.usage_page;
+bool HidUsageAndPage::IsProtected() const {
+  if (usage_page == HidUsageAndPage::kPageKeyboard)
+    return true;
+
+  if (usage_page != HidUsageAndPage::kPageGenericDesktop)
+    return false;
+
+  if (usage == HidUsageAndPage::kGenericDesktopPointer ||
+      usage == HidUsageAndPage::kGenericDesktopMouse ||
+      usage == HidUsageAndPage::kGenericDesktopKeyboard ||
+      usage == HidUsageAndPage::kGenericDesktopKeypad) {
+    return true;
+  }
+
+  if (usage >= HidUsageAndPage::kGenericDesktopSystemControl &&
+      usage <= HidUsageAndPage::kGenericDesktopSystemWarmRestart) {
+    return true;
+  }
+
+  if (usage >= HidUsageAndPage::kGenericDesktopSystemDock &&
+      usage <= HidUsageAndPage::kGenericDesktopSystemDisplaySwap) {
+    return true;
+  }
+
+  return false;
 }
 
 }  // namespace device