- Collect DOM storages from all targets.
- Instantiate InspectorDOMStorage agent for local roots, make
it work with InspectedFrames.
- Add a test which dumps storage security origins.
- Do some origin checks on the frontend to avoid listing
"opaque" security origins which do not support storage.
- Check storage capabilities on the backend to avoid
crasing renderer later.
Bug: 850978, 844377
Change-Id: Ib4e2b444473638d896eb716fb7d9c587f5560335
Reviewed-on: https://chromium-review.googlesource.com/1096283
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#567024}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1600a1f6c38cc1e3e56d6ad5b48ca88f01ea8ab2
Previously CSS that was not correctly parsed would not appear in the
styles sidebar. If a mistake was made when editing CSS in the sidebar,
the property being edited could dissapear because it would no longer
be parsed correctly.
Bug: 813435
Change-Id: I20cb6b1e977545693c3f75171479d8e9041d83d9
Reviewed-on: https://chromium-review.googlesource.com/1089295
Commit-Queue: Joel Einbinder <einbinder@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#566196}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7e328358f9e11cda5257454afba56dd2a7cd0b72
Running Lighthouse on DevTools lead to these changes:
* Label our <select> toolbar items
* Don't use tabIndex=1 for our canvas elements
* Don't use li items in the network panel
* add lang=en to our html tags
Change-Id: I9fef3d731dbbcbb56c3f73d81fd5669d65fa9827
Reviewed-on: https://chromium-review.googlesource.com/1093399
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Joel Einbinder <einbinder@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#566195}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 237b755cd007b58b585ad34137353e11e2bc3ccd
When there is a violation group with thousands of messages, Console marks all
of them all as 'seen', but fails to mark the group as 'seen'. This leads to a
O(n^2) runtime when filtering. This CL marks groups as 'seen' in this case,
reducing a 3+ second filter on 5000 violations to <500ms.
Screenshot: https://imgur.com/a/ikWo1My
Bug: 851126
Change-Id: I69f5c87ca72c06efd4e305a19eb88d90316161b7
Reviewed-on: https://chromium-review.googlesource.com/1094254
Commit-Queue: Erik Luo <luoe@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#566169}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a7449532f628ffe5b05140d6c91f771f31af9606
Due to recent changes in the behavior of Array.p.sort, it seems that
some devtools layout tests became flaky.
Making the timestamp sorting stable seems (emperically) to fix or at
least improve the flakiness.
Change-Id: Ife60b893d0bcb230301dce01f504b46eff9d43cf
Reviewed-on: https://chromium-review.googlesource.com/1092470
Reviewed-by: Alexei Filippov <alph@chromium.org>
Commit-Queue: Simon Zünd <szuend@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#565938}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e417adddd3d5ab324aa8f11fd11e46df835ef198
Console assumes that every 'mousedown' event is followed by either a
'mouseup' or 'mouseleave' event. This key assumption allows muting
viewport updates for scrollbar dragging, wheel-up-from-bottom, and
pageUp events.
This assumption is false for right clicks that: occur too rapidly or
mouseup outside the window. This CL prevents viewport muting on
right clicks.
Screenshot of bug: https://imgur.com/a/iC2lkgU
Bug: 807682
Change-Id: I2bb4f103eadc28950968c451b80e3186733e32ce
Reviewed-on: https://chromium-review.googlesource.com/917982
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Joel Einbinder <einbinder@chromium.org>
Commit-Queue: Erik Luo <luoe@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#565812}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2e4850aa00809107324b200f13da152eedda50ea
There's an extra timestamp was added to the timestamps array so we can
easily calculate deltas from the timestamps.
However that happens before it performs CPUProfileDataModel._sortSamples
which once timestamps happen to be not sorted starts reordering both
timestamps and samples arrays. That sometimes causes last timestamp
item to be moved along with a missing value in samples array
somewhere in the middle effectively adding an extra 'undefined' item
to the samples array.
BUG=850892
Change-Id: Ie0706dadb031803698e3f8700bd4a08523201bef
Reviewed-on: https://chromium-review.googlesource.com/1093441
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#565804}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fe5b5f754ea2c92750a8f9eb81118f3cfc96beee
This overrides the default CodeMirror input logic to put more text in
the textarea.
CodeMirror uses an offscreen <textarea> to detect input. Due to
inconsistencies in the many browsers it supports, it simplifies things
by regularly checking if something is in the <textarea>, adding those
characters to the document, and then clearing the <textarea>. This
breaks assistive technology that wants to read from CodeMirror,
because the <textarea> that they interact with is constantly empty.
Because we target up-to-date Chrome, we can guarantee consistent
input events. This lets us leave the current line from the editor in
our <textarea>. CodeMirror still expects a mostly empty <textarea>, so
we pass CodeMirror a fake <textarea> that only contains the user's input.
Change-Id: I025a1937bfd66fa574fd692da079a5888d9cb529
Reviewed-on: https://chromium-review.googlesource.com/1020193
Commit-Queue: Joel Einbinder <einbinder@chromium.org>
Reviewed-by: Andrey Lushnikov <lushnikov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#564347}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d06dd5982b810b4c3576388ef3a31f060685dff7
CodeMirror's 'scroll clipping' process re-measures scrollbars upon zoom to
ensure that its artificial scrollbar is hidden. It assumes that the vertical
scrollbar width is equal to horizontal scrollbar height, which is false.
This CL updates dark theme's custom scrollbar height to be the same as its
width.
Screenshot: https://imgur.com/a/eMUQiIt
Bug: 770633
Change-Id: Iddfcca8bc48ee414c0307d6d9e4035e2ed8771f9
Reviewed-on: https://chromium-review.googlesource.com/1083595
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Erik Luo <luoe@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#564273}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 36d5b00c49c1adc54accc1e169951cabfda5ddb0
To make type checks using closure we generate protocol_externs, for
each domain we generate Protocol.${domainName}Dispatcher @interface.
SDK.${domainName}Dispatcher uses @implements with generated interface,
closure compiler in this case forces us to have all interface method
implemented.
Problem: when we try to add new event for one of V8 domains, we can not
add this notification and its implementation in the same CL, so closure
blocks landing new events in V8 domains.
We can resolve this problem by using @extends instead of @implements
for V8 domains. In this case closure will still check that if we
override something - we override it properly but allow us to not
override all events.
I tried this approach for Page domain as well since it contains a lot
of unused by DevTools events but my attempt failed because we have
SDK.ScreenCaptureModel. It implements dispatcher and extends model,
unfortunately closure does not support multiple inheritance and to
use @extends here we should extract dispatcher from ScreenCaptureModel.
R=dgozman@chromium.org
Bug: chromium:848849
Change-Id: I14fa87b53aeaff5bd7daea7dd36a6917688841cf
Reviewed-on: https://chromium-review.googlesource.com/1082594
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Andrey Lushnikov <lushnikov@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#563830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 14157eee77965e191ec21af278bdcb2aecf9f08e
CodeMirror change events can be batched, so multiple before change
events can happen before a change. If a line has not been processed
yet, we shouldn't overwrite it on the intermediate beforechange
or words can be left behind in the dictionary.
Change-Id: I056d95a85870cb1a5d25797159bad01628848edf
Reviewed-on: https://chromium-review.googlesource.com/1083213
Reviewed-by: Andrey Lushnikov <lushnikov@chromium.org>
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#563818}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: df8ba004326cd0a2182b002b29475111d7737a05
We used to listen to resize events from the root DevTools window or a
SplitWidget, but not when the viewport grows/shrinks due to toggling
the filter bar.
This CL updates the viewport in that case, too.
Bug: 807917
Change-Id: I7c5cfbe20f7e293f808e8138b2c7da0ab76df845
Reviewed-on: https://chromium-review.googlesource.com/1077757
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Erik Luo <luoe@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#563331}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4dcc9eb7b3652120ef1b3bd07bdd9b918c9a7d60
SuggestBox determines its preferred width by taking the character
length of the longest item, which includes whitespace. However,
whitespace is not preserved without 'white-space: pre', so
measurements are incorrect.
Screenshot: https://imgur.com/a/LcQEQ
Furthermore, preferred width measurements do not factor in the
scrollbar width.
Screenshot: https://imgur.com/a/x8MEF
Bug: 825386
Change-Id: I785dfca5d6a75832c62f41fa8140fb5f8c0dd3f1
Reviewed-on: https://chromium-review.googlesource.com/978937
Commit-Queue: Erik Luo <luoe@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#563129}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b43ea0045676c99221996b441a0bfcce9741fb47
Tooltips only show when the mouse target is visible/has offsetParent.
Elements using shadow DOM can have <content> elements in the event
path, which may be visible despite having no offsetParent.
Bug: 847387
Change-Id: Ie5dab99d27146787ad7b14bdf95c7932af1e712d
Reviewed-on: https://chromium-review.googlesource.com/1077328
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Erik Luo <luoe@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#563062}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 48044f127f5994b33fcec580a15cc46664c8e54f
The watches panel asynchronously shows the pane when a new watch is
added, but the panel must be showing before creating the editor
otherwise focus will not be moved properly.
Bug: 809908
Change-Id: Ieaf3805f937557a07f8554ede60bd3df8820ec0f
Reviewed-on: https://chromium-review.googlesource.com/1077652
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Joel Einbinder <einbinder@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#562701}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7fc4fd1b6242a9333f1f5ec42bbd85edd64ca644
Changing an element from translucent to opaque can slightly change its
bounding box. Doing this on hover can cause the element to flicker.
Bug: 847384
Change-Id: Ib52cb28b39b561517c23bfc454d876b12e314ca6
Reviewed-on: https://chromium-review.googlesource.com/1076386
Reviewed-by: Andrey Lushnikov <lushnikov@chromium.org>
Commit-Queue: Andrey Lushnikov <lushnikov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#562668}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fa718bcf8146558b23914cf301974249cd4efe07
We used to sort async events having the same start time by end time.
That added a non-deterministic behavior causing some events being swapped
if their start time accidentally happens to be the same.
BUG=823837
Change-Id: I6068da8f8c9d2b7a0730003b19bf37fb2d3af590
Reviewed-on: https://chromium-review.googlesource.com/1073612
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#562109}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1eda4c22b63a714e90ca8594ca796598eb1307c7
This consolidates the name, colon, and value into a single flex item,
which removes extraneous line breaks when copying text, improves
paragraph selection, and fixes some overlapping selection highlights.
Bug: 824625
Change-Id: I90e01990cbf8c2e90da4aba8a9a9bd0f035a8e67
Reviewed-on: https://chromium-review.googlesource.com/976329
Commit-Queue: Joel Einbinder <einbinder@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Erik Luo <luoe@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#562082}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 632db57a0254f5c56950416aa935988e2174029a
It is useful when debugging the certificate especially when failed to
load the signed exchange.
(When succeeded, we can view the certificate in Security panel)
This CL also changes "certUrl" to optional in PDL file, because this
could be null according to the spec.
Bug: 830505
Change-Id: I710d91bc43bd414d03aca7d4e3dfdb9342b10500
Reviewed-on: https://chromium-review.googlesource.com/1055407
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#561758}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4defbb6af0fda52f8a5ccc32ad5eb03cb31ce645