예제 #1
0
CEF_CALLBACK int keyboard_handler_on_key_event(struct _cef_keyboard_handler_t *self, struct _cef_browser_t *browser, const struct _cef_key_event_t *event, XEvent *os_event)
{
	static char16 lastKeyup = 0;

	if (event->type == KEYEVENT_KEYUP)
	{
		if (lastKeyup == 'g' && event->character == 'o')
		{
			struct _cef_frame_t* const mainFrame = browser->get_main_frame(browser);

			DEBUG_PRINT("Calling javascript with _cef_frame_t* pointer: %x", mainFrame);

			const char szJS[] = "callFromNative('hello', 'from', 'NATIVE');";
			cef_string_userfree_t js = cef_string_userfree_alloc();
			cef_string_from_ascii(szJS, strlen(szJS), js);

			mainFrame->execute_java_script(mainFrame, js, 0, 0);

			cef_string_userfree_free(js);

			//KAI: this correct?
			RDEC(mainFrame);
		}
		lastKeyup = event->character;
	}	
	return 0;
}
예제 #2
0
cef_string_utf8_t* callCefDownloadItem_get_full_path(struct _cef_download_item_t* self) {
    cef_string_userfree_t str = self->get_full_path(self);
    if (str == NULL) {
        return NULL;
    }
    cef_string_utf8_t * out = cefStringToUtf8(str);
    cef_string_userfree_free(str);
    return out;
}
예제 #3
0
cef_string_utf8_t* callCefDownloadItem_get_mime_type(struct _cef_download_item_t* self) {
    cef_string_userfree_t str = self->get_mime_type(self);
    cef_string_utf8_t * out = cefStringToUtf8(str);
    cef_string_userfree_free(str);
    return out;
}