Closed Bug 1147419 Opened 9 years ago Closed 8 years ago

[e10s] browser_markupview_mutation_01.js causes unsafe CPOW usage warnings

Categories

(DevTools :: Inspector, defect)

defect
Not set
normal

Tracking

(e10s+)

RESOLVED DUPLICATE of bug 1252099
Tracking Status
e10s + ---

People

(Reporter: mconley, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [unsafe-cpow-usage])

Mined from test logs

In browser/devtools/markupview/test/browser_markupview_mutation_01.js:

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l20

  {
    desc: "Adding an attribute",
    test: () => {
      let node1 = getNode("#node1");
      node1.setAttribute("newattr", "newattrval"); <-- causes unsafe CPOW usage warning
    },
    check: function*(inspector) {
      let {editor} = yield getContainerForSelector("#node1", inspector);
      ok([...editor.attrList.querySelectorAll(".attreditor")].some(attr => {
        return attr.textContent.trim() === "newattr=\"newattrval\"";
      }), "newattr attribute found");
    }
  },

...

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l33

  {
    desc: "Removing an attribute",
    test: () => {
      let node1 = getNode("#node1");
      node1.removeAttribute("newattr"); <-- causes unsafe CPOW usage warning
    },
    check: function*(inspector) {
      let {editor} = yield getContainerForSelector("#node1", inspector);
      ok(![...editor.attrList.querySelectorAll(".attreditor")].some(attr => {
        return attr.textContent.trim() === "newattr=\"newattrval\"";
      }), "newattr attribute removed");
    }
  },

...

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l46

  {
    desc: "Updating the text-content",
    test: () => {
      let node1 = getNode("#node1");
      node1.textContent = "newtext"; <-- causes unsafe CPOW usage warning
    },
    check: function*(inspector) {
      let {children} = yield getContainerForSelector("#node1", inspector);
      is(children.querySelector(".text").textContent.trim(), "newtext",
        "The new textcontent was updated");
    }
  },

...

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l58

  {
    desc: "Updating the innerHTML",
    test: () => {
      let node2 = getNode("#node2");
      node2.innerHTML = "<div><span>foo</span></div>"; <-- causes unsafe CPOW usage warning
    },
    check: function*(inspector) {
      let container = yield getContainerForSelector("#node2", inspector);

      let openTags = container.children.querySelectorAll(".open .tag");
      is(openTags.length, 2, "There are 2 tags in node2");
      is(openTags[0].textContent.trim(), "div", "The first tag is a div");
      is(openTags[1].textContent.trim(), "span", "The second tag is a span");

      is(container.children.querySelector(".text").textContent.trim(), "foo",
        "The span's textcontent is correct");
    }
  },

...

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l76
https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l77

  {
    desc: "Removing child nodes",
    test: () => {
      let node4 = getNode("#node4");
      while (node4.firstChild) { <-- causes unsafe CPOW usage warning
        node4.removeChild(node4.firstChild); <-- causes unsafe CPOW usage warning
      }
    },
    check: function*(inspector) {
      let {children} = yield getContainerForSelector("#node4", inspector);
      is(children.innerHTML, "", "Children have been removed");
    }
  },

...

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l90

 {
    desc: "Appending a child to a different parent",
    test: () => {
      let node17 = getNode("#node17");
      let node2 = getNode("#node2");
      node2.appendChild(node17); <-- causes unsafe CPOW usage warning
    },
    check: function*(inspector) {
      let {children} = yield getContainerForSelector("#node16", inspector);
      is(children.innerHTML, "", "Node17 has been removed from its node16 parent");

      let container = yield getContainerForSelector("#node2", inspector);
      let openTags = container.children.querySelectorAll(".open .tag");
      is(openTags.length, 3, "There are now 3 tags in node2");
      is(openTags[2].textContent.trim(), "p", "The third tag is node17");
    }
  },

...

https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l123
https://hg.mozilla.org/projects/holly/file/50e197279ad5/browser/devtools/markupview/test/browser_markupview_mutation_01.js#l124

{
    desc: "Swapping a parent and child element, putting them in the same tree",
    // body
    //  node1
    //  node18
    //    node19
    //      node20
    //        node21
    // will become:
    // body
    //   node1
    //     node20
    //      node21
    //      node18
    //        node19
    test: () => {
      let node18 = getNode("#node18");
      let node20 = getNode("#node20");

      let node1 = getNode("#node1");

      node1.appendChild(node20); <-- causes unsafe CPOW usage warning
      node20.appendChild(node18); <-- causes unsafe CPOW usage warning
    },
tracking-e10s: m8+ → ---
Whiteboard: [unsafe-cpow-usage]
This is test only.
tracking-e10s: --- → +
Inspector bug triage. Filter on CLIMBING SHOES

Fixed by Bug 1252099.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.