Commit Graph

4510 Commits

Author SHA1 Message Date
1fdd4915fc [broadway] Make close button text unselectable 2011-04-15 20:34:32 +02:00
7f14b8bedf [broadway] Implement gdk_window_begin_resize_drag
This makes the resize grip work.
2011-04-15 20:34:32 +02:00
c331d397f0 [broadway] Remove window from hashtable when destroyed 2011-04-15 20:34:32 +02:00
66231a29b8 [broadway] Ungrab if grabbed window is destroyed 2011-04-15 20:34:32 +02:00
22c250e324 [broadway] Correctly handle ungrabs in the browser side
Always call doUngrab to get the right event, and always do this
if the grabbed window is hidden or destroyed.
2011-04-15 20:34:31 +02:00
887743728f [broadway] Handle keyboard modifiers in state 2011-04-14 21:36:42 +02:00
01da867dac [broadway] Emulate hardware keycodes in keyboard events
We can't really know the client side keymaps, so we use the keysym
as the hardware keycode (essentially claiming to have a keyboard with
one key for all possible keysyms). This is not ideal, but its hard to
do better with no knowledge of the client side keyboard mappings.
(And html keyboard events suck badly...)
2011-04-14 21:36:42 +02:00
7d37534ee2 [broadway] Implement keyboard event better
We're using the noVNC keyboard even handling model (and some of the
code with permissions). This means we combine data from keydown and
keypress to figure out the translated keysyms according to the keyboard
layout at the users machine.
2011-04-14 21:36:42 +02:00
f9ad0c61b2 Add gdk_win32_window_get_type into gdk.symbols
This symbol needs to be exported for GDK (Win32) so that the
runtime checks for Win32 backend usage can be done on
MSVC-compiled versions of GTK+ too.

I did not add the corresponding symbols for the other backend
though-they are probably exported automatically by GCC AFAIK.

This is done to make commit
9db4accf9c
work on MSVC
2011-04-14 23:48:49 +08:00
4a6f5a6247 Fix make dist in gdk/broadway 2011-04-13 17:48:48 -04:00
f75ea21dcd wayland: Remove non-existing gdkscreen-wayland.h from SOURCES 2011-04-13 14:34:26 -04:00
91b5223001 GdkDeviceManagerXI2: don't set user_time on ButtonRelease
The XI2 device manager was mistakenly setting the window user_time on
both ButtonPress and ButtonRelease, which meant that processes that
tried to launch another process based on the time of a ButtonPress
event would end up always focus-stealing-preventing the new app.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 12:53:47 -04:00
611a67b350 GdkWindowImplX11: Struct packing improvements 2011-04-12 12:14:07 -04:00
1c4cb29475 GdkX11Screen: Struct packing improvements 2011-04-12 12:13:56 -04:00
879202b9c2 GdkX11DragContext: Struct packing improvements 2011-04-12 12:13:55 -04:00
cef996d57e GdkX11DeviceXI: Struct packing improvements 2011-04-12 12:13:55 -04:00
20c8b765a5 GdkScreen: Struct packing improvements 2011-04-12 12:13:55 -04:00
220ba87ec0 GdkWindow: Struct packing improvements 2011-04-12 12:13:55 -04:00
14ad1fab8e GdkDisplay: Struct packing improvements 2011-04-12 12:13:55 -04:00
63c4bb5563 GdkCursor: Struct packing improvements 2011-04-12 12:13:55 -04:00
c7514e8f0d Merge branch 'gdk-backend-wayland'
Conflicts:
	Makefile.am
	configure.ac
	gdk/Makefile.am
	gtk/gtksettings.c
	gtk/gtkwindow.c
2011-04-12 09:52:44 -04:00
85c1c22d04 [broadway] Cancel key events after seeing them 2011-04-12 13:38:04 +02:00
afdde925b8 [broadway] Fix canvas resize when resizing browser window
We always have to resize the canvas, even when its in a toplevel.
2011-04-12 11:34:13 +02:00
20542b0ead [broadway] Fix typo 2011-04-12 11:21:47 +02:00
f4bef2c720 [broadway] Combine window move and resize into one op
This way we avoid sending a configure event for the inbetween state
if we're resizeing and moving at the same time.
2011-04-12 11:12:39 +02:00
ca49ec2c8c [broadway] Fix various js warnings 2011-04-12 11:12:39 +02:00
840df5c7c1 [broadway] Add stacktrace debugging functions 2011-04-12 11:12:39 +02:00
2934569781 [broadway] Always send configure events from browser
As soon as something changes, even if it was a request from the user
we send a configure event. If not we might race with a app-side
generated configure event.

For instance, a create + resize might create only a configure event for
the create in the browser, but that may get to the app after the app-side
configure event for the resize, overriding the new size.
2011-04-12 11:12:39 +02:00
ddcbd8234b [broadway] When resyncing, first create all windows then set attributes
Some attributes (like transient parent) depende on other windows being
there, so we create all first.
2011-04-12 11:12:39 +02:00
4bbc45380b [broadway] More complete handling of transient parent
We now handle any order of transient being set and windows shown/created
2011-04-12 11:12:39 +02:00
75dc3f3a07 [broadway] Use mozInnerScreenX & co to get window position
This way we don't have to rely on any event, which won't work until
we get an event.
2011-04-12 11:12:38 +02:00
8a7e208bb2 [broadway] Parse x/y as signed 2011-04-12 11:12:38 +02:00
4cb979d6b9 [broadway] Update window geometry after showing window 2011-04-12 11:12:38 +02:00
4c575ac343 [broadway] Don't cache surface.transientToplevel as that might change at various times 2011-04-12 11:12:38 +02:00
7b3b4a6ad9 [broadway] Correctly track remote visible state
GDK_WINDOW_IS_MAPPED is not false for withdrawn windows, so we need
to track real visibility ourselves.
2011-04-11 12:09:43 +02:00
33d16b16c9 [broadway] Clean up js side surface handling
* Always calculate the context, don't store in surface.
* Store the toplevel element (frame or canvas) for easy access.
* Always use visibility hidden rathern than display none to hide windows,
  as this means we can always rely on dom positioning info.
2011-04-11 12:09:43 +02:00
27c4d104fb [broadway] Restack on window show to ensure all zIndexes are right 2011-04-11 12:09:43 +02:00
c839f2910c [broadway] Store surface, not id in stackingOrder list 2011-04-11 12:09:43 +02:00
ace1c4c284 [broadway] Set transient-for before showing window
When syncing windows, make sure we set transient-for before showing
the window to avoid it being visible with the wrong transient-for
(i.e. possibly on the wrong browser window).
2011-04-11 12:09:43 +02:00
05dfb7f594 [broadway] Fix css typo
rgb takes 3 params, rgba takes four.
2011-04-11 12:09:43 +02:00
7a197e5b65 [broadway] Fix up frame size calculation
Turns out that offsetTop/Left doesn't contain the border, so we need
to manually add that in.
2011-04-11 12:09:43 +02:00
2728cc9508 [broadway] Remove expensive transparency effects from css 2011-04-10 21:10:07 +02:00
d6beabbff2 [broadway] Make the toplevel mode a url parameter 2011-04-10 20:16:13 +02:00
fe79bbd618 [broadway] Position non-popup windows ourselves
We ignore the initial positions for non-popup windows, instead we
place the windows ourselves (or in the useToplevel mode by the WM).
2011-04-10 20:16:13 +02:00
e5d8905cd2 [broadway] Fix up toplevel content visibility in useToplevel mode
surfaces.canvas may change if we move to another document, so
reupdate the element to show after ensureSurfaceInDocument.
2011-04-10 20:16:13 +02:00
fadaced85f [broadway] Move window to top when moving 2011-04-10 20:16:13 +02:00
618dc872b0 [broadway] Add some initial work for in-window frames
The css is based on work by Jasper St Pierre:
http://magcius.mecheye.net/vista/
2011-04-10 20:16:13 +02:00
69eafcc3c5 [broadway] Fix some typos in the js code 2011-04-10 20:16:13 +02:00
930e43c710 [broadway] Use the right doctype for html5 2011-04-10 20:16:13 +02:00
d2303bafae Fix some crashes caused by unimplemented functions in GdkOffscreenWindow
These crashes happen when accessing GtkWindow properties and the
GdkWindow is an offscreen (fixes https://bugzilla.gnome.org/show_bug.cgi?id=647244)
2011-04-09 02:00:18 +09:00