ae1db75b0bb3f8fb07791d8bfeaf86457d3242aa: Bug 1705246 [wpt PR 28497] - Update wpt metadata, a=testonly
moz-wptsync-bot <wptsync@mozilla.com> - Mon, 19 Apr 2021 16:34:01 +0000 - rev 577271
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705246 [wpt PR 28497] - Update wpt metadata, a=testonly wpt-pr: 28497 wpt-type: metadata
98d55c60fd3ef3a9489d0ec4ce965eb7564a4e83: Bug 1705246 [wpt PR 28497] - [LayoutNG] Fixedpos offset in a nested multicol, a=testonly
Alison Maher <almaher@microsoft.com> - Fri, 23 Apr 2021 10:20:31 +0000 - rev 577270
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705246 [wpt PR 28497] - [LayoutNG] Fixedpos offset in a nested multicol, a=testonly Automatic update from web-platform-tests [LayoutNG] Fixedpos offset in a nested multicol When a fixedpos is nested in another OOF inside a nested multicol, and the outer OOF is not positioned at top:0 inside the containing block of the fixedpos, the offset of the fixedpos was incorrect. The reason being that its static position was getting updated in NGContainerFragmentBuilder::PropagateOOFPositionedInfo() to take the offset of the OOF into account. This change makes sure that the static position no longer adds in this offset and instead is relative to its containing block. Bug: 1198672 Change-Id: I79ec28a036637b4a985fe41752be323845b8c440 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2827007 Commit-Queue: Alison Maher <almaher@microsoft.com> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#873160} -- wpt-commits: d69b6ed41a784586305b02fdafcc486acad20038 wpt-pr: 28497
a6d746e60eac0eddfe844c23ce265332c2bdefaa: Bug 1705238 [wpt PR 28494] - [LayoutNG] OOF positioned offset in a nested multicol, a=testonly
Alison Maher <almaher@microsoft.com> - Fri, 23 Apr 2021 10:20:26 +0000 - rev 577269
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705238 [wpt PR 28494] - [LayoutNG] OOF positioned offset in a nested multicol, a=testonly Automatic update from web-platform-tests [LayoutNG] OOF positioned offset in a nested multicol OOF positioned elements (abspos or fixedpos) in a nested multicol could get the wrong offset if the containing block started in a column that was not the first in a given multicol fragment. The reason being that we had adjusted the containing block offset in CL:2680070 to take into account columns from previous fragments. However, if the containing block was not in the first column in a multicol fragment, we would have already adjusted for this in NGContainerFragmentBuilder (given that its column's builder would have access to the previous column break token). To fix this, utilize the previous_break_token_ stored in NGBoxFragmentBuilder (which is available in both cases above) to determine the correct offset for the containing block. Instead of passing both this adjustment for the containing block and a bool to determine if we should propagate OOFs, a new base::Optional<LayoutUnit> variable is passed into PropagateOOFPositionedInfo() to determine both (credit: CL:2827892). This containing block adjustment is determined in NGBoxFragmentBuilder::BlockOffsetAdjustmentForFragmentainer(). Bug: 1198578 Change-Id: I3c183dd83ed45e240fb9f62347dd388e370b1510 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2822985 Commit-Queue: Alison Maher <almaher@microsoft.com> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#873126} -- wpt-commits: 16e47e623385c2ff468cd10fcb9d42b78d2b8e80 wpt-pr: 28494
eb555499a65824cd7ee0c340c744c56458e12d7a: Bug 1705565 [wpt PR 28528] - Revert "Expand synthesized clip layer by 1 pixel", a=testonly
Xianzhu Wang <wangxianzhu@chromium.org> - Fri, 23 Apr 2021 10:20:22 +0000 - rev 577268
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705565 [wpt PR 28528] - Revert "Expand synthesized clip layer by 1 pixel", a=testonly Automatic update from web-platform-tests Revert "Expand synthesized clip layer by 1 pixel" This reverts commit 8643a99de2538ac309252247a5fe90756d9014e9. Reason for revert: Caused crbug.com/1199366. The underlying issue is still unclear yet. Revert first, and we'll continue to investigate which will be tracked by crbug.com/1171601. Original change's description: > Expand synthesized clip layer by 1 pixel > > Though the clip mask layer and the masked layer are perfectly aligned in > blink and cc, the geometry of the quads may go through different mapping > code paths, depending on the types of the quads, causing slight > misalignment of the mask quad and masked quad and hairline align the > edges. Expand the mask layer by 1 pixel to ensure its coverage on the > masked layer in case of floating-point errors etc. > > Bug: 1171601 > Change-Id: I4b64e1b6147d4e003a1ad131a605ee4b9886d57f > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2786129 > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> > Reviewed-by: Philip Rogers <pdr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#869019} Bug: 1171601,1199366 Change-Id: Ibd2c8206c28e494290b42f0c46cee86e277942a5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2828563 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#873117} -- wpt-commits: 23ae23071d3c44ee4b6b5a625498229f6107a31c wpt-pr: 28528
ef2a75ca68e94c22e2eda5c0c3c6c69c82066b08: Bug 1694842 [wpt PR 27772] - Update wpt metadata, a=testonly
moz-wptsync-bot <wptsync@mozilla.com> - Fri, 16 Apr 2021 07:27:15 +0000 - rev 577267
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1694842 [wpt PR 27772] - Update wpt metadata, a=testonly wpt-pr: 27772 wpt-type: metadata
a9fd5930d73fbcaae35293da6a3e0efda9371ec1: Bug 1694842 [wpt PR 27772] - [webcodecs] Implement transfer semantics for VideoFrame, a=testonly
Dan Sanders <sandersd@chromium.org> - Fri, 23 Apr 2021 10:20:14 +0000 - rev 577266
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1694842 [wpt PR 27772] - [webcodecs] Implement transfer semantics for VideoFrame, a=testonly Automatic update from web-platform-tests [webcodecs] Implement transfer semantics for VideoFrame This CL adds paths for modules to implement transfer semantics: - ExtractTransferables() is split into the outer loop (stays in SerializedScriptValue) and the inner per-object processing which moves into V8ScriptValueSerializer. Modules can add implementations to V8ScriptValueSerializerForModules. - Transferables gains a generic TransferList map modelled after SerializedScriptValue::Attachment. The TransferList API includes a method for finalizing transfers, which is called from V8ScriptValueSerializer::FinalizeTransfer(). Using these APIs, transfer of VideoFrames is then implemented straightforwardly. Bug: 1178038 Change-Id: Iafdc02b368d09cdb04c6e48ef187a4733b14c0f5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2719085 Commit-Queue: Dan Sanders <sandersd@chromium.org> Reviewed-by: Jeremy Roman <jbroman@chromium.org> Reviewed-by: Thomas Guilbert <tguilbert@chromium.org> Cr-Commit-Position: refs/heads/master@{#873099} -- wpt-commits: 9dfd4b723781cf12e10810e2b758d56792b008ab wpt-pr: 27772
3aa2e813a4e3b2ae70351c636e7226f8d8bd3012: Bug 1705526 [wpt PR 28526] - Always add consumed block-size when calculating legacy static pos., a=testonly
Morten Stenshorne <mstensho@chromium.org> - Fri, 23 Apr 2021 10:20:10 +0000 - rev 577265
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705526 [wpt PR 28526] - Always add consumed block-size when calculating legacy static pos., a=testonly Automatic update from web-platform-tests Always add consumed block-size when calculating legacy static pos. We used to do it only when the parent of an OOF was a fragmentainer, but this is always needed for any descendant as well. The legacy code in LayoutBox::ComputeInlineStaticDistance() expects the block-offset to be relative to the parent in the flow thread coordinate space. Also initialize previous_break_token_ to nullptr. This was a mistake during oilpan conversion, which suddenly became a problem (it may have been safe-ish before, but not anymore). The new test abspos-autopos-contained-by-viewport-001.html would fail without this fix. Bug: 1199258 Change-Id: I7520cad9112485e908df3be33b354aec58332db8 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2826460 Reviewed-by: Alison Maher <almaher@microsoft.com> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#873069} -- wpt-commits: ac12ed34d2b923cac8af08055036679c3a080afb wpt-pr: 28526
128bb9ccf9c9da8e4c55388779c39e01b38e2092: Bug 1705517 [wpt PR 28525] - Revert "Include custom properties on computed CSSStyleDeclaration", a=testonly
Anders Hartvoll Ruud <andruud@chromium.org> - Fri, 23 Apr 2021 10:20:05 +0000 - rev 577264
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705517 [wpt PR 28525] - Revert "Include custom properties on computed CSSStyleDeclaration", a=testonly Automatic update from web-platform-tests Revert "Include custom properties on computed CSSStyleDeclaration" This reverts commit 3b8999adcdc905f13b22bbde6b198f158cb9d6c7. Reason for revert: Huge performance regressions. Bug: 949807 Fixed: 1199142 Original change's description: > Include custom properties on computed CSSStyleDeclaration > > Since we need a "stable" list of custom properties for length() > and item(), and we also need not-abysmal performance when calling > those functions, this CL caches a vector with the variables names > on ComputedStyle itself. > > In CSSComputedStyleDeclaration::item(), we check if the incoming > index is in the range of the standard properties, and if so return > the appropriate one. Otherwise, we're in the variable range (which > is defined per spec to appear after the standard properties), and > we'll fetch the list of variable names. > > Unfortunately the inclusion of custom properties requires a clean > style, which means length()/item() now updates style/layout as needed. > This might cause performance regressions, but I don't see a way around > this. > > Note: ComputedStyle::StyleInheritedVariables/NonInheritedVariables > were changed to return const pointers, as to not "leak mutability", > which would have made it hard to invalidate the cache. (Nothing > requires those return values to be non-const after StyleCascade > anyway). > > Note: ComputedStyle::GetVariableNames() has pretty good test coverage > in ComputedStyleTest already. Added a couple of new ones that target > cache invalidation. > > Fixed: 949807 > Change-Id: I6b181af5c4f025c4fd433de0a6ca221055c16693 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2822260 > Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> > Reviewed-by: Rune Lillesveen <futhark@chromium.org> > Cr-Commit-Position: refs/heads/master@{#872446} Change-Id: I071cc2e00838a17407fc0d1e5745db9894d59ceb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2829151 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Cr-Commit-Position: refs/heads/master@{#873035} -- wpt-commits: f3cbe18b3432c3cd16d6e3ca35c5277cf4fb92d4 wpt-pr: 28525
cb179cb7a5739ccc91d8acbff69600de5950c63a: Bug 1705508 [wpt PR 28524] - Fix WPT transform-inline test by using Ahem, a=testonly
Sahir Vellani <sahir.vellani@microsoft.com> - Fri, 23 Apr 2021 10:20:01 +0000 - rev 577263
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705508 [wpt PR 28524] - Fix WPT transform-inline test by using Ahem, a=testonly Automatic update from web-platform-tests Fix WPT transform-inline test by using Ahem transform-inline-001.html fails on Edge and Chrome due to a slight font mismatch. This issue is resolved by making the test use Ahem. This change does not detract from the original purpose of the test, which is CSS transforms. Bug: 1181103 Change-Id: Iea4aa777c1630e874810ba6c9dd55d5bfeb082ab Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2828954 Reviewed-by: Philip Rogers <pdr@chromium.org> Commit-Queue: Sahir Vellani <sahir.vellani@microsoft.com> Cr-Commit-Position: refs/heads/master@{#873009} -- wpt-commits: 505211ba4362d8bdb7431631b29a2923dfcb30b4 wpt-pr: 28524
04af745eb23147fd4ba85af0d8a2e05789a597bb: Bug 1705237 [wpt PR 28493] - CSSHSL for CSSColorValue, a=testonly
Aaron Krajeski <aaronhk@chromium.org> - Fri, 23 Apr 2021 10:19:50 +0000 - rev 577262
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705237 [wpt PR 28493] - CSSHSL for CSSColorValue, a=testonly Automatic update from web-platform-tests CSSHSL for CSSColorValue https://drafts.css-houdini.org/css-typed-om-1/#csshsl Bug: 1193099 Change-Id: I1442b6b730db26c7050fdae3aa640f575a77ac38 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2801694 Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Fernando Serboncini <fserb@chromium.org> Commit-Queue: Aaron Krajeski <aaronhk@chromium.org> Cr-Commit-Position: refs/heads/master@{#872994} -- wpt-commits: 74fd78f284bfada61e0ce2c8e59f5b27447fe43c wpt-pr: 28493
f5cf3fd164f0c8e2e85955bac25e2e0bc4ddd578: Bug 1705426 [wpt PR 28517] - Remove unused codecov integration, a=testonly
jgraham <james@hoppipolla.co.uk> - Fri, 23 Apr 2021 10:19:45 +0000 - rev 577261
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705426 [wpt PR 28517] - Remove unused codecov integration, a=testonly Automatic update from web-platform-tests Remove unused codecov integration (#28517) -- wpt-commits: de9cb9f69e677cd8098cdbb4680f4f3888efd9ee wpt-pr: 28517
75d42ecd99073485ad5fb28800208c7b2bae6731: Bug 1705377 [wpt PR 28506] - [ResourceTiming] Prefer PerformanceObserver over getEntriesByType in WPTs, a=testonly
Tom McKee <tommckee@chromium.org> - Fri, 23 Apr 2021 10:19:39 +0000 - rev 577260
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705377 [wpt PR 28506] - [ResourceTiming] Prefer PerformanceObserver over getEntriesByType in WPTs, a=testonly Automatic update from web-platform-tests [ResourceTiming] Prefer PerformanceObserver over getEntriesByType in WPTs Older versions of the Resource Timing spec don't specify a strong enough ordering constraint between an element's "onload" and the PerformanceResourceTiming entry being added to the Performance Timeline. As such, our strategy of calling "performance.getEntriesByType()" after the "onload" event fires isn't guaranteed to return the expected entry. This CL modifies our approach to use, and block on, a PerformanceObserver being notified of entries being added to the timeline. This eliminates a class of flakiness we were seeing during manual testing. Bug: 1171767 Change-Id: Ifa4995683f5ef4ff6e53f9780f6d485e6cfb3d81 GithubIssue: https://github.com/w3c/resource-timing/issues/254 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2826597 Reviewed-by: Yoav Weiss <yoavweiss@chromium.org> Commit-Queue: Tom McKee <tommckee@chromium.org> Cr-Commit-Position: refs/heads/master@{#872849} -- wpt-commits: d0d5cb6819ec7f30424ff838186ee1769d01e14f wpt-pr: 28506
cbd9801fb01a33f3b52b426bfa8133c801175d2e: Bug 1705346 [wpt PR 28503] - [Credentialless]: Make fetch.tentative.https.html more reliable., a=testonly
arthursonzogni <arthursonzogni@chromium.org> - Fri, 23 Apr 2021 10:19:34 +0000 - rev 577259
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705346 [wpt PR 28503] - [Credentialless]: Make fetch.tentative.https.html more reliable., a=testonly Automatic update from web-platform-tests [Credentialless]: Make fetch.tentative.https.html more reliable. Previously, the test was assuming the window can be closed immediately after sending the last fetch request. This is not true, because closing the window might interrupt previously scheduled fetch requests and fails the test. We need to wait for the test completion before assuming we can close the windows. I did a local test with 100 wpt run: - without fix: 16/100 failures. - with fix: 0/100 failures. Bug: 1175099,1198255 Change-Id: I70a56ba4821d46d12f45c38d8850c876c5957649 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2825904 Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by: Antonio Sartori <antoniosartori@chromium.org> Commit-Queue: Antonio Sartori <antoniosartori@chromium.org> Cr-Commit-Position: refs/heads/master@{#872837} -- wpt-commits: 6d4fca70173368916259efd9d0d713a9c232bedf wpt-pr: 28503
48966ae59398b6cbf4c909f6da363f30b0d21d30: Bug 1705099 [wpt PR 28474] - Update wpt metadata, a=testonly
moz-wptsync-bot <wptsync@mozilla.com> - Thu, 15 Apr 2021 14:06:17 +0000 - rev 577258
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705099 [wpt PR 28474] - Update wpt metadata, a=testonly wpt-pr: 28474 wpt-type: metadata
2a6c21e26458fac3bdb10bce53f23dc963df5193: Bug 1705099 [wpt PR 28474] - Sync all IDL with @webref/idl 1.1.0, a=testonly
Philip Jägenstedt <philip@foolip.org> - Fri, 23 Apr 2021 10:19:24 +0000 - rev 577257
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705099 [wpt PR 28474] - Sync all IDL with @webref/idl 1.1.0, a=testonly Automatic update from web-platform-tests Sync all IDL with @webref/idl 1.1.0 (#28474) -- wpt-commits: 7abd3a766345f5d2574848ed26f84cf697b23e20 wpt-pr: 28474
76dc00938bc93a2981597c144589a7c4dca88019: Bug 1705352 [wpt PR 28504] - [selectors] Simplify @supports check in :focus-visible tests, a=testonly
Manuel Rego Casasnovas <rego@igalia.com> - Fri, 23 Apr 2021 10:18:33 +0000 - rev 577256
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705352 [wpt PR 28504] - [selectors] Simplify @supports check in :focus-visible tests, a=testonly Automatic update from web-platform-tests [selectors] Simplify @supports check in :focus-visible tests -- wpt-commits: 19445e7b3990e1a72b99ebc86b81a8a496ee6a5f wpt-pr: 28504
489ebe9ddd3cce01cc137573cf91a2df9ad561c4: Bug 1695284 [wpt PR 27806] - [selectors] Add tests related to script focus and :focus-visible, a=testonly
Manuel Rego Casasnovas <rego@igalia.com> - Fri, 23 Apr 2021 10:18:14 +0000 - rev 577255
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1695284 [wpt PR 27806] - [selectors] Add tests related to script focus and :focus-visible, a=testonly Automatic update from web-platform-tests [selectors] Add tests related to script focus and :focus-visible -- [selectors] Mark some script focus and :focus-visible tests as tentative The tests reflect the current browser behavior, but the user expectations might be different in these. The spec text is still being worked on, so let's mark them as tentative at this stage. -- wpt-commits: d9b1b7f1be33ee72257970e4ad02991d2670c823, 70a9959076663507a5d115e06acc00aba1bdd2c3 wpt-pr: 27806
6eb30bb0ac7f141c0ed73f509a7a353a04a06447: Bug 1705236 [wpt PR 28492] - Update wpt metadata, a=testonly
moz-wptsync-bot <wptsync@mozilla.com> - Thu, 15 Apr 2021 12:51:06 +0000 - rev 577254
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705236 [wpt PR 28492] - Update wpt metadata, a=testonly wpt-pr: 28492 wpt-type: metadata
d94ada0a5dcc67e500bf968aad4484a6d7d3c91e: Bug 1705236 [wpt PR 28492] - NativeIO: Enable 3rd party cookie block on capacity allocation, a=testonly
Richard Stotz <rstz@chromium.org> - Fri, 23 Apr 2021 10:17:59 +0000 - rev 577253
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1705236 [wpt PR 28492] - NativeIO: Enable 3rd party cookie block on capacity allocation, a=testonly Automatic update from web-platform-tests NativeIO: Enable 3rd party cookie block on capacity allocation This change adds a check to all filesystem-like methods (requestCapacity, releaseCapacity, getRemainingCapacity) that makes them throw when 3rd party cookies are blocked and the call came from a 3rd party context (e.g. from within an iframe). This CL also adds a test that NativeIO does not crash the renderer when accessed from destroyed execution contexts. Bug: 1137788 Change-Id: Ifb0fcdae0dad0fc2eae5e061a6800520dffcef14 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821323 Reviewed-by: Marijn Kruisselbrink <mek@chromium.org> Reviewed-by: Christian Dullweber <dullweber@chromium.org> Commit-Queue: Richard Stotz <rstz@chromium.org> Cr-Commit-Position: refs/heads/master@{#872768} -- wpt-commits: 1441bb6cc4af8eb81a614873456a7a9c8d885854 wpt-pr: 28492
aad6c263f60af1fb478263b1e23b050ea977f7de: Bug 1704910 [wpt PR 28460] - Update wpt metadata, a=testonly
moz-wptsync-bot <wptsync@mozilla.com> - Thu, 15 Apr 2021 07:49:14 +0000 - rev 577252
Push 141827 by wptsync@mozilla.com at Sat, 24 Apr 2021 02:11:12 +0000
Bug 1704910 [wpt PR 28460] - Update wpt metadata, a=testonly wpt-pr: 28460 wpt-type: metadata
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip