1 /*
2 * Copyright (c) 2002-2026 Gargoyle Software Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * https://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 package org.htmlunit.html;
16
17 import java.util.Map;
18
19 import org.htmlunit.SgmlPage;
20
21 /**
22 * Wrapper for the HTML element "frameset".
23 *
24 * @author Mike Bowler
25 * @author David K. Taylor
26 * @author Christian Sell
27 * @author Ahmed Ashour
28 * @author Frank Danek
29 * @author Ronny Shapiro
30 * @author Ronald Brill
31 */
32 public class HtmlFrameSet extends HtmlElement {
33
34 /** The HTML tag represented by this element. */
35 public static final String TAG_NAME = "frameset";
36
37 /**
38 * Creates a new instance.
39 *
40 * @param qualifiedName the qualified name of the element type to instantiate
41 * @param page the page that contains this element
42 * @param attributes the initial attributes
43 */
44 HtmlFrameSet(final String qualifiedName, final SgmlPage page,
45 final Map<String, DomAttr> attributes) {
46 super(qualifiedName, page, attributes);
47
48 // force script object creation now to forward onXXX handlers to window
49 if (getPage().getWebClient().isJavaScriptEngineEnabled()) {
50 getScriptableObject();
51 }
52 }
53
54 /**
55 * Returns the value of the attribute {@code rows}. Refer to the
56 * <a href="http://www.w3.org/TR/html401/">HTML 4.01</a>
57 * documentation for details on the use of this attribute.
58 *
59 * @return the value of the attribute {@code rows} or an empty string if that attribute isn't defined
60 */
61 public final String getRowsAttribute() {
62 return getAttributeDirect("rows");
63 }
64
65 /**
66 * Returns the value of the attribute {@code cols}. Refer to the
67 * <a href="http://www.w3.org/TR/html401/">HTML 4.01</a>
68 * documentation for details on the use of this attribute.
69 *
70 * @return the value of the attribute {@code cols} or an empty string if that attribute isn't defined
71 */
72 public final String getColsAttribute() {
73 return getAttributeDirect("cols");
74 }
75
76 /**
77 * Returns the value of the attribute {@code onload}. Refer to the
78 * <a href="http://www.w3.org/TR/html401/">HTML 4.01</a>
79 * documentation for details on the use of this attribute.
80 *
81 * @return the value of the attribute {@code onload} or an empty string if that attribute isn't defined
82 */
83 public final String getOnLoadAttribute() {
84 return getAttributeDirect("onload");
85 }
86
87 /**
88 * Returns the value of the attribute {@code onunload}. Refer to the
89 * <a href="http://www.w3.org/TR/html401/">HTML 4.01</a>
90 * documentation for details on the use of this attribute.
91 *
92 * @return the value of the attribute {@code onunload} or an empty string if that attribute isn't defined
93 */
94 public final String getOnUnloadAttribute() {
95 return getAttributeDirect("onunload");
96 }
97 }