Current implementation blocks the UI thread for a long period of time.
This change uses asynchronous operation to copy the frame buffer.
I have tested this manually with two cases:
1. Thumbnail generation
Tested thumbnails are generated successfully with --force-compositing-mode.
I have also verified that CopyTo() now completes almost instantaneously while
FinishCopy() completes in a relatively short time. Total time that UI thread
is blocked is about 1/4 of previous implementation.
2. Resource destruction
Manually tested that if CompositingIOSurface is destroyed before
asynchronous copy is finished then GL resources associated with the copy
is destroyed.
BUG=145587
Review URL: https://chromiumcodereview.appspot.com/10917307
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158395 0039d316-1c4b-4281-b951-d872f2087c98
I'm adding a new CCRendererSkia class to CC, providing support for
compositing a website to a software bitmap. However, the rest of the
software compositing pipeline (delegating shared-memory resources and
quadlists to the root compositor) is not yet done, so there's no way to
get this bitmap onto the screen. As a stopgap, add an adapter class that
uploads to a viewport-sized GL texture every frame, and a flag
--force-software-compositing to activate it.
BUG=124671
Review URL: https://chromiumcodereview.appspot.com/10873099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158388 0039d316-1c4b-4281-b951-d872f2087c98
This should allow embedded video to work properly
BUG=
Review URL: https://chromiumcodereview.appspot.com/10960039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158337 0039d316-1c4b-4281-b951-d872f2087c98
This CL shifts the commit point for a download to just after the download
file release has been dispatched. The download remains IN_PROGRESS as
far as the outside world is concerned, but at this point it is committed to
continue to completion.
BUG=123998
R=benjhayden@chromium.orgR=asanka@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10950015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158298 0039d316-1c4b-4281-b951-d872f2087c98
This behavior is same as desktop existing IMM32 implementation and this change only affects Metro/Chrome.
We can't introduce any tests until http://codereview.chromium.org/10912171 landing.
BUG=151587
TEST=Manually done one metro mode and desktop.
Review URL: https://chromiumcodereview.appspot.com/10964059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158291 0039d316-1c4b-4281-b951-d872f2087c98
BUG=143859
TEST=Chrome's UI still works on Linux and Chrome OS
Review URL: https://chromiumcodereview.appspot.com/10854242
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158289 0039d316-1c4b-4281-b951-d872f2087c98
When running in PERSONALITY_VIEW and a ContentSettings method is
called on a background thread, we must wait for the setting to
be applied on the native side before returning. This
ensures that the setting has taken effect for subsequent WebView
usage.
Ran the android trybots manually in codereview and only touches java, so no need for CQ to run all the other bots.
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/10969065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158259 0039d316-1c4b-4281-b951-d872f2087c98
This allows to simplify some places such as surface_texture_bridge.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10968009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158249 0039d316-1c4b-4281-b951-d872f2087c98
This is part 2. In part one we implement the semantics in blacklist. Now we hook it up with the "real" forcing code.
For now we only hook it up with Mac CGL port.
BUG=140114,131276,111720
TEST=tree
Review URL: https://codereview.chromium.org/10909221TBR=zmo@chromium.org
Review URL: https://codereview.chromium.org/10959061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158211 0039d316-1c4b-4281-b951-d872f2087c98
If Reusepicturebuffer is called when OMX port is being flushed
OMX_* call will error and force the decoder into error mode.
So delay the Fill buffer till state is not Resetting
BUG=chrome-os-partner:13711
TEST=by hand on snow
Change-Id: Ia581296a77d902b32cdd02f05da3a905af2acc42
Signed-off-by: Arun Mankuzhi <arun.m@samsung.com>
Review URL: https://chromiumcodereview.appspot.com/10916203
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158202 0039d316-1c4b-4281-b951-d872f2087c98
This code was added in an attempt to make the on-screen-keyboard function in desktop chrome. By coincidence, it messes up popup menus/drop-down boxes. Removing the code.
Issue 105637 tracks the OSK issue. We'll need to revisit/re-enable this code when we work on that.
BUG=139420
Review URL: https://chromiumcodereview.appspot.com/10825233
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158173 0039d316-1c4b-4281-b951-d872f2087c98
BUG=chrome-os-partner:12403
TEST=Play any H264 video from USB and observe correct orientation
Review URL: https://chromiumcodereview.appspot.com/10967047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158164 0039d316-1c4b-4281-b951-d872f2087c98
This is a change from the previous CL (https://codereview.chromium.org/10916160/). It turns out that not all the Android objects that create NativeWindow will have an activity, so we need this change.
BUG=116131
Review URL: https://chromiumcodereview.appspot.com/10962002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158159 0039d316-1c4b-4281-b951-d872f2087c98
The previous CL broke the build, because the changes in net_errors_java.template
didn't get the net_error_java target to be rebuilt. We needed a net.gyp change
that makes sure NetError.java gets recreated after the changes.
BUG=137967
TBR=jam@chromium.org, mkosiba@chromium.org, willchan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10963041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158146 0039d316-1c4b-4281-b951-d872f2087c98
Some of the nested directories in each partition have variable length path names. Prepending our isolated storage path structure used to take us over the to MAX_PATH for chrome-extension:// origins when creating the database files for subsystems like Local Storage.
With this change, on XP, assuming a 10-character user name, the Local Storage database file representing the chrome-extension: origin in the Default profile for user "abcdefghij" has this path:
C:\Documents and Settings\abcedfghij\Local Settings\Application Data\
Google\Chrome SxS\User Data\Default\Storage\
ext\bdlahefabekefwlefaancobndodocndn\def\Local Storage\
chrome-extension_bdlahefabekefwlefaancobndodocndn_0.localstorage-journal
which is 241 characters. This gives 19 characters of headroom from the 260 MAX_PATH.
Previously, when we used "Storage Partitions", "extensions", and "default" instead of "Storage, "ext", and "def", the same database file would have a path length of 263 characters.
This change doesn't completely solve the problem. If Local Storage is used on a super-long domain, we can still exceed MAX_PATH. However, using my own profile as an example, of 342 domains, none created paths longer than those of the chrome-extensions so this should be a pretty solid mitigation.
BUG=151450
Review URL: https://codereview.chromium.org/10967030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158136 0039d316-1c4b-4281-b951-d872f2087c98
Before we only stays on discrete GPU if any GL contexts are active.
Now we truly stay on discrete GPU, always.
This CL also remove --disable-gpu-switching;
use --gpu-switching=force_integrated/force_discrete instead.
Also, user's --gpu-switching option will overwrite the hardwired
force_discrete decision, i.e., if a user wants to stay on integrated
GPU and save battery, we honor that.
BUG=140114,131276,111720
TEST=tree
Review URL: https://codereview.chromium.org/10959050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158128 0039d316-1c4b-4281-b951-d872f2087c98
The first patch matched our previous mitigations. This adds new ones.
BUG=147752
Review URL: https://chromiumcodereview.appspot.com/10913305
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158124 0039d316-1c4b-4281-b951-d872f2087c98
- Add the gyp rules for the ChromiumTestShellTestAPK.
- Add the initial APK base class.
- Add a sample test that launches the activity.
BUG=
Review URL: https://chromiumcodereview.appspot.com/10943014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158106 0039d316-1c4b-4281-b951-d872f2087c98
For code clarity reasons, refactor ContentSettings to use an explicit
lock object and rename methods that expect the caller to hold the lock
as appropriate. Should be no functional change.
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/10969031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158100 0039d316-1c4b-4281-b951-d872f2087c98
The phantom window appearing in a different DPI device could be wrongly scaled
without doing this, since the original texture is calculated in the original
DPI but rendered in another display.
BUG=145968
TEST=run chromeos-chrome with --aura-host-window-size='0+0-500x500,600+0-500x500*2' --force-compositing-mode on linux, open a web page, and drag the window across the screens.
Review URL: https://chromiumcodereview.appspot.com/10941017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158099 0039d316-1c4b-4281-b951-d872f2087c98
It'll be "1" iff the respective setting is enabled, and null otherwise
BUG=151610
TEST=DoNotTrackTest.DOMProperty
Review URL: https://codereview.chromium.org/10960042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158089 0039d316-1c4b-4281-b951-d872f2087c98
This is part 2. In part one we implement the semantics in blacklist. Now we hook it up with the "real" forcing code.
For now we only hook it up with Mac CGL port.
BUG=140114,131276,111720
TEST=tree
Review URL: https://codereview.chromium.org/10909221
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158076 0039d316-1c4b-4281-b951-d872f2087c98
RETURN_AND_NOTIFY_ON_FAILURE in VaapiVideoDecodeAccelerator calls
Cleanup() directly in the case that it's running in the main thread.
Unfortunately, this deadlocks when Cleanup() tries to recursively
acquire the member lock_.
BUG=None
TEST=local build, run on lumpy
Change-Id: I8055d5db12c6758f356be9616c27f083a5d3a7bf
Review URL: https://chromiumcodereview.appspot.com/10943003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158069 0039d316-1c4b-4281-b951-d872f2087c98
This moves related callabcks from content_view_client to
web_contents_observer_android and makes the client a Java only API.
BUG=137967
Review URL: https://chromiumcodereview.appspot.com/10952029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158067 0039d316-1c4b-4281-b951-d872f2087c98
In preparation for adding a timestamp to NavigationEntry, explicitly
add a time argument to all variants of HistoryService::AddPage().
Make HistoryAddPageArgs a regular struct (i.e., not ref-counted). Add a default constructor for it.
Make arguments to AddPage() match HistoryAddPageArgs constructor.
Make HistoryBackend::AddPage avoid mutating its parameter.
BUG=128449
TBR=joi@chromium.org
Review URL: https://codereview.chromium.org/10963018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158063 0039d316-1c4b-4281-b951-d872f2087c98
This CL allows tap gestures to cause the IME to be shown on Android
It uses the new didHandleGestureEvent of WebViewCient that was added in http://trac.webkit.org/changeset/129029
When the IME is shown, we need to receive a text input state update to ensure the IME has
the correct state. For this reason, the message to show the IME has been added as part of
ViewHostMsg_TextInputStateChanged. To this end, a new parameter has been added to UpdateTextInputState
to specify whether the updtae should cause the IME to be shown or not.
BUG=147226
Review URL: https://chromiumcodereview.appspot.com/10962011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158042 0039d316-1c4b-4281-b951-d872f2087c98
BUG=150755
TEST= Goto https://apprtc.appspot.com/?r=&debug=loopback and let the page use camera and microphone. Hit ctrl-shift-j to open up the java script console. type localMediaStream.stop() to stop the local mediasream. Make sure the camera is no longer used.
Review URL: https://chromiumcodereview.appspot.com/10947030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158004 0039d316-1c4b-4281-b951-d872f2087c98