Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 5dce817

Browse files
committed
[[ BrowserWidget ]] Move some implementation details & functions to libbrowser_internal.h header
[[ BrowserWidget ]] Remove linkages to old libCore library (memory management, string conversion)
1 parent 657cf20 commit 5dce817

File tree

8 files changed

+342
-59
lines changed

8 files changed

+342
-59
lines changed

libbrowser/include/libbrowser.h

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#ifndef __LIBBROWSER_H__
1818
#define __LIBBROWSER_H__
1919

20+
////////////////////////////////////////////////////////////////////////////////
2021
// C++ Implementation Class API
2122

2223
class MCBrowserRefCounted
@@ -82,16 +83,8 @@ struct MCBrowserRect
8283
class MCBrowser : public MCBrowserRefCounted
8384
{
8485
public:
85-
MCBrowser() : m_event_handler(nil), m_javascript_handler(nil)
86-
{
87-
}
88-
89-
virtual ~MCBrowser()
90-
{
91-
}
92-
93-
void SetEventHandler(MCBrowserEventHandler *p_handler);
94-
void SetJavaScriptHandler(MCBrowserJavaScriptHandler *p_handler);
86+
virtual void SetEventHandler(MCBrowserEventHandler *p_handler) = 0;
87+
virtual void SetJavaScriptHandler(MCBrowserJavaScriptHandler *p_handler) = 0;
9588

9689
virtual void *GetNativeLayer() = 0;
9790

@@ -108,29 +101,12 @@ class MCBrowser : public MCBrowserRefCounted
108101
virtual bool GoForward() = 0;
109102
virtual bool GoToURL(const char *p_url) = 0;
110103
virtual bool EvaluateJavaScript(const char *p_script, char *&r_result) = 0;
111-
112-
protected:
113-
void OnNavigationBegin(bool p_in_frame, const char *p_url);
114-
void OnNavigationComplete(bool p_in_frame, const char *p_url);
115-
void OnNavigationFailed(bool p_in_frame, const char *p_url, const char *p_error);
116-
void OnDocumentLoadBegin(bool p_in_frame, const char *p_url);
117-
void OnDocumentLoadComplete(bool p_in_frame, const char *p_url);
118-
void OnDocumentLoadFailed(bool p_in_frame, const char *p_url, const char *p_error);
119-
120-
void OnJavaScriptCall(const char *p_handler, MCBrowserListRef p_params);
121-
122-
private:
123-
MCBrowserEventHandler *m_event_handler;
124-
MCBrowserJavaScriptHandler *m_javascript_handler;
125104
};
126105

127106
// Browser factory interface
128107
class MCBrowserFactory : public MCBrowserRefCounted
129108
{
130109
public:
131-
MCBrowserFactory() {}
132-
virtual ~MCBrowserFactory() {}
133-
134110
virtual bool CreateBrowser(MCBrowser *&r_browser) = 0;
135111
};
136112

@@ -148,6 +124,7 @@ class MCBrowserFactory : public MCBrowserRefCounted
148124
# define MC_DLLEXPORT __attribute__((__visibility__("default")))
149125
#endif
150126

127+
////////////////////////////////////////////////////////////////////////////////
151128
// C API
152129

153130
extern "C"
@@ -156,12 +133,20 @@ extern "C"
156133
MC_DLLEXPORT bool MCBrowserLibraryInitialize();
157134
MC_DLLEXPORT void MCBrowserLibraryFinalize();
158135

159-
typedef void *(MCBrowserAllocator)(size_t p_size);
160-
typedef void (MCBrowserDeallocator)(void *p_mem);
136+
typedef bool (*MCBrowserAllocator)(size_t p_size, void *&r_mem);
137+
typedef void (*MCBrowserDeallocator)(void *p_mem);
138+
typedef bool (*MCBrowserReallocator)(void *p_mem, size_t p_new_size, void *&r_new_mem);
139+
typedef bool (*MCBrowserWaitFunction)(void);
161140

162141
MC_DLLEXPORT void MCBrowserLibrarySetAllocator(MCBrowserAllocator p_alloc);
163142
MC_DLLEXPORT void MCBrowserLibrarySetDeallocator(MCBrowserDeallocator p_dealloc);
143+
MC_DLLEXPORT void MCBrowserLibrarySetReallocator(MCBrowserReallocator p_dealloc);
144+
MC_DLLEXPORT void MCBrowserLibrarySetWaitFunction(MCBrowserWaitFunction p_wait);
164145

146+
typedef void (*MCBrowserRunloopCallback)(void *p_context);
147+
148+
MC_DLLEXPORT bool MCBrowserLibraryGetRunloopCallback(MCBrowserRunloopCallback &r_callback, void *&r_context);
149+
165150
typedef struct __MCBrowserList *MCBrowserListRef;
166151
enum MCBrowserValueType
167152
{
@@ -241,4 +226,6 @@ MC_DLLEXPORT bool MCBrowserSetJavaScriptHandler(MCBrowserRef p_browser, MCBrowse
241226

242227
}
243228

229+
////////////////////////////////////////////////////////////////////////////////
230+
244231
#endif//__LIBBROWSER_H__

libbrowser/libbrowser.gyp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@
1212

1313
'dependencies':
1414
[
15-
'../libcore/libcore.gyp:libCore',
15+
# '../libcore/libcore.gyp:libCore',
1616
'../thirdparty/libcef/libcef.gyp:libcef_library_wrapper',
1717
'../thirdparty/libcef/libcef.gyp:libcef_stubs',
1818
],
1919

2020
'include_dirs':
2121
[
2222
'include',
23+
'../libcore/include',
2324
],
2425

2526
'sources':

0 commit comments

Comments
 (0)