Skip to content

Commit

Permalink
Merge commit '88658673bf7d1eeb1f0dbe1f100a18248011f6cd' as 'rpm'
Browse files Browse the repository at this point in the history
4af49ac [gecko] Fix format specifiers for event logging in IMEStateManager. Fixes JB#44136
0877be6 [embedlite] Check for null GetApzcTreeManager(). Contributes to JB#49875
4d4b1eb [xulrunner] Amend patch formatting. Contributes to JB#49875
1efac62 [xulrunner] Drop no longer needed patch "Do not load nsHelperAppDlg.js". Fixes JB#49831
1bb461b [gecko] Avoid incorrect compiler optimisation. JB#49864
4f087c5 [media] Support ffmpeg4. JB#49556
a348742 [media] Enable ffmpeg decoding. Fixes JB#49556
fbd98dc [embedlite] Align all the patches for esr52. Fixes JB#49559
26b657a [embedlite] Run faster build explicitly after normal make. JB#49712
2776d27 [embedlite] Introduce build.mk for installer. JB#49712
a32f8a7 [gecko] Configuration option. JB#49613
e48bbbe [gecko] Create EmbedLiteCompositorBridgeParent in CompositorBridgeChild::InitSameProcess (part 2). JB#49551
cbdce10 [gecko] Use MOZ_EMBEDLITE for embedlite integration
387371a [embedlite] Allow compositor specializations to override the composite (part 2). JB#49551
01b79ad Allow compositor specializations to override the composite
1f635f6 Merge remote-tracking branch 'sailfishos/master' into sailfishos-esr52
9a31b76 [embedlite] Add configuration for embedding and pc files
b710891 Bump up greversion to 52.9.1
c80a21e Disable Encrypted Media Extension (EME) support and Fragmented MP4 support for now
d0d2102 [media] Fix mp3 audio playback and add debug graph generation. Fixes JB#49532
9a33fc3 [xulrunner-qt5] Reduce memory pressure during application startup. Contributes to JB#48786
d8eab9a [nemo][gecko] Handle temporary directory similarly as in MacOSX. JB#49155
ba21a86 [xulrunner] Fix embeded offscreen surfaces not being painted. Contributes to JB#48494
a377b05 [nemo][xulrunner] Use libcontentaction for uri scheme handling. JB#47892
ef1e408 Cleanup build configurations and patches
44e2467 Make garbage collector stats to work with gcc8
5847689 [gecko-dev] Fix licence, update URL. Contributes to JB#45486
02f4ebd Cleanup / adapt LoginManagerContent patch
97d963e [nemo][embedlite] Cleanup build configuration. Fixes JB#44612
13a1ce2 [xulrunner] Enable system ICU. Contributes to JB#36010
7bf5ab8 Update patches from esr38
ed777c7 Merge remote-tracking branch 'mer/master' into mer-esr45-v2-3
8bda9db [packaging] Remove explicit dependency to sqlite. Contributes to JB#44455
b9658ca [nemo][xulrunner] Merge latest esr45 (45.9.1)
8283679 [nemo][xulrunner] Embedlite doesn't have prompter implementation. Fixes JB#44322
00d0a88 [nemo][xulrunner] Do not load nsHelperAppDlg.js. Fixes JB#44322
436bfcd [rpm] Update system nspr version and configuration flag. Contributes to JB#37917
4ecf4bb [rpm] Re-enable system-nss. Contributes to JB#37917
54b9d2b [xulrunner] Make fullscreen enabling work as used to with pref full-screen-api.content-only. Fixes JB#44129
89c1fe1 [rpm] Cleanup spec. Contributes to JB#44176
3ad8ef8 [rpm] Update version
9991a07 [nemo][xulrunner] Build xulrunner with ARM instruction set instead of THUMB. Fixes JB#33431
a2da84b [rpm] Bump up version. Contributes to JB#39557
41ab4bc [xulrunner] Disable SiteSpecificUserAgent.js from the build. Contributes to JB#39252
d27d81c [rpm] Drop unnecessary patch. Fixes JB#37201
ac8a7af Bump up version to rpm spec
aae3448 [rpm] Avoid crash in gst_video_frame_map_id. Fixes JB#37116
afaf4b4 [rpm] Increment version
bf4d8b7 [rpm] Remove sqlite3 jemalloc patch
8892b18 Remove yaml leftovers
d996168 [xulrunner] Use system cairo and pixman. Contributes to JB#36010
91df6cf [xulrunner] Don't try to access undefined app list of AppsServiceChild. Fixes MER#1609
fc5bd20 Remove spurious error message
55b9712 Revert "[embedlite] Enable startup cache for arm builds. Fixes JB#35271"
82bc83a [xulrunner] Initialize RequestSyncService only if its pref is enabled
a5d6132 [embedlite] Enable startup cache for arm builds. Fixes JB#35271
7e10db0 [rpm] Increment package version
ba77216 [embedlite] Use system nspr and nss
20cecf9 [rpm] Update build version. Contributes to JB#35001
bf1f0d2 [rpm] Update to latest esr38 version (38.8.0.0)
a52f686 [license] Unify open source licenses. Contributes to JB#33648
1b19387 Merge branch 'jb33061' into 'nemo_embedlite_38'
0598938 [rpm] Fix .spec file to depend on sqlite >= 3.8.9
a658af9 [rpm] Add patch with pinching to panning transition. Fixes JB#33061
8f1a972 [rpm] Add patch reverting bug 1114594. Contributes to JB#32870
efe3d04 [rpm] Remove fGetActiveUniformName. Contributes to JB#24362
d397afb [rpm] Add patch for LoginManager. Fixes JB#21980
da61a9a Port more patches from Embedlite 31
3fab452 Merge branch 'enableSystemSqlite' into 'nemo_embedlite_38'
27627b9 [rpm] Use system sqlite
2e6b50b Bring back 4 old patches
c555278 [rpm] Add easy way to switch various system library usage on and off.
bffa13e [rpm] Bump version to 38.0.5.1
a620548 [rpm] Improve the RPM spec file for gecko 38.
e3dda98 Update xulrunner-qt5.spec
b5c4ca5 Update xulrunner-qt5.spec
871474c update nemo rpm packaging
eb2dcea Created embedlite branch based on 9345aa8 of gecko-dev repository.
  • Loading branch information
rainemak committed May 27, 2020
2 parents 24d15ad + 8865867 commit 579bec2
Show file tree
Hide file tree
Showing 20 changed files with 14,850 additions and 0 deletions.
29 changes: 29 additions & 0 deletions rpm/0001-Workaround-for-late-access-message-loop.patch
@@ -0,0 +1,29 @@
From 4eebc26c55145395f8b1e0d785109472b1b8b077 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@jolla.com>
Date: Mon, 11 May 2015 13:12:04 +0300
Subject: [PATCH] Workaround for late access message loop.

See bug JB10381

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
ipc/glue/MessagePump.cpp | 3 +++
1 file changed, 3 insertions(+)

diff --git a/ipc/glue/MessagePump.cpp b/ipc/glue/MessagePump.cpp
index d03c7935e87f..6d117afdb36e 100644
--- a/ipc/glue/MessagePump.cpp
+++ b/ipc/glue/MessagePump.cpp
@@ -216,6 +216,9 @@ DoWorkRunnable::Run()
{
MessageLoop* loop = MessageLoop::current();
MOZ_ASSERT(loop);
+ if (!loop) {
+ return NS_ERROR_NULL_POINTER;
+ }

bool nestableTasksAllowed = loop->NestableTasksAllowed();

--
2.17.1

31 changes: 31 additions & 0 deletions rpm/0002-Limit-surface-area-rather-than-width-and-height.patch
@@ -0,0 +1,31 @@
From 72932beedf7c5419eaa7e6e9b9613a18fe69b0f6 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@jolla.com>
Date: Mon, 11 May 2015 13:17:36 +0300
Subject: [PATCH] Limit surface area rather than width and height

See bug JB26935

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
gfx/cairo/cairo/src/cairo-image-surface.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gfx/cairo/cairo/src/cairo-image-surface.c b/gfx/cairo/cairo/src/cairo-image-surface.c
index 4aaf1c159203..2abfd30af2c3 100644
--- a/gfx/cairo/cairo/src/cairo-image-surface.c
+++ b/gfx/cairo/cairo/src/cairo-image-surface.c
@@ -91,8 +91,9 @@ _pixman_image_for_solid (const cairo_solid_pattern_t *pattern);
static cairo_bool_t
_cairo_image_surface_is_size_valid (int width, int height)
{
- return 0 <= width && width <= MAX_IMAGE_SIZE &&
- 0 <= height && height <= MAX_IMAGE_SIZE;
+ const int area = width*height;
+ return 0 <= width && 0 <= height && 0 <= area &&
+ area <= (MAX_IMAGE_SIZE*MAX_IMAGE_SIZE);
}

cairo_format_t
--
2.17.1

@@ -0,0 +1,42 @@
From 31a4e217286fb1267cf6cedc04ae7d8bb658fa24 Mon Sep 17 00:00:00 2001
From: Piotr Tworek <piotr.tworek@jollamobile.com>
Date: Wed, 8 Jul 2015 16:13:11 +0200
Subject: [PATCH] Make TextureImageEGL hold a reference to GLContext. Fixes
JB#30109.

Due to rather non standard view shutdown procedure of EmbedLite port
objets like TextureImageEGL often end up being destroyed after the
CompositorOGL. The problem arises if all objects keeping references
to GLContext get destroyed before TextureImageEGL. In such case the
TextureImageEGL::mGLContext pointer will contain a referene to already
freed memrory. What is worse since the GLContext is used to access platform
GL implementation we won't be able to remove GL textures allocated for the
TextureImageEGL leading to GPU memory leak.

This patch converts the TextureImageEGL::mGLContext pointer into
nsRefPtr. This should ensure that the object will actually increase
GLTexture reference count and keep it alive for as long as needed. With
the patch in place the GPU memory leak is no longer observable and we
should no longer end up accessing freed memory.

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
gfx/gl/TextureImageEGL.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gfx/gl/TextureImageEGL.h b/gfx/gl/TextureImageEGL.h
index fa7075064ac9..54b78206ca98 100644
--- a/gfx/gl/TextureImageEGL.h
+++ b/gfx/gl/TextureImageEGL.h
@@ -55,7 +55,7 @@ public:
protected:
typedef gfxImageFormat ImageFormat;

- GLContext* mGLContext;
+ RefPtr<GLContext> mGLContext;

gfx::SurfaceFormat mUpdateFormat;
EGLImage mEGLImage;
--
2.17.1

68 changes: 68 additions & 0 deletions rpm/0004-Adapt-LoginManager-to-EmbedLite.-Fixes-JB21980.patch
@@ -0,0 +1,68 @@
From eca37275119ccc1fad1b53ca8ea8766078f0d2ad Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@jolla.com>
Date: Wed, 28 Oct 2015 16:07:36 +0200
Subject: [PATCH] Adapt LoginManager to EmbedLite. Fixes JB21980

Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@jolla.com>
Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
dom/ipc/TabChild.h | 14 +++++++++-----
.../components/passwordmgr/LoginManagerParent.jsm | 2 ++
.../components/passwordmgr/passwordmgr.manifest | 2 --
3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/dom/ipc/TabChild.h b/dom/ipc/TabChild.h
index 716460878175..3fe484ef4d39 100644
--- a/dom/ipc/TabChild.h
+++ b/dom/ipc/TabChild.h
@@ -507,12 +507,16 @@ public:
static inline TabChild*
GetFrom(nsIDocShell* aDocShell)
{
- if (!aDocShell) {
- return nullptr;
- }
+ // Even though TabChild is not used in EmbedLite somehow the static cast
+ // below can return non-null pointer. Let's return nullptr explcitly.
+ return nullptr;

- nsCOMPtr<nsITabChild> tc = aDocShell->GetTabChild();
- return static_cast<TabChild*>(tc.get());
+ //if (!aDocShell) {
+ // return nullptr;
+ //}
+
+ //nsCOMPtr<nsITabChild> tc = aDocShell->GetTabChild();
+ //return static_cast<TabChild*>(tc.get());
}

static inline TabChild*
diff --git a/toolkit/components/passwordmgr/LoginManagerParent.jsm b/toolkit/components/passwordmgr/LoginManagerParent.jsm
index e472fb61c70d..86ac329d5743 100644
--- a/toolkit/components/passwordmgr/LoginManagerParent.jsm
+++ b/toolkit/components/passwordmgr/LoginManagerParent.jsm
@@ -89,6 +89,8 @@ var LoginManagerParent = {
},

receiveMessage: function (msg) {
+ msg.target.QueryInterface(Ci.nsIEmbedFrame);
+ log("receiveMessage " + msg.name + " msg.target: " + msg.target);
let data = msg.data;
switch (msg.name) {
case "RemoteLogins:findLogins": {
diff --git a/toolkit/components/passwordmgr/passwordmgr.manifest b/toolkit/components/passwordmgr/passwordmgr.manifest
index 72e9ccffb883..07f51017fec7 100644
--- a/toolkit/components/passwordmgr/passwordmgr.manifest
+++ b/toolkit/components/passwordmgr/passwordmgr.manifest
@@ -2,8 +2,6 @@ component {cb9e0de8-3598-4ed7-857b-827f011ad5d8} nsLoginManager.js
contract @mozilla.org/login-manager;1 {cb9e0de8-3598-4ed7-857b-827f011ad5d8}
component {749e62f4-60ae-4569-a8a2-de78b649660e} nsLoginManagerPrompter.js
contract @mozilla.org/passwordmanager/authpromptfactory;1 {749e62f4-60ae-4569-a8a2-de78b649660e}
-component {8aa66d77-1bbb-45a6-991e-b8f47751c291} nsLoginManagerPrompter.js
-contract @mozilla.org/login-manager/prompter;1 {8aa66d77-1bbb-45a6-991e-b8f47751c291}
component {0f2f347c-1e4f-40cc-8efd-792dea70a85e} nsLoginInfo.js
contract @mozilla.org/login-manager/loginInfo;1 {0f2f347c-1e4f-40cc-8efd-792dea70a85e}
#ifdef ANDROID
--
2.17.1

@@ -0,0 +1,52 @@
From 9c777a73b5fb5da6a155ba13a58389122287b07f Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Fri, 1 Jul 2016 10:39:47 +0300
Subject: [PATCH] Don't try to access undefined app list of AppsServiceChild.
Fixes MER#1609

When accessing e.g. imgur.com for the first time list build up fails
(.mozilla/mozembed is still clean). Subsequental access are ok.

This backout partically changes from upstream commit sha1 55152ad9d9a23874

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
dom/apps/AppsServiceChild.jsm | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/dom/apps/AppsServiceChild.jsm b/dom/apps/AppsServiceChild.jsm
index 4aca938af4dd..f8cfd87ad0ae 100644
--- a/dom/apps/AppsServiceChild.jsm
+++ b/dom/apps/AppsServiceChild.jsm
@@ -103,16 +103,19 @@ this.DOMApplicationRegistry = {
this.cpmm.addMessageListener(aMsgName, this);
}).bind(this));

- this.webapps = { };
- // We need a fast mapping from localId -> app, so we add an index.
- // We also add the manifest to the app object.
- this.localIdIndex = { };
- for (let id in this.webapps) {
- let app = this.webapps[id];
- this.localIdIndex[app.localId] = app;
- app.manifest = list.manifests[id];
+ try {
+ this.webapps = { };
+ // We need a fast mapping from localId -> app, so we add an index.
+ // We also add the manifest to the app object.
+ this.localIdIndex = { };
+ for (let id in this.webapps) {
+ let app = this.webapps[id];
+ this.localIdIndex[app.localId] = app;
+ app.manifest = list.manifests[id];
+ }
+ } catch (e) {
+ debug("Error while building fast maps: " + e + "\n");
}
-
Services.obs.addObserver(this, "xpcom-shutdown", false);
},

--
2.17.1

@@ -0,0 +1,40 @@
From 2c20281487f68001f4db8f0e3d6316b0df414daf Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Thu, 10 Jan 2019 15:21:24 +0200
Subject: [PATCH] Make fullscreen enabling work as used to with pref
full-screen-api.content-only. Fixes JB#44129

We don't have chrome from doc shell point of view. This commit
sha1 3116f3bf53df offends fullscreen API to work without chrome
and shall not make root docShell act as chrome. We previously had
"full-screen-api.content-only" pref set to "true".

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
dom/base/nsGlobalWindow.cpp | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp
index 8ff4b84ce375..2a330a788b0a 100644
--- a/dom/base/nsGlobalWindow.cpp
+++ b/dom/base/nsGlobalWindow.cpp
@@ -6745,10 +6745,16 @@ nsGlobalWindow::SetFullscreenInternal(FullscreenReason aReason,
if (rootItem != mDocShell)
return window->SetFullscreenInternal(aReason, aFullScreen);

+ // We don't have chrome from doc shell point of view. This commit
+ // sha1 3116f3bf53df offends fullscreen API to work without chrome
+ // and shall not make root docShell act as chrome. We previously had
+ // "full-screen-api.content-only" pref set to "true".
+#if 0
// make sure we don't try to set full screen on a non-chrome window,
// which might happen in embedding world
if (mDocShell->ItemType() != nsIDocShellTreeItem::typeChrome)
return NS_ERROR_FAILURE;
+#endif

// If we are already in full screen mode, just return.
if (mFullScreen == aFullScreen)
--
2.17.1

26 changes: 26 additions & 0 deletions rpm/0007-Embedlite-doesn-t-have-prompter-implementation.patch
@@ -0,0 +1,26 @@
From 46c4b7e01a8e04d2c943521bc925d1072cd2c074 Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Wed, 30 Jan 2019 15:42:27 +0200
Subject: [PATCH] Embedlite doesn't have prompter implementation

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
toolkit/components/jsdownloads/src/DownloadUIHelper.jsm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolkit/components/jsdownloads/src/DownloadUIHelper.jsm b/toolkit/components/jsdownloads/src/DownloadUIHelper.jsm
index f5102b4a897d..808b174dad15 100644
--- a/toolkit/components/jsdownloads/src/DownloadUIHelper.jsm
+++ b/toolkit/components/jsdownloads/src/DownloadUIHelper.jsm
@@ -106,7 +106,7 @@ XPCOMUtils.defineLazyGetter(DownloadUIHelper, "strings", function () {
*/
this.DownloadPrompter = function (aParent)
{
- if (AppConstants.MOZ_B2G) {
+ if (AppConstants.MOZ_B2G || true) {
// On B2G there is no prompter implementation.
this._prompter = null;
} else {
--
2.17.1

@@ -0,0 +1,55 @@
From 02b4698deb992876a7fa48f5d46f59d07dde5539 Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Tue, 26 Feb 2019 11:58:41 +0200
Subject: [PATCH] Disable SiteSpecificUserAgent.js from the build. Contributes
to JB#39252

As both "general.useragent.override" and nsISiteSpecificUserAgent
are used and EmbedLite Components provides a UserAgentOverrideHelper
component that implements both complex UA override (register's handler)
and nsISiteSpecificUserAgent that is loaded on startup, let it update
also user agent string that is exposed via DOM's window.navigator.

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
dom/base/Navigator.cpp | 3 +++
dom/base/moz.build | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp
index 290af152b29a..978a98195413 100644
--- a/dom/base/Navigator.cpp
+++ b/dom/base/Navigator.cpp
@@ -1854,6 +1854,8 @@ Navigator::GetUserAgent(nsPIDOMWindowInner* aWindow, nsIURI* aURI,
{
MOZ_ASSERT(NS_IsMainThread());

+ // Pass call through to nsISiteSpecificUserAgent provided by EmbedLite Components.
+#if 0
if (!aIsCallerChrome) {
const nsAdoptingString& override =
mozilla::Preferences::GetString("general.useragent.override");
@@ -1863,6 +1865,7 @@ Navigator::GetUserAgent(nsPIDOMWindowInner* aWindow, nsIURI* aURI,
return NS_OK;
}
}
+#endif

nsresult rv;
nsCOMPtr<nsIHttpProtocolHandler>
diff --git a/dom/base/moz.build b/dom/base/moz.build
index 4a4ad7d9349b..3837865fee87 100755
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -413,7 +413,7 @@ EXTRA_COMPONENTS += [
]

# Firefox for Android provides an alternate version of this component
-if CONFIG['MOZ_BUILD_APP'] != 'mobile/android':
+if CONFIG['MOZ_BUILD_APP'] not in ['mobile/android', 'embedding/embedlite']:
EXTRA_COMPONENTS += [
'SiteSpecificUserAgent.js',
'SiteSpecificUserAgent.manifest',
--
2.17.1

28 changes: 28 additions & 0 deletions rpm/0009-Cleanup-build-configuration.-Fixes-JB-44612.patch
@@ -0,0 +1,28 @@
From fcfc8a82eacc2c8edb25547cea329bc78ac72501 Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Tue, 26 Mar 2019 15:43:30 +0200
Subject: [PATCH] Cleanup build configuration. Fixes JB#44612

Marionette is now disabled

Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
old-configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/old-configure.in b/old-configure.in
index d69442aebca4..8a1de8f42692 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -5413,7 +5413,7 @@ fi
dnl
dnl Always build Marionette if not Android or B2G
dnl
-if test "$OS_TARGET" != Android -a x"$MOZ_WIDGET_TOOLKIT" != x"gonk"; then
+if test "$OS_TARGET" != Android -a x"$MOZ_WIDGET_TOOLKIT" != x"gonk" -a x"$MOZ_WIDGET_TOOLKIT" != x"qt"; then
AC_DEFINE(ENABLE_MARIONETTE)
fi
AC_SUBST(ENABLE_MARIONETTE)
--
2.17.1

0 comments on commit 579bec2

Please sign in to comment.