Skip to content

Commit aea2597

Browse files
committed
Support for js dialogs and input file dialogs (#221)
1 parent fd1c236 commit aea2597

File tree

7 files changed

+578
-7
lines changed

7 files changed

+578
-7
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ OBJS=\
1414
src/main.o \
1515
src/app.o \
1616
src/client_handler.o \
17+
src/dialog_handler_gtk.o \
1718
src/gtk.o \
1819
src/json.o \
1920
src/main_message_loop.o \

src/client_handler.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include "include/cef_app.h"
99
#include "include/wrapper/cef_helpers.h"
1010

11-
1211
namespace {
1312

1413
ClientHandler* g_instance = NULL;
@@ -19,6 +18,8 @@ ClientHandler::ClientHandler()
1918
{
2019
DCHECK(!g_instance);
2120
g_instance = this;
21+
const char* js_dialog_title = (*get_app_settings())["main_window"]["title"];
22+
dialog_handler_ = new ClientDialogHandlerGtk(js_dialog_title);
2223
}
2324

2425
ClientHandler::~ClientHandler()

src/client_handler.h

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
#include "include/cef_client.h"
99

10+
#include "dialog_handler_gtk.h"
11+
1012
class ClientHandler : public CefClient,
1113
public CefDisplayHandler,
1214
public CefLifeSpanHandler,
@@ -23,16 +25,22 @@ class ClientHandler : public CefClient,
2325
virtual CefRefPtr<CefBrowser> FindBrowserByXid(::Window xid);
2426

2527
// CefClient methods:
26-
virtual CefRefPtr<CefDisplayHandler> GetDisplayHandler() override {
28+
CefRefPtr<CefDialogHandler> GetDialogHandler() override {
29+
return dialog_handler_;
30+
}
31+
CefRefPtr<CefDisplayHandler> GetDisplayHandler() override {
2732
return this;
2833
}
29-
virtual CefRefPtr<CefLifeSpanHandler> GetLifeSpanHandler() override {
34+
CefRefPtr<CefJSDialogHandler> GetJSDialogHandler() {
35+
return dialog_handler_;
36+
}
37+
CefRefPtr<CefLifeSpanHandler> GetLifeSpanHandler() override {
3038
return this;
3139
}
32-
virtual CefRefPtr<CefLoadHandler> GetLoadHandler() override {
40+
CefRefPtr<CefLoadHandler> GetLoadHandler() override {
3341
return this;
3442
}
35-
virtual CefRefPtr<CefRequestHandler> GetRequestHandler() override {
43+
CefRefPtr<CefRequestHandler> GetRequestHandler() override {
3644
return this;
3745
}
3846

@@ -51,6 +59,8 @@ class ClientHandler : public CefClient,
5159
typedef std::list<CefRefPtr<CefBrowser>> BrowserList;
5260
BrowserList browser_list_;
5361

62+
CefRefPtr<ClientDialogHandlerGtk> dialog_handler_;
63+
5464
// Include the default reference counting implementation.
5565
IMPLEMENT_REFCOUNTING(ClientHandler);
5666
};

0 commit comments

Comments
 (0)