#include "content/common/view_messages.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/native_web_keyboard_event.h"
+#include "content/public/browser/web_contents.h"
#include "jni/ImeAdapter_jni.h"
#include "third_party/WebKit/public/web/WebCompositionUnderline.h"
#include "third_party/WebKit/public/web/WebInputEvent.h"
}
void ImeAdapterAndroid::Unselect(JNIEnv* env, jobject) {
- RenderFrameHost* rfh = GetFocusedFrame();
- if (rfh)
- rfh->Unselect();
+ WebContents* wc = GetWebContents();
+ if (wc)
+ wc->Unselect();
}
void ImeAdapterAndroid::SelectAll(JNIEnv* env, jobject) {
- RenderFrameHost* rfh = GetFocusedFrame();
- if (rfh)
- rfh->SelectAll();
+ WebContents* wc = GetWebContents();
+ if (wc)
+ wc->SelectAll();
}
void ImeAdapterAndroid::Cut(JNIEnv* env, jobject) {
- RenderFrameHost* rfh = GetFocusedFrame();
- if (rfh)
- rfh->Cut();
+ WebContents* wc = GetWebContents();
+ if (wc)
+ wc->Cut();
}
void ImeAdapterAndroid::Copy(JNIEnv* env, jobject) {
- RenderFrameHost* rfh = GetFocusedFrame();
- if (rfh)
- rfh->Copy();
+ WebContents* wc = GetWebContents();
+ if (wc)
+ wc->Copy();
}
void ImeAdapterAndroid::Paste(JNIEnv* env, jobject) {
- RenderFrameHost* rfh = GetFocusedFrame();
- if (rfh)
- rfh->Paste();
+ WebContents* wc = GetWebContents();
+ if (wc)
+ wc->Paste();
}
void ImeAdapterAndroid::ResetImeAdapter(JNIEnv* env, jobject) {
}
RenderWidgetHostImpl* ImeAdapterAndroid::GetRenderWidgetHostImpl() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK(rwhva_);
RenderWidgetHost* rwh = rwhva_->GetRenderWidgetHost();
if (!rwh)
return focused_frame->current_frame_host();
}
+WebContents* ImeAdapterAndroid::GetWebContents() {
+ RenderWidgetHostImpl* rwh = GetRenderWidgetHostImpl();
+ if (!rwh)
+ return NULL;
+ if (!rwh->IsRenderView())
+ return NULL;
+ return WebContents::FromRenderViewHost(RenderViewHost::From(rwh));
+}
+
} // namespace content