| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The setting of the transaction version used to be implemented with
Put(TRANSACTION_VERSION, ...), like other int64 EntryKernel fields.
This had the side effect of calling SaveOriginal() on the entry. That
had the side effect of creating unnecessary copies of the EntryKernels.
This change creates a new function,
MutableEntry::UpdateTransactionVersion() which does not try to save the
original entry. It also prevents the use of Put(TRANSACTION_VERSION)
and updates the only call site for this function.
BUG=241940,241813,238621
Review URL: https://chromiumcodereview.appspot.com/15376002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201905 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding this extra level of indirection through the app manifest was
needed to migrate to tango V2. It's no longer necessary and can cause
the main thread to sleep while accessing fields from package manager.
BUG=138506
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/15337006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201900 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a test for bookmark model association. It's not a
great test in terms of code coverage, but it's possible to turn it into
a useful benchmark by changing the kNumBookmarksPerFolder and
kNumFolders constants.
Also included in this commit is a small change to the WriteTransaction's
SaveOriginal method. The old code created a temporary
EntryKernelMutation, which had to be cleaned up as it went out of scope.
It turns out that destroying the four EntitySpecifics objects it
contains can be pretty expensive.
The performance impact isn't huge, but it is visible in the profiling
results. Since the fix is so trivial, the cost-benefit tradeoff is
pretty clearly in favor of fixing this.
BUG=241813,238621
Review URL: https://chromiumcodereview.appspot.com/15308003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201363 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the UniquePosition patch landed, it's no longer necessary to
process conflcits in order to properly detect position changes. Rather
than convert this to the new iteration API, we can simply ignore
ordering altogether and iterate iterate in whatever order happens to be
convenient. We can reliably detect position changes by comparing
UniquePosition values.
BUG=178275
Review URL: https://chromiumcodereview.appspot.com/14793023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200751 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change attempts to fix two semi-related issues in data type
throttling that were introduced in r194766. Data type throttling has
always had a few rough edge cases, but that commit introduced some
issues that must be fixed.
1:
Prior to r194766, data type throttling would block sync cycles only if
the source was LOCAL and all types were throttled. This meant that a
refresh request or notification could override data type throttling, if
it arrived at the right time.
That change made this behaviour much more deterministic. It would fail
to perform any sync cycles as long as the only local nudges that were
currently tracked were for throttled types. Even notificiations and
local refresh requests for these types will not be sufficient to force a
sync cycle.
This change tries to find a better balance. It will allow sync cycles
in the presence of unthrottled data types if one of the following is
true:
- There is an unserviced invalidation for any type.
- There is an unservice refresh request for any type.
- There is a local nudge for any non-throttled type.
2:
The other problem has to do with exponential backoff in the presence of
per-type throttling. In r194766, we made the assumption that we can
early-exit from attempted sync cycle only if there was some other reason
to perform a sync cycle later. Common causes of early-exit include
throttling, exponential backoff, and network connectivity issues, all of
which should be able to get back into a normal state on their own.
However, one of those early-exit causes is data type throttling. In
that case, there is no timer or notification that will restart sync once
the issue is resolved. This is a problem because DoNudgeSyncSessionJob
assumes that it can return without scheduling a retry in the "if
(!CanRunNudgeJobNow())" case, while the code that manages the
exponential backoff assumes the function that invokes
DoNudgeSyncSessionJob, TryCanaryJob(), will always either clear or
restart the wait interval.
To fix this issue, this change adds a small function to invoke the
exponential backoff retry callback, and gives it responsibility for
making sure the WaitInterval is always managed correctly.
BUG=239693
Review URL: https://chromiumcodereview.appspot.com/14710006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200655 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version uses URLFetcher instead of curl.
Original description (committed/reverted r198019):
"""
Initial version of Test Accounts service client. This client will
allow Chrome Sync tests to utilize the upcoming Test Accounts
service that allows short-term, exclusive access to test accounts
for the purpose of testing against real servers.
"""
BUG=
Review URL: https://chromiumcodereview.appspot.com/14591008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199805 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
The leak was introduced in r199136.
BUG=231693,138613
Review URL: https://chromiumcodereview.appspot.com/15001016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199355 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
* download time: time spent on downloading data for first time association.
* association wait time: time waiting for loading local model and association of preceding data types.
* association time: time spent on model association.
BUG=236466
Review URL: https://chromiumcodereview.appspot.com/14645020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199276 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes use of the protocol buffers added in r198250.
This adds code to the nudge tracker so it can keep more detailed
information about the reasons for fetching an update. This information
is copied into the per-type GetUpdateTriggers when we perform a
"triggered" GetUpdate.
There was no channel available to pass the nudge_tracker through to the
DownloadUpdatesCommand, so it ended up being passed through a
(maybe-NULL) member of the SyncSession. That's part of the reason why
this change ended up touching so many files.
The other reason why this change is so big is testing. Lots of tests
had to be updated with some amended for the new SyncScheduler function
signatures. This commit also includes quite a few test cases for the
NudgeTracker itself.
Because this change was delayed longer than expected, I've updated the
comments in sync.proto referencing M28 to reference M29 instead.
BUG=231693,138613
Review URL: https://chromiumcodereview.appspot.com/14963002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199136 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reverting revisions that rely on r198820 so to unbreak the build.
> Move sequenced_task_runner to base/task
>
> BUG=
> R=akalin@chromium.org
>
> Review URL: https://codereview.chromium.org/14927008
TBR=brettw@chromium.org
Review URL: https://codereview.chromium.org/14985007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198848 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
R=akalin@chromium.org
Review URL: https://codereview.chromium.org/14927008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198844 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a part of replacing most usages of the Python test server
with an in-process C++ test server that should be easier to debug.
BUG=96594
R=rch@chromium.org
Review URL: https://codereview.chromium.org/14691006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198783 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the distro name, but retain distro name as a fallback in case the hostname
fails. Uses gethostname() from unistd.h.
BUG=123827
TEST=Verify on a Linux machine that the hostname apppears in
chrome://sync-internals > Sync Node Browser > Root > Device Information.
Review URL: https://chromiumcodereview.appspot.com/14963003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198704 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=236029
R=akalin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14113050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198610 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fetch/refresh time of the sync credentials are plumbed through to the
server connection manager, which can then histogram their age in the event
that there is an auth failure.
BUG=none
R=tim@chromium.org
Review URL: https://codereview.chromium.org/14888003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198531 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still has no actual effect as operational bits are behind the --sync-enable-deferred-startup flag. If you pass that flag, autofill will now be permitted to kick off sync init (in fact, it will be the only thing that can kick off sync init, so you probably don't want to pass the flag yet!).
Next I'll add a fallback timer and plumb the flare to more datatypes; non Sync API types will have to call ProfileSyncService directly.
TBR=dhollowa@chromium.org
^ For web_data_service_factory as changes are just basic consequence of the parameter change to AutocompleteSyncableService already LGTM'd.
BUG=80194
Review URL: https://chromiumcodereview.appspot.com/14018026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198309 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows the client to specify a list of 'hints' when sending
a GetUpdate request to the server. It also adds a set of flags that can
be used to help the server determine whether or not the list of hints is
complete.
This change also adds flags to help the server infer the reason why the
client is requesting updates. These flags can be set on a per-data type
basis to indicate if there was a local refresh request or a local change
to the type.
BUG=138613,231693
Review URL: https://chromiumcodereview.appspot.com/13831012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198250 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
We now properly set either NEW_CLIENT (if !HasSyncSetupCompleted) or
NEWLY_SUPPORTED_DATATYPE otherwise.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/14884006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198220 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a part of replacing most usages of the Python test server
with an in-process C++ test server that should be easier to debug.
BUG=96594
R=rch@chromium.org
Review URL: https://codereview.chromium.org/14702004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198151 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
which failed compile on Mac bot.
This reverts commit r198019.
TBR=pvalenzuela@chromium.org
Review URL: https://codereview.chromium.org/14892003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198039 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
allow Chrome Sync tests to utilize the upcoming Test Accounts
service that allows short-term, exclusive access to test accounts
for the purpose of testing against real servers.
BUG=
Review URL: https://chromiumcodereview.appspot.com/14295014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198019 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This is only enabled for Linux (so far).
BUG=115047
Review URL: https://chromiumcodereview.appspot.com/14696007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197788 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
In r174057, enne@ added support for implicit testing to scoped_ptr<>. Removes
these in sync/ and chrome/browser/sync/.
BUG=232084
Review URL: https://chromiumcodereview.appspot.com/14411003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197441 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The service will now get time updates from sync's http bridge (with
time data from the sync server).
Original codereview by haitaol@chromium.org at
https://codereview.chromium.org/12211117/
BUG=177072
TBR=akalin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12833011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197258 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Need to know if the device supports adding google accounts.
BUG=235076
Review URL: https://chromiumcodereview.appspot.com/14314011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197093 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
It's no longer providing value as the MSVC warning is disabled during compilation. Refer to bug for details.
BUG=234765
Review URL: https://chromiumcodereview.appspot.com/14335008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196892 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=224019
Review URL: https://chromiumcodereview.appspot.com/14424008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196396 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Full history sync (and history delete directives) were off by default,
but turned on in M27 via an experiment. This meant that history from
signed-in devices was not visible on chrome://history until the browser
was restarted.
This CL make full history sync enabled by default, but retains a
command-line switch and about:flags option to disable it. It also
removes the option to disable delete directives only, since that
had the same effect as disabling full history sync.
TBR=brettw@chromium.org
BUG=233098
TEST=Start up Chrome in a fresh profile, and sign in. Go to
chrome://history and ensure that it says "Showing history from your
signed-in devices" at the top of the history page.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=196116
Review URL: https://codereview.chromium.org/14344002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196394 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Sync: Turn on full history sync by default.
>
> Full history sync (and history delete directives) were off by default,
> but turned on in M27 via an experiment. This meant that history from
> signed-in devices was not visible on chrome://history until the browser
> was restarted.
>
> This CL make full history sync enabled by default, but retains a
> command-line switch and about:flags option to disable it. It also
> removes the option to disable delete directives only, since that
> had the same effect as disabling full history sync.
>
> TBR=brettw@chromium.org
> BUG=233098
> TEST=Start up Chrome in a fresh profile, and sign in. Go to
> chrome://history and ensure that it says "Showing history from your
> signed-in devices" at the top of the history page.
>
> Review URL: https://chromiumcodereview.appspot.com/14344002
TBR=dubroy@chromium.org
Review URL: https://codereview.chromium.org/14387005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196124 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Full history sync (and history delete directives) were off by default,
but turned on in M27 via an experiment. This meant that history from
signed-in devices was not visible on chrome://history until the browser
was restarted.
This CL make full history sync enabled by default, but retains a
command-line switch and about:flags option to disable it. It also
removes the option to disable delete directives only, since that
had the same effect as disabling full history sync.
TBR=brettw@chromium.org
BUG=233098
TEST=Start up Chrome in a fresh profile, and sign in. Go to
chrome://history and ensure that it says "Showing history from your
signed-in devices" at the top of the history page.
Review URL: https://chromiumcodereview.appspot.com/14344002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196116 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds gzip support to UniquePosition encoding. The client
may choose to leave the value uncompressed, or to run the value through
gzip. It is currently configured to use gzip only when the uncompressed
value has a length greater than or equal to 128 bytes.
We've seen some UniquePositions grow to inconveniently large lengths.
These large positions are expensive to store and transmit, and, if they
grow large enough, might start to cause commit failures.
Fortunately, long UniquePosition values tend to contain a lot of
reundancy. A common pattern is long strings of 0xFF or 0x00 digits. I
expect that gzip will do a very good job of compressing long positions,
to the point where large positions are no longer a problem.
Since this is the first use of zlib within sync, this CL includes
adjustments to DEPS and .gyp files to declare the new dependency.
Clients that support this feature may start writing position values that
can't be decoded by older clients. The older clients will silently
discard position updates delivered in a format they can't understand.
Fortunately, the UniquePosition code hasn't left dev channel yet, and
only a small minority of users have these large bookmarks, so the impact
should be very limited.
BUG=145412
Review URL: https://chromiumcodereview.appspot.com/14348038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195608 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to adjust the number of favicons clients will maintain
as we determine how well we handle them.
BUG=154886
Review URL: https://chromiumcodereview.appspot.com/14117004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195074 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This DCHECK is frequently encountered when full history sync is
enabled, and since the case appears to be properly handled, it
shouldn't be a DCHECK anyways.
BUG=229901
Review URL: https://codereview.chromium.org/14229002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194856 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes SyncSessionJob entirely. The first step towards
this goal was to refactor all functions that depended on SyncSessionJob.
All these functions have either been inlined or modified to take
different parameters instead. DoSyncSessionJob was split into
two separate functions, one for configure jobs and one for nudge jobs,
which removes the need for SyncSessionJob's "purpose" member.
The SyncScheduler's pending_configure_job_ has been replaced with
a ConfigParams member, since that was the only part of the job still
being referenced. The pending_nudge_job_ has been replaced with
scheduled_nudge_time_ (which is similar to the old scheduled_start_
member of SyncSessionJob) and a new object called a NudgeTracker.
The NudgeTracker inherits the SyncSessionJob's responsibilities with
respect to coalescing nudge sources. The plan is to extend this class
to support more sophisticated nudge coalescing in the future. For now
it tries to emulate the old SyncSessionJob behaviour as closely as
possible.
Some of the refactoring does change behaviour. In particular, the
decision-making logic has been updated to fix issues 179515 and 155296.
BUG=175024,179515,155296
Review URL: https://chromiumcodereview.appspot.com/13743003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194766 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This data type should not be visible in the UI, as it will be configured automatically for managed users.
TBR=atwilson@chromium.org
BUG=229383
Review URL: https://codereview.chromium.org/14053004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194582 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Title truncation is now performed in the WriteNode, before we do the
idempotency checks. By fixing this and an issue in the favicon cache
that was leading to automatic rewrites we should significantly reduce
the number of useless sync cycles.
BUG=229658
Review URL: https://codereview.chromium.org/13953003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194243 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The XP bots are still red, and it's still whining about URL.DLL
> Lets try this again.
>
> Revert 193983 "Revert 193968 "Roll the DEPS for google-url.""
>
> > Revert 193968 "Roll the DEPS for google-url."
> >
> > > Roll the DEPS for google-url.
> > >
> > > And update all the references from build/temp_gyp/googleurl.gyp to url/url.gyp.
> > >
> > > This also changes googleurl.gyp to reference the files under url/, so that we
> > > don't break the Blink tree.
> > >
> > > BUG=229660
> > > R=brettw@chromium.org
> > > TBR=brettw@chromium.org
> > >
> > > Review URL: https://chromiumcodereview.appspot.com/14089011
> >
> > TBR=tfarina@chromium.org
> > Review URL: https://codereview.chromium.org/14028012
>
> TBR=michaeln@google.com
> Review URL: https://codereview.chromium.org/14109014
TBR=michaeln@google.com
Review URL: https://codereview.chromium.org/14263002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194151 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert 193983 "Revert 193968 "Roll the DEPS for google-url.""
> Revert 193968 "Roll the DEPS for google-url."
>
> > Roll the DEPS for google-url.
> >
> > And update all the references from build/temp_gyp/googleurl.gyp to url/url.gyp.
> >
> > This also changes googleurl.gyp to reference the files under url/, so that we
> > don't break the Blink tree.
> >
> > BUG=229660
> > R=brettw@chromium.org
> > TBR=brettw@chromium.org
> >
> > Review URL: https://chromiumcodereview.appspot.com/14089011
>
> TBR=tfarina@chromium.org
> Review URL: https://codereview.chromium.org/14028012
TBR=michaeln@google.com
Review URL: https://codereview.chromium.org/14109014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193992 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Roll the DEPS for google-url.
>
> And update all the references from build/temp_gyp/googleurl.gyp to url/url.gyp.
>
> This also changes googleurl.gyp to reference the files under url/, so that we
> don't break the Blink tree.
>
> BUG=229660
> R=brettw@chromium.org
> TBR=brettw@chromium.org
>
> Review URL: https://chromiumcodereview.appspot.com/14089011
TBR=tfarina@chromium.org
Review URL: https://codereview.chromium.org/14028012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193983 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And update all the references from build/temp_gyp/googleurl.gyp to url/url.gyp.
This also changes googleurl.gyp to reference the files under url/, so that we
don't break the Blink tree.
BUG=229660
R=brettw@chromium.org
TBR=brettw@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14089011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193968 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EnsureEndsWithSeparator used to check whether the file existed. This seems bad and unnecessary so I removed it.
I removed file_util::ContainsPath and used the existing file_util::IsParent instead. The functions descriptions are the same but the implementations do slightly different things, which is worrying. The only non-test use of this function to worry about is content/browser/storage_partition_impl_map.cc. As far as I see, the requirements for this seem OK, but I'm not very familiar with this.
After some discussion with akalin, I changed sync/internal_api/sync_manager_impl.cc to be a DCHECK that the path is absolute rather than make it absolute. The old code relied on the behavior of the old function that the argument would be unchanged if the file didn't exist, and this (possibly relative) path would be used later. This behavior doesn't make a lot of sense, and it looks like now that the path is always absolute, so I replaced this call with a DCHECK.
BUG=
Review URL: https://codereview.chromium.org/13196006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193855 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is required to build on iOS (with the Xcode 4.6 toolchain) in
C++11 mode, to avoid the error: "invalid suffix on literal; C++11
requires a space between literal and identifier"
BUG=226494
Review URL: https://chromiumcodereview.appspot.com/13721002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193361 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was generated by running the empty_string clang tool
across the Chromium Linux compilation database. Implicitly or
explicitly constructing std::string() with a "" argument is
inefficient as the caller needs to emit extra instructions to
pass an argument, and the constructor needlessly copies a byte
into internal storage. Rewriting these instances to simply call
the default constructor appears to save ~14-18 kilobytes on an
optimized release build.
BUG=none
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193020
Review URL: https://codereview.chromium.org/13145003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193040 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit e59558b78e8c6a1b0bd916a724724b638c3c91b6.
Revert "Fix build after r193020."
This reverts commit 558a35897f6b3ffbcaefde927c1f150b815d140a.
Revert "Really fix build after r193020."
This reverts commit e3748a79b523a8d365d4a33ef986eebb4186fa78.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193030 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was generated by running the empty_string clang tool
across the Chromium Linux compilation database. Implicitly or
explicitly constructing std::string() with a "" argument is
inefficient as the caller needs to emit extra instructions to
pass an argument, and the constructor needlessly copies a byte
into internal storage. Rewriting these instances to simply call
the default constructor appears to save ~14-18 kilobytes on an
optimized release build.
BUG=none
Review URL: https://codereview.chromium.org/13145003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193020 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change separates the tracking of what work needs to be done from
the decision of when to do it. Prior to this change, SyncSessionJobs
were owned either by Closures posted to the sync thread's message loop,
or held temporarily in unscheduled_nudge_storage_, a member of the
SyncScheduler. Following this change, there can be only two jobs in
existence, and they will be referenced only by the scoped_ptr members of
SyncScheduler named pending_nudge_job_ and pending_configure_job_.
This change, along with some previous changes to the way we schedule
tasks, makes it possible to simplify the job "saving" logic. Jobs with
purpose == NUDGE are saved by assigning them to pending_nudge_job_ or
coalescing them with the existing pending_nudge_job_. Jobs with purpose
== CONFIGURE are never coalesced, and can be saved in the
pending_configure_job_ member. These changes allow us to make
SyncSessionJob::Clone() obsolete.
The logic in ScheduleNudgeImpl() has been updated to take advantage of
the fact that the pending job is much easier to find now. It should now
be much better at coalescing its sources. In other words, there will be
less scenarios where it can drop notification hints. However, there are
still some cases in DecideOnJob() that may induce it to drop hints
unnecessarily.
The scheduling logic has been modified, too. We've removed support for
the nudge while in an exponential backoff interval. This makes it
possible to track the next wakeup time using a single timer, since the
wakeup event will be one of:
- The end of a throttled interval
- An end-of-backoff-interval retry
- A scheduled nudge
and these scenarios are now mutually exclusive.
BUG=175024
Review URL: https://chromiumcodereview.appspot.com/13422003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192666 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Image and tracking updates are now tracked separately, so that we properly
distinguish between adds/updates.
BUG=226539
Review URL: https://chromiumcodereview.appspot.com/13666003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192503 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Miscellaneous missing dependencies and a few more exports.
BUG=158821
Review URL: https://chromiumcodereview.appspot.com/12988003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191944 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change rewrites the bookmark positioning system to use absolute,
arbitrary-precision, unique positions from end-to-end.
First, it introduces the concept of a UNIQUE_BOOKMARK_TAG. This has a
similar format to the UNIQUE_CLIENT_TAG, though bookmarks have never
supported unique tags previously. For new items, it is initialized
based on the bookmark's originator client item ID (ie. the "c-" style
ID) and the originator's cache_guid. These values should be globally
unique.
Many previously created items that exist in the database do not have
this information available. Non-committed items will still have this
information, and will have their tags set correctly. Previously
committed items will have server style IDs and no hint as to what the
originator_cache_guid is. In that common case, we will initialize the
tag with a "fake" one based solely on the server ID. This has the
advantage of being something that all existing clients will agree on,
even it if new clients and updated items/the server will disagree with
them.
To bring everyone back into sync, whenever they receive an update
clients will access the included originator_cache_guid and
originator_client_item_id fields and reset the UNIQUE_BOOKMARK_TAG field
according to the values they find there. Over time, clients should
converge towards the same tag values.
Next, this change adds the UNIQUE_POSITION and SERVER_UNIQUE_POSITION
fields to each entry. See the UniquePosition class documentation for
more information on their behaviour. New items should have their local
position updated when they are first inserted into the list, which
should happen shortly after they are initialized. Existing items will
have these fields populated from the SERVER_ORDINAL_IN_PARENT field and
the genrated UNIQUE_BOOKMARK_TAG. Unfortunately, all outstanding local
changes will be lost during the migration.
With the addition of UNIQUE_POSITION fields comes the removal of the
PREV_ID and NEXT_ID fields. This required significant refactoring of
the Directory so it could continue to support the PutPredecessor(),
GetPredecessorId(), GetSuccessorId() and GetFirstChildId() functions. A
new class, ParentChildIndex, has been introduced to contain some of the
complexity introduced by the new system. See that class' documentation
for more information.
Communication with the server has also been affected by this change.
The client will now set the unique_position field on every update. It
will also set the legacy server_position_in_parent field with a value
derrived from a truncation of its local UNIQUE_POSITION. This replaces
the existing server position in parent calculation through
interpolation.
The receipt of updates has been changed as well. If the client receives
an update with a unique_position, it will apply it. If the update was
written by an older client, it will contain only the
server_position_in_parent. In that case, the client will use that
position and the unique tag derrived from the update to construct a
unique position that approximates the server_position_in_parent value.
This will work well if the clients have not exceeded the available
precision in an int64. Otherwise, some spurious re-positioning may
occur.
Finally, all these changes required some updates to the tests. Some
arbitrary position assertions had to be updated, since the arbitrary
ordering has changed. Some test helpers have been updated to no longer
automatically place bookmarks at the end of the list; that logic has
been moved to the tests themselves.
BUG=145412, 126505, 147715, 101852, 107744, 112203, 123429, 177521, 20011
Review URL: https://chromiumcodereview.appspot.com/11885024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191767 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=NONE
Review URL: https://chromiumcodereview.appspot.com/13323012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191730 0039d316-1c4b-4281-b951-d872f2087c98
|