1. 14 Feb, 2019 32 commits
  2. 13 Feb, 2019 8 commits
    • Julie Jeongeun Kim's avatar
      [s13n] Move CWVSyncController away from ProfileOAuth2TokenService · aabfd3cc
      Julie Jeongeun Kim authored
      This CL removes ProfileOAuth2TokenService and
      ProfileOAuth2TokenServiceIOSDelegate from CWVSyncController and
      uses IdentityManager instead of them.
      
      Bug: 913927
      Change-Id: I49970068e663c10af5472d083ef3621d83748db8
      Reviewed-on: https://chromium-review.googlesource.com/c/1461203Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
      Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
      Commit-Queue: Julie Jeongeun Kim <jkim@igalia.com>
      Cr-Commit-Position: refs/heads/master@{#631976}
      aabfd3cc
    • Dan Zhang's avatar
      Landing Recent QUIC changes until Sat Feb 9 03:43:24 2019. · 5ae7041a
      Dan Zhang authored
      No flag change
      
      Make QuicSpdyStream only reports ack on body, excluding headers bytes acked. Protected by version 99.
      
      Merge internal change: 233167078
      
      https://chromium-review.googlesource.com/c/1471111/
      
      Add |frame_len| argument to HttpDecoder::Visitor::OnHeadersFrameEnd().
      
      This will be used in cr/231494986.  That one is a quite large CL, so I'm trying
      to carve out pieces of it for easier review.
      
      Also, change HttpDecoder member and argument and return value and local variable types from size_t or uint64_t to QuicByteCount wherever it expresses number of bytes.
      
      n/a.  Change types in class used in QUIC v99 only.  Not flag protected.
      
      Merge internal change: 233149295
      
      https://chromium-review.googlesource.com/c/1470999/
      
      Create a QuartcEndpoint abstraction which creates sessions asynchronously.
      
      For now, this is just a wrapper around QuartcFactory.  It creates sessions
      asynchronously by scheduling a callback on a QuicAlarm.
      
      The only point to this construct is to force users to wait for a callback.
      
      QuartcEndpoint will serve a greater purpose in the future:  it will own
      session/dispatcher dependencies that the caller doesn't need, serve as a unified
      API for both client and server perspectives (useful because Quartc is
      peer-to-peer and application layer code is the same on both perspectives), and
      handle session establishment.
      
      We will start by migrating users from calling QuartcFactory directly to calling
      QuartcEndpoint instead, then replace QuartcFactory with an implementation of
      QuicDispatcher (for server-side version negotiation) or a version negotiation
      agent (for the client).  QuartcFactory will eventually cease to exist.
      
      Creating QuartcEndpoint and migrating callers away from QuartcFactory first
      makes it significantly easier to cannibalize the parts of the factory that
      handle connection and session creation without breaking callers.  These pieces
      need to be reorganized to allow use from the dispatcher.
      
      n/a (Quartc only)
      
      Merge internal change: 233082878
      
      https://chromium-review.googlesource.com/c/1468263/
      
      Remove unused ack_listener argument from QuicSpdyStream::WriteOrBufferBody. No functional change expected, not protected.
      
      Merge internal change: 233065023
      
      https://chromium-review.googlesource.com/c/1468262/
      
      Change a LOG(ERROR) to LOG(WARNING) in QuicPacketReader, and add a histogram for the size of dropped packets. Log & stats only, not protected.
      
      Merge internal change: 233055771
      
      https://chromium-review.googlesource.com/c/1468023/
      
      Add a new method to allow QuicClientBase to change local ports to simulate NAT rebinding and add a command line arg, --num_requests, to QuicClientBin to use it.
      
      n/a (Test only tools)
      
      Merge internal change: 233054987
      
      https://chromium-review.googlesource.com/c/1468003/
      
      Simplify the implementation of QuicFramer::BuildConnectivityProbingPacket(). Protected by FLAGS_quic_reloadable_flag_quic_simplify_build_connectivity_probing_packet
      
      Merge internal change: 232996256
      
      https://chromium-review.googlesource.com/c/1467981/
      
      Remove QuicFramer::BuildIetfDataPacket and make BuildDataPacket do the needful. Rename the guts of BuildIetfDataPacket to AddIetfFrame().
      
      n/a - Moving code around. No functional change.
      
      Merge internal change: 232985714
      
      https://chromium-review.googlesource.com/c/1467668/
      
      Split QuicConnectionHelperInterface from QuartcFactory.  Required for QuicDispatcher/QuartcEndpoint.
      
      When we adopt QuicDispatcher for server-side version negotiation, it needs to
      own its own instance of QuicConnectionHelperInterface.  The factory will
      eventually go away, so it can no longer serve as the connection helper for
      Quartc.  Instead, the factory will own a separate implementation of the
      connection helper interface, which can be used without the factory in the near
      future.
      
      n/a (Quartc only)
      
      Merge internal change: 232965722
      
      https://chromium-review.googlesource.com/c/1467381/
      
      Deprecate FLAGS_quic_reloadable_flag_quic_fix_last_packet_is_ietf_quic.
      
      Remove unused last_header_form_ from QuicFramer.
      
      Merge internal change: 232921237
      
      https://chromium-review.googlesource.com/c/1465982/
      
      Deprecate FLAGS_quic_reloadable_flag_quic_fix_mark_for_loss_retransmission.
      
      Merge internal change: 232913254
      
      https://chromium-review.googlesource.com/c/1466864/
      
      In QUIC, move ack_listener_ from QuicStream to QuicSpdyStream. No functional change expected. Not protected.
      
      Merge internal change: 232900726
      
      https://chromium-review.googlesource.com/c/1464114/
      
      Deprecate FLAGS_quic_reloadable_flag_quic_disallow_peer_ack_0.
      
      Merge internal change: 232899487
      
      https://chromium-review.googlesource.com/c/1464452/
      
      Initialize server address in QUIC tests.  Previously, GetProof would sometimes get called with an uninitialized server address.
      
      n/a (test only code)
      
      Merge internal change: 232559024
      
      https://chromium-review.googlesource.com/c/1464356/
      
      In QUIC, fix a potential BUILD error because of trying to get min of different types.
      
      Merge internal change: 232551850
      
      https://chromium-review.googlesource.com/c/1464133/
      
      Disable QUIC v39. Protected by BLOCKED FLAGS_quic_reloadable_flag_quic_disable_version_39.
      
      Merge internal change: 232527607
      
      https://chromium-review.googlesource.com/c/1464447/
      
      Rename QuicSimpleServerStreamPeer to TestStream and make it not a peer.
      
      n/a (test-only change)
      
      QuicSimpleServerStreamPeer is kind of a regular peer class: it is friend of QuicSimpleServerStream, and has static methods taking a QuicSimpleServerStream* argument.  At the same time, it is also a subclass of QuicSimpleServerStream, and has non-static methods that operate on base class members.  I find this confusing.
      
      This CL turns QuicSimpleServerStreamPeer into a regular derived class:
      no static methods, no friendship.  It also renames it accordingly.
      
      Merge internal change: 232526479
      
      https://chromium-review.googlesource.com/c/1464350/
      
      Add serializer/deserializer for IETF MAX_STREAMS and STREAMS_BLOCKED frames
      
      These replace the MAX_STREAM_ID and STREAM_ID_BLOCKED frames.
      The serializer/deserializer converts between the internal QuicMaxStreamIdFrame
      and QuicStreamIdBlockedFrame objects, which use absolute stream IDs, and the
      wire form of the new frames, which uses stream ID counts. The translation
      between the two is simple and straight forward.
      
      A number of tests have been changed to accomodate the new formats and
      logic -- in particular, dealing with the stream ID formats for  uni- &
      bi-directional streams and server- & client- initiated streams.
      
      A follow on CL will replace teh Quic..Frame objects with new ones
      for the new frames, with associated logic changes.
      
      N/A all code is V99 only and protected by the V99 flag.
      
      Merge internal change: 232523736
      
      https://chromium-review.googlesource.com/c/1464132/
      
      Change QuicDispatcher to take a pointer to QuicConfig.
      
      The constructor currently binds the config to a reference member.  This means
      the caller is required to keep the referred-to object alive for the lifetime of
      the QuicDispatcher.
      
      This behavior tripped me up when trying to adopt QuicDispatcher in Quartc, as I
      assumed QuicDispatcher would create a copy of the config.
      
      Changing this to a pointer conforms with advice from go/totw/116.  It makes it
      clearer that the caller is responsible for ensuring that the config outlives the
      dispatcher.
      
      Merge internal change: 232516491
      
      https://chromium-review.googlesource.com/c/1464446/
      
      (n/a) Deprecate FLAGS_quic_reloadable_flag_quic_aggregate_acked_stream_frames_2.
      
      Merge internal change: 232511987
      
      https://chromium-review.googlesource.com/c/1464107/
      
      R=rch@chromium.org
      
      Change-Id: I7f982c27514d17bc6947f420d42a0ed7b569002f
      Reviewed-on: https://chromium-review.googlesource.com/c/1471234Reviewed-by: default avatarRyan Hamilton <rch@chromium.org>
      Commit-Queue: Dan Zhang <danzh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#631975}
      5ae7041a
    • Alexey Baskakov's avatar
      WebApp: Disable 3-dot menu browser commands for off-the-record profiles. · 0db3e004
      Alexey Baskakov authored
      Incognito windows (WebContents) are backed by OffTheRecord profiles.
      
      Make BMO behavior match the legacy behavior.
      
      This is tested in HostedAppPWAOnlyTest.PopOutDisabledInIncognito
      (I've found that prototyping unified BMO install).
      
      Bug: 915043
      Change-Id: I5b3e7491989fb690538ea5892a5463ecec35770c
      Reviewed-on: https://chromium-review.googlesource.com/c/1469755Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
      Commit-Queue: Alexey Baskakov <loyso@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#631974}
      0db3e004
    • Brian White's avatar
      Fix sampled-in inversion for UKM events. · 86b41b0b
      Brian White authored
      There may be a follow-up CL that changes the class to have
      only RandInt() accessed through a virtual method and thus remove
      the non-deterministic part of the test.  However, in order to merge
      easily, this meat of this change is only the fix from "!=" to "=="
      and a test to verify the correction.
      
      Bug: 931710
      Change-Id: Idfe0cef847148aa99b19974f29b53388d0141e2f
      Reviewed-on: https://chromium-review.googlesource.com/c/1470943
      Commit-Queue: Brian White <bcwhite@chromium.org>
      Reviewed-by: default avatarBryan McQuade <bmcquade@chromium.org>
      Reviewed-by: default avatarRobert Kaplow <rkaplow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#631973}
      86b41b0b
    • Bo Liu's avatar
      Ensure page visibility is consistent after load · 0ac18784
      Bo Liu authored
      Broken case is WebContents::WasHidden is called before the first load
      then page visibility remains visible because nothing handles
      PageMsg_WasHidden, and nothing rechecks the state after first load.
      Note RenderView is invisible due to
      EnsureRenderFrameHostVisibilityConsistent.
      
      A related bug is that in this case RenderView is created to be visible
      and then marked visible after. Turns out fixing this will also
      correctly set page visibility, so this CL fixes this bug instead.
      
      Bug: 929860
      Change-Id: I30e5e7d9488eb68299fbb524363d01a9b5b4e558
      Reviewed-on: https://chromium-review.googlesource.com/c/1467641
      Commit-Queue: Bo <boliu@chromium.org>
      Reviewed-by: default avatardanakj <danakj@chromium.org>
      Reviewed-by: default avatarNasko Oskov <nasko@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#631972}
      0ac18784
    • Pavel Feldman's avatar
      DevTools: persist tab order relatively to the untouched panels as well. · 131f81df
      Pavel Feldman authored
      Bug: 930212
      Change-Id: I99100d4fd6fd952f29763de8b33ce277a85ffb58
      Reviewed-on: https://chromium-review.googlesource.com/c/1471258Reviewed-by: default avatarAlexei Filippov <alph@chromium.org>
      Commit-Queue: Alexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#631971}
      131f81df
    • Nico Weber's avatar
      Remove a few unnecessary semicolons. · 137fc847
      Nico Weber authored
      This CL was uploaded by git cl split.
      
      R=mgiuca@chromium.org
      
      Bug: 926235
      Change-Id: Idcdbb010ed84fa6a679af7d20b889a3f272e41e5
      Reviewed-on: https://chromium-review.googlesource.com/c/1464341
      Auto-Submit: Nico Weber <thakis@chromium.org>
      Commit-Queue: Yuri Wiitala <miu@chromium.org>
      Reviewed-by: default avatarYuri Wiitala <miu@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#631970}
      137fc847
    • Erik Anderson's avatar
      ensure sleep_at_least is guaranteed to sleep for the requested duration · 7961deae
      Erik Anderson authored
      Microsoft runs tests in a Hyper-V VM. The test external/wpt/resource-timing/resource-timing-level1.sub.html leverages wptserve's SyntheticResponse.py to request that each step of a response is delayed by 250ms. In our environment, even with the extra 15ms "padding" in sleep.py, we're seeing the timer return 5ms early which in turn causes the test to fail. This change updates the sleep_at_least function to, in a loop, explicitly check that it slept long enough and, if not, sleep again for a short interval.
      
      Change-Id: I2dbd8e6bd586dc661b45f94454d3b6b4613db1a5
      Reviewed-on: https://chromium-review.googlesource.com/c/1469655Reviewed-by: default avatarRobert Ma <robertma@chromium.org>
      Reviewed-by: default avatarYoav Weiss <yoavweiss@chromium.org>
      Commit-Queue: Erik Anderson <Erik.Anderson@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#631969}
      7961deae