`VideoCaptureAndroid.java` and `video_capture_android.cc` aren't a part of
WebRTC SDK now. So these are maintained by us.
Although `AndroidBridge::GetGlobalContextRef` seems to store the application
context as global reference, it isn't good due to possible leak. We should
simply use `GeckoAppShell.getApplicationContext` instead of JNI.
Differential Revision: https://phabricator.services.mozilla.com/D274710
This patch refactors the C++/JS side of EventDispatcher into a new
EventDispatcherBase class, which has no dependencies on jni or Android thanks
to passing around JS::Value. This will allow the iOS implementation in part 2
to be much smaller and share more code with the Android implementation.
When refactoring the EventDispatcher logic, I also noticed some small
simplifications (such as using `nsTObserverArray` rather than the hand-rolled
observer logic from the previous version of the patch), which have been
applied. The code was also updated to use proper thread-safety annotations.
Differential Revision: https://phabricator.services.mozilla.com/D241287
This reverts commit 23eb1407b7.
Revert "Bug 1953595 - Part 1: Refactor EventDispatcher to be more embedder-agnostic, r=geckoview-reviewers,nalexander"
This reverts commit 13b598fec0.
This patch refactors the C++/JS side of EventDispatcher into a new
EventDispatcherBase class, which has no dependencies on jni or Android thanks
to passing around JS::Value. This will allow the iOS implementation in part 2
to be much smaller and share more code with the Android implementation.
When refactoring the EventDispatcher logic, I also noticed some small
simplifications (such as using `nsTObserverArray` rather than the hand-rolled
observer logic from the previous version of the patch), which have been
applied. The code was also updated to use proper thread-safety annotations.
Differential Revision: https://phabricator.services.mozilla.com/D241287
This reverts commit 843fc1fc8a.
Revert "Bug 1953595 - Part 1: Refactor EventDispatcher to be more embedder-agnostic, r=geckoview-reviewers,nalexander"
This reverts commit 3582db2329.
This patch refactors the C++/JS side of EventDispatcher into a new
EventDispatcherBase class, which has no dependencies on jni or Android thanks
to passing around JS::Value. This will allow the iOS implementation in part 2
to be much smaller and share more code with the Android implementation.
When refactoring the EventDispatcher logic, I also noticed some small
simplifications (such as using `nsTObserverArray` rather than the hand-rolled
observer logic from the previous version of the patch), which have been
applied. The code was also updated to use proper thread-safety annotations.
Differential Revision: https://phabricator.services.mozilla.com/D241287
Actually, we can get Android release version from JNI generator, so it is
unnecessary to use `AndroidBridge` to get it.
Also, this cleans up unused AndroidBridge functions.
Differential Revision: https://phabricator.services.mozilla.com/D164431
- AndroidBridge inclues a lot of unused headers.
- Remove unused enum.
- Move AndroidSystemColor to nsLookAndFeel.h since this struct is used in it.
Differential Revision: https://phabricator.services.mozilla.com/D137595
As historical reason, AndroidBridge has a lot of JNI wrappers. But we have
auto-generation JNI wrappers now, so it is unnecessary to keep wrappers in
AndroidBridge for GfxInfo.
So I would like to remove AndroidBridge dependencies from GfxInfo.
Differential Revision: https://phabricator.services.mozilla.com/D135324
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.
Differential Revision: https://phabricator.services.mozilla.com/D106008
This patch adds a "named" EventDispatcher that can be accessed on both java and
javascript by calling
```
EventDispatcher.byName(...)
```
A named EventDispatcher will receive messages only from it's counterpart with
the same name and can be used to implement bidirectional communication like
WebExtension ports.
Differential Revision: https://phabricator.services.mozilla.com/D84260
This patch adds a "named" EventDispatcher that can be accessed on both java and
javascript by calling
```
EventDispatcher.byName(...)
```
A named EventDispatcher will receive messages only from it's counterpart with
the same name and can be used to implement bidirectional communication like
WebExtension ports.
Differential Revision: https://phabricator.services.mozilla.com/D84260
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.
find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
if [ -n "$interfaces" ]; then
if [[ "$interfaces" == *$'\n'* ]]; then
regexp="\("
for i in $interfaces; do regexp="$regexp$i\|"; done
regexp="${regexp%%\\\|}\)"
else
regexp="$interfaces"
fi
interface=$(basename "$path")
rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
if [ $hits -eq 0 ]; then
echo "Removing ${interface} from ${path2}"
grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
mv -f "$path2".tmp "$path2"
fi
done
fi
done
Differential Revision: https://phabricator.services.mozilla.com/D55444
Please note that it is the first reformat with clang-format 9
I only saw a fix in the .mm file
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D49056
This does many things:
1) stops producing (and consuming) `FennecJNI*` JNI wrappers
2) removes the :app and :thirdparty Gradle projects
3) removes relevant pieces of the Gradle target configuration
4) updates lints
5) purges old configurations
After this commit, the `mobile/android` project/application builds
only GeckoView.
Differential Revision: https://phabricator.services.mozilla.com/D46536
Summary: Actually, we only support `text/unicode` mime type on Android clipboard backend. But Android API 16+ supports `text/html`, so we should support this type since Chrome/Blink already supports it.
Reviewers: #geckoview-reviewers, snorp
Reviewed By: #geckoview-reviewers, snorp
Bug #: 676268
Differential Revision: https://phabricator.services.mozilla.com/D22659