Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge commit '28c09d186efc8ec8b0f7ea0aff7e308eb1b3772c' as 'embedding…
…/embedlite'

988045f [embedlite] Passing arguments to InitGeckoWindow by value. Fixes JB#49916
2315baa [embedlite] Avoid dereferencing null allocator pointer. Contributes to JB#49875
7be00bc [embedlite] Add package-manifest.in for the embedlite installer. Fixes JB#49872
a348742 [media] Enable ffmpeg decoding. Fixes JB#49556
efd8bc4 [embedlite] Fix async/sync message handling. Fixes JB#49818
e2932bb [embedlite] Get rid of unnecessary const_cast
957c864 Cleanup debug logs from the TabChildHelper
dabf60d [embedlite] Deliver touch events to the web content in css pixel. Fixes JB#49810
b535d73 [embedlite] Get IAPZCTreeManager from compositor parent. Fixes JB#49557
d7bc1c1 [embedlite] Fix suspend / resume IPC return values. JB#49184
5fcaafd [embedlite] Set surface size for compositor bridge parent. JB#49551
4d7b4a8 [embedlite] Cleanup log output from nsWindow
969274a [embedlite] Fix LayerManager creation. Fixes JB#49551
c069e3f A simple script for parsing jar_maker calls from build output
26b657a [embedlite] Run faster build explicitly after normal make. JB#49712
3ece0f6 [embedlite] Align moz.build a bit closer to b2g/android moz.build
2776d27 [embedlite] Introduce build.mk for installer. JB#49712
1e5184b Cleanup whitespaces
4b377a9 [embedlite] Take scroll events from ScrollAreaEvent with the new API. Contributes to JB#49550
85a3c8d [embedlite] Add EmbedInputData wrapper class for mozilla::InputData. JB#49613
4c9383c Merge branch 'omp-jb49549-remove-elsjsc' into 'sailfishos-esr52'
35cec21 [embedlite] Remove the no longer needed Enter/LeaveSecureJSContext. Contributes to JB#49549
3271ceb [embedlite] Fix nsWindow::Create overloading. JB#49551
399f7a3 Merge branch 'jb49551' into 'sailfishos-esr52'
2e29633 Fix installer pc file generation
b7967c3 [embedlite] Create compositor parent in CompositorBridgeChild::InitSameProcess (part 1). JB#49551
ab43a2a Fix minor coding style issue
36f7702 Merge remote-tracking branch 'sailfishos/master' into sailfishos-esr52
1f635f6 Merge remote-tracking branch 'sailfishos/master' into sailfishos-esr52
7293032 [embedlite] Add GetCompositorBridgeParent helper to the nsWindow. JB#49551
5767798 Cleanup unused include
60af6d1 [embedlite] Split EmbedLitePuppetWidget into nsWindow and EmbedLitePuppetWidget. Fixes JB#35526
55fc01a Add missing implementation for the EmedLiteXulAppInfo
95ed6c9 [embedlite] Make embedprocess to compile
5ed68b2 [embedlite] Use LayoutDeviceIntRect and LayoutDeviceIntMargin instead of nsIntRect and nsIntMargin
45dab3d EmbedLiteViewBaseChild API alignment
8f6af3d More chagnes to EmbedContentController
7f7c116 EmbedliteViewBaseParent fixing... interface might still be wrong
2705900 Fixing WebBrowserChrome
0f5e8df [embedlite] Align TabChildHelper API
0c2163f Align EmbedLiteAppService -- SecureJSContext missing
6c963fa Fix DirProvider, EmbedLiteXulAppInfo, and GeckoLoader
7ca7c54 Try fixing ComPtrs
3c12a66 Align EmbedContentController to new GeckoContentController API
9615502 [embedlite] Align task posting
c59c3f4 EmbedLiteWindowBaseChild fixing
95720b8 Align EmbedLitePuppet widget API
b581969 Fix "qualifiers ignored on function return type" warnings
b92bd1e Align NS_DECL_NSIWINDOWCREATOR2 implementation of the WindowCreator
2d42f1f Add build configuration for embedding/embedlite
a504d7a Use Unused.h instead of unused.h
9a31b76 [embedlite] Add configuration for embedding and pc files
c0e1980 More compositor API aligning
ff12c91 Rename EmbedLiteCompositorParent to EmbedLiteCompositorBridgeParent
06d49e4 Try to make embedding to build
1a515c7 [embedding] Fix ipdl and related Bridge renames for embedlite
4c1bead Rename InputDataIPC to EmbedIPCUtils
1d42ac8 Change application type from xulrunner to browser
6f508ac Drop unknown configuration flags
9a33fc3 [xulrunner-qt5] Reduce memory pressure during application startup. Contributes to JB#48786
195fbf9 [nemo][embedlite] Better logging when preparing offscreen rendering. JB#48440
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
a6bc187 [nemo][embedlite] Explicitly enable libproxy for Gecko build. JB#46345
7e1b426 [nemo][embedlite] Disable MSAA on mobile. Fixes JB#44402
20b0417 [nemo][embedlite] Fix sync message handler call both global and frame message handlers. Fixes JB#45429
c860945 Cleanup Compositor creation code path
c5072a3 Call Shutdown upon EmbedLitePuppetWidget tierdown
24dc4c3 A small style fix for EmbedContentController
4d92b3b Cleanup obsoleted mouse event disptaching method
edf708d [embedlite] Implement RequestFlingSnap. Fixes JB#44042
5a21922 [embedlite] Switch to use APZEventState (async pan&zoom) for input handling. Fixes JB#44361
5deab23 Remove unused variables and method declarations
229f23b Improve trace logs
249d8b7 [nemo][embedlite] Schedule update for a view. Contributes to JB#44721
ed777c7 Merge remote-tracking branch 'mer/master' into mer-esr45-v2-3
ecd66e3 [embedlite] Add better guard for dispatch event
e80e35a [nemo][embedlite] Align EmbedLiteViewBaseChild's RecvSetIsActive to nsPresShell::SetIsActive. Fixes JB#44342
d3f701d [embedlite] Enable DNS prefetching
3336d6a [embedlite] Cleanup obsoleted fullscreen API prefs. Contributes to JB#44129
689d46d [embedlite] Fix (de)serialization of JSON messages. Fixes JB#37190
9f175ec [embedlite] Do not leak internal strings out from embedding API. Fixes JB#44123
eae05f4 [embedlite] Fix input context handling. Fixes JB#37182
e24992f Improve trace logs
fbd5227 [embedlite] Fix scroll event pipeline. Fixes JB#37171
c4df861 [embedlite] Add implementation for UpdateZoomConstraints. Contributes to JB#37171
023e1e9 [embedlite] Cleanup unused method and make constructor without arguments private
e55570c Fix EmbedLog.h header
b244cbb [embedlite] Drop touch start tolerance default value. Contributes to JB#39581
23ddbba [embedlite] Use default value for "apz.asyncscroll.throttle". Contributes to JB#39581
63b9cdd [embedlite] Increase low precision tile opacity to 1.0. Contributes to JB#39557
9fee599 Cleanup unused Surface format converter helper
e76df9c Sync WindowCreator with nsIWindowCreator2 interface
2bca8cc Adding missing overrides to EmbedLiteXulAppInfo to sync with nsIXULRuntime
38e27cd Disable json message (de)serialization from TabChildHelper
b274d7e Fix EmbedLiteAppService to use nsPIDOMWindow
1d30d93 Cleanup mozilla/WidgetUtils.h from public headers
18ac848 Align to nsWidgetInitData changes
245d08e Align internal API of EmbedLiteJSON to upstream
5413f78 Disable EmbedLiteJSON implementation for now
ac773d1 Adapt WebBrowserChrome
817c7a6 Adapt EmbedLiteViewBaseChild
7f20b6d Adapt to nsIWidget changed
4a8baa3 Fix DirProvider include
148c075 Sync to TabChildBase API
96aac6e Align to upstream commit sha1 bd05613
5c3acc6 Change nsRefPtrs to RefPtrs
281380d Adapt EmbedLiteContentProcess and nsEmbedFunctions to newer API
313efd0 CompositorParentStuff
e59245e Add missing implementations to the EmbedContentController
42c8b4c Change unused to Unused
041bc56 Improve embedlite trace logs
d23e956 [embedlite] Fix EmbedLog to use MOZ_LOG. Fixes JB#37154
32dbbc8 Change ScreenRotation enum to uint32
b79e356 Fix ipdls
68ad42c ComputeTileSize has been made private. Thus, do not use
47391db Fix compositor to build
36eae2b [embedlite] FAIL_ON_WARNINGS cannot be declared in moz.build files
91e1c05 [embedlite] Use objdir-relative SOURCES instead of GENERATED_SOURCES.
62b520a [embedlite] Update width and height based on margins. Contributes to JB#36749
5848cd8 [embedlite] Add ScrollBy and ScrollTo methods. Contributes to JB#36705
9eb09ef Code indentation fix
f86324a [embedlite] Fix browser crash upon exit. Fixes JB#36633
2de4f33 [embedlite] Set egl surface size. Contributes to JB#36509
b6924ca [embedlite] Guard swaping while reading platform image. Contributes to JB#36158
52739e0 Merge branch 'jb35134' into 'nemo_embedlite_38'
bfb7c6b [embedlite] Align Mozilla event name define naming used in WebBrowserChrome
0cf35e2 [embedlite] Only widget hosting window can create compositor. Fixes JB#35134
dac7364 Merge branch 'jb35465' into 'nemo_embedlite_38'
aceb134 [embedlite] Enable skia rendering backend. Fixes JB#35465
9beb8b4 Merge branch 'jb35100' into 'nemo_embedlite_38'
49c8973 [embedlite] Enable new cache backend. Fixes JB#35436
448caef [embedlite] Fix offscreen rendering pipeline creation. Contributes to JB#35100
ba77216 [embedlite] Use system nspr and nss
8ccfa0b [embedlite] Guard PreRender with visibility and active state. Fixes JB#32879
fb841c8 [pref] Add comments for the layout.scroll.root-frame-containers
b3b6787 [pref] Merge "optimize images memory usage" from embedlite_31
f03a705 [pref] Disable dom watchdog preference
d192233 [pref] Match media.cache.* and media.video to the fennec
4f8b7b2 [pref] Merge gc perferences from fennec
325ed5a [pref] Decrease session history content viewer timeout
77e493e [pref] Add default desktop viewport width and zoom level
d7a85af [pref] Cleanup async pan zoom preferences
6a24cd2 [pref] Update "these should help performance" preferences
8078554 [pref] Reduce HTTP idle connection timeout
7c3c50d Merge branch 'patchesPorted' into 'nemo_embedlite_38'
b5ed4b9 [embedlite] Workaround for browser crash during window close JB#29415
f684765 Schedule texture rendering upon ResumeRender
2facd62 [embedlite] Disable gstreamer blacklist
31b632f [embedlite] Retranslate async messages to global and content frame message managers
9eb3c27 [embedlite] Add implementation of nsITabChild to TabChildHelper
a03092b [embedlite] Send AsyncScrollDOMEvent only for the root frame. Fixes JB#32828
701484b Merge pull request #87 from rojkov/embedlite_38_setdpi
71b9f47 [embedlite] Update viewport upon margin update
e3a03fd Add API for setting APZC's DPI
b0d1a5a Merge pull request #85 from tworaz/for_upstream/spec_cleanup
9ca3fa2 Merge pull request #86 from tworaz/for_upstream/compositor_handling_refactoring
75b41f1 Make sure system sqlite library is used for mer builds.
93431df [embedlite] Make it possible to shut down the engine grecefully.
2c5e703 [embedlite] Continue using root frame scroll containers for now.
a250176 [embedlite] Make EmbedLiteWindowListener::CompositingFinished more reliable.
2c28162 [embedlite] Expose nsIBaseWidget::PreRender in EmbedLite public API.
d2a5951 [embedlite] Cleanup the code, make sure Qt/Quick based embed widget works.
b75956c [embedlite] Implement support for HTML5 Screen Orientation API.
60d5378 [embedlite] Fix touch event handling in v38.
e8481b4 [embedlite] Drop no longer needed workaround.
acbc7d2 [embedlite] Add support for setting view margins.
dc89a06 [embedlite] Introduce explicit top level window object into EmbedLite API.
28af69a [rpm] Improve Mer/SailfishOS  RPM spec file for EmbedLite 38.
cf674d1 Merge pull request #76 from tworaz/for_upstream/fix_touch_serialization
5403451 Merge pull request #79 from tworaz/for_upstream/compute_tile_size
7106bbe Merge pull request #78 from tworaz/for_upstream/unnecessary_event_copy
16d5211 [embedlite] Don't create unnecessary copy of MultiTouchInput event.
841685c [embedlite] Trigger tile size computation from EmbedLitePuppetWidget::Create.
e668c52 [embedlite] Enable meta viewport support.
e7538b6 [embedlite] Fix touch event serialization.
699e260 Add an API for posting external tasks to compositor thread. Contributes to JB#30162.
872de3f Merge pull request #72 from tworaz/for_upstream/jb30162_external_gl_context
dd4a8d0 Expose an API for throttling nsRefreshDriver. Contributes to JB#30183
e214344 [embedlite] Add support for creating external GL context early. JB#30162
51366e0 [embedlite] Add support for using external compositor GL context.
5602689 Merge pull request #70 from tworaz/for_upstream/mer_gstreamer_1_0
780425f [Mer] Switch to gstreamr 1.0
57d9b88 Revert "Remove some unnecessary/dead code from TabChild."
a4eddcd Remove some unnecessary/dead code from TabChild.
a4ac08d Use Pause/Resume methods from CompositorParent. JB#29532
5d9f7fa [embedlite] Limit the number of active layers
6bf67df [embedlite] Check presence of event handler before using it
d972c78 Fixed embedlite branch compilation
7a5ccc5 Add DrawWindowUnderlay implementation for embedlite. rainemak
b36d353 [embedlite] Add RequestGLContext back to EmbedLitePuppetWidget
ff4fa4f [embedlite] Add DrawWindowOverlay implementation for embedlite
044ef5f [embedlite] Add ScheduleUpdate method for EmbedLiteView
eb25d67 [xulrunner] Add screen rotation API
eb2629b EmbedLite: Fix build with accessibility enabled.
0549d83 [embedlite] Return a valid pointer, also if GetPlatformImage() returned false.
becb522 [embedlite] Update last compose time in compositor. JB#28854
e4db14a [embedlite] Fix build
9d5536a [embedlite] Replace macros with C++ keywords
a30b4e1 [fmp4] Disable fmp4
3a99b80 Merge commit '6dcfd648be27ba7584559f0eae889262f7acae7c' into embedlite
0fdde22 Merge pull request #47 from rojkov/jb25378
596328b [embedlite] Don't dispatch NS_COMPOSITION_UPDATE to widget
5451182 Fixed back threaded embedlite backend
9a78e2e Fixed build with latest upstream
e2f1868 [pref] Drop unused preference from embedding.js
18b3279 Hackish fix for preferences usage in Parent process. Added basic composito initialization in Parent process
760553e [embedlite] Do not publish frame if screen is empty
3ff30b6 [embedlite] Don't transform screen point to layout point for MultiInputTouch
891c662 Set sIsEmbedlite only when we are in PROCESS mode
229a25d Implemented basic compositor initialization using standard gecko cross process compositor with few tricks
deb051e Added basic implementation of EmbedliteCompositorParent for process backend
a890591 Fixed double EmbedLiteApp initialization in process backend Fixed start and shutdown with full cleanup in process backend
4d1cd19 Fixed initialization and shutdown of Embedlite process backend with view created
febcb95 [prefs] Stick to old cache backend
26570be Merge commit '7ebdc17896ccefcf36cfcde7f5c95aaae41cf110' into embedlite, dummy merge
8e0c14b Added basic composito allocation
b3b6d44 Merge remote-tracking branch 'origin/embedlite' into embedlite_processImpl
9443ea2 [viewport] Don't recalculate viewport until before-first-paint is emitted
25a92e7 Don't instantiate unneeded gfx::IntSize
4ae94f8 Added PCompositor parent to the App protocol
2376234 Rebase ViewProcessParent to use EmbedLiteViewBaseParent
1b42f3f Switch to AppChild base
0990dc1 Rebase ViewParent classes
323fe7e Merge branch 'embedlite' into embedlite_processImpl
d4dc48f Revert breaking changes
f30b595 Merge pull request #40 from siteshwar/gd-40
403053d [pref] Don't decode more than 24 images eagerly
d95ddb2 Allow creating private windows
23365da Updated
6acecfe Created base class for ViewChild versions Make it compile overall
a275fea Implemented URL Loading
718aab6 Implemented basic view creation
b712677 Merge branch 'embedlite' into embedlite_processImpl
be34778 Provide old screen size when tab helper expects it
985593a Added initial window build
2ddfb7d Added basic implementation for ViewProcess, not real, just view protocol activation
03b133f Fixed embedLiteCoreInitTest to exit nice without crashes and leaks
c45a192 Added some stub for executing embedLiteCoreInitTest
367d2af Implemented XPCOM initialization in Process backend
2034ebd Initial version of EmbedLite process backend
8edc7ee Merge commit 'c86c58697d24f25e8975327b7cadaaaf0c51c393' into embedlite
3b04483 Mark actor's interface non-overridable explicitly
4600082 Exploit reference counting for View actors
d85c711 Simplify view creation
b6d19c2 Enable overscroll preferences
68f5a69 Backout vsync
0d7df7b Updated inputBlockId handling
df6a98e Fixed tests after landing bug 1077148
d700002 Workarounded TimeStamp == assert
6492e88 Merge pull request #29 from rojkov/stateful-embedliteapp
1efc815 Merge pull request #31 from rojkov/embedlite-nonfunctional
14824c9 Make EmbedLiteApp aware of its internal state
7cf6435 Remove async keyword which is the default
d760808 Cancel compositor task that cannot be completed
c138b7d Nullify MessageLoop::state_ before destruction
7f55df4 Drop unused member EmbedLiteSubThread::mParentLoop
aaf1e47 Cleanup embedlite make files
d289926 Added embedlite specific content controller, which would not require changes in embedding clients when GeckoContentController is changed
f03b174 Fixed embedlite compilation on latest upstream
1dcdcbb Check if shared surface is null while retreiving frames
9288146 Fixed some crashes in embedlite multiple view management. make test with VIEW_COUNT=40 reproduce 100% bug 935846
6fd383b Added possibility to run view test with custom views count
a703809 Move async tests back to original files
491497b Implemented full destroy sequence in ASYNC mode
119abc8 Switch to PEmbedLiteAppParent interface, cleanup view interface
3e00c8d Revert "Added EmbedLiteAppIface in order to abstract embedliteApp from thread based IPC interface."
201dbc7 Added simple test with view involved
583567c Fixed startup and shutdown for application with async event loop
f8b3cf2 Added test for ASYNC event loop
a194ae0 Fixed missing mozmemory on desktop builds
ce38831 Drop obsolete API
4acac37 Removed obsolete API
d290f96 Merge commit '9fcdf867588d69a5b5f2e9e8b7a4c2ad8181f4b9' into regress_9fcdf867588d69a5b5f2e9e8b7a4c2ad8181f4b9
27647dd Fixed compilation with upstream
5394183 Removed missing method
7a9e3f4 Fixed embedlite compilation
f19aac3 Removed OSLIBS from Makefile
5d5f16b [gcc-fix] Moved public dctor of ref-counted classes to protected. Now compiles on gcc483
72e6b4d Added EmbedLiteAppIface in order to abstract embedliteApp from thread based IPC interface.
0b2c299 Fixed upstream compilation
fe57fec Fixed build issues
a64f6f5 Fix viewport rectange issues for embedview test
3db8ee7 Fixed unit tests compilation
b8f0774 Fixed build issues, followup to Bug 1063318
a89fa9a Fixed compilation issues
2a37433 Merge branch 'regress_7d604b16de7b24652e23788c221f511099d4d90b' into embedlite
6752759 Backed out Bug 1010584, because it breaks OMTC compositing. Updated to latest upstream
234ceae Merge commit '93c2d2c4b4d915be37314b68713f2a596d6e8066' into regress_93c2d2c4b4d915be37314b68713f2a596d6e8066
d4c3a9f Merge commit '7d604b16de7b24652e23788c221f511099d4d90b' into embedlite
2aa5a2a Added partial implementation for context suspend/resume functionality
dd8775d [embedlite] fix text events for predictive text input
5bc8f08 Fixed Embedlite compilation with latest upstream
483dca7 Drop workaround for 977015
8078a05 Enable APZ
0244f2a Followup fix to the bug Bug 1004630
1611e1b Merge commit '8d0205cf10faaeb4e6c6e303c73b3f5a1e9919f5' into embedlite
8fef9d3 Explicitly add headers for external types and values
22ff97a Drop unused variable in gtest's moz.build
56f6c0d Cleanup Embedlite api's
83c781b Fixed embedlite compilation with latest upstream
2653a10 Merge branch 'embedlite' of github.com:tmeshkova/gecko-dev into embedlite
c0fe21e Fixed build wit latest upstream gecko
e5ce4ee Fixed static compilation assert on desktop builds
ace7f38 [embedlite] Avoid sending messages to non-existing render frame actor
175a095 Fixed crash on closing window
e5a1ea6 Merge branch 'embedlite' of github.com:tmeshkova/gecko-dev into embedlite
bcddf72 Merge remote-tracking branch 'upstream/master' into embedlite
23d2089 Merge pull request #19 from rojkov/embedlite
24e3e75 [xulrunner] Protect EmbedLiteApp from dereferencing null pointer
712ad5a Try make context as force current, helps to get current context back after suspend/resumes.
f647134 EmbedLite does not provide good info about network yet, let's disable it for now.
7a55d94 Switch EmbedLiteViewImplIface into idl format
4d13ec0 Followup bug 1025553
8c32567 [embedlite] Don't resume unsuspended view
375ab9e Check GL context for current in Render to avoid unexpected situation
82d344f Use AutoNoJS for all WindowUtil calls
1d22249 Don't recalculate viewport for wrong presShell
bdcea94 Fixed build issues
2d3ee83 Cleanup merge leftovers, compositor cleanup
203c37e Merge branch 'embedlite_compositorReworkProtectedVersion' into embedlite
80790a7 Implemented clean version of derived compositor
cffc00a Change preference defaults to match to Android port
618dd3c Cleanup Compositor
2b1dbd9 Remove old hacks around compositor destroy functionality
cee8876 Reset wrapper
c6e9454 Make embed Core init test pass.
171f479 Attempt to rewrite Compositor using simple interface approach and always in offscreen mode
e896436 Added initial version of gtest for Embedlite
2abb6a2 Enable default xul app info always
62f1594 Added weak reference interface
3526de8 Fixed compilation for bug 514280
a82cb73 Added temporary hack for rendering first compositor frame in offscreen mode
98b8897 Merge pull request #15 from rainemak/fixLocationChanged
2604f74 Sync to latest trunk, removed dependency on qt media resource policy
0d53e45 Call nsIEmbedBrowserChromeListener::OnLocationChanged with an exposable url
da9e6c7 Fixed resize probem with offscreen rendering
f264662 Browser with gecko30 stops rendering after being in background
90599b6 Update to latest version from bug 900908
8bc8fda Merge commit 'cfd536708f58670ae3b6e9811183641217b1a4ef' into embedlite
10e1a75 Bug 983208 - Fix progressive tile update calculations. r=botond, a=lsblakk, broke layers.low-precision-buffer without layers.progressive-paint Disable low precision preference for now
b33193d Enforce offscreen context creation
11f52d5 Cleanup compositor code
30f1a81 Merge branch 'embedlite' into tm_glcontext_wrapping
f80416a Sync with latest bug 994856 changes
7f02150 Initialize content listeners with frame metrics as soon as they are known
478aa1a Call init if current contex match context parameter
7432b0a Prepare GL context changes for upstream
34b257d Fix booster startup
9c4020b Merge branch 'up_7649261537c70095a9d5884bbd77cb6723a12d89' into embedlite
ce54225 Fixed dir provider compilation
ef67dc8 Fixed build for sb2 target
704f5d9 Merge commit '2dfec0638c20c965761a5fb0e747ff9ac22e1897' into embedlite
b9e9008 Fixed compiling bugs and bug 990869
8ce9ca6 Remove unused EmbedLiteViewThreadParent::mInTouchProcess
5f632c5 Added texture unit store/restore to keep embedded context in sane state
f7d87c2 Expose texture target value into API
22eb14d Restore most of the Bug 971914 - Don't set and restore state constantly inside CompositorOGL. r=nical
282a6a0 Fixed build
9e1d2f0 Partial fix for shutdown. still need to cleanup event queue and reconsider compositor destroy
0d3e70e Enable Fullscreen API preferences by default
ba1d720 Cleanup more TabChild stuff
03634b7 Merge commit 'c8a17e25111585c0eebb829f8208190ea432c71e' into embedlite
707869d Sync embedlite with 2699402 changes
ca4b528 Allow to build most of embedlite sources in unified mode
5be78bb Merge HandleViewportChange and share between TabChildHepers
f6aad0d Remove obsolete members
41cf25b Synchronize HandlePossibleViewportChange
90f8314 Move scrolling behavior
d224350 Sync observe function of tabChild
783b481 More TabChild merging
0b6df23 Share more TabChild stuff, messaging, helper functions
f3d1e65 Share TabChild code, part 1
6f5a915 Fixed work in debug mode
2216e21 Don't allow scripts to close windows.
8e3fe04 use AutoSafeJSContext to not crash in debug mode
f3ec04a Bug 956993 - Rely on OES_EGL_image_external for SharedSurface_EGLImage r=jgilbert
524ac3b Expose Window close request API
0c7f4cf Sync style with b2g/chrome/content/content.css
05a3364 [xulrunner] Make frame scrollbar invisible.
54ef028 Merge remote-tracking branch 'upstream/master' 7b878fa into embedlite Followup fix for bug 972555
59be9f0 Merge remote-tracking branch 'upstream/master' 'ef553488251730120c975577b9f3eedbe18db87c' into embedlite
0c435c5 Drop ScrollUpdate API, SendAsyncScrollEvent efficient enough
7057179 Set repaint interval values to default, and increase frequency of SendAsyncScroll notifications
d245d11 [xulrunner] decrease APZ repaint intervals to make scroll decorators move smoother
1caddd7 Fixed test compositon after land of bug 960866
45931a4 Fix jumping scroll decorators
c47c017 Part 1 - Deal with race when concurrently updating scroll offset from APZ and other places
ccb7a8f Bug 937317 - Make TabChildGlobal implement nsIGlobalObject. (embedlite version) r=bz
9a187ee Enable tiled thebes rendering back to embedlit
7803229 Fixed pan/fling repaint intervals
eed5cc3 Merge branch 'embedlite' into embedlite_upgrade
e961fb6 Sync embedlite API's with new APZC, need better sync and merge into embedlite_29 branch Merge commit 'dcea739f1565d630c32e166fb17cc440d6e4640b' into embedlite_upgrade
019f841 Fixed bug 957504
36ad22a Fix zoom-to-rect upon double tap
3d0279e Merge branch 'embedlite' into embedlite_upgrade
7c7b359 Merged with upstream
4a809a2 Apply viewport changes on View Resize
17bbace Folowup change for js jit hardfp problem, make zoom constraints work correctly, full sync of sync-tab branch
7a63920 Merge sync tab branch
8c62bf4 Apply more changes from sync-tab branch
9be263f Applied embedlite part for orientation changes
b26a541 Fixed compilation
7c87d5d Switch to new Qt5 widget port
9acebbe Add up-to-date IPDL interface for zooming API
54c946d Initialize GeckoController as soon as possible and setup compositor when it is ready
3178699 Drop old API
1456827 Merge remote-tracking branch 'c574bba735eba081e5dfb28a34b26b450cb7ba8c' into embedlite_upgrade
f6d0799 Merge remote-tracking branch 'c2d8037f017f007f59dfddbcb17e085a9a072523' into embedlite_upgrade
765175f Merge commit '163ee6130a239b893f1e0a75de5c8cfccfdf9ef0' into embedlite_upgrade
6f6272e Merge branch 'embedlite' into embedlite_upgrade
2cd6d75 Fixed passing proper scroll guid when blocking zoom on touch
e122782 Merge commit 'c0dd1c1e3fed7e4cb6bca0695736b2e687806291' into embedlite_upgrade
7cd09ca Fixed zooming (followup to bug 957790)
3b6cd0b Merge commit '073cad9d12b98e43650645e48c41fddba7331197' into embedlite_upgrade
5155b5e Merge commit '22ef961b401b95256123f9c032381241f31d8e59' into embedlite_upgrade
92445a0 Merge commit 'e396fc159d907387dcc1b1501c07cbc42b10210f' into embedlite_upgrade
7bacd4a Added workaround for bug 957504
923a972 Added gfxPlatform include
7d60680 Update old message
3947b3e Fixed SW rendering with embedlite
868dcb0 Disable SetIsBrowserInsideApp, because download manager does not allow to pass custom window load context
2eea155 Cleanup embedlite branch from obsolete changes
38dc1b4 Enable scrollable iframes for embedlite 1) Fix scroll styles, so mH/VScrollBox are not null 2) Added preference which would allow to enable apzc sub layers
6038625 Sync TabChildHelper.cpp with TabChild.cpp
f24c27f Remove UpdateScrollOffset completely
7e4bef7 Apply fix from bug 949132
805e0bd Temporary return updateScrollOffset API
b311ec6 Merge commit '3b7de5fbc9ea70b7dcd1e2f57c4551d75c715f15' into embedlite_upgrade_3b7de5fbc9ea70b7dcd1e2f57c4551d75c715f15 - ?
8e5e6f5 Fixed js stack assertion
32b74f2 Merge commit '8424078a2dea4dc3d19f3e5400810a093b236de9' into embedlite_upgrade_8424078a2dea4dc3d19f3e5400810a093b236de9. Scrolling jumps (UpdateScrollOffset removal consequences)
db1501e GOOD Merge commit '3290b08b017325f8e903c889ae796fce48d6e467' into embedlite_upgrade_3290b08b017325f8e903c889ae796fce48d6e467.
eb2dcea Created embedlite branch based on 9345aa8 of gecko-dev repository.
  • Loading branch information
rainemak committed May 26, 2020
2 parents ba36715 + 28c09d1 commit 24d15ad
Show file tree
Hide file tree
Showing 161 changed files with 17,923 additions and 0 deletions.
195 changes: 195 additions & 0 deletions embedding/embedlite/EmbedInitGlue.h
@@ -0,0 +1,195 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef EMBED_INIT_GLUE_H
#define EMBED_INIT_GLUE_H

#include <stdio.h>
#include "mozilla/embedlite/EmbedLiteAPI.h"

#include "nscore.h"

// getenv
#include <stdlib.h>
#include <iostream>

// XPCOMGlueStartup
#include "nsXPCOMGlue.h"

// XRE_ Functions
#include "nsXULAppAPI.h"

#if defined(XP_WIN)
#include <windows.h>
#include <stdlib.h>
#elif defined(XP_UNIX)
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/stat.h>
#endif

#ifdef XP_MACOSX
#include "MacQuirks.h"
#endif

#ifdef WIN32
//TODO: make this file fully X platform
# include <windows.h>
# undef MAX_PATH
# define MAX_PATH _MAX_PATH
#else
# include <unistd.h>
# include <string.h>
# ifndef PATH_MAX
# define PATH_MAX 1024
# endif
# define MAX_PATH PATH_MAX
#endif

#define _NSR_TO_BOOL(_res) \
_res == NS_OK ? true : false;

#ifdef XRE_HAS_DLL_BLOCKLIST
XRE_SetupDllBlocklistType XRE_SetupDllBlocklist = 0;
#endif
XRE_GetEmbedLiteType XRE_GetEmbedLite = 0;
XRE_InitEmbedding2Type XRE_InitEmbedding2 = 0;
XRE_TermEmbeddingType XRE_TermEmbedding = 0;
XRE_NotifyProfileType XRE_NotifyProfile = 0;
XRE_LockProfileDirectoryType XRE_LockProfileDirectory = 0;
XRE_AddManifestLocationType XRE_AddManifestLocation = 0;
XRE_GetBinaryPathType XRE_GetBinaryPath = 0;

static inline bool IsLibXulInThePath(const char* path, std::string& xpcomPath)
{
xpcomPath = path;
#ifdef XP_UNIX
xpcomPath += "/libxul";
xpcomPath += MOZ_DLL_SUFFIX;
struct stat buf;
return !stat(xpcomPath.c_str(), &buf);
#else
xpcomPath += "/xul";
xpcomPath += MOZ_DLL_SUFFIX;
NS_ERROR("Not implemented file detection for windows");
return true;
#endif
}


bool LoadEmbedLite(int argc = 0, char** argv = 0)
{
if (XRE_GetEmbedLite) {
printf("EmbedLite already loaded\n");
return false;
}

NS_LogInit();

nsresult rv;
// find xpcom shared lib (uses GRE_HOME env var if set, current DIR, or executable binary path)
std::string xpcomPath;
char temp[MAX_PATH];
char* greHome = getenv("GRE_HOME");

if (!greHome) {
greHome = getenv("PWD");
#ifdef XP_WIN
#else
if (greHome) {
printf("greHome from PWD:%s\n", greHome);
}
#endif
} else {
printf("greHome from GRE_HOME:%s\n", greHome);
}
if (!greHome) {
printf("GRE_HOME is not defined\n");
return _NSR_TO_BOOL(NS_ERROR_FAILURE);
}
if (!IsLibXulInThePath(greHome, xpcomPath)) {
if (argv && argc) {
printf("libxul.so not in gre home or PWD:%s, check in executable path\n", greHome);
char* lastslash = strrchr(argv[0], '/');
size_t path_size = &lastslash[0] - argv[0];
strncpy(temp, argv[0], path_size);
temp[path_size] = 0;
greHome = &temp[0];
}
}
if (!IsLibXulInThePath(greHome, xpcomPath)) {
printf("libxul.so is not found, in %s\n", xpcomPath.c_str());
greHome = getenv("BUILD_GRE_HOME");
}

if (!IsLibXulInThePath(greHome, xpcomPath)) {
printf("libxul.so is not found, in %s return fail\n", xpcomPath.c_str());
return false;
}

#ifdef XP_UNIX
char* greHomeLeak = strdup(greHome);
setenv("GRE_HOME", greHomeLeak, 1);
setenv("MOZILLA_FIVE_HOME", greHomeLeak, 1);
setenv("XRE_LIBXPCOM_PATH", strdup(xpcomPath.c_str()), 1);
#elif defined XP_WIN
std::string homeStr("GRE_HOME=");
homeStr += greHome;
putenv(strdup(homeStr.c_str()));

homeStr = "MOZILLA_FIVE_HOME=";
homeStr += greHome;
putenv(strdup(homeStr.c_str()));

homeStr = "XRE_LIBXPCOM_PATH=";
homeStr += xpcomPath.c_str();
putenv(strdup(homeStr.c_str()));
#endif

#ifdef XP_MACOSX
TriggerQuirks();
#endif

{
XPCOMGlueEnablePreload();
}

// start the glue, i.e. load and link against xpcom shared lib
rv = XPCOMGlueStartup(xpcomPath.c_str());
if (NS_FAILED(rv)) {
printf("Could not start XPCOM glue:%s.\n", xpcomPath.c_str());
return _NSR_TO_BOOL(NS_ERROR_FAILURE);
}

// load XUL functions
nsDynamicFunctionLoad nsFuncs[] = {
{ "XRE_GetEmbedLite", (NSFuncPtr*)& XRE_GetEmbedLite },
#ifdef XRE_HAS_DLL_BLOCKLIST
{ "XRE_SetupDllBlocklist", (NSFuncPtr*)& XRE_SetupDllBlocklist },
#endif
{ "XRE_InitEmbedding2", (NSFuncPtr*)& XRE_InitEmbedding2},
{ "XRE_TermEmbedding", (NSFuncPtr*)& XRE_TermEmbedding},
{ "XRE_NotifyProfile", (NSFuncPtr*)& XRE_NotifyProfile},
{ "XRE_LockProfileDirectory", (NSFuncPtr*)& XRE_LockProfileDirectory},
{ "XRE_AddManifestLocation", (NSFuncPtr*)& XRE_AddManifestLocation},
{ "XRE_GetBinaryPath", (NSFuncPtr*)& XRE_GetBinaryPath},
{0, 0}
};

rv = XPCOMGlueLoadXULFunctions(nsFuncs);
if (NS_FAILED(rv)) {
printf("Could not load XUL functions.\n");
return _NSR_TO_BOOL(NS_ERROR_FAILURE);
}

#ifdef XRE_HAS_DLL_BLOCKLIST
XRE_SetupDllBlocklist();
#endif

return true;
}

#endif // EMBED_INIT_GLUE_H
73 changes: 73 additions & 0 deletions embedding/embedlite/EmbedInputData.h
@@ -0,0 +1,73 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* vim: sw=2 ts=8 et :
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef mozilla_EmbedLite_EmbedInputData_h__
#define mozilla_EmbedLite_EmbedInputData_h__

#include <vector>

namespace mozilla {

namespace embedlite {

struct TouchPointF
{
TouchPointF(float x, float y)
: x(x)
, y(y)
{}

float x;
float y;
};

// Simplified wrapper for SingleTouchData of the InputData.h
struct TouchData
{
TouchData(int32_t identifier,
TouchPointF touchPoint,
float pressure)
: identifier(identifier)
, touchPoint(touchPoint)
, pressure(pressure)
{}

int32_t identifier;
TouchPointF touchPoint;
float pressure;
};

class EmbedTouchInput
{
public:
// Keep this sync with InputData.h
enum EmbedTouchType
{
MULTITOUCH_START,
MULTITOUCH_MOVE,
MULTITOUCH_END,
MULTITOUCH_CANCEL,

// Used as an upper bound for ContiguousEnumSerializer
MULTITOUCH_SENTINEL,
};

EmbedTouchInput(EmbedTouchType type, uint32_t timeStamp)
: type(type)
, timeStamp(timeStamp)
{}

EmbedTouchType type;
uint32_t timeStamp;

std::vector<TouchData> touches;
};

} // namespace embedlite
} // namespace mozilla

#endif // mozilla_EmbedLite_EmbedInputData_h__
20 changes: 20 additions & 0 deletions embedding/embedlite/EmbedLiteAPI.h
@@ -0,0 +1,20 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef EMBED_LITE_API_H
#define EMBED_LITE_API_H

#include "xrecore.h"

namespace mozilla {
namespace embedlite {
class EmbedLiteApp;
}
}

XRE_API(mozilla::embedlite::EmbedLiteApp*,
XRE_GetEmbedLite, ())

#endif // EMBED_LITE_API_H

0 comments on commit 24d15ad

Please sign in to comment.