#include "SVGNames.h"
#endif
-#if ENABLE(TIZEN_ISF_PORT)
-#include "Logging.h"
-#endif
-
namespace WebCore {
using namespace HTMLNames;
RefPtr<Node> protect;
if (Page* page = doc->page()) {
-#if ENABLE(TIZEN_ISF_PORT)
- // FIXME : Web need to find a better way
- if (!page->settings()->showImeOnAutofocus()) {
- LOG(ISF, "[FAIL] %s : Autofocus is failed\n", __func__);
- return;
- }
-#endif
// Focus and change event handlers can cause us to lose our last ref.
// If a focus event handler changes the focus to a different node it
// does not make sense to continue and update appearence.
if (!canRunModalIfDuringPageDismissal(m_page, ChromeClient::AlertDialog, message))
return;
+#if ENABLE(TIZEN_ISF_PORT)
+ Node* node = frame ? frame->document()->focusedNode() : 0;
+ if (node
+ && node->nodeType() == Node::ELEMENT_NODE
+ && node->hasTagName(HTMLNames::inputTag))
+ static_cast<HTMLInputElement*>(node)->blur();
+#endif
+
// Defer loads in case the client method runs a new event loop that would
// otherwise cause the load to continue while we're in the middle of executing JavaScript.
PageGroupLoadDeferrer deferrer(m_page, true);
#include "HTMLPlugInElement.h"
#endif
+#if ENABLE(TIZEN_ISF_PORT)
+#include "EditorClient.h"
+#endif
+
namespace WebCore {
using namespace HTMLNames;
// if the page already set it (e.g., by canceling default behavior).
if (Page* page = m_frame->page()) {
if (node && node->isMouseFocusable()) {
+#if ENABLE(TIZEN_ISF_PORT)
+ if (node && node->shouldUseInputMethod())
+ m_frame->editor()->client()->handleInputMethodMousePress();
+#endif
if (!page->focusController()->setFocusedNode(node, m_frame))
swallowEvent = true;
} else if (!node || !node->focused()) {
virtual void unlockOrientation() = 0;
#endif
#if ENABLE(TIZEN_ISF_PORT)
- virtual void handleInputMethodMousePress() = 0;
virtual bool getInputMethodState() = 0;
#endif
};
hideContextMenu();
#endif
-#if ENABLE(TIZEN_ISF_PORT)
- if (event.type() == WebEvent::MouseDown)
- m_pageClient->handleInputMethodMousePress();
-#endif
-
if (m_shouldSendEventsSynchronously) {
bool handled = false;
process()->sendSync(Messages::WebPage::MouseEventSyncForTesting(event), Messages::WebPage::MouseEventSyncForTesting::Reply(handled), m_pageID);
#endif
#if ENABLE(TIZEN_ISF_PORT)
+ void handleInputMethodMousePress();
void handleInputMethodMouseRelease();
void updateCursorPosition();
int getCursorOffsetPosition();
SetInputMethodState(bool active, AtomicString inputType, WTF::String inputValue);
#endif
#if ENABLE(TIZEN_ISF_PORT)
+ HandleInputMethodMousePress()
HandleInputMethodMouseRelease()
UpdateCursorPosition()
GetInputMethodState() -> (bool state)
#endif
#if ENABLE(TIZEN_ISF_PORT)
+void WebPageProxy::handleInputMethodMousePress()
+{
+ static_cast<PageClientImpl*>(m_pageClient)->handleInputMethodMousePress();
+}
+
void WebPageProxy::handleInputMethodMouseRelease()
{
static_cast<PageClientImpl*>(m_pageClient)->handleInputMethodMouseRelease();
TextCheckerClient* textChecker() OVERRIDE { return this; }
#if ENABLE(TIZEN_ISF_PORT)
- virtual void handleInputMethodMousePress() OVERRIDE {}
+ virtual void handleInputMethodMousePress() OVERRIDE;
virtual void handleInputMethodMouseRelease() OVERRIDE;
virtual bool getInputMethodState() OVERRIDE;
#endif
#endif
#if ENABLE(TIZEN_ISF_PORT)
+void WebEditorClient::handleInputMethodMousePress()
+{
+ m_page->send(Messages::WebPageProxy::HandleInputMethodMousePress());
+}
+
void WebEditorClient::handleInputMethodMouseRelease()
{
m_page->send(Messages::WebPageProxy::HandleInputMethodMouseRelease());