Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

Merge some GN changes from master to next #382

Closed
wants to merge 30 commits into from

Conversation

msisov
Copy link

@msisov msisov commented Aug 31, 2016

merge #377, #378 and #381 from master to next

@rakuco
Copy link
Member

rakuco commented Aug 31, 2016

lgtm. One thing I said in the original pull requests is that all commits except for the backports can be squashed into the gyp versions, which you should also consider doing.
And don't forget my comment about backporting an upstream change in #381.

Yongsheng Zhu and others added 28 commits August 31, 2016 14:57
Chromium class inherits from Application directly. This is not suitable
for Crosswalk embedding API. Instead, define a new API which can pass Application
instance as the parameter instead of asking users' application inheriting from
Chromium Application.

It is caused by this upstream CL: https://codereview.chromium.org/159173002

M49 rebasing notes: adjusted to the following CLs:
 * https://codereview.chromium.org/1649963002
 * https://codereview.chromium.org/1678103006

M50 rebasing notes: adjusted to the following CLs:
 * https://codereview.chromium.org/1605993004

M53 rebasing notes: adapted to foolowing CLs:
 * https://codereview.chromium.org/2060293002

M53 rebasing notes: added GN support:
 * Add newly-introduced ApplicationStatusManager.java to base/BUILD.gn
…atusManager

When ApplicationStatus initialized after application started, the onActivityCreated(),
onActivityStarted() and onActivityResumed() callbacks will be missed.
This function will give the chance to simulate these three callbacks.

BUG=XWALK-1366

M50 Rebasing: Adapted to following changes,
 * https://codereview.chromium.org/1605993004
When activity_1 start activity_2(contains XWalkView), ApplicationStatus will start tracking when XWalkView initialized,
But ApplicationStatus will receive status such as onStop from activity_1, we do not need track activity_1, just ignore it.
For upstream, there is no such kind of case, ApplicationStatus will track all activities inside the package.

BUG=XWALK-1454
Why: There are requirements to customize the MediaPlayer resource
loading on Android which is implemented in Chromium code base.
Till now we have two points:
    1) Support the file:///android_asset in MediaPlayer.
    2) Support app scheme in the resource loading of MediaPlayer.
Unfortunately, the resource loading of MediaPlayer on Andoid goes
a different way from other ports and no interface to handle this.

How: Add a new interface ResourceLoadingFilter to filter the resource
loading(setDataSource) in MediaPlayerBridge, which could be used in
xwalk to do the customization by overriding the function of
shouldOverrideResourceLoading() in xwalk.

BUG=https://crosswalk-project.org/jira/browse/XWALK-880
Crash happens when releasing the audio resource of localusermedia in
openSL ES. On Android there are two ways to get the audio input:
openSL ES and java Recording API. We swtich to the Recording API as a
workaround of the bug. The limitation is Recording API only be avaiable
after version 15 of SDK.

BUG=XWALK-1833
To support the feature of launch screen. Added a new listener FirstRenderedFrameListener.
This listener will be triggered when the first visible content has been updated to the screen.

SPEC: https://docs.google.com/a/intel.com/document/d/17PuNuHRTQuREUpaCvj-eEx7uYi2avd-VW-oaMXMpvwo/edit?pli=1#
Design Doc: https://docs.google.com/a/intel.com/document/d/1YLajlZC7CkBOtEvzD6p6yeBr0HrPsaIGX8Eqhr3oTF4/edit#heading=h.mfsu3bk9566e
Bug: XWALK-637

Reworked for M37
Unlike SurfaceView, TextureView can be moved, transformed and animated,
but may consume a bit more memory resource. We need this since Crosswalk
embedding API should have the capability of animating XWalkView in the
embedder.

See the discussion in chromium graphics-dev group
https://groups.google.com/a/chromium.org/forum/#!topic/graphics-dev/Z0yE-PWQXc4

BUG=https://crosswalk-project.org/jira/browse/XWALK-1574
We do not need to initialize mSurfaceCallback if we are not using
SurfaceView.

BUG=https://crosswalk-project.org/jira/browse/XWALK-1887

[M49 notes: this commit used to be "[Android] Only initialize
 ContentReadbackHandler in onNativeLibraryLoaded for TextureView", and
 had to be reworked because ContentReadbackHandler was removed in
 http://crrev.com/1415803006 and http://crrev.com/1514403002, so we now
 only need to stop earlier when not using SurfaceView]
We started checking out this directory with Crosswalk PR#2426, but since
we do not have it in .gitignore the directory ends up being removed
every time we run gclient sync.
We support notifications in Android but upstream doesn't so we
should make sure they are enabled.

We should really consider if the "desktop" notifications are the way
forward for us in Android now that we have ServiceWorker and
push notifications.

https://codereview.chromium.org/920153002

BUG=XWALK-3653
Use this API to control whether the SurfaceView's surface is placed on top of its window.
Note this only works when SurfaceView is used. For TextureView, it doesn't work.

Related to XWALK-3778,XWALK-3742
Due to some ffmpeg changes which now statically build ffmpeg onto
Chromium/Crosswalk the component build was broken on Windows. It turns
out that it couldn't link due to missing symbols in ffmpeg.dll (the very
same we use in sysapp code). It's due to two changes in upstream :
- https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/467a5ef970
which now use ffmpeg.sigs to generate the exported symbols
- https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/59c940d188
which is a following patch after ffmpegsumo removal.

The code we have in chromium-crosswalk which adds the extra symbols
we use from ffmpeg needs to be adapted and the sigs file needs to be
renamed. See original patch :

crosswalk-project@60bc442
Embedders may want to put paks in res/raw instead of assets.
Because for Android Library project, assets is not handled well.
Add intercepter in ResourceExtractor to allow embedder to
provide the interceptable resources' list and the inputstream
to intercept with.
The demo at https://storage.googleapis.com/presentation-api/index.html
can be used to see how the API is works.
The Crosswalk Presentation API implementation on Windows requires
having a connected non-primary display (either wired (HDMI, Display Port, ...)
or wireless (miracast)).

BUG=XWALK-4811
Unlike WebView, XWalkView uses a ContentView object as its child view,
which is actually receiving all kinds of events such as touching and
clicking. To let the XWalkView object receive these events too, it's
necessary to override relevant methods of ContentView and redirect
them to the XWalkView object. So we add XWalkContentView and have it
extend ContentView. To make this possible, the contructor of ContentView
must be public.

XWalkContentView is a temporary solution. We are targeting to optimize
the hierarchy of XWalkView to make it more like WebView. This task can
be tracked via XWALK-6118.

BUG=XWALK-6014
Add Intel RSSDK based video capture device VideoCaptureDeviceRSWin.

It allows:
1. Crosswalk apps to share the RealSense camera with other native apps
   simultaneously.
2. Crosswalk apps to use getUserMedia API to preview RealSense camera
   in real-time while accessing RSSDK middlewares in Crosswalk extensions
   simultaneously.

This feature is behind "use_rssdk" build flag and "use-rs-video-capture"
runtime flag.

TEST=
On a device with RealSense camera and RSSDK, execute
1. DF_RawStreams.exe (RSSDK sample)
2. xwalk.exe --use-rs-video-capture
   https://webrtc.github.io/samples/src/content/devices/input-output/
Crosswalk and DF_RawStreams.exe should capture video frames from
RealSense camera simultaneously.

BUG=XWALK-6028
BUG=XWALK-5503

Some OSs (e.g. Windows and Linux) don't mark windows as hiden on screen
lock or when other opaque windows fully cover them.
Note that e.g. OSX and Android do this while Windows and Linux don't.
OnSoftVisibilityChanged enables that OS window state is kept as is (on
Linux and Windows) and that e.g. power saving PageVisibility API is still
properly triggered.

The first patch here targets Windows and screen lock.

branch pagevis
[windows] App does not support orientation lock

On Windows 8 and later, fullscreen is not mandatory to get application
prefered locking.
Patch here implements Screen orientation lock API for Windows.

BUG=XWALK-5002
If set the WindowBackground of Activity to RED, and webpage page's backgroudn to RED,
when application starts or resumes after click back key, it will showup a white screen
shortly. With this SetBackgroundColor, we can change the first screen to a fix color,
which can help to avoid white screen.

BUG=XWALK-4809, XWALK-4995

Conflicts:
	content/browser/android/content_view_core_impl.cc

[M50 Rebase: SetBackgroundColor() was removed in https://crrev.com/1651933003.
add back for content/browser/android/content_view_core_impl.h]
This setting, introduced in 070dd8c ("[Android] Rework multidex and
enable multidex for unit_tests_apk. (RELAND 2)"), caused our test APKs
to fail to build:

  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lorg/chromium/base/multidex/ChromiumMultiDex;

For now, revert the `generate_multidex_config` part of the change while
we investigate how to make things work without this commit.

BUG=XWALK-6547
BUG=XWALK-6625
Enable transparent TextureView when user changes the default SurfaceView to TextureView.

BUG=XWALK-6519
OverScrolled Event could be catch by WebView through Android View
System. But XWalkView is not a true view, so XWalkView need this patch
to port OverScrolled Event to it.

BUG=XWALK-4871
BUG=XWALK-4894
Those headers will be imported into chromium-crosswalk, so we need to
stop ignoring the directory.

BUG=XWALK-6661
These headers correspond to
https://cvs.khronos.org/svn/repos/registry/trunk/public/cl/api/1.2@30030.

The headers used to be pulled by Crosswalk's DEPS.xwalk, but with M49
the WebCL code that uses the OpenCL headers is always built, so we need
them in chromium-crosswalk for content_shell builds to work.

BUG=XWALK-6661
…ribute

The newly added 'AudioDestinationNode.devicePosition' attribute
helps to bind audio context time and performance time values.

Please see for more details:
WebAudio/web-audio-api#754
WebAudio/web-audio-api#12

For M51 rebase adapted to,
https://codereview.chromium.org/1773813007
Before this change calling of AudioOutputStream::AudioSourceCallback
method without stream position ended up in an empty implementation.

BUG=XWALK-6703
Those two files were erroneously added in commit bbc2a01 ("[Temp] Do not
enable generate_multidex_config by default on Android").

BUG=XWALK-6547
BUG=XWALK-6625
BUG=XWALK-6961
FontRendererStyle was excluded.

Fixing https://codereview.chromium.org/1944993003/ issue that missed
FontRendererStyle.cpp in gyp file
> This effectively makes it a configurable argument that can be changed by
> downstreams and users alike; so far, trying to change it via `gn args'
> failed with:
>
>   The variable "enable_webvr" was set as a build argument
>   but never appeared in a declare_args() block in any buildfile.
>
> BUG=389343
> R=bajones@chromium.org,brettw@chromium.org,dpranke@chromium.org
>
> Review-Url: https://codereview.chromium.org/2198003002
**IMPORTANT**
We actually intend to fix this properly. We are cherry-picking this
commit from the crosswalk-18 branch first in order to have a stable
baseline with no WebVR support propagating from Crosswalk 21 to 20 to
19. After that, we can start working on fixing this in 21 and 20 and, if
there is enough time, 19 too.

*From the original commit message:*

Move `CardboardVRDevice.java` to a different directory so that it is not
built by the `content_java` target even if `enable_webvr==0`.

This is a prerequisite for getting the code to build with
`enable_webvr=0`.

BUG=XWALK-6746

(cherry picked from commit e593418)

M53 rebasing notes: added GN support:

> [Temp] Make |enable_webvr==false| work in GN.
>
> This is a change that should be squashed into "[Temp] Make
> |enable_webvr==0| work", and just adds the required changes to the GN
> build so that it is aware of the fact that CardboardVRDevice.java
> resides in another directory.
>
> BUG=XWALK-6746
@msisov msisov closed this Aug 31, 2016
imreotto pushed a commit to tenta-browser/chromium-crosswalk that referenced this pull request Nov 2, 2017
I suspect it is caused from a race between closing the settings window
and Android apps being refreshed/delivered to the stylus handler, but
was unable to reproduce.

TBR=jdufault@google.com

(cherry picked from commit 4d6535e)

Bug: 766781
Change-Id: Ibfa96757abf94b98c8c8367a000537155a7ced05
Reviewed-on: https://chromium-review.googlesource.com/673748
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: Jacob Dufault <jdufault@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#503176}
Reviewed-on: https://chromium-review.googlesource.com/677465
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{crosswalk-project#382}
Cr-Branched-From: fa6a5d8-refs/heads/master@{#499098}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
9 participants