Alexander Larsson
85c1c22d04
[broadway] Cancel key events after seeing them
2011-04-12 13:38:04 +02:00
Alexander Larsson
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
Alexander Larsson
20542b0ead
[broadway] Fix typo
2011-04-12 11:21:47 +02:00
Alexander Larsson
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
Alexander Larsson
ca49ec2c8c
[broadway] Fix various js warnings
2011-04-12 11:12:39 +02:00
Alexander Larsson
840df5c7c1
[broadway] Add stacktrace debugging functions
2011-04-12 11:12:39 +02:00
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
8a7e208bb2
[broadway] Parse x/y as signed
2011-04-12 11:12:38 +02:00
Alexander Larsson
4cb979d6b9
[broadway] Update window geometry after showing window
2011-04-12 11:12:38 +02:00
Alexander Larsson
4c575ac343
[broadway] Don't cache surface.transientToplevel as that might change at various times
2011-04-12 11:12:38 +02:00
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
27c4d104fb
[broadway] Restack on window show to ensure all zIndexes are right
2011-04-11 12:09:43 +02:00
Alexander Larsson
c839f2910c
[broadway] Store surface, not id in stackingOrder list
2011-04-11 12:09:43 +02:00
Alexander Larsson
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
Alexander Larsson
05dfb7f594
[broadway] Fix css typo
...
rgb takes 3 params, rgba takes four.
2011-04-11 12:09:43 +02:00
Alexander Larsson
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
Alexander Larsson
2728cc9508
[broadway] Remove expensive transparency effects from css
2011-04-10 21:10:07 +02:00
Alexander Larsson
d6beabbff2
[broadway] Make the toplevel mode a url parameter
2011-04-10 20:16:13 +02:00
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
fadaced85f
[broadway] Move window to top when moving
2011-04-10 20:16:13 +02:00
Alexander Larsson
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
Alexander Larsson
69eafcc3c5
[broadway] Fix some typos in the js code
2011-04-10 20:16:13 +02:00
Alexander Larsson
930e43c710
[broadway] Use the right doctype for html5
2011-04-10 20:16:13 +02:00
Tristan Van Berkom
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
Matthias Clasen
fbf1093d5c
Free the translate queue when closing a display
...
Not that many people are ever going to hit this.
https://bugzilla.gnome.org/show_bug.cgi?id=645236
2011-04-08 21:34:25 -04:00
Matthias Clasen
9e6d3d969c
Fix some possible crashes if the default display is NULL
...
Unlikely that many people will hit these, but still.
https://bugzilla.gnome.org/show_bug.cgi?id=645176
2011-04-08 21:20:26 -04:00
Carlos Garnacho
db74a6e816
GdkDevice: Remove duplicate private function
...
_gdk_device_get_axis_use() dates back to pre-sealing, when the
xi2 work began, this remaining can be gone with a public
gdk_device_get_axis_use() function already in place.
2011-04-08 16:39:45 +02:00
Alexander Larsson
955f01cdf7
[broadway] Enable useToplevelWindow by default for now
2011-04-07 21:16:52 +02:00
Alexander Larsson
7128087cb4
[broadway] Implement selections
2011-04-07 20:21:22 +02:00
Alexander Larsson
cad40b24e2
[broadway] Remove unused hashtables
2011-04-07 20:20:51 +02:00
Alexander Larsson
d12a9a5e99
[broadway] Add gdk_broadway_display_get_last_seen_time
2011-04-07 20:18:13 +02:00
Alexander Larsson
42cbed6759
[broadway] Fix up header guards to not refer to gdkx.h
2011-04-07 20:04:48 +02:00
Alexander Larsson
f0e1115f80
[broadway] Add gdkbroadway.h public header
2011-04-07 19:25:16 +02:00
Alexander Larsson
095ccf9c11
[broadway] Serialize event times
...
Event times come from the browser and may change weirdly when we reconnect
with another browser, so we normalize these to be strictly increasing
and with a 5 second gap for each reconnect.
2011-04-07 19:12:51 +02:00
Alexander Larsson
9d974ca13a
[broadway] Fix typo in implicit grab support
...
We do an implicit grab if there is no grab already, not only if there is
one.
2011-04-07 15:26:37 +02:00
Alexander Larsson
dd07f534f4
[broadway] Handle screen size
...
Without this menu placement doesn't work right
2011-04-07 15:10:39 +02:00
Alexander Larsson
8c20b476df
[broadway] Track and report last and future state
...
This fixes the drawing area demo in gtk-demo
2011-04-07 14:36:30 +02:00
Alexander Larsson
1a7b76d49d
[broadway] Report mouse pointer coordinates right
...
The windows argument to device_query_state can be a client side
window, but we must only handle the "native" part of it (i.e.
window->impl->wrapper).
2011-04-07 14:29:26 +02:00
Alexander Larsson
43aac66458
[broadway] Fix all unnecessary warnings
2011-04-07 10:03:17 +02:00
Alexander Larsson
3b1fe05e78
[broadway] Wire up the delete event
2011-04-07 10:03:17 +02:00
Alexander Larsson
06fc6e007e
[broadway] Report right root coors in toplevel mode
2011-04-07 10:03:17 +02:00
Alexander Larsson
adc05ae6b7
[broadway] Add configure event for browser-side geometry changes
...
Atm this only works for the useToplevelWindows case, but we can add
a browser wm to make use of it inside the browser too.
2011-04-07 10:03:17 +02:00
Alexander Larsson
1365e93fad
[broadway] Add experimental toplevel window mode
...
This mode makes each toplevel window get its own browser window, with
popup windows using the browser window of their transient parent.
Its not idea, as you can't get rid of all browser chrome by default, and
it means popups (like menus) can't extend outside the toplevels. But, it is
kinda cool.
2011-04-07 10:03:17 +02:00
Alexander Larsson
8831efa735
[broadway] Fixup ungrab reference to old time variable
2011-04-07 10:03:17 +02:00
Alexander Larsson
05bda376f6
[broadway] Break out document setup into its own function
...
In the future we might have more documents (one per toplevel browser
window).
2011-04-07 10:03:17 +02:00