@@ -107,7 +107,7 @@ cpdef PyBrowser GetBrowserByWindowHandle(WindowHandle windowHandle):
107107 for browserId in g_pyBrowsers:
108108 pyBrowser = g_pyBrowsers[browserId]
109109 if (pyBrowser.GetWindowHandle() == windowHandle or
110- pyBrowser.GetUserData(" __outerWindowHandle" ) == long ( windowHandle) ):
110+ pyBrowser.GetUserData(" __outerWindowHandle" ) == windowHandle):
111111 return pyBrowser
112112 return None
113113
@@ -312,7 +312,7 @@ cdef class PyBrowser:
312312
313313 cpdef object GetFrameByIdentifier(self , object identifier):
314314 return GetPyFrame(self .GetCefBrowser().get().GetFrame(
315- < long long > long ( identifier) ))
315+ < int64 > identifier))
316316
317317 cpdef list GetFrameNames(self ):
318318 assert IsThread(TID_UI), (
@@ -418,7 +418,7 @@ cdef class PyBrowser:
418418 IF UNAME_SYSNAME == " Linux" :
419419 x11.SetX11WindowBounds(self .GetCefBrowser(), x, y, width, height)
420420 ELSE :
421- raise Exception (" SetBounds() not implemented on this platform" )
421+ NonCriticalError (" SetBounds() not implemented on this platform" )
422422
423423 cpdef py_void SetFocus(self , enable):
424424 self .GetCefBrowserHost().get().SetFocus(bool (enable))
@@ -430,13 +430,19 @@ cdef class PyBrowser:
430430 self .GetCefBrowserHost().get().SetZoomLevel(zoomLevel)
431431
432432 cpdef py_void ShowDevTools(self ):
433- cdef CefWindowInfo windowInfo
434- cdef CefRefPtr[ClientHandler] clientHandler = \
433+ cdef CefWindowInfo window_info
434+ IF UNAME_SYSNAME == " Windows" :
435+ # On Windows with empty window_info structure the devtools
436+ # window doesn't appear.
437+ window_info.SetAsPopup(
438+ < CefWindowHandle> self .GetOpenerWindowHandle(),
439+ PyToCefStringValue(" DevTools" ))
440+ cdef CefRefPtr[ClientHandler] client_handler = \
435441 < CefRefPtr[ClientHandler]?> new ClientHandler()
436442 cdef CefBrowserSettings settings
437443 cdef CefPoint inspect_element_at
438444 self .GetCefBrowserHost().get().ShowDevTools(
439- windowInfo , < CefRefPtr[CefClient]?> clientHandler , settings,
445+ window_info , < CefRefPtr[CefClient]?> client_handler , settings,
440446 inspect_element_at)
441447
442448 cpdef py_void StopLoad(self ):
@@ -454,7 +460,8 @@ cdef class PyBrowser:
454460 cpdef py_void ToggleFullscreen_Windows(self ):
455461 cdef WindowHandle windowHandle
456462 if self .GetUserData(" __outerWindowHandle" ):
457- windowHandle = < WindowHandle> self .GetUserData(" __outerWindowHandle" )
463+ windowHandle = < WindowHandle> \
464+ self .GetUserData(" __outerWindowHandle" )
458465 else :
459466 windowHandle = self .GetWindowHandle()
460467
@@ -463,7 +470,7 @@ cdef class PyBrowser:
463470 " Browser.ToggleFullscreen() failed: no window handle "
464471 " found" )
465472
466- cdef HWND hwnd = < HWND>< int > int ( windowHandle)
473+ cdef HWND hwnd = < HWND> windowHandle
467474 cdef RECT rect
468475 cdef HMONITOR monitor
469476 cdef MONITORINFO monitorInfo
@@ -533,7 +540,7 @@ cdef class PyBrowser:
533540 if " type" in pyEvent:
534541 cefEvent.type = int (pyEvent[" type" ])
535542 if " modifiers" in pyEvent:
536- cefEvent.modifiers = long ( pyEvent[" modifiers" ])
543+ cefEvent.modifiers = < uint32 > pyEvent[" modifiers" ]
537544 # Always set CefKeyEvent.windows_key_code in SendKeyEvent, even on
538545 # Linux. When sending key event for 'backspace' on Linux and setting
539546 # "native_key_code", "character", "unmodified_character" it doesn't
@@ -639,15 +646,15 @@ cdef class PyBrowser:
639646 # -------------------------------------------------------------------------
640647
641648 cpdef py_void DragTargetDragEnter(self , DragData drag_data, int x, int y,
642- long long allowed_ops):
649+ uint32 allowed_ops):
643650 cdef CefMouseEvent mouse_event
644651 mouse_event.x = x
645652 mouse_event.y = y
646653 self .GetCefBrowserHost().get().DragTargetDragEnter(
647654 drag_data.cef_drag_data, mouse_event,
648655 < cef_types.cef_drag_operations_mask_t> allowed_ops)
649656
650- cpdef py_void DragTargetDragOver(self , int x, int y, long long allowed_ops):
657+ cpdef py_void DragTargetDragOver(self , int x, int y, uint32 allowed_ops):
651658 cdef CefMouseEvent mouse_event
652659 mouse_event.x = x
653660 mouse_event.y = y
@@ -663,7 +670,7 @@ cdef class PyBrowser:
663670 mouse_event.y = y
664671 self .GetCefBrowserHost().get().DragTargetDrop(mouse_event)
665672
666- cpdef py_void DragSourceEndedAt(self , int x, int y, long long operation):
673+ cpdef py_void DragSourceEndedAt(self , int x, int y, uint32 operation):
667674 self .GetCefBrowserHost().get().DragSourceEndedAt(
668675 x, y, < cef_types.cef_drag_operations_mask_t> operation)
669676
0 commit comments