~osomon/webbrowser-app/use-uitk-swipearea

« back to all changes in this revision

Viewing changes to src/app/webcontainer/PopupWindowOverlay.qml

Handle media access request from webcontainer main view and overlay views Fixes: #1554202
Approved by: Olivier Tilloy

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright 2014-2015 Canonical Ltd.
 
2
 * Copyright 2014-2016 Canonical Ltd.
3
3
 *
4
4
 * This file is part of webbrowser-app.
5
5
 *
20
20
import QtQuick.Window 2.2
21
21
import com.canonical.Oxide 1.4 as Oxide
22
22
import Ubuntu.Components 1.3
 
23
import Ubuntu.Components.Popups 1.3
23
24
import ".."
24
25
 
25
26
Item {
30
31
    property alias currentWebview: popupWebview
31
32
    property alias request: popupWebview.request
32
33
    property alias url: popupWebview.url
 
34
    property var mediaAccessDialogComponent
33
35
    property alias wide: popupWebview.wide
34
36
 
35
37
    signal webviewUrlChanged(url webviewUrl)
166
168
 
167
169
        onUrlChanged: webviewUrlChanged(popupWebview.url)
168
170
 
 
171
        Connections {
 
172
            target: popupWebview.visible ? popupWebview : null
 
173
 
 
174
            /**
 
175
             * We are only connecting to the mediaAccessPermission signal if we are the currently
 
176
             * visible overlay. If other overlays slide over this one, oxide will deny (by default)
 
177
             * all media access requests for this overlay.
 
178
             *
 
179
             * See the browser's webbrowser/Browser.qml source for additional comments.
 
180
             */
 
181
            onMediaAccessPermissionRequested: PopupUtils.open(mediaAccessDialogComponent, null, { request: request })
 
182
        }
 
183
 
169
184
        onOpenUrlExternallyRequested: {
170
185
            if (popupWindowController) {
171
186
               popupWindowController.openUrlExternally(url)