Closed Bug 267854 Opened 20 years ago Closed 20 years ago

Parser data listeners don't get all the data in all cases.

Categories

(Core :: DOM: HTML Parser, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jst, Assigned: jst)

Details

(Keywords: fixed-aviary1.0, fixed1.7.5)

Attachments

(1 file)

The parser data listener API that was added in bug 265334 for firefox 1.0 isn't
getting all the data that's parsed. The reason being that it reiles on being
able to reach the current nsIRequest through the parser context, but in certain
situations we receive data while we're processing data on a different context,
and that context won't have a request so when the call to nsParser::DataAdded()
comes through we don't find a nsIRequest in the current parser context
(mParserContext) and we don't feed the added data to the listners. This
essentially renders the new API useless, and must be fixed for 1.0.
This changes the code to pass the request that necko passes in to the parser
along to the scanner, so that it then can pass it back to the parser's
DataAdded() method. This is way more robust and correct than the current code.
blocking-aviary1.0 per discussion with Ben.
Status: NEW → ASSIGNED
Flags: blocking-aviary1.0+
Attachment #164682 - Flags: superreview?(darin)
Attachment #164682 - Flags: review?(bzbarsky)
Comment on attachment 164682 [details] [diff] [review]
Pass the nsIRequest from necko through to DataAdded().

r=bzbarsky
Attachment #164682 - Flags: review?(bzbarsky) → review+
Comment on attachment 164682 [details] [diff] [review]
Pass the nsIRequest from necko through to DataAdded().

sr+a=me.

/be
Attachment #164682 - Flags: superreview?(darin)
Attachment #164682 - Flags: superreview+
Attachment #164682 - Flags: approval1.7.x+
Attachment #164682 - Flags: approval-aviary+
Fixed on trunk and branches.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: