Closed
Bug 300399
Opened 19 years ago
Closed 19 years ago
MDGEngine calls ValidateNode before all external schemas have loaded
Categories
(Core Graveyard :: XForms, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: doronr, Assigned: aaronr)
References
()
Details
Attachments
(1 file)
|
2.99 KB,
patch
|
doronr
:
review+
allan
:
review+
|
Details | Diff | Splinter Review |
nsXFormsModelElement::HandleEvent gets called for DOMContentLoaded, which makes it set mDocumentLoaded to true. nsXFormsModelElement::Revalidate() sees mDocumentLoaded is true and called revalidate on the MDG. Per spec, we need to wait for all schemas to load before we start binding I believe.
| Reporter | ||
Comment 1•19 years ago
|
||
Testcase: http://www.nexgenmedia.net/bugs/300399/test.xhtml When you load the page, both fields will be marked invalid (red). This is because ValidateNode calls Schema Validation, and it finds no loaded schemas and returns an NS_ERROR_*. Go into the first field and remove on of the digits (or add one), and it will change to valid (after you tab out). The type it binds to is an integer with a maxInclude of 10000000.
just moved the rebuild, recalculate and revalidate event generation to nsXFormsModelElement::FinishConstruction, where steps 2, 3, and 4 from 4.2.1 live. FinishConstruction should only be called when all of the schemas and instance are done loading. This fix doesn't seem to cause any problems with my testing so far. Doron please try out with your external schema testcases.
| Reporter | ||
Comment 3•19 years ago
|
||
Comment on attachment 189100 [details] [diff] [review] proposed fix fixes the issue for me!
Attachment #189100 -
Flags: review+
Comment on attachment 189100 [details] [diff] [review] proposed fix Is this change going to hurt the MDG, Allan? Doesn't seem to.
Attachment #189100 -
Flags: review?(allan)
Comment 5•19 years ago
|
||
Comment on attachment 189100 [details] [diff] [review] proposed fix r=me
Attachment #189100 -
Flags: review?(allan) → review+
| Reporter | ||
Comment 6•19 years ago
|
||
checked in.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Updated•8 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•