[M108 Migration] Bringup Vibration feature 61/287461/4
authorBakka Uday Kiran <b.kiran@samsung.com>
Mon, 30 Jan 2023 07:06:15 +0000 (12:36 +0530)
committerBot Blink <blinkbot@samsung.com>
Tue, 31 Jan 2023 13:10:09 +0000 (13:10 +0000)
This patch enables support for Vibration client callbacks.

Reference: https://review.tizen.org/gerrit/c/278431

Change-Id: Ia0fc9221ecfbb448efeb185a2425d3b51d9b03bc
Signed-off-by: Bakka Uday Kiran <b.kiran@samsung.com>
services/device/vibration/BUILD.gn
tizen_src/chromium_impl/device/vibration/vibration_efl.gni [deleted file]
tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.cc [deleted file]
tizen_src/chromium_impl/services/device/vibration/vibration_efl.gni [new file with mode: 0644]
tizen_src/chromium_impl/services/device/vibration/vibration_manager_impl_efl.cc [new file with mode: 0644]
tizen_src/chromium_impl/services/device/vibration/vibration_manager_impl_efl.h [moved from tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.h with 59% similarity]
tizen_src/chromium_impl/services/device/vibration/vibration_provider_client.h [moved from tizen_src/chromium_impl/device/vibration/vibration_provider_client.h with 88% similarity]
tizen_src/ewk/efl_integration/BUILD.gn
tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.cc
tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.h
tizen_src/ewk/efl_integration/public/ewk_context.cc

index 6b1d580..96aaeec 100644 (file)
@@ -4,6 +4,9 @@
 
 import("//build/config/features.gni")
 import("//mojo/public/tools/bindings/mojom.gni")
+if (use_efl) {
+  import("//tizen_src/chromium_impl/services/device/vibration/vibration_efl.gni")
+}
 
 # On android, VibrationManager mojo interface is implemented directly in Java.
 if (!is_android) {
@@ -20,6 +23,11 @@ if (!is_android) {
 
     public_deps = [ "//services/device/public/mojom" ]
 
+    if (use_efl) {
+      sources += external_device_vibration_efl_sources
+      sources -= external_exclude_device_vibration_efl_sources
+    }
+
     deps = [
       "//base",
       "//base/third_party/dynamic_annotations",
diff --git a/tizen_src/chromium_impl/device/vibration/vibration_efl.gni b/tizen_src/chromium_impl/device/vibration/vibration_efl.gni
deleted file mode 100644 (file)
index 870d447..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2015 Samsung Electronics. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-external_device_vibration_efl_sources = [
-  "//tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.cc",
-  "//tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.h",
-  "//tizen_src/chromium_impl/device/vibration/vibration_provider_client.h",
-]
-
-external_exclude_device_vibration_efl_sources =
-    [ "vibration_manager_impl_default.cc" ]
diff --git a/tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.cc b/tizen_src/chromium_impl/device/vibration/vibration_manager_impl_efl.cc
deleted file mode 100644 (file)
index b159ef6..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2015 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/vibration/vibration_manager_impl_efl.h"
-
-#include "base/bind.h"
-
-namespace device {
-
-VibrationManagerImplEfl::VibrationManagerImplEfl() {}
-
-VibrationManagerImplEfl::~VibrationManagerImplEfl() {}
-
-std::unique_ptr<VibrationProviderClient> VibrationManagerImplEfl::provider_client_ = std::unique_ptr<VibrationProviderClient>();
-
-void VibrationManagerImplEfl::Vibrate(int64_t milliseconds, const VibrateCallback& callback) {
-  if (provider_client_.get())
-    provider_client_->Vibrate(milliseconds);
-  callback.Run();
-}
-
-void VibrationManagerImplEfl::Cancel(const CancelCallback& callback) {
-  if (provider_client_.get())
-    provider_client_->CancelVibration();
-  callback.Run();
-}
-
-// static
-void VibrationManagerImplEfl::RegisterProviderClient(VibrationProviderClient* provider_client) {
-  provider_client_.reset(provider_client);
-}
-
-// static
-void VibrationManagerImpl::Create(
-    mojo::InterfaceRequest<VibrationManager> request) {
-  new VibrationManagerImplEfl();
-}
-
-}  // namespace device
diff --git a/tizen_src/chromium_impl/services/device/vibration/vibration_efl.gni b/tizen_src/chromium_impl/services/device/vibration/vibration_efl.gni
new file mode 100644 (file)
index 0000000..6480cdb
--- /dev/null
@@ -0,0 +1,11 @@
+# Copyright (c) 2015 Samsung Electronics. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+external_device_vibration_efl_sources = [
+  "//tizen_src/chromium_impl/services/device/vibration/vibration_manager_impl_efl.cc",
+  "//tizen_src/chromium_impl/services/device/vibration/vibration_manager_impl_efl.h",
+  "//tizen_src/chromium_impl/services/device/vibration/vibration_provider_client.h",
+]
+
+external_exclude_device_vibration_efl_sources = [ "vibration_manager_impl_default.cc" ]
diff --git a/tizen_src/chromium_impl/services/device/vibration/vibration_manager_impl_efl.cc b/tizen_src/chromium_impl/services/device/vibration/vibration_manager_impl_efl.cc
new file mode 100644 (file)
index 0000000..f04d06d
--- /dev/null
@@ -0,0 +1,45 @@
+// Copyright 2015 Samsung Electronics. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/vibration/vibration_manager_impl_efl.h"
+
+#include "mojo/public/cpp/bindings/self_owned_receiver.h"
+
+namespace device {
+
+VibrationManagerImplEfl::VibrationManagerImplEfl() {}
+
+VibrationManagerImplEfl::~VibrationManagerImplEfl() {}
+
+std::unique_ptr<VibrationProviderClient>
+    VibrationManagerImplEfl::provider_client_ =
+        std::unique_ptr<VibrationProviderClient>();
+
+void VibrationManagerImplEfl::Vibrate(int64_t milliseconds,
+                                      VibrateCallback callback) {
+  if (provider_client_.get())
+    provider_client_->Vibrate(milliseconds);
+  std::move(callback).Run();
+}
+
+void VibrationManagerImplEfl::Cancel(CancelCallback callback) {
+  if (provider_client_.get())
+    provider_client_->CancelVibration();
+  std::move(callback).Run();
+}
+
+// static
+void VibrationManagerImplEfl::RegisterProviderClient(
+    VibrationProviderClient* provider_client) {
+  provider_client_.reset(provider_client);
+}
+
+// static
+void VibrationManagerImpl::Create(
+    mojo::PendingReceiver<mojom::VibrationManager> receiver) {
+  mojo::MakeSelfOwnedReceiver(std::make_unique<VibrationManagerImplEfl>(),
+                              std::move(receiver));
+}
+
+}  // namespace device
@@ -7,27 +7,27 @@
 
 #include "services/device/vibration/vibration_manager_impl.h"
 
-#include "mojo/public/cpp/bindings/strong_binding.h"
-#include "services/device/vibration/vibration_export.h"
 #include "services/device/vibration/vibration_provider_client.h"
 
 namespace device {
 
-class DEVICE_VIBRATION_EXPORT VibrationManagerImplEfl : public VibrationManager {
+class VibrationManagerImplEfl : public mojom::VibrationManager {
  public:
   VibrationManagerImplEfl();
-  ~VibrationManagerImplEfl() override {}
+  ~VibrationManagerImplEfl() override;
 
-  void Vibrate(int64_t milliseconds, const VibrateCallback& callback) override;
-  void Cancel(const CancelCallback& callback) override;
+  VibrationManagerImplEfl(const VibrationManagerImplEfl&) = delete;
+  VibrationManagerImplEfl& operator=(const VibrationManagerImplEfl&) = delete;
+
+  void Vibrate(int64_t milliseconds, VibrateCallback callback) override;
+  void Cancel(CancelCallback callback) override;
 
   static void RegisterProviderClient(VibrationProviderClient* provider_client);
 
  private:
-
   static std::unique_ptr<VibrationProviderClient> provider_client_;
 };
 
 }  // namespace device
 
-#endif // VIBRATION_MANAGER_IMPL_EFL_H
+#endif  // VIBRATION_MANAGER_IMPL_EFL_H
@@ -17,6 +17,6 @@ class VibrationProviderClient {
   virtual ~VibrationProviderClient() {}
 };
 
-}
+}  // namespace device
 
-#endif // VIBRATION_PROVIDER_CLIENT_H
+#endif  // VIBRATION_PROVIDER_CLIENT_H
index 3c4b39e..7797280 100755 (executable)
@@ -621,8 +621,6 @@ shared_library("chromium-ewk") {
   # FIXME: Followings are guarded just for bringup.
   if (ewk_bringup) {
     sources -= [
-      "browser/vibration/vibration_provider_client.cc",
-      "browser/vibration/vibration_provider_client.h",
       "permission_popup_manager.cc",
       "permission_popup_manager.h",
     ]
index 13765ac..e54a72b 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "browser/vibration/vibration_provider_client.h"
 
-#include "device/vibration/vibration_manager_impl_efl.h"
+#include "services/device/vibration/vibration_manager_impl_efl.h"
 
 VibrationProviderClientEwk* VibrationProviderClientEwk::GetInstance() {
   static VibrationProviderClientEwk* vibration_provider_client = NULL;
index fd150b2..e4415f2 100644 (file)
@@ -5,8 +5,8 @@
 #ifndef Vibration_Provider_Client_h
 #define Vibration_Provider_Client_h
 
-#include "device/vibration/vibration_provider_client.h"
 #include "public/ewk_context_internal.h"
+#include "services/device/vibration/vibration_provider_client.h"
 
 class VibrationProviderClientEwk: public device::VibrationProviderClient {
  public:
index 3353d91..98b2472 100644 (file)
@@ -520,10 +520,8 @@ void ewk_context_vibration_client_callbacks_set(Ewk_Context* context,
                                                 Ewk_Vibration_Client_Vibration_Cancel_Cb cancel,
                                                 void* data)
 {
-#if !defined(EWK_BRINGUP)
   VibrationProviderClientEwk* vibra_client = VibrationProviderClientEwk::GetInstance();
   vibra_client->SetVibrationClientCallbacks(vibrate, cancel, data);
-#endif
 }
 
 Eina_Bool ewk_context_tizen_extensible_api_string_set(Ewk_Context* context,  const char* extensible_api, Eina_Bool enable)