| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Dan will investigate further when he has time.
BUG=28580, 727 (chromeos)
TEST=None
Review URL: http://codereview.chromium.org/436039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33302 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it work correctly in ion3 and other window managers that don't expect clients to try to move top-level windows themselves.
This implementation grabs the pointer and keyboard. By doing this and using an override-redirect window, we should be able to avoid worrying about interactions with different window managers. The only downside (alluded to in the previous code) is that window manager keybindings don't make it through until the user dismisses the bubble by clicking outside of it or hitting Enter or Escape. I don't think this will be a problem; it's no different from what happens when you open a context menu in an app.
BUG=20523
TEST=tested first-run and bookmark bubbles in Metacity, ion3, Fluxbox, KDE4, and the WM that I'm working on
Review URL: http://codereview.chromium.org/198016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27578 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
format cache.
BUG=none
TEST=none
TBR=estade
Review URL: http://codereview.chromium.org/217002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26689 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
picts. This way we can support different visuals while still caching
the value.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/210021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26615 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
faster version of gdk_screen_get_window_stack. The latter was not consistently returning our browser windows in the window stack.
BUG=none
TEST=Extensive tab dragging.
Review URL: http://codereview.chromium.org/179056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25112 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I introduced the error in r22193; it shows up when there's no X
server to connect to. I get a "GLib-GObject-CRITICAL **:
g_object_get: assertion `G_IS_OBJECT (object)' failed" message with
this change, but I'm not sure if it's from my code or if it was
already there, and the tests still pass.
TEST=ran VisitedLinkEventsTest.Coalescense under Valgrind with DISPLAY=:6
Review URL: http://codereview.chromium.org/159753
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22240 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Listing a bunch of strings from WMs' source sucks,
but I can't think of any way to detect tiling WMs that
don't support the EWMH (see the bug and the comment in
this CL), so this seems safer.
Tested with the following:
- wiped out related prefs and started chrome under ion3;
custom frame not used
- quit and started under metacity; custom frame *was* used
- toggled custom frame pref off and restarted under
metacity again; custom frame not used
- toggled it back on and restarted under ion3; custom frame
was used
BUG=15861
TEST=see above
Review URL: http://codereview.chromium.org/160374
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22193 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
* Reverse the order of enumeration when enumerating all top-level windows. XQueryTree returns the list of windows in bottom-to-top order, while DockInfo expects the windows in top-to-bottom order (ratpoison WM, Awesome WM).
* Extend the enumeration one level deeper for window managers that parent top-level windows into an unnamed real top-level window (ion WM).
BUG=14004
TEST=Extensive tab dragging in the following WMs: Metacity, Compiz, kwm, ion3, xmonad, ratpoison, awesome.
Review URL: http://codereview.chromium.org/149028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19303 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
_NET_CLIENT_LIST_STACKING.
BUG=14004
TEST=Drag tabs in and out of tabstrip in xmonad window manager.
Review URL: http://codereview.chromium.org/141061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18949 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
top-level gdk windows instead of querying Xlib directly, which doesn't work across many window managers.
BUG=none
TEST=Exhaustive tab dragging in multiple window managers (Compiz, Metacity, KWM).
Review URL: http://codereview.chromium.org/119345
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18098 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=Open a browser window with two tabs. Drag one of those tabs in and out of the window's tabstrip many times. Open a new window and drag a tab into that window's tabstrip.
Review URL: http://codereview.chromium.org/118142
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17542 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we are still passing GtkWidget* into the renderer and
trusting the value on the way out. With this patch we switch to using
opaque values.
These opaque values are handled by a GtkNativeViewIdManger, a
singleton object which maintains the list of currently valid ids and
their current X window ids.
We don't pass the X window ids directly to the renderer because they
are a) guessable and b) possibly variable for a GtkWidget. From a
patch size point of view, the X window isn't current created at the
point where we need it so significant work would be needed to reorder
operations to fix that as well.
This patch also removes the GTK accesses from the BACKGROUND_X11
thread which were a temporary hack.
http://codereview.chromium.org/92110
BUG=9014,9869,10787
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14405 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(r14075 take two)
Currently we perform several X operations on the IO thread including
geometry and clipboard work. This is causing races inside Xlib and
crashing the browser.
These are the result of synchronous calls from the renderer, so we
cannot route these requests to the UI thread without risking deadlock.
Thus we introduce the UI2 thread. This thread has a second connection
to the X server and can perform X operations safely the without UI
thread.
Work remains to be done:
Since we still have the hack where we pass GtkWidget pointers into the
renderer and back, we still have to access these structures from the
IO and UI2 threads. This still needs to be fixed, but this is not the
patch for it.
Also, not all the X calls from the IO thread have been moved over in
this patch; just a few small ones.
http://codereview.chromium.org/67145
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14206 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Reverts r14075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14080 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we perform several X operations on the IO thread including
geometry and clipboard work. This is causing races inside Xlib and
crashing the browser.
These are the result of synchronous calls from the renderer, so we
cannot route these requests to the UI thread without risking deadlock.
Thus we introduce the UI2 thread. This thread has a second connection
to the X server and can perform X operations safely the without UI
thread.
Work remains to be done:
Since we still have the hack where we pass GtkWidget pointers into the
renderer and back, we still have to access these structures from the
IO and UI2 threads. This still needs to be fixed, but this is not the
patch for it.
Also, not all the X calls from the IO thread have been moved over in
this patch; just a few small ones.
http://codereview.chromium.org/67145
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14075 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
VNC servers don't support Xrender. For this use case, we implement a
slow fallback which byte-fiddles the Skia bitmaps as needed to support
32 and 24 bit visuals.
Review URL: http://codereview.chromium.org/27227
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10523 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The NX X server doesn't support xRGB32 XRENDER picture formats. So, if
we don't find one of those formats, fall back on ARGB32, which is
fine, except that the X server will spend time dealing with an alpha
channel which is all 254 or 255. ARGB32 support is required by the
XRENDER spec.
(This doesn't fix VNC, a patch for that is forthcoming.)
Review URL: http://codereview.chromium.org/28192
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10484 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we remove a drawing area from a container, GTK destroys the X
window. However, the BackingStore remembers the old X window id and
emits X requests using the wrong id.
This change makes the window id an argument to ShowRect and makes the
pixmaps from the root window instead.
Review: http://codereview.chromium.org/27169
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10439 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/28135
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10378 0039d316-1c4b-4281-b951-d872f2087c98
|
|
This converts Linux to using server-side backing stores. Rather than
keeping a backing store in heap memory in the browser, we create a
pixmap in the X server. This means that expose messages don't require
us to transport any images to the X server, we can just direct it to
paint from the pixmap. Also, scrolling can be performed server side
also. This greatly improves performance over remote X.
Also, shared memory transport to the X server is implemented. Shared
memory segments can be created in the renderer and mapped directly
into the X server.
Review URL: http://codereview.chromium.org/27147
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10369 0039d316-1c4b-4281-b951-d872f2087c98
|