Changing in the intialization order of WeakPtrFactory such that all
member variables should appear before the WeakPtrFactory to ensure
that any WeakPtrs to Controller are invalidated before its members
variable's destructors are executed, rendering them invalid.
BUG=303818
Review URL: https://codereview.chromium.org/737353003
Cr-Commit-Position: refs/heads/master@{#305234}
The method is never called via virtual method dispatch, only directly on subclasses.
Review URL: https://codereview.chromium.org/701103002
Cr-Commit-Position: refs/heads/master@{#305222}
* Rename BeginFrameArgs::CreateTyped to BeginFrameArgs::Create and remove
other versions.
* The other constructors where not used anywhere.
* The non-typed version was accidentally being used to create a SYNCHRONOUS
BeginFrameArgs.
* Fixed testing methods to understand type information.
* Create method for converting the type enum to string.
BUG=346230
Review URL: https://codereview.chromium.org/742683002
Cr-Commit-Position: refs/heads/master@{#305218}
When a task is posted through the WebTestDelegate (used in
LayoutTests), it should go to the same task runner regardless of
whether it is a delayed task or not.
BUG=432129
Review URL: https://codereview.chromium.org/751563002
Cr-Commit-Position: refs/heads/master@{#305216}
This patch introduces two new referrer policy at the network level in order
to support stripping detail from the referrer header when a redirect
transitions across origins. These policies support both the "reduce referer
granularity" command-line flag, as well as the yet-to-be-implemented
"OriginWhenCrossOrigin" referrer policy specified at [1].
[1]: http://www.w3.org/TR/referrer-policy/#referrer-policy-state-origin-when-cross-origin
BUG=431711
Review URL: https://codereview.chromium.org/714813003
Cr-Commit-Position: refs/heads/master@{#305211}
The need for these dependencies was shaken out by the (local, so far) addition
of public_configs to //mojo/public targets that need to be propagated
throughout the build.
Review URL: https://codereview.chromium.org/742053002
Cr-Commit-Position: refs/heads/master@{#305194}
Adds dependencies that local work on moving the location in which code
from the Mojo repo is pulled in to Chromium shook out.
Review URL: https://codereview.chromium.org/744943002
Cr-Commit-Position: refs/heads/master@{#305192}
Split BrowserCompositorCALayerTreeMac into two parts. One part is the
ui::Compositor bits of the structure, and the other is the
AcceleratedWidgetMac which has the gfx::AcceleratedWidget bits of the
structure.
Update BrowserCompositorViewMac to explicitly hold these two parts, the
ui::Compositor and the AcceleratedWidgetMac, and rename it to
BrowserCompositorMac.
Make AcceleratedWidgetMacNSView provide the link to bind an
AcceleratedWidgetMac to draw the contents of an NSView. An
AcceleratedWidgetMac may be bound to multiple NSViews in sequence.
Update the recycling mechanism of BrowserCompositorMac to use this
binding mechanism.
Remove some of the few dependencies that AcceleratedWidgetMac would have
on content by making the callers for GotAcceleratedFrame specify a
callback for when the frame displays (in addition to the callback that
the client has, as the client may be far away from the caller).
The next steps after this are to move the AcceleratedWidgetMac to ui,
and then to typedef ui::AcceleratedWidgetMac* to gfx::AcceleratedWidget
for Mac.
BUG=424058
Review URL: https://codereview.chromium.org/745453002
Cr-Commit-Position: refs/heads/master@{#305188}
CdmContext is what a media pipeline needs from a CDM to decrypt (and decode) an
encrypted stream.
BUG=401264
Review URL: https://codereview.chromium.org/748473002
Cr-Commit-Position: refs/heads/master@{#305181}
There are still a few linker errors from missing files. I'll try to
get those fixed in a follow-on build, but this adds several
thousand edges as-is.
R=brettw@chromium.org
BUG=431177
Review URL: https://codereview.chromium.org/746003002
Cr-Commit-Position: refs/heads/master@{#305179}
Some people may not like pull-to-refresh. Some people may not like our
implementation of pull-to-reresh. Some people may not like refreshing
at all. Let's accomodate such users with a disabling override,
particularly now as we're experimenting with the initial version of the
effect.
The flag also allows for experiments gauging accidental activation and
other potentially negative side-effects.
Also remove the kEnableOverscrollNotifications flag; overscroll
notifications are now bundled with event acks, creating
minimal extra overhead for non-consuming platforms.
BUG=428429
Review URL: https://codereview.chromium.org/733293002
Cr-Commit-Position: refs/heads/master@{#305154}
This fixes the accessibility of the html select element and
html input elements with a type of date, time, and color.
BUG=378799
Review URL: https://codereview.chromium.org/739063002
Cr-Commit-Position: refs/heads/master@{#305145}
Include it directly in files which want it.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/733763003
Cr-Commit-Position: refs/heads/master@{#305137}
BrowserPlugins make URL requests on behalf of object tags. Requests on behalf of
object tags should be treated in a similar way to requests in behalf of frames
in that they are allowed to be intercepted as a stream request, however unlike frames they should never be downloaded. This CL allows
these requests to be intercepted in that way.
BUG=416310
TBR=mkosiba@chromium.org,benwells@chromium.org
Review URL: https://codereview.chromium.org/694773003
Cr-Commit-Position: refs/heads/master@{#305130}
There can be some delay between the message port being transferred to the
browser process and the renderer for the service worker being available, so
this change makes sure that during this period messages sent to these message
ports are queued, rather than get lost/cause assertions to fail.
Additionally, ports that are send to these ports while they are queued will be similarly delayed, and thus also need to be put in this special state.
Finally when for some reason launching the service worker fails all these ports (that are not associated with any renderer) need to be cleaned up, which might have to happen asynchronously, since the source renderer process might not have finished sending the message queue for this port yet.
Some layout tests for this are in https://codereview.chromium.org/729923004/
BUG=432678
Review URL: https://codereview.chromium.org/737833002
Cr-Commit-Position: refs/heads/master@{#305120}
- Added exclusive_write while writing to cache file, so that if there is any
case where two utility processes try to write to cache at same time, it could be prevented.
- Also added check to read minimum structure size bytes.
BUG=434503
R=cpu,ananta
Review URL: https://codereview.chromium.org/733253005
Cr-Commit-Position: refs/heads/master@{#305105}
corrects a bug with flushing and will make it easier to implement the
reorder queue.
BUG=133828
Review URL: https://codereview.chromium.org/706023004
Cr-Commit-Position: refs/heads/master@{#305098}
The settings are taken from the ui::Compositor's LayerTreeSettings. Previously it was just using the default LayerTreeSettings, which can be suboptimal.
Review URL: https://codereview.chromium.org/675083002
Cr-Commit-Position: refs/heads/master@{#305087}
This prevents proper testing of pinch-zoom as the limits change on every zoom
and limits are used to calculate the main frame size in virtual-viewport pinch
to zoom. This is part of a 3-sided patch:
1) Add a setPageScaleFactorLimits to EventSender
2) Change existing layout tests that use setPageScaleFactor to use this method
to set up the limits.
3) This patch removes the setPageScaleLimits call inside setPageScaleFactor.
BUG=435151
Review URL: https://codereview.chromium.org/738463003
Cr-Commit-Position: refs/heads/master@{#305084}
1/3 blink: https://codereview.chromium.org/732963003
- Intorduce originalURLViaServiceWorker in ResourceResponse and WebURLResponse
- Change CSP check to use originalURLViaServiceWorker if exists in ResourceFetcher::didReceiveResponse().
2/3 chromium: https://codereview.chromium.org/731983003 [THIS PATCH]
- Stop updating the request's URL in ResourceDispatcher::OnReceivedResponse() and WebURLLoaderImpl::Context::OnReceivedResponse().
- Set WebURLResponse's originalURLViaServiceWorker in WebURLLoaderImpl::PopulateURLResponse().
3/3 blink: https://codereview.chromium.org/732003002
- Change CSP check to use originalURLViaServiceWorker.
- Add LayoutTest for this bug.
BUG=433743
Review URL: https://codereview.chromium.org/731983003
Cr-Commit-Position: refs/heads/master@{#305075}
This still has one remaining issue in that there are some situation where MessagePortService in the browser process might unqueue these transferred message ports before the service worker has been started. That will be fixed in a separate CL.
https://codereview.chromium.org/730543005/ has a test for this fix.
BUG=432678
Review URL: https://codereview.chromium.org/733703002
Cr-Commit-Position: refs/heads/master@{#305074}
media::VideoFrame may be scaled lazily by having natural_size < visible_rect.size. PepperVideoSourceHost currently ignores this and sends the full resolution to the effects plugin anyway. This CL makes PepperVideoSourceHost respect natural_size by downscaling the frame if necessary before sending it to the effects plugin.
TEST=Open the camera in 1080p with e.g. https://apprtc.appspot.com/?debug=loopback&video=minWidth=1920,minHeight=1080. Join a Hangouts. Natural size will be set to 720p and trigger a rescaling.
Review URL: https://codereview.chromium.org/736033002
Cr-Commit-Position: refs/heads/master@{#305031}
This code was used when Android native controls were
used for fullscreen video instead of html5 controls.
Review URL: https://codereview.chromium.org/739613003
Cr-Commit-Position: refs/heads/master@{#305028}
Make the OverscrollRefresh effect take the target drag threshold as a
parameter. This isolates it from direct dependencies on the device scale
factor, making associated unit tests determnistics across all devices.
BUG=435125
Review URL: https://codereview.chromium.org/748433002
Cr-Commit-Position: refs/heads/master@{#305026}
Eliminated platform specific (stdio & Windows) File I/O calls and replaced with
the use of base::File. This makes Chrome's Env (nearly) platform agnostic while
simplifying the implementation.
BUG=431914
Review URL: https://codereview.chromium.org/710373002
Cr-Commit-Position: refs/heads/master@{#305020}
This patch removes the old Web Notifications code-path now
that we've switched to the new Workers-enabled path.
BUG=392187
Review URL: https://codereview.chromium.org/740543003
Cr-Commit-Position: refs/heads/master@{#305005}
Background: WebMediaPlayerAndroid's constructor does not know
video meta data. Meta data is received in OnVideoSizeChanged().
If ShouldUseVideoOverlayForEmbeddedEncryptedVideo answers true
WebMediaPlayerAndroid's constructor postpones stream texture
creation until OnVideoSizeChanged().
Problem: When constructor sets needs_establish_peer_ = false,
TryCreateStreamTextureProxyIfNeeded() does not create a proxy.
Without a proxy OnVideoSizeChanged() cannot create a stream
texture.
Solution: Once we get meta data, create proxy AND texture.
BUG=433833
TEST=Manual,
1. Play a Youtube clip (no black frame).
2. Play a purchased movie at Youtube (no black frame).
Review URL: https://codereview.chromium.org/730103002
Cr-Commit-Position: refs/heads/master@{#304995}
The original implementation sent clipboard data to be written over IPC
as a map of clipboard formats to 'parameters' for that format. The
parameters were just vectors of byte vectors. Needless to say, this
logic was complicated, fragile, and prone to bugs. In the browser
process, this resulted in the IPC validation logic being scattered
between ClipboardMessageFilter and Clipboard::DispatchObject.
The rewrite adds an IPC message for each flavor of data that the
renderer is allowed to write to the clipboard. On the browser side,
the logic is simply delegated to ScopedClipboardWriter. Since the
clipboard object map is no longer under the control of an untrusted
process, this allows the removal of a lot of validation logic.
Unfortunately, bitmap handling is still a bit complicated because it's
sent over shared memory, but all the validation logic has been moved
into ClipboardMessageFilter.
BUG=319285
TBR=avi@chromium.org,jamesr@chromium.org,wfh@chromium.org
Review URL: https://codereview.chromium.org/740763003
Cr-Commit-Position: refs/heads/master@{#304988}
We currently use a mixture of ints and uint16s for port numbers. This triggers a variety of "value possibly truncated" warnings on MSVC (currently disabled) wherever we implicitly truncate. Fix this by using uint16 consistently through more functions. (Using int consistently would be more problematic as the majority of third-party/system APIs that use port numbers use 16-bit types for them.)
By far the majority of these changes are fallout from changing IPEndPoint, which is widely used; it'd be difficult to split this CL up into smaller pieces :(
Note that I didn't use uint16_t to avoid introducing inconsistencies between existing uint16 usage and new uint16_t usage. Conversion of everything to uint16_t can happen later.
This CL was reviewed and approved in pieces in the following CLs:
https://codereview.chromium.org/716223002/https://codereview.chromium.org/717263003/https://codereview.chromium.org/717373002/https://codereview.chromium.org/718273002/https://codereview.chromium.org/722503002/
Committing as TBR to the original reviewers.
BUG=81439
TEST=none
TBR=gunsch,cpu,jhawkins,davidben,jyasskin,mmenke
Review URL: https://codereview.chromium.org/655063002
Cr-Commit-Position: refs/heads/master@{#304961}
Media source codec names will appear in chrome://media-internals
and be recorded by the PipelineStatus histogram.
BUG=431447
Review URL: https://codereview.chromium.org/743483002
Cr-Commit-Position: refs/heads/master@{#304943}
Modify pull-to-refresh drag movement, as well as the initial activation
animation, to more closely align with the default Android platform
effect.
BUG=428429
Review URL: https://codereview.chromium.org/733273004
Cr-Commit-Position: refs/heads/master@{#304931}