[Release] wrt-plugins-common_0.3.95 submit/tizen_2.2/20130607.143234 submit/tizen_2.2/20130613.164320
authorJihoon Chung <jihoon.chung@samsung.com>
Fri, 7 Jun 2013 14:32:18 +0000 (23:32 +0900)
committerJihoon Chung <jihoon.chung@samsung.com>
Fri, 7 Jun 2013 14:32:18 +0000 (23:32 +0900)
packaging/wrt-plugins-common.spec
src/dispatch-event/dispatch_event_support.cpp
src/dispatch-event/dispatch_event_support.h

index 9454329..d1b93dc 100644 (file)
@@ -1,7 +1,7 @@
 #git:framework/web/wrt-plugins-common
 Name:       wrt-plugins-common
 Summary:    wrt-plugins common library
-Version:    0.3.94
+Version:    0.3.95
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
index b73a2fb..24c9f84 100644 (file)
 #ifndef _DISPATCH_EVENT_SUPPORT_CPP_
 #define _DISPATCH_EVENT_SUPPORT_CPP_
 
-#include <string>
-#include <JavaScriptCore/JavaScript.h>
-#include <dpl/log/log.h>
-
 #include "dispatch_event_support.h"
 
 namespace DispatchEventSupport {
@@ -152,5 +148,28 @@ void dispatchStorageEvent(JSContextRef context, const std::string key, const std
     }
 }
 
+void dispatchHwKeyEvent(Evas_Object* ewkView, const std::string key)
+{
+    LogDebug("dispatchHwKeyEvent(" << ewkView << ", " << key << ")");
+
+    if (ewkView != NULL && !key.empty())
+    {
+        std::stringstream script;
+
+        script << "var __event = document.createEvent(\"CustomEvent\");\n"
+               << "__event.initCustomEvent(\"tizenhwkey\", true, true);\n"
+               << "__event.keyName = \"" << key << "\";\n"
+               << "document.dispatchEvent(__event);\n"
+               << "\n"
+               << "for (var i=0; i < window.frames.length; i++)\n"
+               << "{ window.frames[i].document.dispatchEvent(__event); }";
+
+        // just for debugging
+        // LogDebug("script :\n" << script.str());
+
+        ewk_view_script_execute(ewkView, script.str().c_str(), NULL, NULL);
+    }
+}
+
 }
 #endif //_DISPATCH_EVENT_SUPPORT_CPP_
index a267e2c..df74b4b 100644 (file)
 #ifndef _DISPATCH_EVENT_SUPPORT_H_
 #define _DISPATCH_EVENT_SUPPORT_H_
 
+#include <string>
+#include <dpl/log/log.h>
+#include <EWebKit2.h>
+#include <JavaScriptCore/JavaScript.h>
+
 namespace DispatchEventSupport {
 
 void dispatchAppServiceEvent(JSContextRef context, const float scale, const std::string bundle);
 void dispatchSoftKeyboardChangeEvent(JSContextRef context, const std::string state, const int width, const int height);
 void dispatchStorageEvent(JSContextRef context, const std::string key, const std::string oldValue, const std::string newValue, const std::string url);
-
+void dispatchHwKeyEvent(Evas_Object* ewkView, const std::string key);
 }
 #endif //_DISPATCH_EVENT_SUPPORT_H_