[Webkit-unassigned] [Bug 48493] New: Rendered <noscript> tag if XHTMLMP feature is enable.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 27 19:10:43 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=48493

           Summary: Rendered <noscript> tag if XHTMLMP feature is enable.
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
               URL: http://news.google.com/nwshp?hl=en&tab=wn
        OS/Version: Windows XP
            Status: UNCONFIRMED
          Severity: Major
          Priority: P1
         Component: Layout and Rendering
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: heedol.lee at obigo.com


We are using webkit engine for our product.
I found rendering issue related to XHTMLMP feature.
Rendered all <noscript> tag if XHTMLMP feature is enable.
Please refer to attached jpg file.

Test step.
1. Build WebKit-r68882 nigtly version on window XP after enable ENABLE_XHTMLMP feature.
2. Go to google news site. (http://news.google.com/nwshp?hl=en&tab=wn)
3. You can see all noscript source code on the screen.

Our product used WebKit-r56912 version with enable XHTMLMP feature.
This version was worked well for <noscript> tag.
It seems regression issue.
I think <noscript> tag was skipped by HTMLParser::noscriptCreateErrorCheck() on WebKit-r56912 version.

As you know, webkit engine was changed about parser part since Changeset 60055.

So I tried to change some source code to fix it like as below.

bool HTMLElement::rendererIsNeeded(RenderStyle *style)
{
#if ENABLE(XHTMLMP)  // Changed #if !ENABLE(XHTMLMP) to #if ENABLE(XHTMLMP).
    if (hasLocalName(noscriptTag)) {
        Frame* frame = document()->frame();
        if (frame && frame->script()->canExecuteScripts(NotAboutToExecuteScript))
            return false;
    } else
#endif
    if (hasLocalName(noembedTag)) {
        Frame* frame = document()->frame();
        if (frame && frame->loader()->subframeLoader()->allowPlugins(NotAboutToInstantiatePlugin))
            return false;
    }
    return StyledElement::rendererIsNeeded(style);
}

After changed, <noscript> tag didn't render.

It's just temp solution.

Please fix it soon.

If you have any question, please let me know.
Thanks.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list