Mir

Merge lp://qastaging/~brandontschaefer/mir/first-round-deprecation into lp://qastaging/mir

Proposed by Brandon Schaefer
Status: Work in progress
Proposed branch: lp://qastaging/~brandontschaefer/mir/first-round-deprecation
Merge into: lp://qastaging/mir
Diff against target: 3106 lines (+688/-104)
75 files modified
benchmarks/frame-uniformity/touch_measuring_client.cpp (+6/-0)
examples/basic.c (+3/-0)
examples/camera.c (+11/-8)
examples/client_helpers.cpp (+3/-0)
examples/client_touch_validator.cpp (+4/-1)
examples/demo_client_display_config.c (+4/-1)
examples/eglapp.c (+9/-3)
examples/eglsquare.cpp (+4/-1)
examples/eglstateswitcher.c (+6/-0)
examples/fingerpaint.c (+11/-5)
examples/flicker.c (+4/-0)
examples/multi_stream.cpp (+3/-0)
examples/multiwin.c (+3/-0)
examples/pointer_confinement.c (+1/-1)
examples/progressbar.c (+3/-0)
examples/target.c (+8/-2)
examples/tooltip.c (+3/-0)
include/client/mir_toolkit/debug/surface.h (+8/-0)
include/client/mir_toolkit/mir_buffer_stream.h (+23/-4)
include/client/mir_toolkit/mir_connection.h (+18/-1)
include/client/mir_toolkit/mir_cursor_configuration.h (+3/-0)
include/client/mir_toolkit/mir_display_configuration.h (+4/-0)
include/client/mir_toolkit/mir_platform_message.h (+12/-0)
include/client/mir_toolkit/mir_screencast.h (+8/-1)
include/client/mir_toolkit/mir_surface.h (+64/-1)
include/core/mir_toolkit/common.h (+1/-0)
playground/mir_egl_platform_shim.c (+3/-0)
src/client/mir_buffer_stream_api.cpp (+4/-1)
src/platforms/android/utils/test_android_hardware_sanity.cpp (+6/-0)
src/server/graphics/nested/mir_client_host_connection.cpp (+13/-4)
src/utils/ping.c (+6/-1)
src/utils/screencast.cpp (+52/-36)
src/utils/vanity.c (+8/-2)
tests/acceptance-tests/staging/test_render_surface.cpp (+28/-0)
tests/acceptance-tests/test_buffer_stream_arrangement.cpp (+6/-0)
tests/acceptance-tests/test_client_cookie.cpp (+3/-1)
tests/acceptance-tests/test_client_focus_notification.cpp (+3/-0)
tests/acceptance-tests/test_client_input.cpp (+6/-0)
tests/acceptance-tests/test_client_library.cpp (+61/-2)
tests/acceptance-tests/test_client_library_callbacks.cpp (+3/-0)
tests/acceptance-tests/test_client_logging.cpp (+3/-0)
tests/acceptance-tests/test_client_scaling.cpp (+3/-0)
tests/acceptance-tests/test_client_screencast.cpp (+12/-2)
tests/acceptance-tests/test_client_surface_events.cpp (+42/-1)
tests/acceptance-tests/test_client_surface_swap_buffers.cpp (+6/-0)
tests/acceptance-tests/test_client_surface_visibility.cpp (+6/-0)
tests/acceptance-tests/test_client_surfaces.cpp (+27/-3)
tests/acceptance-tests/test_confined_pointer.cpp (+7/-2)
tests/acceptance-tests/test_custom_window_management.cpp (+3/-0)
tests/acceptance-tests/test_debug_api.cpp (+12/-4)
tests/acceptance-tests/test_display_configuration.cpp (+3/-0)
tests/acceptance-tests/test_latency.cpp (+15/-1)
tests/acceptance-tests/test_nested_input.cpp (+6/-0)
tests/acceptance-tests/test_nested_mir.cpp (+15/-0)
tests/acceptance-tests/test_new_display_configuration.cpp (+3/-0)
tests/acceptance-tests/test_render_override.cpp (+3/-0)
tests/acceptance-tests/test_server_disconnect.cpp (+3/-0)
tests/acceptance-tests/test_session_mediator_report.cpp (+3/-0)
tests/acceptance-tests/test_surface_modifications.cpp (+6/-0)
tests/acceptance-tests/test_surface_raise.cpp (+9/-3)
tests/acceptance-tests/test_system_compositor_window_manager.cpp (+4/-2)
tests/acceptance-tests/throwback/test_client_cursor_api.cpp (+5/-3)
tests/acceptance-tests/throwback/test_client_library_errors.cpp (+3/-0)
tests/acceptance-tests/throwback/test_shell_control_of_surface_configuration.cpp (+6/-0)
tests/integration-tests/test_client_screencast.cpp (+12/-2)
tests/integration-tests/test_focus_selection.cpp (+3/-0)
tests/integration-tests/test_server_shutdown.cpp (+6/-0)
tests/integration-tests/test_session.cpp (+3/-0)
tests/integration-tests/test_stale_frames.cpp (+6/-1)
tests/integration-tests/test_submit_buffer.cpp (+4/-1)
tests/integration-tests/test_surface_first_frame_sync.cpp (+3/-0)
tests/mir_test_framework/visible_surface.cpp (+3/-0)
tests/performance-tests/test_client_startup.cpp (+3/-0)
tests/privileged-tests/test_input_events.cpp (+4/-1)
tests/test-clients/impolite-shutdown/scroll.cpp (+7/-2)
To merge this branch: bzr merge lp://qastaging/~brandontschaefer/mir/first-round-deprecation
Reviewer Review Type Date Requested Status
Cemil Azizoglu (community) Needs Resubmitting
Mir CI Bot continuous-integration Approve
Daniel van Vugt Needs Resubmitting
Review via email: mp+310024@code.qastaging.launchpad.net

Commit message

This is the first round of APIs that we can deprecate which have replacement.

Description of the change

This is the API that we can deprecate, that have replacement.

Note that mir_surface_get_buffer_stream replacement *will* be soon deprecated but it would be wise to get use to this point of view of setting your stream.

Also note there was an issue in nested mir_client_host_connection.cpp. When replacing that usage of set_event_handler with spec_set_event_handler. It was no longer getting input events in the test Nested.animated_cursor* This will need some digging into!

To post a comment you must log in.
Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

We also need to check upstream toolkits with this branch

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3789
https://mir-jenkins.ubuntu.com/job/mir-ci/2107/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/2710/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2773/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2765/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2765/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2765/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2739/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2739/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2739/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2739/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2739/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2739/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2107/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Suggest fixing: Most of these three thousand lines could be avoided if you prerequisite and use this:
  https://code.launchpad.net/~vanvugt/mir/deprecate-without-pragmas/+merge/309532

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) :
review: Abstain
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

(1) Needs Fixing: As mentioned in the other deprecation branch, these are unrelated to deprecation and should be proposed in separate branches (with tests?):

1022 + mir_shell_chrome_none
1035 +bool mir_buffer_stream_get_graphics_region(

(2) Needs Fixing: As mentioned in a whole bunch of comments here, no symbol should be marked as deprecated until a replacement for it exists:

  // FIXME Wait for replacement before deprecating
  \deprecated ...

Users should have some alternative that exists in order to be able to stop using deprecated features.

review: Needs Fixing
3790. By Brandon Schaefer

* Merge trunk, fix conflicts

3791. By Brandon Schaefer

* Dont say we are deprecated in the documentation until we are

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I'm seeing multiple issues that need to be discussed separately, like the theoretically intended replacements (that don't yet exist) for things. Some of them are debatable. And we ideally shouldn't be seeing any FIXME in public headers.

Resubmit: I suggest this is a bunch of unrelated changes that need to be proposed and discussed in smaller pieces.

review: Needs Resubmitting
3792. By Brandon Schaefer

* Add pragma around new usage of deprecated function

Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

The FIXMEs are not intended to be released. They are for us to keep track of what functions are missing replacements currently. I can remove the FIXMEs and just reference this pastebin:

http://paste.ubuntu.com/23625007/

Im moving the two changes you mentioned into other MPs, which are currently proposed here:
https://code.launchpad.net/~brandontschaefer/mir/add-mir-chrome-none/+merge/313480
https://code.launchpad.net/~brandontschaefer/mir/return-bool-if-region-valid/+merge/313482

Those two branches really only account for 50 +/-. If you want smaller branch for specific deprecation just to make the branch smaller I can do that as well, though the large number of +/- are from a couple functions (such as get_buffer_stream).

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3792
https://mir-jenkins.ubuntu.com/job/mir-ci/2424/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/3155
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/3222
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/3214
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/3214
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/3214
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/3184
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/3184/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3184
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3184/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/3184
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/3184/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3184
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3184/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3184
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3184/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3184
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3184/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2424/rebuild

review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This branch is over 3000 lines of diff now. It's too much to take in but is also unnecessary.

Yes please; we should propose deprecating smaller families of functions per branch. That's something we'll be able to understand and review properly.

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Finally had a chance to look at this MP. I agree with duflu, there is a lot going on in this branch - functions are being deprecated before alternatives are provided, so our own code has to be pragma'ed out. Also, there has been some renaming already (in the MirSurface area). I.e.

https://code.launchpad.net/~cemil-azizoglu/mir/mirsurfacespec-deprecation/+merge/313448
https://code.launchpad.net/~cemil-azizoglu/mir/mirsurface-alternatives-accumulate/+merge/313811
https://code.launchpad.net/~cemil-azizoglu/mir/mir_window_create/+merge/314030
https://code.launchpad.net/~cemil-azizoglu/mir/deprecate-mir_surface_set_swap_interval/+merge/314119

New branches should prereq these.

review: Needs Resubmitting

Unmerged revisions

3792. By Brandon Schaefer

* Add pragma around new usage of deprecated function

3791. By Brandon Schaefer

* Dont say we are deprecated in the documentation until we are

3790. By Brandon Schaefer

* Merge trunk, fix conflicts

3789. By Brandon Schaefer

* First round of API deprecation

3788. By Alberto Aguirre

Start deprecation of client side APIs

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches