2015-08-28 19:08:32 +03:00
|
|
|
{
|
2016-05-02 21:35:38 +03:00
|
|
|
"dom.bluetooth.enabled": false,
|
2016-11-04 15:44:42 +03:00
|
|
|
"dom.bluetooth.testing.enabled": false,
|
2017-08-23 00:03:23 +03:00
|
|
|
"dom.compositionevent.enabled": false,
|
2017-06-05 18:38:03 +03:00
|
|
|
"dom.customelements.enabled": false,
|
2016-04-05 18:37:05 +03:00
|
|
|
"dom.forcetouch.enabled": false,
|
2017-04-14 00:10:42 +03:00
|
|
|
"dom.gamepad.enabled": false,
|
2015-08-28 19:08:32 +03:00
|
|
|
"dom.mouseevent.which.enabled": false,
|
|
|
|
"dom.mozbrowser.enabled": false,
|
2017-04-05 09:56:16 +03:00
|
|
|
"dom.mutation_observer.enabled": false,
|
2017-02-14 19:09:22 +03:00
|
|
|
"dom.permissions.enabled": false,
|
|
|
|
"dom.permissions.testing.allowed_in_nonsecure_contexts": false,
|
2016-06-02 14:18:59 +03:00
|
|
|
"dom.serviceworker.timeout_seconds": 60,
|
servo: Merge #17037 - Added Async HTML Tokenizer (from cynicaldevil:impl-Sink); r=nox
Design: I realized having two different parsers for sync and async was wrong, because the API for both was fundamentally the same. All I needed to do was create another Tokenizer, because `ParseNode` ( representation for nodes which are yet to be created) is used by the TreeBuilder and the Sink, and the `Tokenizer` is the 'lowermost' type concerned with these two types.
Therefore, I created one and placed it in `async_html.rs`, and also created a new Sink which deals with `ParseNode`s. I changed the methods in ServoParser to take an `async` argument too, which decides which Tokenizer will be used. The Tokenizer isn't exactly *async* for now, but this PR separates action creation from execution, which allows the async behaviour to be implemented later. Right now, all actions are executed soon after they are created.
The Sink consists of two Hashmaps, `nodes`, which contains the actual nodes, with the key being their corresponding `ParseNode`'s id, and `parse_node_data`, which contains metadata about the nodes.
It's still a bit rough, (I can't figure out how to deal with `complete_script` and `is_mathml_annotation_xml_integration_point`, along with some other parts I wrote in a hurry), but I believe the overall design is sound. I'd like to hear what you think about it.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c2dffdf72efe4274bb514407edc552b14fc0a4d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 706e41f53fd00305d695faa3c78757c6771cf6c9
2017-06-17 12:21:19 +03:00
|
|
|
"dom.servoparser.async_html_tokenizer.enabled": false,
|
2016-06-21 04:08:50 +03:00
|
|
|
"dom.testable_crash.enabled": false,
|
2016-05-02 21:35:38 +03:00
|
|
|
"dom.testbinding.enabled": false,
|
2017-01-09 17:39:45 +03:00
|
|
|
"dom.webvr.enabled": false,
|
|
|
|
"dom.webvr.event_polling_interval": 500,
|
2016-04-12 00:07:05 +03:00
|
|
|
"js.asmjs.enabled": true,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.asyncstack.enabled": false,
|
|
|
|
"js.baseline.enabled": true,
|
2016-04-12 00:07:05 +03:00
|
|
|
"js.baseline.unsafe_eager_compilation.enabled": false,
|
|
|
|
"js.discard_system_source.enabled": false,
|
|
|
|
"js.dump_stack_on_debuggee_would_run.enabled": false,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.ion.enabled": true,
|
|
|
|
"js.ion.offthread_compilation.enabled": true,
|
|
|
|
"js.ion.unsafe_eager_compilation.enabled": false,
|
|
|
|
"js.mem.gc.allocation_threshold_mb": 30,
|
2016-04-12 00:07:05 +03:00
|
|
|
"js.mem.gc.compacting.enabled": true,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.mem.gc.decommit_threshold_mb": 32,
|
2016-04-12 00:07:05 +03:00
|
|
|
"js.mem.gc.dynamic_heap_growth.enabled": true,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.mem.gc.dynamic_mark_slice.enabled": true,
|
|
|
|
"js.mem.gc.empty_chunk_count_max": 30,
|
|
|
|
"js.mem.gc.empty_chunk_count_min": 1,
|
2016-04-12 00:07:05 +03:00
|
|
|
"js.mem.gc.high_frequency_heap_growth_max": 300,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.mem.gc.high_frequency_heap_growth_min": 150,
|
2016-04-12 00:07:05 +03:00
|
|
|
"js.mem.gc.high_frequency_high_limit_mb": 500,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.mem.gc.high_frequency_low_limit_mb": 100,
|
|
|
|
"js.mem.gc.high_frequency_time_limit_ms": 1000,
|
|
|
|
"js.mem.gc.incremental.enabled": true,
|
|
|
|
"js.mem.gc.incremental.slice_ms": 10,
|
|
|
|
"js.mem.gc.low_frequency_heap_growth": 150,
|
|
|
|
"js.mem.gc.per_compartment.enabled": true,
|
|
|
|
"js.mem.gc.refresh_frame_slices.enabled": true,
|
2016-05-12 19:42:21 +03:00
|
|
|
"js.mem.gc.zeal.frequency": 100,
|
2016-11-07 16:41:34 +03:00
|
|
|
"js.mem.gc.zeal.level": 0,
|
|
|
|
"js.mem.high_water_mark": 128,
|
|
|
|
"js.mem.max": -1,
|
|
|
|
"js.native_regexp.enabled": true,
|
|
|
|
"js.parallel_parsing.enabled": true,
|
|
|
|
"js.shared_memory.enabled": true,
|
|
|
|
"js.strict.debug.enabled": false,
|
|
|
|
"js.strict.enabled": false,
|
|
|
|
"js.throw_on_asmjs_validation_failure.enabled": false,
|
|
|
|
"js.throw_on_debuggee_would_run.enabled": false,
|
|
|
|
"js.werror.enabled": false,
|
2016-07-20 21:38:31 +03:00
|
|
|
"layout.animations.test.enabled": false,
|
2015-08-28 19:08:32 +03:00
|
|
|
"layout.column-count.enabled": false,
|
|
|
|
"layout.column-gap.enabled": false,
|
2016-11-07 16:41:34 +03:00
|
|
|
"layout.column-width.enabled": false,
|
|
|
|
"layout.columns.enabled": false,
|
2015-08-28 19:08:32 +03:00
|
|
|
"layout.text-orientation.enabled": false,
|
|
|
|
"layout.viewport.enabled": false,
|
2015-09-25 17:18:06 +03:00
|
|
|
"layout.writing-mode.enabled": false,
|
2016-04-19 01:36:25 +03:00
|
|
|
"network.mime.sniff": false,
|
2017-01-15 02:08:56 +03:00
|
|
|
"session-history.max-length": 20,
|
2016-11-07 16:41:34 +03:00
|
|
|
"shell.builtin-key-shortcuts.enabled": true,
|
2016-12-29 21:28:37 +03:00
|
|
|
"shell.homepage": "https://servo.org",
|
servo: Merge #15773 - Android life cycle improvements and Gradle integration (from MortimerGoro:android_improvements); r=larsbergstrom,fabricedesre
This PR includes Android life cycle Improvements and Gradle integration for android packaging.
Android life cycle improvements are implemented in both the new [MainActivity](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-f43708b102e98272c2af7454b8846927) and native code in this related PR: https://github.com/servo/glutin/pull/117
- Properly handle the life cycle of the Android Activity: manage EGLContext lost & restore, and animation loop pause/resume when the app goes to background/foreground or orientation changes. In the current upstream Servo crashes when the app goes to background, activity stops or changes orientation
- Handle event loop awake for Servo Animation loop
- Handle screen resize & orientation events
- Implement new keep_screen_on preference which keeps Android device's screen from ever going to sleep: very useful for games or WebVR
- Implement a full screen mode enabled by preference: very useful for games or WebVR
- Implement new shell.native-orientation preference which allows to lock the Activity to a specific orientation
- Automatically sync new android assets to sdcard when the Android version code is changed. In the current upstream only the existence of the folder is check but resources are not updated
ofscreen_gl_context is updated to fix this: https://github.com/emilio/rust-offscreen-rendering-context/pull/83
This PR integrates Gradle build system for android packaging. Most of the code is implemented in this [build.gradle](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-89cdb9324addb994cdba0a158b209547) . We can get rid of [build-apk](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-40f5a7cf22f94aad059b2c1795347f5e) and manual jar dependency copying in the [package_commands.py](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-0d425b142c8d10ae6ac1f3711fb5c23a). The correct version of gradle is automatically downloaded using the gradlew wrapper.
Some improvements:
- Allows to include more complex android dependencies/SDKs like AARs, manifest auto-merging and more.
- Improved packaging process: The gradle project is always in the same folder, it uses relative paths for everything (assets, native libraries) and outputs the apk into the correct target folder in servo. In the current upstream, ant/python build system copies the manifest, project, resources and jars each time so you end with multiple copies of the same files.
- Improved dependency declaration. We do not have to manually copy jar dependencies in the python script anymore. The gradle build scripts itself is able to search for the dependencies in the correct servo target folder.
- Supports packaging apks with different architectures: armeabi, armeabi-v7a, aarch64. We still need to fix some native servo compilation issues with armeabi-v7a, aarch64 due to dependencies which use `make`. I'll push this changes in a separate PR of the python build files but the gradle file is already ready to handle that.
- We can easily create product flavors for different versions of Servo. For example a default browser, a WebVR browser with additional dependencies or a Servo android Webview component
- Fixes minor.major.52 build error when blurdroid cargo dependency is compiled using java8 (the default in new Linux machines). The gradle build file enables the new Jack compiler which supports Java8 dependencies.
- The project can be opened with Android Studio and run the brand new GPU debugger on any Android phone. I'll add some docs in the Wiki about this.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14568 (github issue number if applicable).
<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 2b5c17c43a517b6d6bd981f5fa905536dddd3beb
--HG--
rename : servo/support/android/apk/AndroidManifest.xml => servo/support/android/apk/app/src/main/AndroidManifest.xml
rename : servo/support/android/apk/res/mipmap/servo.png => servo/support/android/apk/app/src/main/res/mipmap/servo.png
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2da8cf56223c150832fddb3e8878432f4d64bc6e
2017-04-21 23:52:13 +03:00
|
|
|
"shell.keep_screen_on.enabled": false,
|
|
|
|
"shell.native-orientation": "both",
|
2017-06-07 12:27:29 +03:00
|
|
|
"shell.native-titlebar.enabled": true,
|
|
|
|
"webgl.testing.context_creation_error": false
|
2015-08-28 19:08:32 +03:00
|
|
|
}
|