[SRU] webbrowser app and webcontainer open under the same instance
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
webbrowser-app (Ubuntu) |
Fix Released
|
Critical
|
Alexandre Abreu | ||
Xenial |
Fix Released
|
Critical
|
Alexandre Abreu | ||
Yakkety |
Fix Released
|
Critical
|
Alexandre Abreu |
Bug Description
[Impact]
On desktop, when a webapp is launched and if the desktop Exec file does not specify a --app-id= parameter to the webapp-container executable, any new launched application will share the same instance as one that has already been launched.
[Test Case]
1. Install two webapps on desktop that use the webapp-container as a launcher,
e.g.
https:/
and
https:/
2. Make sure that when you launch the slack-webapp nothing happens
(no app id is provided the app is not launched),
3. Modify the slack app so that the Exec= line contains the following argument:
--app-id=
re-install the app,
4. Make sure that the 2 apps can be launched simultaneously,
[Regression Potential]
All webapps that dont provide an app-id wont start anymore. All current
webapps though do provide an app-id.
Original report description:
-------
I have on xenial the webbrowser-app as my main browser; if I use the webapp-container for anything else it opens as a tab in the main browser window. If I open a container instance first, opening the webbrowser app opens a new tab in the container instance.
One webcontainer example to use is http://
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: webbrowser-app 0.23+16.
ProcVersionSign
Uname: Linux 4.4.0-21-generic x86_64
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
CurrentDesktop: Unity
Date: Tue May 3 11:47:05 2016
InstallationDate: Installed on 2015-08-17 (259 days ago)
InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Release amd64 (20150422)
SourcePackage: webbrowser-app
UpgradeStatus: Upgraded to xenial on 2015-11-06 (179 days ago)
Related branches
- system-apps-ci-bot: Needs Fixing (continuous-integration)
- Olivier Tilloy: Approve
-
Diff: 316 lines (+110/-37)10 files modifiedsrc/app/browserapplication.cpp (+32/-24)
src/app/browserapplication.h (+1/-2)
src/app/config.h.in (+0/-1)
src/app/single-instance-manager.cpp (+39/-3)
src/app/single-instance-manager.h (+1/-1)
src/app/webbrowser/webbrowser-app.cpp (+1/-1)
src/app/webcontainer/webapp-container.cpp (+27/-1)
src/app/webcontainer/webapp-container.h (+1/-0)
tests/autopilot/webapp_container/tests/__init__.py (+4/-0)
tests/unittests/single-instance-manager/tst_SingleInstanceManagerTests.cpp (+4/-4)
- Ubuntu Phablet Team: Pending requested
-
Diff: 316 lines (+110/-37)10 files modifiedsrc/app/browserapplication.cpp (+32/-24)
src/app/browserapplication.h (+1/-2)
src/app/config.h.in (+0/-1)
src/app/single-instance-manager.cpp (+39/-3)
src/app/single-instance-manager.h (+1/-1)
src/app/webbrowser/webbrowser-app.cpp (+1/-1)
src/app/webcontainer/webapp-container.cpp (+27/-1)
src/app/webcontainer/webapp-container.h (+1/-0)
tests/autopilot/webapp_container/tests/__init__.py (+4/-0)
tests/unittests/single-instance-manager/tst_SingleInstanceManagerTests.cpp (+4/-4)
- Ubuntu Phablet Team: Pending requested
-
Diff: 905 lines (+274/-86)27 files modifieddebian/changelog (+15/-0)
debian/control (+2/-1)
src/Ubuntu/CMakeLists.txt (+4/-0)
src/Ubuntu/Web/UserAgent02.qml (+4/-10)
src/Ubuntu/Web/plugin.cpp (+7/-0)
src/Ubuntu/Web/ua-overrides-desktop.js (+5/-0)
src/Ubuntu/Web/ua-overrides-mobile.js (+6/-1)
src/app/browserapplication.cpp (+32/-24)
src/app/browserapplication.h (+1/-2)
src/app/config.h.in (+0/-1)
src/app/single-instance-manager.cpp (+39/-3)
src/app/single-instance-manager.h (+1/-1)
src/app/webbrowser/Browser.qml (+21/-15)
src/app/webbrowser/BrowserTab.qml (+3/-2)
src/app/webbrowser/NavigationBar.qml (+1/-2)
src/app/webbrowser/webbrowser-app.cpp (+1/-1)
src/app/webcontainer/WebApp.qml (+1/-0)
src/app/webcontainer/WebViewImplOxide.qml (+28/-14)
src/app/webcontainer/WebappContainerWebview.qml (+3/-1)
src/app/webcontainer/webapp-container.cpp (+32/-1)
src/app/webcontainer/webapp-container.h (+1/-0)
src/app/webcontainer/webapp-container.qml (+2/-0)
tests/autopilot/webapp_container/tests/__init__.py (+4/-0)
tests/autopilot/webapp_container/tests/fake_servers.py (+29/-0)
tests/autopilot/webapp_container/tests/test_popup_webview_overlay.py (+19/-0)
tests/autopilot/webapp_container/tests/test_saml_url_patterns.py (+9/-3)
tests/unittests/single-instance-manager/tst_SingleInstanceManagerTests.cpp (+4/-4)
Changed in webbrowser-app (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Critical |
assignee: | nobody → Olivier Tilloy (osomon) |
Changed in webbrowser-app (Ubuntu): | |
status: | Confirmed → In Progress |
description: | updated |
summary: |
- webbrowser app and webcontainer open under the same instance + SRU: webbrowser app and webcontainer open under the same instance |
summary: |
- SRU: webbrowser app and webcontainer open under the same instance + [SRU] webbrowser app and webcontainer open under the same instance |
Changed in webbrowser-app (Ubuntu): | |
milestone: | none → ubuntu-16.04.1 |
milestone: | ubuntu-16.04.1 → none |
Changed in webbrowser-app (Ubuntu Xenial): | |
assignee: | nobody → Alexandre Abreu (abreu-alexandre) |
importance: | Undecided → Critical |
status: | New → In Progress |
milestone: | none → ubuntu-16.04.1 |
This happens because the app id is not set for the webapp, thus defaulting to "webbrowser-app".
A workaround is to specify the app id on the command line used to launch the webapp, e.g.:
webapp- container --app-id=slack https:/ /ubuntu. slack.com/
or
APP_ID=slack webapp-container https:/ /ubuntu. slack.com/
In any case, the absence of an app ID should not default to opening the URL in the browser, that’s completely unexpected and needs to be fixed in the browser/ webapp- container.