Menu

#516 Window#jsxGet_frames bug

1.13
closed
nobody
None
5
2014-12-20
2007-09-04
Simon R
No

jsxGet_frames falls over with a ClassCast exception on some usages. Patch is

public HTMLCollection jsxGet_frames() {
    if (frames_ == null) {
        final XPath xpath;
        try {
            xpath = new HtmlUnitXPath("//*[(name() = 'frame' or name() = 'iframe')]");
        }
        catch (final JaxenException e) {
            // should never occur
            throw Context.reportRuntimeError("Failed initializing frame collections: " + e.getMessage());
        }
        final HtmlPage page = (HtmlPage) getWebWindow().getEnclosedPage();
        frames_ = new HTMLCollection(this);
        final Transformer toEnclosedWindow = new Transformer() {
            public Object transform(final Object obj) {
                if (obj instanceof BaseFrame)
                    return ((BaseFrame) obj).getEnclosedWindow();
                else 
                    return ((FrameWindow)obj).getFrameElement().getEnclosedWindow();
            }
        };
        frames_.init(page, xpath, toEnclosedWindow);
    }

    return frames_;
}

Discussion

  • Ahmed Ashour

    Ahmed Ashour - 2007-09-04

    Logged In: YES
    user_id=950730
    Originator: NO

    Dear Simon,

    Thanks for the information, but could you submit a test case that fails please?

     
  • Ahmed Ashour

    Ahmed Ashour - 2007-09-11

    Logged In: YES
    user_id=950730
    Originator: NO

    Pending requester information.

    Please provide a failing case.

    Many thanks.

     

Log in to post a comment.

MongoDB Logo MongoDB