Bug 1891710: part 2) Enable <Element-outerHTML.html> WPT for Trusted Types. r=smaug
[gecko.git] / gfx / src / X11Util.cpp
blob90ad08202b15a9c09a5f516a10159eab5f40e72c
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: sw=2 ts=8 et :
3 */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 #include "X11Util.h"
9 #include "nsDebug.h" // for NS_ASSERTION, etc
10 #include "MainThreadUtils.h" // for NS_IsMainThread
12 namespace mozilla {
14 void FindVisualAndDepth(Display* aDisplay, VisualID aVisualID, Visual** aVisual,
15 int* aDepth) {
16 const Screen* screen = DefaultScreenOfDisplay(aDisplay);
18 for (int d = 0; d < screen->ndepths; d++) {
19 Depth* d_info = &screen->depths[d];
20 for (int v = 0; v < d_info->nvisuals; v++) {
21 Visual* visual = &d_info->visuals[v];
22 if (visual->visualid == aVisualID) {
23 *aVisual = visual;
24 *aDepth = d_info->depth;
25 return;
30 NS_ASSERTION(aVisualID == X11None, "VisualID not on Screen.");
31 *aVisual = nullptr;
32 *aDepth = 0;
35 void FinishX(Display* aDisplay) {
36 unsigned long lastRequest = NextRequest(aDisplay) - 1;
37 if (lastRequest == LastKnownRequestProcessed(aDisplay)) return;
39 XSync(aDisplay, X11False);
42 } // namespace mozilla