summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch
blob: 829abe07fa660214a2df8e1b6e2a211349a65741 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From f31e93261f34abaa3dcdc4959963f5b5a8983002 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jsmoeller@linuxfoundation.org>
Date: Thu, 25 Jun 2020 19:47:24 +0200
Subject: [PATCH] Set webapp roles that are max 12 characters long.

From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= <jaragunde@igalia.com>

This is a workaround for SPEC-3127. To prevent repeated roles as much
as possible, I'm using the appid as a basis instead of "Webapp-" +
host + port, which has many chances to be redundant in the first 12
chars.

Bug-AGL: SPEC-3127

---
 src/agl/WebRuntimeAGL.cpp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/agl/WebRuntimeAGL.cpp b/src/agl/WebRuntimeAGL.cpp
index aed928b..efd2ee4 100644
--- a/src/agl/WebRuntimeAGL.cpp
+++ b/src/agl/WebRuntimeAGL.cpp
@@ -274,7 +274,6 @@ int WebAppLauncherRuntime::run(int argc, const char** argv) {
 
   m_id = getAppId(args);
   m_url = getAppUrl(args);
-  m_role = "WebApp";
 
   setup_signals();
 
@@ -326,15 +325,9 @@ bool WebAppLauncherRuntime::init() {
       if (n != std::string::npos) {
         std::string sport = authority.substr(n+1);
         m_host = authority.substr(0, n);
-        m_role.push_back('-');
-        m_role.append(m_host);
-        m_role.push_back('-');
-        m_role.append(sport);
         m_port = stringTo<int>(sport);
       } else {
         m_host = authority;
-        m_role.push_back('-');
-        m_role.append(m_host);
       }
     }
 
@@ -375,6 +368,9 @@ bool WebAppLauncherRuntime::init() {
       m_role = "homescreen";
     else if (m_id.rfind("webapps-homescreen", 0) == 0)
       m_role = "homescreen";
+    else {
+      m_role = m_id.substr(0,12);
+    }
 
     LOG_DEBUG("id=[%s], name=[%s], role=[%s], url=[%s], host=[%s], port=%d, token=[%s], width=[%s], height[%s], surface_type[%d], panel_type[%d]",
             m_id.c_str(), m_name.c_str(), m_role.c_str(), m_url.c_str(),