Closed Bug 1152321 Opened 9 years ago Closed 4 years ago

Allow resizing the area selected by measuring tool via mouse

Categories

(DevTools :: Inspector, enhancement, P5)

enhancement

Tracking

(firefox40 wontfix, firefox75 verified)

VERIFIED FIXED
Firefox 75
Tracking Status
firefox40 --- wontfix
firefox75 --- verified

People

(Reporter: zer0, Assigned: sebo)

References

(Blocks 2 open bugs)

Details

(Keywords: dev-doc-complete)

Attachments

(5 files, 4 obsolete files)

19.50 KB, patch
zer0
: review-
zer0
: feedback+
Details | Diff | Splinter Review
9.39 KB, patch
zer0
: review+
Details | Diff | Splinter Review
3.99 KB, patch
zer0
: review-
Details | Diff | Splinter Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
The user should be able to resize the area selected by the measuring tool, without create a new selection.
Let's say this one is for implementing handles to allow resizing the area with the mouse and split out resizing using keyboard shortcuts as mentioned in bug 1209334 comment 4 into a separate issue.

Sebastian
Summary: It should be possible resize the area selected by measuring tool → Allow resizing the area selected by measuring tool via mouse
Severity: normal → enhancement
Version: Trunk → unspecified
See Also: → 1262782
Inspector bug triage (filter on CLIMBING SHOES).
Priority: -- → P3
Assignee: zer0 → sebastianzartner
Status: NEW → ASSIGNED
Because there was no activity on it lately, I took this bug over. Hope that's ok for you, Matteo. Can you please do a review of my patch? (It's my first real one, so bare with me if I did something wrong.)
Attachment #8888076 - Flags: feedback?(zer0)
See Also: → 1382452
Comment on attachment 8888076 [details] [diff] [review]
Added handlers to measuring tool allowing to resize the selected area via mouse

Review of attachment 8888076 [details] [diff] [review]:
-----------------------------------------------------------------

Looks great! I just tried to give you my feedback, I can also do the review if you want to. A couple of things that would be fantastic if you could address them.

1. I think it's important to actually see just the rectangle, so having the handlers visible all the time could not be optimal, especially for a small selection. I've a UI in mind but I think it would be already useful if we can display the handlers only when we're over the selection – and of course when we're over the handlers / we're dragging. A plus would be also just show the handler we're currently dragging. So, all the handlers hidden by default, going over the selection displays all the handlers, when we're dragging only the dragged handler is visible. What do you think?

2. It would be great if you can add also a unit test for this feature. You basically have to add a "browser_inspector_highlighter-measure_03.js" file (we have two at the moment), like this one: http://searchfox.org/mozilla-central/source/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js using as example the ones made for the geometry editor (as http://searchfox.org/mozilla-central/source/devtools/client/inspector/test/browser_inspector_highlighter-geometry_01.js, check also the others, we have 6 of them).

Said that, this is already a great improvement of what we have currently, so it would be great if you can do the 1st point, but we can also add it as follow up bug, and doing here just the unit test. It's up to you.

Thanks again for working on this!
Attachment #8888076 - Flags: feedback?(zer0) → feedback+
(In reply to Matteo Ferretti [:zer0] [:matteo] from comment #4)
> 1. I think it's important to actually see just the rectangle, so having the
> handlers visible all the time could not be optimal, especially for a small
> selection. I've a UI in mind but I think it would be already useful if we
> can display the handlers only when we're over the selection – and of course
> when we're over the handlers / we're dragging.

I see the issue that the edges and corners are hidden behind the handlers now. And this especially applies to small selections, of course. I just wonder, though, how the UX will be when users first have to hover the area and then have to move the mouse exactly over the handlers without leaving the area to avoid the handlers to get hidden again.
Maybe they should fade out slowly instead of just disappearing.

Having said that, it might be even better to allow to select and deselect the area like in a vector graphics program. What do you think about that? (This may even allow multiple measuring areas. But that may also be done as a followup bug.)

Furthermore, the problem mentioned above will be mitigated (or even be gone) once bug 1382452 is implemented.

> A plus would be also just
> show the handler we're currently dragging. So, all the handlers hidden by
> default, going over the selection displays all the handlers, when we're
> dragging only the dragged handler is visible. What do you think?

Sounds good me (even when that's again something what other programs I know usually don't do).

> 2. It would be great if you can add also a unit test for this feature.

Sure, I'll try to create one. Thanks for pointing at the related ones!

> Said that, this is already a great improvement of what we have currently, so
> it would be great if you can do the 1st point, but we can also add it as
> follow up bug, and doing here just the unit test. It's up to you.

I'll do the test first. The other point depends on your feedback regarding the "selectable area" idea.

Sebastian
Here's the unit test checking the new feature (not including the requested changes for the handler display yet).
Attachment #8888859 - Flags: review?(zer0)
Component: Developer Tools: Inspector → Developer Tools: Measuring Tool
Unfortunately, I couldn't get the display toggling of the handlers on hovering the measuring area to work. For some reason the "mouseenter" and "mouseleave" events are not fired and I can't find out why.

So this patch only includes the hiding of the other handlers while dragging a handler.

If possible, let's revisit the initial hiding of the handlers and their display on area hover in a separate bug, so we can finish this one up.

Please let me know if something's missing and what the next steps are.
Attachment #8890573 - Flags: review?(zer0)
Attachment #8888076 - Flags: review?(zer0)
Matteo, once you're back from PTO could you please review my patches?

Sebastian
Flags: needinfo?(zer0)
(In reply to Sebastian Zartner [:sebo] from comment #8)
> Matteo, once you're back from PTO could you please review my patches?

Sorry for the delay Sebastian, I've some patches that are conflicting with yours but I'd like to land yours first – so you don't have to deal with rebasing and refactoring.

I'm hoping to finish to review yours today.
Flags: needinfo?(zer0)
Comment on attachment 8888076 [details] [diff] [review]
Added handlers to measuring tool allowing to resize the selected area via mouse

Review of attachment 8888076 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good, thanks! My apologies for the delay. I'm setting r- just because I'd like to have a second round of review after the comments are addressed; but I promise this time I'll be quicker. :) You can also squash the two review in one (this one and the one that hides the handlers), keeping only the unit test as separate patch.

Thanks!

::: devtools/server/actors/highlighters.css
@@ +429,5 @@
> +:-moz-native-anonymous .measuring-tool-handler-bottomleft {
> +  cursor: nesw-resize;
> +}
> +
> +:-moz-native-anonymous .measuring-tool-handler-topleft.mirrored,

I think you can move the .mirrored to the `tool` node, since it's the whole thing that is mirrored, not the single handlers, so having something like:

:-moz-native-anonymous .mirrored :-moz-any(.measuring-tool-handler-topleft, .measuring-tool-handler-bottomright) {
  cursor: nesw-resize;
}

(or, if you don't want use `moz-any`, just list the rules)

That would also help to avoid a loop later.

@@ +447,5 @@
> +:-moz-native-anonymous [dragging] .measuring-tool-handler-bottom,
> +:-moz-native-anonymous [dragging] .measuring-tool-handler-bottomleft,
> +:-moz-native-anonymous [dragging] .measuring-tool-handler-left,
> +:-moz-native-anonymous [dragging] .measuring-tool-handler-topleft {
> +  cursor: grabbing;

The grabbing doesn't seems to be displayed, at least on OSX and with both patches applied. I'm fine to remove those rules and keep the resize icon.

::: devtools/server/actors/highlighters/measuring-tool.js
@@ +27,2 @@
>  const SIDES = ["top", "right", "bottom", "left"];
> +const CORNERS = ["topleft", "topright", "bottomleft", "bottomright"];

You probably can have directly a `HANDLERS` const, instead of `CORNERS` (that also includes the `SIDES`), since you almost always iterate the sum of CORNERS and SIDES (except for one case, that I think we could manage in a different way).

@@ +44,5 @@
>    };
>  
>    let { pageListenerTarget } = highlighterEnv;
>  
> +  // Register the geometry editor instance to all events we're interested in.

s/geometry editor/measuring tool

@@ +165,5 @@
> +        attributes: {
> +          "class": "handler-" + sideOrCorner,
> +          "id": "handler-" + sideOrCorner,
> +          "r": "4",
> +          "data-side-or-corner": sideOrCorner,

I think we can remove this attribute. We have already this data in the `id`, and if I'm not mistaken below in the code we just want to know if we're dealing with an handler.

@@ +271,5 @@
>    setSize(w, h) {
>      this.setCoords(undefined, undefined, w, h);
>    },
>  
> +  setPosition(x, y) {

What is that about? It doesn't seems used. If you want to introduce `setPosition` I think we should also have `setSize`, and get rid of `setCoords`.

@@ +324,5 @@
>      this.getElement("diagonal-path").setAttribute("d", linedir);
>      this.getElement("tool").setAttribute("transform", `translate(${x},${y})`);
>    },
>  
> +  updateLabel(type, x, y) {

Could you elaborate why this change?

I would prefer keep `updateLabel` just accepting the type of label to update; passing also the coordinates seems confusing.

Depends by the reason why the change we might find a different solution.

@@ +460,5 @@
>  
> +  updateHandlers() {
> +    let { x, y, w, h } = this.coords;
> +
> +    for (let sideOrCorner of [ ...SIDES, ...CORNERS ]) {

I think we shouldn't have the for and the switch for each ids (the switch will be called for each item every time). At this point we can just call directly the element we want to update:

  handlerEl = this.getElement("handler-top");
  handlerEl.setAttribute("cx", x + w / 2);
  handlerEl.setAttribute("cy", y);

  handlerEl = this.getElement("handler-topright");
  handlerEl.setAttribute("cx", x + w);
  handlerEl.setAttribute("cy", y);

etc.

If you want, you could add a helper function I guess, so that you do this three line in one:

  this.setHandlerPosition("top", x + w / 2, y);
  this.setHandlerPosition("topright", x + w, y);

etc.

@@ +562,5 @@
>            return;
>          }
>  
> +        let draggingType = "";
> +        let sideOrCorner = "";

I'm not sure you need either of those. Is `draggingType` used for something?

@@ +567,3 @@
>          let { window } = this.env;
>  
> +        if (id) {

I think you can just remove the big `if` block here, the two blocks have a lot in commons, you can merge them and just do a little `if` for the differences. Something like:

  if (this._dragging) {
    return;
  }

  let elementId = id || "tool";

  pageListenerTarget.addEventListener("mouseup", this);
  
  setIgnoreLayoutChanges(true);
  
  this.getElement(elementId).setAttribute("class", "dragging");

  this.hideLabel("position");
  this.hideGuides();

  let isHandler = elementId.startsWith("handler-");
  if (!isHandler) {
    this.hideLabel("size");
    this.hideHandlers();
  }

I didn't test, it just to give a rough idea.

@@ +604,5 @@
>  
> +        // Store all the initial values needed for drag & drop
> +        this._dragging = {
> +          type: draggingType,
> +          sideOrCorner,

I think this two props can go away, just store the `elementId`

@@ +618,5 @@
> +      case "mouseup": {
> +        if (this._dragging) {
> +          pageListenerTarget.removeEventListener("mouseup", this);
> +
> +          let { sideOrCorner } = this._dragging;

This could be: `let { elementId } = this._dragging;`

@@ +622,5 @@
> +          let { sideOrCorner } = this._dragging;
> +
> +          setIgnoreLayoutChanges(true);
> +
> +          if (sideOrCorner) {

And instead of the `if`:

  this.getElement(elementId).classList.remove("dragging");

@@ +636,5 @@
> +            this.updateHandlers();
> +            this.showHandlers();
> +
> +            // Changes the resizing cursors in case the measuring box is mirrored
> +            let mirrored = (this.coords.w < 0 || this.coords.h < 0) &&

Although I also don't dislike using such notation, in our codebase we have to name this var `isMirrored` for consistency.

@@ +638,5 @@
> +
> +            // Changes the resizing cursors in case the measuring box is mirrored
> +            let mirrored = (this.coords.w < 0 || this.coords.h < 0) &&
> +                           !(this.coords.w < 0 && this.coords.h < 0);
> +            for (let corner of CORNERS) {

If we use .mirrored on "tool" node as mentioned above, we can skip the loop, and having just:

  this.getElement("tool").classList("mirrored", isMirrored);


Note: the current implementation of `classList` doesn't support the second argument, but since it's in the specs (https://developer.mozilla.org/en-US/docs/Web/API/Element/classList#Methods) and would makes the code more clear, I would appreciate if you could fix the method, since it's a trivial implementation: http://searchfox.org/mozilla-central/source/devtools/server/actors/highlighters/utils/markup.js#74

@@ +660,3 @@
>  
> +        if (this._dragging) {
> +          let { sideOrCorner } = this._dragging;

If we're using `elementId` we're going to have "handler-": If you don't want to repeat it for each case below, you can strip from the string (either this or put the full id, it's fine to me any approach).
Attachment #8888076 - Flags: review?(zer0) → review-
Comment on attachment 8890573 [details] [diff] [review]
Hide other measuring area handlers while dragging a handler

Review of attachment 8890573 [details] [diff] [review]:
-----------------------------------------------------------------

::: devtools/server/actors/highlighters.css
@@ +413,5 @@
>    stroke: var(--highlighter-guide-color);
>    fill: var(--highlighter-content-color);
>  }
>  
> +:-moz-native-anonymous .measuring-tool-root circle[hidden] {

Why a specific rules is needed? The global `hidden` is not enough?

::: devtools/server/actors/highlighters/measuring-tool.js
@@ +543,5 @@
>        this.markup.removeAttributeForElement(`${prefix + sideOrCorner}`, "hidden");
>      }
>    },
>  
> +  hideHandlers(exception) {

I don't think having the handler to keep visible here it makes the code clear, when we invoke the method it's something like:

  hideHandlers(elementId);

Looking at this like it seems almost that I want to hide such element. I think it's more readable having an additional call, so keep the `hideHandlers` as before without argument, and then:

   hideHandlers();
   showHandler("top");

We can either have an additional `showHandler` method:

   showHandler(id) {
     this.getElement(id).removeAttribute("hidden");
   }

And therefore change `showHandlers` as:

   showHandlers() {
     for (let handler of HANDLERS) {
       this.showHandler(handler);
     }
   }

Or add an argument to `showHandlers`:

   showHandlers(id) {
     let prefix = this.ID_CLASS_PREFIX + "handler-";
     let handlers = id ? [id] : HANDLERS;
     
     for (let handler of handlers) {
       this.markup.removeAttributeForElement(`${prefix + handler}`, "hidden");
     }
   }

Or something like that.
Attachment #8890573 - Flags: review?(zer0) → review-
Comment on attachment 8888859 [details] [diff] [review]
Added unit test for measuring tool resizing via mouse

Review of attachment 8888859 [details] [diff] [review]:
-----------------------------------------------------------------

Looks great, thanks! Maybe we could also add a check for verifying that the handlers are hidden during the dragging, and only the correct one is actually displayed.

::: devtools/client/inspector/test/browser_inspector_highlighter-measure_03.js
@@ +106,5 @@
> +
> +    let delta = {
> +      x: sideOrCorner.includes("left") ? X_OFFSET : 0,
> +      y: sideOrCorner.includes("top") ? Y_OFFSET : 0,
> +      width: sideOrCorner.includes("right") || sideOrCorner.includes("left") ? X_OFFSET : 0,

nit: This two lines (the one with `width` and `height`) exceeds the limit of 90 chars, makes eslint failing. I think you can save some space just calling `sideOrCorner` only `handler`.

@@ +132,5 @@
> +    is(areaWidth, origAreaWidth + delta.width,
> +      `Width of area correct after resizing`);
> +    is(areaHeight, origAreaHeight + delta.height,
> +      `Height of area correct after resizing`);
> +    

nit: remove the trailing white spaces

@@ +154,5 @@
> +    width: 0,
> +    height: 0
> +  };
> +  let match;
> +  while(match = reDir.exec(d)) {

nit: add a space after `while`; and wraps the assignment in () so that is considered an expression from eslint.

@@ +158,5 @@
> +  while(match = reDir.exec(d)) {
> +    let [, x, y] = match;
> +    x = Number(x);
> +    y = Number(y);
> +    if (x < coords.x) {

If I understand correctly, I think you can reduce this lines, removing the `if`s:

  coords.x = Math.min(x, coords.x);
  coords.y = Math.min(y, coords.y);
  coords.width = Math.max(x, coords.width);
  coords.height = Math.max(y, coords.height);
Attachment #8888859 - Flags: review?(zer0) → review+
(In reply to Sebastian Zartner [:sebo] from comment #7)
 
> Unfortunately, I couldn't get the display toggling of the handlers on
> hovering the measuring area to work. For some reason the "mouseenter" and
> "mouseleave" events are not fired and I can't find out why.

It's not a big issue, it's fine as is. We can have a follow up bug for that, in case; but hiding the handlers when we're resizing is good enough: you can position the area properly.

> If possible, let's revisit the initial hiding of the handlers and their
> display on area hover in a separate bug, so we can finish this one up.

Sounds good to me!

> Please let me know if something's missing and what the next steps are.

Again, sorry for the delay. I hope my comments are clear, but feel free to ask anything or clarify if I missed something during the review.
This time it was me that took a bit. I was and am still quite busy these days, but I'll try to look into this again this weekend. Hopefully I'm not blocking your changes with my patch.

Sebastian
Product: Firefox → DevTools

Hey Sebastian, should I reset the assignee flag on this bug, or are you still interested in reviving the work done so far?

Flags: needinfo?(sebastianzartner)

Hi Patrick, thanks for asking!
Actually, after letting this bug rest for a very long time, I picked up the work again lately and plan to push an updated patch soon.

Sebastian

Flags: needinfo?(sebastianzartner)

Sorry Gabriel, I accidentally pushed the (finally) updated patch twice to Phabricator and I don't see any option to remove one of them.

I've addressed all the issues Matteo previously mentioned. The only thing I though would better be done separately is extending the toggle() function. Therefore I have filed bug 1597046.

Sebastian

Attachment #9110986 - Attachment is obsolete: true
Attachment #9110988 - Attachment is obsolete: true
Attachment #9111108 - Attachment description: Bug 1152321 - Added unit test for measuring tool resizing via mouse. r=gl → Bug 1152321 - Added tests for measuring tool resizing via mouse. r=pbro,rcaliman
Priority: P3 → P5
Attachment #9111108 - Attachment description: Bug 1152321 - Added tests for measuring tool resizing via mouse. r=pbro,rcaliman → Bug 1152321 - Added tests for measuring tool resizing via mouse. r=pbro
Attachment #9111107 - Attachment is obsolete: true
Attachment #9113047 - Attachment is obsolete: true

Hi Patrick! I am wondering what's holding the changes up. One last thing I wanted to mention again the toggle() function you mentioned at https://phabricator.services.mozilla.com/D55560#anchor-inline-338888. For that there's a pending patch in bug 1597046.

If we want to include that change, please have a look at that one first and I'll update my patch accordingly once it's merged.

Sebastian

Flags: needinfo?(pbrosset)

Hi Sebastian. Nothing seems to be holding up the changes here. I accepted the code changes and they should be ready to land. Forgive me for not following up on this set of patches, I guess they fell out of my radar.
I'll attempt to land them to autoland today.

Flags: needinfo?(pbrosset)
Pushed by pbrosset@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/40a745ce890d
Added handlers to measuring tool allowing to resize the selected area via mouse. r=pbro
Pushed by pbrosset@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/debf33b64f52
Added tests for measuring tool resizing via mouse. r=pbro

Backed out 2 changesets (Bug 1152321) for failures on browser_inspector_highlighter-measure*

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&collapsedPushes=635888%2C635895%2C635896%2C635897%2C635910&resultStatus=testfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel%2Crunning%2Cpending%2Crunnable&fromchange=40a745ce890d6d1ca60a91daa6da72b02d3a0951&tochange=b5044c454dfc6eb8183c272bd1a6444c72a71738

Backout link: https://hg.mozilla.org/integration/autoland/rev/b5044c454dfc6eb8183c272bd1a6444c72a71738

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=287419256&repo=autoland&lineNumber=7801

[task 2020-02-04T08:51:01.448Z] 08:51:01 INFO - TEST-START | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js
[task 2020-02-04T08:51:01.448Z] 08:51:01 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x11394d000 == 1 [pid = 1927] [id = {7048b85f-4b10-2d45-be07-82db2be98d74}]
[task 2020-02-04T08:51:01.448Z] 08:51:01 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x142b24200) [pid = 1927] [serial = 145] [outer = 0x0]
[task 2020-02-04T08:51:01.449Z] 08:51:01 INFO - GECKO(1900) | [Child 1927, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 845
[task 2020-02-04T08:51:01.449Z] 08:51:01 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x102a28000) [pid = 1927] [serial = 146] [outer = 0x142b24200]
[task 2020-02-04T08:51:01.521Z] 08:51:01 INFO - GECKO(1900) | [Child 1927, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 63
[task 2020-02-04T08:51:01.521Z] 08:51:01 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (0x141738c00) [pid = 1927] [serial = 147] [outer = 0x142b24200]
[task 2020-02-04T08:51:01.648Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x121bb0000 == 19 [pid = 1900] [id = {269e5233-9979-7740-b38b-ef5acf0ad438}]
[task 2020-02-04T08:51:01.648Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 46 (0x10c0f1a60) [pid = 1900] [serial = 638] [outer = 0x0]
[task 2020-02-04T08:51:01.648Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 47 (0x12495e400) [pid = 1900] [serial = 639] [outer = 0x10c0f1a60]
[task 2020-02-04T08:51:01.688Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 48 (0x126280800) [pid = 1900] [serial = 640] [outer = 0x10c0f1a60]
[task 2020-02-04T08:51:01.754Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp, line 3802
[task 2020-02-04T08:51:01.754Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x151d2b800 == 18 [pid = 1900] [id = {9c717270-53dd-7741-8f48-023bfdfb6aa1}] [url = chrome://devtools/content/inspector/markup/markup.xhtml]
[task 2020-02-04T08:51:01.897Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x105578000 == 19 [pid = 1900] [id = {1a9341db-80a3-c64c-8388-56fef1a1b203}]
[task 2020-02-04T08:51:01.897Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 49 (0x12088dd40) [pid = 1900] [serial = 641] [outer = 0x0]
[task 2020-02-04T08:51:01.897Z] 08:51:01 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 50 (0x126282800) [pid = 1900] [serial = 642] [outer = 0x12088dd40]
[task 2020-02-04T08:51:02.341Z] 08:51:02 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x126f09800 == 20 [pid = 1900] [id = {4544f589-4dbf-0440-b9d2-dcd6c3be653b}]
[task 2020-02-04T08:51:02.341Z] 08:51:02 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 51 (0x1292da980) [pid = 1900] [serial = 643] [outer = 0x0]
[task 2020-02-04T08:51:02.341Z] 08:51:02 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 52 (0x15a12c400) [pid = 1900] [serial = 644] [outer = 0x1292da980]
[task 2020-02-04T08:51:02.357Z] 08:51:02 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x126f0d000 == 21 [pid = 1900] [id = {360df9b2-0082-9441-a445-2fac62359ff5}]
[task 2020-02-04T08:51:02.357Z] 08:51:02 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 53 (0x1208ad3e0) [pid = 1900] [serial = 645] [outer = 0x0]
[task 2020-02-04T08:51:02.585Z] 08:51:02 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 54 (0x151b33400) [pid = 1900] [serial = 646] [outer = 0x1208ad3e0]
[task 2020-02-04T08:51:02.810Z] 08:51:02 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "CLEAR_FLEXBOX"
[task 2020-02-04T08:51:02.810Z] 08:51:02 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "UPDATE_GRIDS"
[task 2020-02-04T08:51:02.851Z] 08:51:02 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2020-02-04T08:51:02.851Z] 08:51:02 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2020-02-04T08:51:02.988Z] 08:51:02 INFO - GECKO(1900) | console.error: "Error while calling actor 'testActor's method 'getHighlighterAttribute'" ""
[task 2020-02-04T08:51:02.988Z] 08:51:02 INFO - GECKO(1900) | console.error: "getAttributeForElement@resource://devtools/server/actors/highlighters/utils/markup.js:365:41\ngetHighlighterAttribute@chrome://mochitests/content/browser/devtools/client/shared/test/test-actor.js:382:21\nhandler@resource://devtools/shared/protocol/Actor.js:154:37\nonPacket@resource://devtools/server/debugger-server-connection.js:380:58\nreceiveMessage@resource://devtools/shared/transport/child-transport.js:66:16\nMessageListener.receiveMessage*_addListener@resource://devtools/shared/transport/child-transport.js:40:14\nready@resource://devtools/shared/transport/child-transport.js:57:10\n_onConnection@resource://devtools/server/debugger-server.js:463:15\nconnectToParent@resource://devtools/server/debugger-server.js:337:17\nonConnect<@resource://devtools/server/startup/frame.js:62:35\nexports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22\nMessageListener.receiveMessage*@resource://devtools/server/startup/frame.js:95:23\n@resource://devtools/server/startup/frame.js:177:5\n"
[task 2020-02-04T08:51:02.988Z] 08:51:02 INFO - TEST-INFO | started process screencapture
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - TEST-INFO | screencapture: exit 0
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - Buffered messages logged at 08:51:01
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - Entering test bound
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - Adding a new tab with URL: data:text/html;charset=utf-8,
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - <div style='
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - position:absolute;
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - left: 0;
[task 2020-02-04T08:51:03.151Z] 08:51:03 INFO - top: 0;
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - width: 40000px;
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - height: 8000px'>
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - </div>
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - Tab added and finished loading
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - Opening the inspector
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - Opening the toolbox
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - Buffered messages logged at 08:51:02
[task 2020-02-04T08:51:03.152Z] 08:51:03 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Toolbox opened and focused
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Checking the highlighter is hidden by default
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Buffered messages finished
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | Uncaught exception - at resource://devtools/shared/protocol/Front.js:276 - Error: unknownError
[task 2020-02-04T08:51:03.153Z] 08:51:03 INFO - Stack trace:
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - onPacket/<@resource://devtools/shared/protocol/Front.js:276:31
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - DevTools RDPrequest@resource://devtools/shared/protocol/Front.js:214:14
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - getHighlighterNodeAttribute@chrome://mochitests/content/browser/devtools/client/shared/test/test-actor.js:892:17
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - isElementHidden@chrome://mochitests/content/browser/devtools/client/inspector/test/head.js:572:28
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - isHiddenByDefault@chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:41:22
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - @chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:31:9
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - Async
Tester_execTest/<@chrome://mochikit/content/browser-test.js:1062:34
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:1097:11
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - nextTest/<@chrome://mochikit/content/browser-test.js:925:14
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:808:67
[task 2020-02-04T08:51:03.154Z] 08:51:03 INFO - Leaving test bound
...
[task 2020-02-04T08:51:05.466Z] 08:51:05 INFO - TEST-START | devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js
[task 2020-02-04T08:51:05.509Z] 08:51:05 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x14176b800 == 2 [pid = 1927] [id = {82d66261-2842-c242-a0e8-5097ba9adef7}]
[task 2020-02-04T08:51:05.509Z] 08:51:05 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (0x142b24980) [pid = 1927] [serial = 148] [outer = 0x0]
[task 2020-02-04T08:51:05.509Z] 08:51:05 INFO - GECKO(1900) | [Child 1927, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 845
[task 2020-02-04T08:51:05.510Z] 08:51:05 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 5 (0x113bf1400) [pid = 1927] [serial = 149] [outer = 0x142b24980]
[task 2020-02-04T08:51:05.552Z] 08:51:05 INFO - GECKO(1900) | [Child 1927, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 63
[task 2020-02-04T08:51:05.552Z] 08:51:05 INFO - GECKO(1900) | [Child 1927: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 6 (0x14342a400) [pid = 1927] [serial = 150] [outer = 0x142b24980]
[task 2020-02-04T08:51:05.652Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x12085c000 == 15 [pid = 1900] [id = {f68bac80-afb9-c147-9c46-01e499f39099}]
[task 2020-02-04T08:51:05.659Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 49 (0x10c0f1c40) [pid = 1900] [serial = 647] [outer = 0x0]
[task 2020-02-04T08:51:05.659Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 50 (0x125cbf000) [pid = 1900] [serial = 648] [outer = 0x10c0f1c40]
[task 2020-02-04T08:51:05.674Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 51 (0x12101b000) [pid = 1900] [serial = 649] [outer = 0x10c0f1c40]
[task 2020-02-04T08:51:05.801Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp, line 3802
[task 2020-02-04T08:51:05.902Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x105577800 == 16 [pid = 1900] [id = {c0384060-5208-b54d-a90c-2678fd04c1b0}]
[task 2020-02-04T08:51:05.902Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 52 (0x12088df20) [pid = 1900] [serial = 650] [outer = 0x0]
[task 2020-02-04T08:51:05.902Z] 08:51:05 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 53 (0x12794b800) [pid = 1900] [serial = 651] [outer = 0x12088df20]
[task 2020-02-04T08:51:06.301Z] 08:51:06 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x15a812000 == 17 [pid = 1900] [id = {6d555490-5391-304c-bc41-8e36d5030fd9}]
[task 2020-02-04T08:51:06.301Z] 08:51:06 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 54 (0x152e49d40) [pid = 1900] [serial = 652] [outer = 0x0]
[task 2020-02-04T08:51:06.301Z] 08:51:06 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 55 (0x1277a6800) [pid = 1900] [serial = 653] [outer = 0x152e49d40]
[task 2020-02-04T08:51:06.325Z] 08:51:06 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x15a813800 == 18 [pid = 1900] [id = {0bafd243-b6e8-be41-847c-b35a067e52d8}]
[task 2020-02-04T08:51:06.326Z] 08:51:06 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 56 (0x1208aee20) [pid = 1900] [serial = 654] [outer = 0x0]
[task 2020-02-04T08:51:06.526Z] 08:51:06 INFO - GECKO(1900) | [Parent 1900: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 57 (0x1277ad400) [pid = 1900] [serial = 655] [outer = 0x1208aee20]
[task 2020-02-04T08:51:06.776Z] 08:51:06 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "CLEAR_FLEXBOX"
[task 2020-02-04T08:51:06.776Z] 08:51:06 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "UPDATE_GRIDS"
[task 2020-02-04T08:51:06.776Z] 08:51:06 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2020-02-04T08:51:06.776Z] 08:51:06 INFO - GECKO(1900) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2020-02-04T08:51:06.898Z] 08:51:06 INFO - GECKO(1900) | console.error: "Error while calling actor 'testActor's method 'getHighlighterAttribute'" ""
[task 2020-02-04T08:51:06.898Z] 08:51:06 INFO - GECKO(1900) | console.error: "getAttributeForElement@resource://devtools/server/actors/highlighters/utils/markup.js:365:41\ngetHighlighterAttribute@chrome://mochitests/content/browser/devtools/client/shared/test/test-actor.js:382:21\nhandler@resource://devtools/shared/protocol/Actor.js:154:37\nonPacket@resource://devtools/server/debugger-server-connection.js:380:58\nreceiveMessage@resource://devtools/shared/transport/child-transport.js:66:16\nMessageListener.receiveMessage*_addListener@resource://devtools/shared/transport/child-transport.js:40:14\nready@resource://devtools/shared/transport/child-transport.js:57:10\n_onConnection@resource://devtools/server/debugger-server.js:463:15\nconnectToParent@resource://devtools/server/debugger-server.js:337:17\nonConnect<@resource://devtools/server/startup/frame.js:62:35\nexports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22\nMessageListener.receiveMessage*@resource://devtools/server/startup/frame.js:95:23\n@resource://devtools/server/startup/frame.js:177:5\n"
[task 2020-02-04T08:51:06.898Z] 08:51:06 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - Buffered messages logged at 08:51:05
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - Entering test bound
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - Adding a new tab with URL: data:text/html;charset=utf-8,
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - <div style='
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - position:absolute;
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - left: 0;
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - top: 0;
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - width: 40000px;
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - height: 8000px'>
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - </div>
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - Tab added and finished loading
[task 2020-02-04T08:51:06.899Z] 08:51:06 INFO - Opening the inspector
[task 2020-02-04T08:51:06.903Z] 08:51:06 INFO - Opening the toolbox
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Buffered messages logged at 08:51:06
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Toolbox opened and focused
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Checking highlighter has no labels when we start to select
[task 2020-02-04T08:51:06.904Z] 08:51:06 INFO - Buffered messages finished
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js | Uncaught exception - at resource://devtools/shared/protocol/Front.js:276 - Error: unknownError
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - Stack trace:
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - onPacket/<@resource://devtools/shared/protocol/Front.js:276:31
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - DevTools RDPrequest@resource://devtools/shared/protocol/Front.js:214:14
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - getHighlighterNodeAttribute@chrome://mochitests/content/browser/devtools/client/shared/test/test-actor.js:892:17
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - isElementHidden@chrome://mochitests/content/browser/devtools/client/inspector/test/head.js:572:28
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - hasNoLabelsWhenStarts@chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js:57:22
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - async
@chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_02.js:38:9
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:1062:34
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:1097:11
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - nextTest/<@chrome://mochikit/content/browser-test.js:925:14
[task 2020-02-04T08:51:06.906Z] 08:51:06 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:808:67
[task 2020-02-04T08:51:06.907Z] 08:51:06 INFO - Leaving test bound

Flags: needinfo?(sebastianzartner)

Also seeing a different type of failure for the same tests:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=287423749&repo=autoland&lineNumber=15308

task 2020-02-04T10:35:45.656Z] 10:35:45 INFO - Tab added and finished loading
[task 2020-02-04T10:35:45.657Z] 10:35:45 INFO - Opening the inspector
[task 2020-02-04T10:35:45.657Z] 10:35:45 INFO - Opening the toolbox
[task 2020-02-04T10:35:45.659Z] 10:35:45 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T10:35:45.660Z] 10:35:45 INFO - Buffered messages logged at 10:35:45
[task 2020-02-04T10:35:45.660Z] 10:35:45 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T10:35:45.660Z] 10:35:45 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T10:35:45.661Z] 10:35:45 INFO - Console message: [JavaScript Error: "Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2020-02-04T10:35:45.661Z] 10:35:45 INFO - Toolbox opened and focused
[task 2020-02-04T10:35:45.661Z] 10:35:45 INFO - Checking the highlighter is hidden by default
[task 2020-02-04T10:35:45.663Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | highlighter's root is hidden by default -
[task 2020-02-04T10:35:45.663Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | highlighter's label size is hidden by default -
[task 2020-02-04T10:35:45.663Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | highlighter's label position is hidden by default -
[task 2020-02-04T10:35:45.663Z] 10:35:45 INFO - Checking the highlighter is displayed when asked
[task 2020-02-04T10:35:45.664Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | highlighter is visible after show -
[task 2020-02-04T10:35:45.664Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | label's size still hidden -
[task 2020-02-04T10:35:45.664Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | label's position still hidden -
[task 2020-02-04T10:35:45.664Z] 10:35:45 INFO - Checking labels are properly displayed when mouse moved
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - Buffered messages finished
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | label's position is displayed after the mouse is moved - Got true, expected false
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - Stack trace:
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:areLabelsProperlyDisplayedWhenMouseMoved:81
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:null:33
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - TEST-PASS | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | label's size still hidden -
[task 2020-02-04T10:35:45.665Z] 10:35:45 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | label's position shows the proper X coord - Got 0, expected 32
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - Stack trace:
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:areLabelsProperlyDisplayedWhenMouseMoved:90
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:null:33
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js | label's position shows the proper Y coord - Got 0, expected 20
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - Stack trace:
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:test_is:1320
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:areLabelsProperlyDisplayedWhenMouseMoved:91
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochitests/content/browser/devtools/client/inspector/test/browser_inspector_highlighter-measure_01.js:null:33
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1062
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-02-04T10:35:45.666Z] 10:35:45 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-02-04T10:35:45.667Z] 10:35:45 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:808
[task 2020-02-04T10:35:45.667Z] 10:35:45 INFO - Leaving test bound
[task 2020-02-04T10:35:46.034Z] 10:35:46 INFO - GECKO(3520) | [Child 1100: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 5 (0F9B4C00) [pid = 1100] [serial = 200] [outer = 00000000] [url = http://example.com/browser/devtools/client/inspector/test/doc_inspector_highlighter_dom.html]
[task 2020-02-04T10:35:46.114Z] 10:35:46 INFO - GECKO(3520) | [Child 1100: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 4 (0CFEF5E0) [pid = 1100] [serial = 201] [outer = 00000000] [url = data:text/html;charset=utf8,<div></div>]
[task 2020-02-04T10:35:47.081Z] 10:35:47 INFO - GECKO(3520) | [Parent 1456: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 41 (18D87000) [pid = 1456] [serial = 607] [outer = 00000000] [url = about:blank]
[task 2020-02-04T10:35:47.081Z] 10:35:47 INFO - GECKO(3520) | [Parent 1456: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 40 (1F2AD400) [pid = 1456] [serial = 599] [outer = 00000000] [url = about:blank]
[task 2020-02-04T10:35:47.081Z] 10:35:47 INFO - GECKO(3520) | [Parent 1456: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0EF78800 == 14 [pid = 1456] [id = {12b8062d-9896-4c1b-a651-228eb0f3e25d}] [url = chrome://devtools/content/framework/toolbox-window.xhtml]
[task 2020-02-04T10:35:47.081Z] 10:35:47 INFO - GECKO(3520) | [Parent 1456: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 150B1400 == 13 [pid = 1456] [id = {956cec4e-d2d0-413b-8181-ef5fd8ec0ed8}] [url = chrome://devtools/content/inspector/index.xhtml]
[task 2020-02-04T10:35:47.161Z] 10:35:47 INFO - Removing tab.

Thank you for the Feedback, Bogdan! I will look into this.

Sebastian

Flags: needinfo?(sebastianzartner)

Took me quite some time again, but I've now fixed the issues. (At least for me all tests pass now for me.) Patrick, could you please push the changes to autoland again? Merci beaucoup! :-)

Sebastian

Flags: needinfo?(pbrosset)
Pushed by pbrosset@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2cc94bf532f8
Added handlers to measuring tool allowing to resize the selected area via mouse. r=pbro

The tests all seemed to pass fine for me locally too. So I'm proceeding to land the 2 revisions again.

Flags: needinfo?(pbrosset)
Pushed by pbrosset@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b209e3e3268b
Added tests for measuring tool resizing via mouse. r=pbro
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 75
Keywords: dev-doc-needed
Blocks: 1617277
See Also: → 1619109

Verified with 75.0a1 (2020-03-01), 73.0.1 on Windows 10; 75.0a1 (2020-03-01) on Ubuntu 19.04 and macOS 10.15.

Status: RESOLVED → VERIFIED
Component: Inspector: Highlighters → Inspector
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: