android_webview
apps
ash
base
build
build_overrides
buildtools
cc
chrome
chromecast
chromeos
cloud_print
codelabs
components
content
courgette
crypto
dbus
device
docs
extensions
fuchsia
gin
google_apis
google_update
gpu
headless
infra
ios
ipc
jingle
media
mojo
native_client_sdk
net
pdf
ppapi
printing
remoting
rlz
sandbox
services
skia
sql
storage
styleguide
testing
android
buildbot
chromoting
clusterfuzz
gmock
gtest
gtest_ios
iossim
libfuzzer
merge_scripts
perf
scripts
trigger_scripts
unexpected_passes_common
variations
BUILD.gn
DIR_METADATA
OWNERS
PRESUBMIT.py
coverage_util_ios.h
coverage_util_ios.mm
empty_main.cc
generate_location_tags.py
gtest_mac.h
gtest_mac.mm
gtest_mac_unittest.mm
multiprocess_func_list.cc
multiprocess_func_list.h
platform_test.h
platform_test_mac.mm
run_with_dummy_home.py
test.gni
test_env.py
test_env_test_script.py
test_env_unittest.py
test_env_user_script.py
xvfb.py
xvfb_test_script.py
xvfb_unittest.py
third_party
tools
ui
url
weblayer
.clang-format
.clang-tidy
.eslintrc.js
.git-blame-ignore-revs
.gitattributes
.gitignore
.gn
.mailmap
.vpython
.vpython3
.yapfignore
AUTHORS
BUILD.gn
CODE_OF_CONDUCT.md
DEPS
DIR_METADATA
ENG_REVIEW_OWNERS
LICENSE
LICENSE.chromium_os
OWNERS
PRESUBMIT.py
PRESUBMIT_test.py
PRESUBMIT_test_mocks.py
README.md
WATCHLISTS
codereview.settings

When GLVisualPickerGLX was written, the only way of obtaining GL-compatible visuals was with libGLX, which loads the GPU driver. This forced us to rely on the GPU process sending the visuals to the browser process, which comes with a significant amount of complexity. Now that we've switched to XProto, we can use x11::Glx to obtain the visuals, which doesn't require loading the GPU driver. This allows us to simplify the visual loading code. In addition, now that the transparent visual is available early, it can be used as the visual for browser windows. This can allow us to remove usage of the XShape extension which we were using to "cut off" a few pixels around the corners to give the appearance of rounded corners. This solution is not ideal since it: 1. causes a performance hit on some environments (GNOME/Mutter) 2. prevents the WM from drawing a shadow on the window 3. doesn't antialias the corners Using a transparent visual will solve all 3 issues. However, we'll have to draw client-side shadows (just like GTK does). R=sky Bug: 650494,811515,1198080 Change-Id: Ie518dfe489d3ba0af9ca73c80cc10792a4214838 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2895228 Reviewed-by: Dirk Pranke <dpranke@google.com> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Emily Stark <estark@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Emily Stark <estark@chromium.org> Auto-Submit: Thomas Anderson <thomasanderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#884257}
31 lines
799 B
Python
Executable File
31 lines
799 B
Python
Executable File
#!/usr/bin/env python
|
|
# Copyright (c) 2019 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""Simple script for xvfb_unittest to launch.
|
|
|
|
This script outputs formatted data to stdout for the xvfb unit tests
|
|
to read and compare with expected output.
|
|
"""
|
|
|
|
import os
|
|
import signal
|
|
import sys
|
|
import time
|
|
|
|
|
|
def print_signal(sig, *_):
|
|
print 'Signal :{}'.format(sig)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
signal.signal(signal.SIGTERM, print_signal)
|
|
signal.signal(signal.SIGINT, print_signal)
|
|
|
|
# test the subprocess display number.
|
|
print 'Display :{}'.format(os.environ.get('DISPLAY', 'None'))
|
|
|
|
if len(sys.argv) > 1 and sys.argv[1] == '--sleep':
|
|
time.sleep(2) # gives process time to receive signal.
|