Last Comment Bug 735031 - Fullscreen API implementation assumes an HTML Element
: Fullscreen API implementation assumes an HTML Element
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: DOM: Core & HTML (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla14
Assigned To: Diogo Golovanevsky Monteiro [:diogogmt]
:
Mentors:
http://dvcs.w3.org/hg/fullscreen/raw-...
Depends on:
Blocks: 633602
  Show dependency treegraph
 
Reported: 2012-03-12 13:58 PDT by David Humphrey (:humph)
Modified: 2012-03-24 13:39 PDT (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
v1 (15.68 KB, patch)
2012-03-13 14:26 PDT, Diogo Golovanevsky Monteiro [:diogogmt]
bugs: review+
cpearce: review-
Details | Diff | Review
Patch v2 (132.49 KB, patch)
2012-03-23 09:29 PDT, Diogo Golovanevsky Monteiro [:diogogmt]
cpearce: review+
bugs: superreview+
Details | Diff | Review

Description David Humphrey (:humph) 2012-03-12 13:58:23 PDT
The spec says:

partial interface Element {
  void requestFullscreen();
};

partial interface Document {
  ...
  readonly attribute Element fullscreenElement;
  ...
};

In our implementation we do:

readonly attribute nsIDOMHTMLElement mozFullScreenElement;

Based on comments I received in the pointer lock patch, where I also assumed an HTML Element and was told to consider non-HTML elements (e.g., svg), I think this should really be nsIDOMElement.
Comment 1 Chris Pearce (:cpearce) 2012-03-12 15:33:14 PDT
Yeah, I agree.
Comment 2 Diogo Golovanevsky Monteiro [:diogogmt] 2012-03-13 14:26:53 PDT
Created attachment 605541 [details] [diff] [review]
v1

I created a simple example page:
http://diogogmt.github.com/mozilla-central/svgExample.html

By requesting fullscreen through the console it works just fine.
But requesting fullscreen inside the click listener the element goes fullscreen but then it exits right after without firing a mozfullscreenchange.
Comment 3 Diogo Golovanevsky Monteiro [:diogogmt] 2012-03-13 16:30:16 PDT
I saved the stack trace of requesting fullscreen inside the click listener and from the console:
I placed a breakpoint in the nsDocument::ClearFullScreenStack

Inside the listener:
Exited right after requesting fullscreen
1 - http://pastebin.mozilla.org/1517753
2 - http://pastebin.mozilla.org/1517754

Console:
Requesting fullscreen and loosing browser focus.
1 - http://pastebin.mozilla.org/1517755


Is this the normal behaviour? Shouldn't fullscreen be sustained if requested from a trusted source?
Comment 4 Olli Pettay [:smaug] 2012-03-14 07:33:37 PDT
Comment on attachment 605541 [details] [diff] [review]
v1

Chris should look at this too.
Comment 5 Chris Pearce (:cpearce) 2012-03-14 19:52:22 PDT
Comment on attachment 605541 [details] [diff] [review]
v1

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

Looks fine to me, but I have a question...

Olli: We need to rev the UUIDs for subclasses of nsIDOMElement since their interface changes too right? So we need to rev the uuid on nsIDOMSVGElement as well? And what about all subclasses of nsIDOMSVGElement - and nsIDOMHTMLElement for that matter too. i.e. how deep in the inheritence hierarchy do we need go when updating UUIDs?
Comment 6 Olli Pettay [:smaug] 2012-03-15 04:19:43 PDT
Indeed. There is a tool for that.
http://people.mozilla.com/~sfink/uploads/update-uuids
Comment 7 Chris Pearce (:cpearce) 2012-03-22 18:44:58 PDT
Comment on attachment 605541 [details] [diff] [review]
v1

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

(In reply to Olli Pettay [:smaug] from comment #6)
> Indeed. There is a tool for that.
> http://people.mozilla.com/~sfink/uploads/update-uuids

Accoring to this tool, you do indeed need to change the uuids for descendents of nsIDOMElement and nsIDOMHTMLElement:

[cpearce@caesar opt]$ time update-uuids --dry-run . nsIDOMDocument nsIDOMElement nsIDOMHTMLElement
uuids to update:
  nsIDOMDocument because it was given on command line
    d7cdd08e-1bfd-4bc3-9742-d66586781ee2 -> a6846cd7-0945-4f59-ae97-fa068d5d74ac
  nsIDOMElement because it was given on command line
    f561753a-1d4f-40c1-b147-ea955fc6fd94 -> cc021a6a-a013-49e6-9208-7c45df26a6a9
  nsIDOMHTMLElement because it was given on command line
    3de9f8c1-5d76-4d2e-b6b9-334c6eb0c113 -> ba6296b1-0411-4150-a7fb-18f695dc700e
  nsIDOMXMLDocument because it inherits from nsIDOMDocument
    b53a4bab-0065-468b-810a-4c4659a04f00 -> 541c9c6f-9406-48cd-8de5-382a18341139
  nsIDOMSVGDocument because it inherits from nsIDOMDocument
    4368b131-bfe9-4f34-848d-00139217c1d1 -> e3ab214b-4ca8-4b99-bdff-6c16f6dd9e95
  nsIDOMHTMLDocument because it inherits from nsIDOMDocument
    cc1af020-6543-429c-82d7-840cda3be0b9 -> 179573d6-eaeb-4243-bf83-5036eaf41621
  nsIDOMXULElement because it inherits from nsIDOMElement
    f28b7d89-5724-4cc5-9eba-5b61d65f1db5 -> 7276f428-bb8f-45d1-b379-d521deb4793e
  nsIDOMSVGElement because it inherits from nsIDOMElement
    dbb1b49c-dce5-43fe-97ea-e249b5620aa2 -> 8008d19c-69dd-4be4-a4c9-7166c20f62e6
  nsIDOMHTMLFontElement because it inherits from nsIDOMHTMLElement
    e044a106-3f5c-44d6-a49a-a0a0b8eb1b56 -> 35f1f341-709d-40a2-9588-3c9900969bca
  nsIDOMHTMLLegendElement because it inherits from nsIDOMHTMLElement
    0482fb35-dba0-4675-bf7b-aed33b575f38 -> 5678c3fa-6d28-4310-afa7-03d9102c3084
  nsIDOMHTMLUListElement because it inherits from nsIDOMHTMLElement
    e9bec981-dd3e-4849-85b9-2f4f30ba5152 -> 386eb7ca-df59-4218-9726-8c957c4684cb
  nsIDOMHTMLBaseElement because it inherits from nsIDOMHTMLElement
    9b845be3-5097-42ec-a3d1-a4082dd7ad8d -> 75eadba6-ad71-4ace-b66c-02b5527098d9
  nsIDOMHTMLDListElement because it inherits from nsIDOMHTMLElement
    be500158-e7b4-468e-8a02-9cb5b699dfc3 -> 78cecd8b-73ea-4ea4-be17-c0003c62b96b
  nsIDOMHTMLTableCellElement because it inherits from nsIDOMHTMLElement
    61bf360a-a6b7-4928-96de-b54742f8b4b8 -> 08965d45-b04b-48a8-a393-71a7bf827e43
  nsIDOMHTMLTitleElement because it inherits from nsIDOMHTMLElement
    c569199b-328a-433d-8d40-fe858988625e -> 9cc9d70e-3266-4938-bf80-026d3ea52ffb
  nsIDOMHTMLOutputElement because it inherits from nsIDOMHTMLElement
    8f321988-6fe2-4714-8ba9-12c819fea2ed -> e8dbc862-026a-497c-b5f7-278fb00cbe54
  nsIDOMHTMLCommandElement because it inherits from nsIDOMHTMLElement
    cd779d00-7b8a-4c2c-baeb-45c09d9b6728 -> 09ec0fef-dece-4fe1-8b35-ce03a6453c31
  nsIDOMHTMLHeadElement because it inherits from nsIDOMHTMLElement
    dcffcf96-c4be-4c4d-a8db-05ca19212053 -> 7384cef9-22f9-49e4-bbb2-f9de49c977b0
  nsIDOMHTMLLinkElement because it inherits from nsIDOMHTMLElement
    0c8d524d-d3fc-44dd-8f6a-59069e33ded4 -> df5b05f8-693d-4026-bf87-e88b780584af
  nsIDOMHTMLLabelElement because it inherits from nsIDOMHTMLElement
    9f176054-6e79-4235-b4b9-061beddb4ac4 -> 136df7b1-d948-432f-b140-6f158e366d41
  nsIDOMHTMLFrameSetElement because it inherits from nsIDOMHTMLElement
    7df308ed-97bc-4646-b827-c74ba98c3132 -> 90ba4e41-5174-4fe3-9912-de7bb3c605b9
  nsIDOMHTMLEmbedElement because it inherits from nsIDOMHTMLElement
    8e3d4e85-27e8-4ba1-b837-248a01a60002 -> 476e53db-a642-4150-b29e-f830cad14de8
  nsIDOMHTMLProgressElement because it inherits from nsIDOMHTMLElement
    d74f904b-d3cd-47c3-a863-753fe22c19ab -> 3e44b3f7-c57d-4d03-9945-68209ac9b73d
  nsIDOMHTMLParagraphElement because it inherits from nsIDOMHTMLElement
    5874cbcf-8a14-49d6-ac5f-52d3dc6df529 -> 9e74931a-8818-4a05-a1eb-22ef9c9e327c
  nsIDOMHTMLSourceElement because it inherits from nsIDOMHTMLElement
    df8ecfef-92e5-419e-81d4-900a7cf3c3c3 -> 2ccb5361-9816-4874-ab63-410b957226ac
  nsIDOMHTMLStyleElement because it inherits from nsIDOMHTMLElement
    04c29aaa-2239-42a9-ade0-0ba3134c1a8e -> 64bac9af-44f2-4303-bc1f-0db0544e28ea
  nsIDOMHTMLDivElement because it inherits from nsIDOMHTMLElement
    37ac66bd-a7ba-4280-93bb-889f1f94494b -> 49297ffc-cfa1-417b-934c-6f7981553a81
  nsIDOMHTMLQuoteElement because it inherits from nsIDOMHTMLElement
    9b20c533-a94f-4644-9763-1f414ebbe9b1 -> 8a1317e1-87ae-46ac-9751-3216922d5b44
  nsIDOMHTMLAnchorElement because it inherits from nsIDOMHTMLElement
    44a9c8e1-2c95-41e4-86f1-96033a452a4d -> 07dcf412-1767-401a-ad16-cf2be573325e
  nsIDOMHTMLHRElement because it inherits from nsIDOMHTMLElement
    cc4919f4-3123-4e03-a49c-82abaad84f2f -> 76d0303e-3e55-4a29-8896-f87a47cd2298
  nsIDOMHTMLDataListElement because it inherits from nsIDOMHTMLElement
    e81861c0-8522-4e5b-8d3c-869cce3db4b9 -> 786f7683-a45c-4e5e-bf41-198cd152d1b6
  nsIDOMHTMLButtonElement because it inherits from nsIDOMHTMLElement
    1de3c266-5dc3-4438-8537-379879bfa425 -> d89798bf-8c79-47d7-afce-ab05b9d2f340
  nsIDOMHTMLScriptElement because it inherits from nsIDOMHTMLElement
    8b79bf24-d127-4b63-a798-f44bee76204d -> 341b7cee-2a10-4e51-a771-a432b63c86b8
  nsIDOMHTMLTableCaptionElement because it inherits from nsIDOMHTMLElement
    22cfd967-a21d-4bed-a759-0928ff4dfcd0 -> 2a501ff4-e3e2-4ea9-8c65-f7843641a42a
  nsIDOMHTMLAppletElement because it inherits from nsIDOMHTMLElement
    962eefd6-8728-4626-82b4-b008aaca00d4 -> d434f375-ad7c-4aec-a2f5-855a0cdf6506
  nsIDOMHTMLMetaElement because it inherits from nsIDOMHTMLElement
    1817a7fa-6f13-44f8-8a45-7f8f1fe7c252 -> ace38a8c-affd-40df-a5ab-ab3b789a1f22
  nsIDOMHTMLCanvasElement because it inherits from nsIDOMHTMLElement
    8cddbc86-f384-40ac-835b-fe3e00630cad -> 530ca57c-3c56-4dbf-8875-60d371ae2a70
  nsIDOMHTMLFormElement because it inherits from nsIDOMHTMLElement
    b0fa651a-134c-4b20-ba4d-35b956a4fc50 -> 32eb2e83-d703-420d-8a66-977df35d23b7
  nsIDOMHTMLModElement because it inherits from nsIDOMHTMLElement
    40552a5e-7fea-42cb-b65d-4d8c0827d03c -> ea8fc75b-4743-47bd-8bcb-4c638915cf7e
  nsIDOMHTMLHtmlElement because it inherits from nsIDOMHTMLElement
    11064dea-f7bb-4e92-88a9-54a5cacb9bb8 -> 7057e1ff-e402-4478-bc31-149c2c6d104b
  nsIDOMHTMLPreElement because it inherits from nsIDOMHTMLElement
    1b24b515-7227-40dc-ad53-ad2a55d281d4 -> f32fa4ee-8c50-4487-9506-b6070f628701
  nsIDOMHTMLMapElement because it inherits from nsIDOMHTMLElement
    b99c31bc-76d0-43bc-a912-f839ec89c829 -> c39fb677-e91d-4435-8bb3-16bcec2e3f7b
  nsIDOMHTMLAreaElement because it inherits from nsIDOMHTMLElement
    293d9f21-df16-4706-91d5-f6381f9db554 -> e3bc5ed1-e7a7-40e2-9d4e-f87b1cbe38df
  nsIDOMHTMLTableColElement because it inherits from nsIDOMHTMLElement
    d933a77b-35f3-41ec-b73f-8ae80bb7cf73 -> 02c12249-e111-494d-a5ce-05b6e771bde7
  nsIDOMHTMLDirectoryElement because it inherits from nsIDOMHTMLElement
    296eb015-904f-456c-a55c-ac7c828536a4 -> cfc04a58-8877-4d5f-a50c-875ab2eca73d
  nsIDOMHTMLMenuElement because it inherits from nsIDOMHTMLElement
    321392c8-9eb1-47db-a41c-5dc466949e8a -> 522adf57-f7b4-4b2f-a25a-be5ac3572c57
  nsIDOMHTMLHeadingElement because it inherits from nsIDOMHTMLElement
    bf25942d-acb2-4a88-87b3-ebd498a60158 -> 347d5ea3-d8f2-44ee-b67a-565508bfb6ca
  nsIDOMHTMLMediaElement because it inherits from nsIDOMHTMLElement
    6733a409-fab3-45e1-af23-9af8c361bdfd -> 9d954529-faa9-41e7-a084-19e059103cf0
  nsIDOMHTMLBRElement because it inherits from nsIDOMHTMLElement
    595249b7-c889-4e3b-9bc2-a309cab26319 -> 74e20ca5-fcae-49c4-90ad-3dde85bcd67c
  nsIDOMHTMLFrameElement because it inherits from nsIDOMHTMLElement
    4b529afd-ada8-4a2c-a70b-a4e2ead2329d -> f10490a7-1d69-4877-a9fd-41165695b04c
  nsIDOMHTMLOListElement because it inherits from nsIDOMHTMLElement
    08a25a61-f2a3-4eff-b208-ad05805e62e7 -> a6180174-c5ae-4c51-869f-e17e9aa1c4c9
  nsIDOMHTMLBodyElement because it inherits from nsIDOMHTMLElement
    fbc08701-776e-47d8-8b14-12b27aadc180 -> 55808581-5d0f-492b-ac70-4a94cc0d9d78
  nsIDOMHTMLOptionElement because it inherits from nsIDOMHTMLElement
    ec3cfb59-a945-4821-8ea6-2448970e7639 -> 28b7dae3-9c9f-4eca-9a82-d564f0a4fd79
  nsIDOMHTMLImageElement because it inherits from nsIDOMHTMLElement
    3ed7023f-24be-4cd6-984c-c182a6b67bf9 -> 268f1e3a-d7e5-4196-9261-82a13b1218d9
  nsIDOMHTMLFieldSetElement because it inherits from nsIDOMHTMLElement
    91f19c37-4763-4963-a38a-ce3101fd3729 -> 311c38fb-b6e9-4532-8bef-dfe0e37ba578
  nsIDOMHTMLSelectElement because it inherits from nsIDOMHTMLElement
    6f0a4fee-3aea-4bb7-85cb-d4881a55ca43 -> 45f42964-cf93-432a-9d74-fd43a161cb03
  nsIDOMHTMLUnknownElement because it inherits from nsIDOMHTMLElement
    50c480fa-d3dc-49ad-a21d-d4d5f7aec44e -> 63d1dbce-a41c-4872-8997-15ba556b1479
  nsIDOMHTMLLIElement because it inherits from nsIDOMHTMLElement
    681be589-da8b-4bf9-a7e0-6f29a5ac91bb -> b23f3470-e016-4652-845a-f02dea3392de
  nsIDOMHTMLIFrameElement because it inherits from nsIDOMHTMLElement
    d4e870bd-452c-4860-b93c-f4ee00ba33f6 -> c601bc5f-7eda-4034-8202-41b6914960b6
  nsIDOMHTMLInputElement because it inherits from nsIDOMHTMLElement
    6b1175a5-70dd-4c26-be99-9e780c32550d -> 601a0a10-5394-4aec-b77e-7d5930c277aa
  nsIDOMHTMLTextAreaElement because it inherits from nsIDOMHTMLElement
    0ad0571c-f8ba-44e2-b5aa-5e1c93fae7c0 -> f188b043-e799-418d-9024-3f9e052d262b
  nsIDOMHTMLObjectElement because it inherits from nsIDOMHTMLElement
    dbb14d7b-05ce-4abd-a980-9aedede612af -> fcce6dc6-253d-4885-ad3e-f8e5246a54c0
  nsIDOMHTMLParamElement because it inherits from nsIDOMHTMLElement
    1f0685fb-bf49-4c39-b08d-7d75b1e5e493 -> 180a238c-9c2a-4a78-b0e5-3608fe4ff2b7
  nsIDOMHTMLTableSectionElement because it inherits from nsIDOMHTMLElement
    4940c93c-b83e-4101-b9de-c33139cc5a3a -> 3c0fa290-763f-4420-ad74-826ffe05a4ac
  nsIDOMHTMLTableElement because it inherits from nsIDOMHTMLElement
    7b9d43a6-7e9e-4618-970b-29eb3547d506 -> 15cf6755-7d7a-4d44-b31a-c457b3cb9d66
  nsIDOMHTMLOptGroupElement because it inherits from nsIDOMHTMLElement
    45685a23-a6c0-48d3-83f9-7b3bba1bd995 -> 812966c8-138a-438e-b171-ad8d28119929
  nsIDOMHTMLTableRowElement because it inherits from nsIDOMHTMLElement
    f76a1d42-25b9-41b9-a58e-7d934e1be0a2 -> 85e67929-f1ad-417c-a264-12d07ff4fa5e
  nsIDOMXULControlElement because it inherits from nsIDOMXULElement
    ffbc1cee-6dd5-4716-b383-255b1e89fb16 -> 78fa357b-9fdf-4119-bf0a-080dd2eadb3b
  nsIDOMXULImageElement because it inherits from nsIDOMXULElement
    857a58a8-af19-4301-90ff-673bd8477cb9 -> d91b461c-e3e3-4d27-9db4-7abc7667c661
  nsIDOMXULPopupElement because it inherits from nsIDOMXULElement
    da02c027-1768-46df-99cc-a88f29cd70f6 -> 6ca6e647-bf8c-48ab-a63f-64089236ea02
  nsIDOMXULTreeElement because it inherits from nsIDOMXULElement
    543d62b9-39b4-4c8e-8629-1e6a58b94304 -> 770299cb-e25c-4c4b-8fff-b1d4daa63ab6
  nsIDOMXULContainerItemElement because it inherits from nsIDOMXULElement
    42897cc8-190f-4483-a2c1-807fc76d9e78 -> 4c9d6a90-01ca-4a83-bd7b-05f03bea4a72
  nsIDOMXULSelectControlItemElement because it inherits from nsIDOMXULElement
    8768e500-fd83-462e-8e2a-3e3ac40014d5 -> b7c12683-e117-4b8d-9b2a-926177cf8204
  nsIDOMXULDescriptionElement because it inherits from nsIDOMXULElement
    c812217d-560d-48d4-b517-df42140d45cd -> 9068a65b-2703-452c-abaa-52352c81343a
  nsIDOMSVGPolygonElement because it inherits from nsIDOMSVGElement
    c6f0dbd7-ad84-4566-bc57-715bc617ff27 -> 3ffadd06-6a00-4cf0-920a-29bb6d0a3796
  nsIDOMSVGMpathElement because it inherits from nsIDOMSVGElement
    f419e51b-3054-4cff-b55a-f096cf06f1c9 -> 7751aea2-bcdd-4a2f-bb9b-997e2c84592e
  nsIDOMSVGCircleElement because it inherits from nsIDOMSVGElement
    9c3e3e1f-0332-4b6c-8699-554edb3a972f -> f9fcf3e6-06d7-48b2-be43-41c99046fbea
  nsIDOMSVGScriptElement because it inherits from nsIDOMSVGElement
    6f529794-2f07-466b-8cd8-69f88c004089 -> 3f48e61f-6a08-4329-a10c-915752d08008
  nsIDOMSVGMarkerElement because it inherits from nsIDOMSVGElement
    df5bb334-0f72-4188-ae8d-467cec5019bf -> d4f2f45b-c3f3-47b8-937b-bd49f4635ce1
  nsIDOMSVGStopElement because it inherits from nsIDOMSVGElement
    48c7dbd2-d24a-438d-884f-26840f4727a9 -> 1406d3ed-f4d3-4ea8-b3f8-249acd8d5e1c
  nsIDOMSVGPatternElement because it inherits from nsIDOMSVGElement
    b8b4500d-e389-42b6-ae54-dd163d6c7c03 -> fdda3e23-b510-40e4-bb9b-ab553f650e56
  nsIDOMSVGFEMergeNodeElement because it inherits from nsIDOMSVGElement
    556ae82f-a713-4075-8b1a-a484c147b55e -> 44f65104-3a82-4e15-948a-8ae67f9f5b54
  nsIDOMSVGSwitchElement because it inherits from nsIDOMSVGElement
    8a7fe157-6591-449c-b05a-40556efa5499 -> 90c19a61-6d1a-4f0b-8419-0beab34c5180
  nsIDOMSVGRectElement because it inherits from nsIDOMSVGElement
    578f6b8f-1e40-43e4-95a5-422fbd093006 -> 8d900a56-3b41-43b5-9516-c62093fabe5d
  nsIDOMSVGLineElement because it inherits from nsIDOMSVGElement
    0db4b4ba-01f4-4aba-8054-084febfc96ae -> 1b716653-d32c-474c-a3fd-a8489c93d649
  nsIDOMSVGDescElement because it inherits from nsIDOMSVGElement
    e97484c1-5b32-4e7e-8ad6-e04ea8100d3f -> 50d7ad7d-be97-4566-8ca8-ed60fa38dde1
  nsIDOMSVGGElement because it inherits from nsIDOMSVGElement
    a5b4fa2e-65fb-4e9a-bb1b-00106a4fd813 -> b4c0953e-594f-4614-b735-9b8d92a449e6
  nsIDOMSVGFilterPrimitiveStandardAttributes because it inherits from nsIDOMSVGElement
    0baad34c-3937-4a62-8098-5988ad6d3582 -> 82e2b39c-6776-46d5-9221-90f4e830bdc5
  nsIDOMSVGAnimationElement because it inherits from nsIDOMSVGElement
    412616f5-b7a0-4160-9c64-5c328cb73836 -> 0d45b759-dc59-4af6-95ad-81bc988fa2dc
  nsIDOMSVGPolylineElement because it inherits from nsIDOMSVGElement
    e0269dec-7084-4ef5-8dbd-7e41c6e820da -> 4c963bf3-f87d-400a-8ac7-ebb6e96b77cb
  nsIDOMSVGFilterElement because it inherits from nsIDOMSVGElement
    d4ffe017-20da-44eb-8111-9e814be8d313 -> 9e29bbae-fc98-4901-8c5d-f44c4f60869d
  nsIDOMSVGAElement because it inherits from nsIDOMSVGElement
    0e0081ce-8b9d-4c26-baeb-a5e99f5126f9 -> 1b453295-d28a-4006-93df-24e1b2fa180b
  nsIDOMSVGFESpotLightElement because it inherits from nsIDOMSVGElement
    4bc6bd22-7faf-409e-acff-0d554ff93b2e -> 1b280d95-7bc3-409b-b906-01474bcf81be
  nsIDOMSVGFEDistantLightElement because it inherits from nsIDOMSVGElement
    bcd675cb-8794-4083-a6f4-1577a6c23f2b -> 0a76bc8a-07ab-441a-b0ed-d18bd9435823
  nsIDOMSVGTitleElement because it inherits from nsIDOMSVGElement
    8c463198-1272-45ca-89cb-40a37733611b -> 22fa4cdb-6341-41f9-96a0-3bc353387384
  nsIDOMSVGTextContentElement because it inherits from nsIDOMSVGElement
    c866157b-f49b-41a0-89a9-1b54644843b9 -> 351f2274-a5a0-4cb9-848e-c08de93c74e5
  nsIDOMSVGSVGElement because it inherits from nsIDOMSVGElement
    19198100-d373-408b-9b75-4c6c6310ea5b -> 64d8dc43-2c3f-49b4-9ede-8174b44b3c6c
  nsIDOMSVGImageElement because it inherits from nsIDOMSVGElement
    048da3ff-aa94-4988-8f5c-3aae4a630008 -> 9c124996-97a2-4dd4-9f23-7220136e6da7
  nsIDOMSVGComponentTransferFunctionElement because it inherits from nsIDOMSVGElement
    8d1c623f-81d0-494d-abf4-089447d71e19 -> 4d33de92-a6d3-41f6-9739-1e251cd2c12d
  nsIDOMSVGPathElement because it inherits from nsIDOMSVGElement
    8fd0f541-49c2-484d-a34c-a24eb25fe286 -> ac1c1daa-c6d2-49f8-bf1b-00561bc79c38
  nsIDOMSVGMaskElement because it inherits from nsIDOMSVGElement
    90670735-4ea4-4d68-b6ef-15c93c3b922c -> 5b7bed70-d09c-445b-8077-23b38587543f
  nsIDOMSVGSymbolElement because it inherits from nsIDOMSVGElement
    5eb4ffa0-84c0-4b7e-b123-dfe780a3a210 -> 89b7c579-8e9e-48a1-817e-c1d17351f99f
  nsIDOMSVGFEPointLightElement because it inherits from nsIDOMSVGElement
    57786525-10bd-4599-9bc0-f2a76ff10178 -> 156d5be7-fad9-434b-853e-d3c381b311b1
  nsIDOMSVGDefsElement because it inherits from nsIDOMSVGElement
    e6dd64f2-c59b-4c0f-85fb-63b748c20057 -> b4295a83-5d94-4c9f-8522-ca33f0336257
  nsIDOMSVGGradientElement because it inherits from nsIDOMSVGElement
    9c21dbc3-09bf-4905-ab84-b86c3f7471ce -> 9d52ecd4-39f6-4f28-a6b2-3b4c683f590a
  nsIDOMSVGStyleElement because it inherits from nsIDOMSVGElement
    65fbceac-b2ab-483a-ba74-ceeb7594727e -> 36a54e11-19a8-4ea0-bbc7-1cd87f6eb553
  nsIDOMSVGUseElement because it inherits from nsIDOMSVGElement
    04c1aeb1-259c-41a6-9221-c2f1bdf5ca5f -> e9b6db6b-5d08-4a34-b0d9-bb5bef5d77e9
  nsIDOMSVGClipPathElement because it inherits from nsIDOMSVGElement
    384359ad-7c3f-4638-9364-95e4d42b4c0c -> c3063eeb-b6f7-40d5-88b5-3b5d9d33af09
  nsIDOMSVGForeignObjectElement because it inherits from nsIDOMSVGElement
    7639563d-b19c-46d3-afb4-1bef937e8c29 -> 4bf2661b-d7bc-4d38-90b8-4e88242446bb
  nsIDOMSVGMetadataElement because it inherits from nsIDOMSVGElement
    08953b06-59da-4d19-a551-31ebf92fd6f4 -> 184aa1b7-4f69-4257-b8b5-2f12b6e7000d
  nsIDOMSVGEllipseElement because it inherits from nsIDOMSVGElement
    6dff169d-43b8-4727-8dc2-b14c897951a3 -> 31bc3703-2384-4607-b10d-7c7e336534f9
  nsIDOMHTMLMenuItemElement because it inherits from nsIDOMHTMLCommandElement
    66a84ce5-2346-42ca-b6e4-7cc8ec9e621d -> ee77aa1a-fc37-4a3f-a2ca-c6f835d68847
  nsIDOMHTMLVideoElement because it inherits from nsIDOMHTMLMediaElement
    2274055b-8b3a-4a5a-8d72-5d5aea07021a -> 68d69341-e5c0-458c-aa0e-fb7bc199e414
  nsIDOMHTMLAudioElement because it inherits from nsIDOMHTMLMediaElement
    390c059a-0a26-4a44-96b6-3f8817bf92e9 -> bf9ea835-e94a-4a67-bcfd-01d090b44a95
  nsIDOMXULLabeledControlElement because it inherits from nsIDOMXULControlElement
    0c5cb578-f2da-4699-82d8-173798a89c5b -> 35fca755-6ee7-46ce-84d8-fcab0843f5e7
  nsIDOMXULSelectControlElement because it inherits from nsIDOMXULControlElement
    628edef3-4e9c-472f-b6af-09b02c29eb9c -> 0f079b48-887f-420c-8bb0-6fb8394e39cf
  nsIDOMXULTextBoxElement because it inherits from nsIDOMXULControlElement
    ebbd6bfd-d889-4321-9b29-027b8dbaecf6 -> f2721361-b76b-43ad-a55b-cbe9f65a5d5c
  nsIDOMXULContainerElement because it inherits from nsIDOMXULContainerItemElement
    ffa9129c-d183-4a2d-82e0-18135a57286e -> 25874d9e-d5e8-4458-947b-5e07eb113a66
  nsIDOMXULLabelElement because it inherits from nsIDOMXULDescriptionElement
    6020c1bd-e19a-4014-aa55-15bcf23272bd -> d4fee401-56a2-4ccf-b7a7-8dbac4b4aaa1
  nsIDOMSVGFEDiffuseLightingElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    3683aa0d-9d2f-45cd-8bc8-9b8a79e519b7 -> 1b72ff8a-30da-4546-b9ec-92b7e31fbeef
  nsIDOMSVGFEMorphologyElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    7246ba36-0dd1-43fc-8536-908e8985b77a -> 3029bea5-3522-4abf-b9d9-d12cd4d5315f
  nsIDOMSVGFEComponentTransferElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    8dd308d2-19b0-4d0a-a600-fc97cc278840 -> a88a2f89-c4c2-47cd-a925-be10dcb5c84b
  nsIDOMSVGFEConvolveMatrixElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    812fdfe3-93fd-4787-9909-7158d839ea69 -> 9e5814a5-b4d7-4b7d-9499-7422228e8c26
  nsIDOMSVGFETileElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    4590fc6a-5dc1-45bc-9e86-0af377d6ecbd -> 1e691121-1eae-42f7-84d6-3a89ea973a2d
  nsIDOMSVGFESpecularLightingElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    f3a96e7a-48db-4d75-b16a-368f7fa39482 -> bbe6f08d-fe44-49c1-b106-12cbdb2adf54
  nsIDOMSVGFEOffsetElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    5528a83d-6dd5-48a0-917a-e67d688d76ed -> e52f3aba-b92c-408b-85d6-105c31faa3ea
  nsIDOMSVGFEFloodElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    610e2fe0-3d6a-4cf0-8df6-b65da8d29367 -> 51c63966-9b1e-40f2-aa14-63ad4aa18eba
  nsIDOMSVGFEBlendElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    15d091f6-ffdd-4b22-90d3-45671a3a153c -> 99a29672-6a02-479e-8984-0818f4e9aa25
  nsIDOMSVGFEMergeElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    680478f7-e018-448e-a5f8-994737a1f3cc -> 774d3573-70f8-494f-8e40-21caaf3e4456
  nsIDOMSVGFETurbulenceElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    bec76206-825d-40c9-bded-0810daafb117 -> df73c60d-5174-443c-acbb-59133e838f36
  nsIDOMSVGFEDisplacementMapElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    7a7548ed-f578-433b-b6b3-d034f5f19f44 -> 5a6a0964-db32-4fc7-8fd9-5cecea3ca632
  nsIDOMSVGFEGaussianBlurElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    aa828fdd-855c-4def-b911-0305521e6b3c -> f4baa549-e940-4580-862f-f9a08fd87042
  nsIDOMSVGFECompositeElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    4c817cff-3eb1-4aa3-86cc-6c1d26304d51 -> ee90dad9-24ee-4a25-95cd-cf154642d998
  nsIDOMSVGFEImageElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    477bb1c0-4923-467f-a0ce-85cbe87c2324 -> 65c1b406-8cf0-402f-ba2c-35c966f396b4
  nsIDOMSVGFEColorMatrixElement because it inherits from nsIDOMSVGFilterPrimitiveStandardAttributes
    9865eca2-ec73-4241-b17c-3707a84801a0 -> 017ca529-195a-4617-b0cc-1be4ce16277b
  nsIDOMSVGAnimateTransformElement because it inherits from nsIDOMSVGAnimationElement
    62e30f49-3566-4415-8971-b0ddd2c8bf97 -> a7b978a7-4c62-404f-ad71-65d52d689931
  nsIDOMSVGSetElement because it inherits from nsIDOMSVGAnimationElement
    11e4330d-fb38-4ab8-b580-3c2ff5228e6d -> 252b57e6-d7f8-4652-b32c-878d802dae3e
  nsIDOMSVGAnimateElement because it inherits from nsIDOMSVGAnimationElement
    01a99850-013b-4821-97fd-798732c8cc53 -> 0a0c5265-12f1-46c9-91b0-fd731091b5b2
  nsIDOMSVGAnimateMotionElement because it inherits from nsIDOMSVGAnimationElement
    29d02159-1517-49dc-8a83-8824fb166c09 -> e9dc8cd7-25b9-4873-ad01-f37c6074c8d2
  nsIDOMSVGTextPathElement because it inherits from nsIDOMSVGTextContentElement
    a396f465-0333-48df-b5b7-e29d5a6b40f9 -> 33174f26-3e83-4336-bd6c-c4373a91c9f1
  nsIDOMSVGTextPositioningElement because it inherits from nsIDOMSVGTextContentElement
    dbc9a9bd-56a5-4d7f-b3fd-bcd2f1d38920 -> 2002634c-2871-45f8-8411-a197ba693b74
  nsIDOMSVGFEFuncBElement because it inherits from nsIDOMSVGComponentTransferFunctionElement
    3d7b80be-be90-4d5f-bd7f-ad8a41e25650 -> 5b11bb73-8f85-45a4-9e4f-d532a7f26f24
  nsIDOMSVGFEFuncGElement because it inherits from nsIDOMSVGComponentTransferFunctionElement
    28140f4f-11b0-4aaa-988f-91183de9174d -> 97c70f3a-1300-4e3b-b4a3-056d13891ae9
  nsIDOMSVGFEFuncRElement because it inherits from nsIDOMSVGComponentTransferFunctionElement
    16cc0d3d-7d9d-4994-8e22-51a2ca8bc286 -> 37547598-4d25-495a-a0b7-45e13cc17e28
  nsIDOMSVGFEFuncAElement because it inherits from nsIDOMSVGComponentTransferFunctionElement
    52cf6761-4ff7-467f-9828-0fb2f51a70cf -> 776df0eb-b834-4b2d-b6a1-4ae637905800
  nsIDOMSVGRadialGradientElement because it inherits from nsIDOMSVGGradientElement
    6b4b82a3-424f-41bc-b748-0cdec4a7f419 -> 607d241e-747d-4e42-b7e4-2c2cd1eb6e0c
  nsIDOMSVGLinearGradientElement because it inherits from nsIDOMSVGGradientElement
    42f66e56-ea42-4c75-a190-0dc5ad19afa4 -> 1dd9f1d2-1a58-45c7-94c3-8f018c9ef60c
  nsIDOMXULCheckboxElement because it inherits from nsIDOMXULLabeledControlElement
    f206d13f-6d1f-48b8-9cda-cefef3549457 -> f2542a91-e330-4f7d-811a-1024b509d866
  nsIDOMXULButtonElement because it inherits from nsIDOMXULLabeledControlElement
    432faebf-2578-4878-8721-b0863284e6d1 -> 45da5707-d487-4cf4-a99e-45b7557e6f29
  nsIDOMXULMultiSelectControlElement because it inherits from nsIDOMXULSelectControlElement
    98c367ca-ac5b-493c-83e9-1b6a67aee57b -> 201062fa-1515-464c-9c19-7c87c5aa7548
  nsIDOMXULMenuListElement because it inherits from nsIDOMXULSelectControlElement
    625ed65c-53cb-4994-9185-40dbb7816482 -> 991dec02-66a5-4dc8-91a8-6980fbd77803
  nsIDOMSVGTSpanElement because it inherits from nsIDOMSVGTextPositioningElement
    25ff6d97-2527-4f26-be2c-114df7370ba6 -> 55999351-ce05-41df-ae45-09f41b163b3c
  nsIDOMSVGAltGlyphElement because it inherits from nsIDOMSVGTextPositioningElement
    e86efca6-0391-4e9a-83dc-90b3b761a690 -> 477d6fde-7786-4dd0-a9e7-8a8952d08c8b
  nsIDOMSVGTextElement because it inherits from nsIDOMSVGTextPositioningElement
    09702cc5-e882-40a5-a301-1bbfea30b941 -> 58ba441c-e68e-42c9-a108-ba641cf6887c


Can you download and use update-uuids and include the results in your patch so the UUIds are updated correctly? Thanks!
Comment 8 Olli Pettay [:smaug] 2012-03-23 03:49:48 PDT
Diogo or David, could you provide a new patch and ask Chris to review it.
Comment 9 Diogo Golovanevsky Monteiro [:diogogmt] 2012-03-23 07:47:47 PDT
(In reply to Olli Pettay [:smaug] from comment #8)
> Diogo or David, could you provide a new patch and ask Chris to review it.

I'm just fixing a few details.
I'll be posting an updated patch today.
Comment 10 Diogo Golovanevsky Monteiro [:diogogmt] 2012-03-23 09:29:29 PDT
Created attachment 608734 [details] [diff] [review]
Patch v2

All the IDLs that were affected by the change of mozRequestFullScreen() from nsIDOMHTMLElement to nsIDOMElement had their UUIDs updated.

I also added a simple mochitests to check if svg elements can successfully request fullscreen.
Comment 11 Chris Pearce (:cpearce) 2012-03-23 13:42:47 PDT
Comment on attachment 608734 [details] [diff] [review]
Patch v2

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

Great, thanks!
Comment 12 David Humphrey (:humph) 2012-03-23 13:53:22 PDT
Does this need an SR?  It would be good to land it so we can get pointer lock stuff in soon, which relies on it.
Comment 13 Chris Pearce (:cpearce) 2012-03-23 21:35:37 PDT
Greenish on Try:
https://tbpl.mozilla.org/?tree=Try&rev=1683f53e61f3
Comment 15 Ed Morley [:emorley] 2012-03-24 13:39:27 PDT
https://hg.mozilla.org/mozilla-central/rev/4c2c3a714ebe

Note You need to log in before you can comment on or make changes to this bug.