This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host. Things like text controls which used to have that flag
previously will not have it any more. The flag would be set on their anonymous
div node instead. Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.
This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).
--HG--
extra : rebase_source : 37317b4d95c2ea957be81420583a98a24f0864ac
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host. Things like text controls which used to have that flag
previously will not have it any more. The flag would be set on their anonymous
div node instead. Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.
This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.
--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.