Skip to content

Commit 02af2f2

Browse files
committed
Added support for Linux in cython files, the cefpython.so
module compiles fine, but was not yet tested. Added libcef_dll_wrapper directory with .o files that was required by the libcef_dll_wrapper.a static library. Makefiles updated so that library names start with "lib".
1 parent c56f28b commit 02af2f2

23 files changed

Lines changed: 965 additions & 87 deletions

cefpython/browser.pyx

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ cdef PyBrowser GetPyBrowser(CefRefPtr[CefBrowser] cefBrowser):
5959
cdef dict clientCallbacks
6060
IF CEF_VERSION == 1:
6161
cdef JavascriptBindings javascriptBindings
62+
cdef PyBrowser tempPyBrowser
6263

6364
if pyBrowser.IsPopup() and (
6465
not pyBrowser.GetUserData("__outerWindowHandle")):
@@ -75,12 +76,12 @@ cdef PyBrowser GetPyBrowser(CefRefPtr[CefBrowser] cefBrowser):
7576
pyBrowser.SetJavascriptBindings(javascriptBindings)
7677
return pyBrowser
7778

78-
cpdef PyBrowser GetBrowserByWindowHandle(int windowHandle):
79+
cpdef PyBrowser GetBrowserByWindowHandle(WindowHandle windowHandle):
7980
cdef PyBrowser pyBrowser
8081
for browserId in g_pyBrowsers:
8182
pyBrowser = g_pyBrowsers[browserId]
8283
if (pyBrowser.GetWindowHandle() == windowHandle or
83-
pyBrowser.GetUserData("__outerWindowHandle") == windowHandle):
84+
pyBrowser.GetUserData("__outerWindowHandle") == int(windowHandle)):
8485
return pyBrowser
8586
return None
8687

@@ -292,17 +293,17 @@ cdef class PyBrowser:
292293
cpdef PyFrame GetMainFrame(self):
293294
return GetPyFrame(self.GetCefBrowser().get().GetMainFrame())
294295

295-
cpdef int GetOpenerWindowHandle(self) except *:
296-
cdef HWND hwnd
296+
cpdef WindowHandle GetOpenerWindowHandle(self) except *:
297+
cdef WindowHandle hwnd
297298
IF CEF_VERSION == 1:
298-
hwnd = self.GetCefBrowser().get().GetOpenerWindowHandle()
299+
hwnd = <int>self.GetCefBrowser().get().GetOpenerWindowHandle()
299300
ELIF CEF_VERSION == 3:
300-
hwnd = self.GetCefBrowserHost().get().GetOpenerWindowHandle()
301-
return <int>hwnd
301+
hwnd = <int>self.GetCefBrowserHost().get().GetOpenerWindowHandle()
302+
return hwnd
302303

303-
cpdef int GetOuterWindowHandle(self) except *:
304+
cpdef WindowHandle GetOuterWindowHandle(self) except *:
304305
if self.GetUserData("__outerWindowHandle"):
305-
return int(self.GetUserData("__outerWindowHandle"))
306+
return <int>self.GetUserData("__outerWindowHandle")
306307
else:
307308
return self.GetWindowHandle()
308309

@@ -311,13 +312,13 @@ cdef class PyBrowser:
311312
return self.userData[key]
312313
return None
313314

314-
cpdef int GetWindowHandle(self) except *:
315-
cdef HWND hwnd
315+
cpdef WindowHandle GetWindowHandle(self) except *:
316+
cdef WindowHandle hwnd
316317
IF CEF_VERSION == 1:
317-
hwnd = self.GetCefBrowser().get().GetWindowHandle()
318+
hwnd = <int>self.GetCefBrowser().get().GetWindowHandle()
318319
ELIF CEF_VERSION == 3:
319-
hwnd = self.GetCefBrowserHost().get().GetWindowHandle()
320-
return <int>hwnd
320+
hwnd = <int>self.GetCefBrowserHost().get().GetWindowHandle()
321+
return hwnd
321322

322323
cpdef double GetZoomLevel(self) except *:
323324
IF CEF_VERSION == 1:
@@ -401,9 +402,9 @@ cdef class PyBrowser:
401402
IF UNAME_SYSNAME == "Windows":
402403

403404
cpdef py_void ToggleFullscreen_Windows(self):
404-
cdef int windowHandle
405+
cdef WindowHandle windowHandle
405406
if self.GetUserData("__outerWindowHandle"):
406-
windowHandle = self.GetUserData("__outerWindowHandle")
407+
windowHandle = <int>self.GetUserData("__outerWindowHandle")
407408
else:
408409
windowHandle = self.GetWindowHandle()
409410

@@ -503,6 +504,8 @@ cdef class PyBrowser:
503504
dirtyRect[0], dirtyRect[1], dirtyRect[2], dirtyRect[3])
504505
self.GetCefBrowser().get().Invalidate(cefRect)
505506

507+
IF CEF_VERSION == 1 and UNAME_SYSNAME == "Windows":
508+
506509
cpdef PaintBuffer GetImage(self, PaintElementType paintElementType,
507510
int width, int height):
508511
assert IsThread(TID_UI), (
@@ -514,8 +517,6 @@ cdef class PyBrowser:
514517
ELSE:
515518
return None
516519

517-
IF CEF_VERSION == 1 and UNAME_SYSNAME == "Windows":
518-
519520
cdef PaintBuffer GetImage_Windows(self,
520521
PaintElementType paintElementType, int width, int height):
521522
if not self.imageBuffer:

cefpython/cef1/client_handler/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ CCFLAGS = -g
33

44
SRC = client_handler.cpp
55
OBJ = $(SRC:.cpp=.o)
6-
OUT = client_handler.a
6+
OUT = libclient_handler.a
77

88
INC = -I./../ -I/usr/include/python2.7 -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0
99

cefpython/cef1/client_handler/client_handler.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,8 @@ bool ClientHandler::RunModal(CefRefPtr<CefBrowser> browser) {
256256
// CefRenderHandler
257257
//
258258

259+
#if defined(OS_WIN)
260+
259261
bool ClientHandler::GetViewRect(CefRefPtr<CefBrowser> browser,
260262
CefRect& rect) {
261263
return RenderHandler_GetViewRect(browser, rect);
@@ -298,3 +300,6 @@ void ClientHandler::OnCursorChange(CefRefPtr<CefBrowser> browser,
298300
CefCursorHandle cursor) {
299301
RenderHandler_OnCursorChange(browser, cursor);
300302
}
303+
304+
// OS_WIN / CefRenderHandler
305+
#endif

cefpython/cef1/client_handler/client_handler.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
// d:\cefpython\src\setup/cefpython.h(22) : warning C4190: 'RequestHandler_GetCookieManager'
88
// has C-linkage specified, but returns UDT 'CefRefPtr<T>' which is incompatible with C
9+
#if defined(OS_WIN)
910
#pragma warning(disable:4190)
11+
#endif
1012

1113
#include "include/cef_client.h"
1214
#include "util.h"
@@ -265,6 +267,8 @@ class ClientHandler : public CefClient,
265267
// CefRenderHandler
266268
//
267269

270+
#if defined(OS_WIN)
271+
268272
virtual bool GetViewRect(CefRefPtr<CefBrowser> browser,
269273
CefRect& rect) OVERRIDE;
270274

@@ -291,6 +295,8 @@ class ClientHandler : public CefClient,
291295
virtual void OnCursorChange(CefRefPtr<CefBrowser> browser,
292296
CefCursorHandle cursor) OVERRIDE;
293297

298+
#endif
299+
294300
protected:
295301

296302
// Include the default reference counting implementation.

0 commit comments

Comments
 (0)