--- /dev/null
+/*
+ * Copyright (C) 2013 Samsung Electronics. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ */
+
+#include "browser/vibration/vibration_provider_client.h"
+
+VibrationProviderClient* VibrationProviderClient::vibration_provider_client_ = NULL;
+
+VibrationProviderClient* VibrationProviderClient::GetInstance() {
+ if (!vibration_provider_client_)
+ vibration_provider_client_ = new VibrationProviderClient;
+ return vibration_provider_client_;
+}
+
+void VibrationProviderClient::DeleteInstance() {
+ if (vibration_provider_client_)
+ delete vibration_provider_client_;
+ vibration_provider_client_ = NULL;
+}
+
+void VibrationProviderClient::Vibrate(uint64_t vibration_time) {
+ if (vibration_client_.get() && vibration_client_->vibrate_)
+ vibration_client_->vibrate_(vibration_time, vibration_client_->user_data_);
+}
+
+void VibrationProviderClient::CancelVibration() {
+ if (vibration_client_.get() && vibration_client_->cancel_vibration_)
+ vibration_client_->cancel_vibration_(vibration_client_->user_data_);
+}
+
+void VibrationProviderClient::SetVibrationClientCallbacks(Ewk_Vibration_Client_Vibrate_Cb vibrate,
+ Ewk_Vibration_Client_Vibration_Cancel_Cb cancelVibration,
+ void* data) {
+ vibration_client_.reset(new Ewk_Vibration_Client(vibrate, cancelVibration, data));
+}
--- /dev/null
+/*
+ * Copyright (C) 2013 Samsung Electronics. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ */
+
+#ifndef Vibration_Provider_Client_h
+#define Vibration_Provider_Client_h
+
+#include "base/memory/scoped_ptr.h"
+#include "public/ewk_context.h"
+
+/**
+ * \struct Ewk_Vibration_Client
+ * @brief Contains the vibration client callbacks.
+ */
+struct Ewk_Vibration_Client {
+ public:
+ Ewk_Vibration_Client(Ewk_Vibration_Client_Vibrate_Cb vibrate,
+ Ewk_Vibration_Client_Vibration_Cancel_Cb cancelVibration,
+ void* user_data)
+ : vibrate_(vibrate),
+ cancel_vibration_(cancelVibration),
+ user_data_(user_data) {}
+
+ Ewk_Vibration_Client_Vibrate_Cb vibrate_;
+ Ewk_Vibration_Client_Vibration_Cancel_Cb cancel_vibration_;
+ void* user_data_;
+};
+
+class VibrationProviderClient {
+ public:
+ static VibrationProviderClient* GetInstance();
+ static void DeleteInstance();
+ void Vibrate(uint64_t vibrationTime);
+ void CancelVibration();
+ void SetVibrationClientCallbacks(Ewk_Vibration_Client_Vibrate_Cb,
+ Ewk_Vibration_Client_Vibration_Cancel_Cb,
+ void*);
+
+ private:
+ VibrationProviderClient() {}
+ ~VibrationProviderClient() {}
+ static VibrationProviderClient* vibration_provider_client_;
+ scoped_ptr<Ewk_Vibration_Client> vibration_client_;
+
+ DISALLOW_COPY_AND_ASSIGN(VibrationProviderClient);
+};
+
+#endif // Vibration_Provider_Client_h
'browser/renderer_host/native_web_keyboard_event_efl.cc',
'browser/renderer_host/web_cache_manager_efl.cc',
'browser/renderer_host/web_cache_manager_efl.h',
+ 'browser/vibration/vibration_provider_client.cc',
+ 'browser/vibration/vibration_provider_client.h',
'browser_context_efl.cc',
'browser_context_efl.h',
'cache_params_efl.h',