Reviewed by Dave,
[WebKit-https.git] / WebCore / ChangeLog-2005-08-23
1 2003-10-28  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Dave,
4
5         - fixed 3379725 - for <a> elements with both onclick and href, Web Kit's behavior does not match other browsers
6
7         The fix for this was to make cancelBubble only prevent bubbling,
8         but not stop propagation or prevent default. While I was at it, I
9         made returnValue work right too.
10         
11         * khtml/ecma/kjs_events.cpp:
12         (DOMEvent::getValueProperty): Implement cancelBubble and returnValue properties properly.
13         (DOMEvent::putValue): Ditto.
14         * khtml/dom/dom2_events.cpp:
15         (Event::setCancelBubble): Call impl.
16         (Event::setDefaultPrevented): Ditto.
17         (Event::getCancelBubble): Ditto.
18         (Event::defaultPrevented): Ditto.
19         * khtml/dom/dom2_events.h:
20         * khtml/xml/dom2_eventsimpl.h:
21         (DOM::EventImpl::propagationStopped): Made this a const method.
22         (DOM::EventImpl::defaultPrevented): Ditto.
23         (DOM::EventImpl::setCancelBubble): Implemented by setting a new field.
24         (DOM::EventImpl::getCancelBubble): Corresponding getter.
25         (DOM::EventImpl::setDefaultPrevented): Set the already existing field for this.
26         * khtml/xml/dom_nodeimpl.cpp:
27         (NodeImpl::dispatchGenericEvent): Check getCancelBubble() when bubbling. Do not
28         check bubbles() before default handling.
29
30 2003-10-28  Chris Blumenberg  <cblu@apple.com>
31
32         Fixed: <rdar://problem/3464472>: REGRESSION: New CSS cursor support breaks style="cursor:default
33
34         Reviewed by dave.
35
36         * kwq/KWQWidget.mm:
37         (QWidget::cursor): break after we hit a view that responds to documentCursor as we do in setCursor. Without breaking we were returning the cursor of the most super HTML view which is not what we want.
38
39 2003-10-28  Maciej Stachowiak  <mjs@apple.com>
40
41         Reviewed by John.
42
43         - fixed 3421393 - window.open does not handle non-integral height/width (small window at saabusa.com)
44         
45         * khtml/ecma/kjs_window.cpp:
46         (WindowFunc::tryCall): Parse width, height, top and left as
47         floating point and then cast to int instead of parsing as int to
48         match other browsers and avoid rejecting floating point numbers.
49
50 2003-10-28  Maciej Stachowiak  <mjs@apple.com>
51
52         Reviewed by John.
53
54         - fixed 3464528 - addEventListener does not work for buttons, text areas, or inputs
55
56         * khtml/rendering/render_form.cpp:
57         (RenderFormElement::slotClicked): Send CLICK_EVENT as well as one
58         of KHTML_CLICK_EVENT or KHTML_DOUBLE_CLICK_EVENT.
59
60 2003-10-28  Maciej Stachowiak  <mjs@apple.com>
61
62         Fixed broken build.
63
64         * kwq/KWQKPartsPart.mm:
65         (KParts::ReadOnlyPart::setName): It's a ReadOnlyPart method, not a Part method.
66
67 2003-10-28  Maciej Stachowiak  <mjs@apple.com>
68
69         Reviewed by John.
70
71         - fixed 3427046 - href and src attributes don't always give resolved URL
72
73         It turns out that all href and src attributes should be resolved
74         against the base, except for frame elements.
75         
76         * khtml/dom/html_base.cpp:
77         (HTMLIFrameElement::src): Resolve against base URL.
78         * khtml/dom/html_form.cpp:
79         (HTMLInputElement::src): Resolve URL even when empty. Remove
80         comment questioning resolution against base - it's definitely
81         right.
82         * khtml/dom/html_head.cpp:
83         (HTMLBaseElement::href): Resolve against base URL.
84         (HTMLLinkElement::href): Ditto.
85         (HTMLScriptElement::src): Ditto.
86         * khtml/dom/html_image.cpp:
87         (HTMLAreaElement::href): Ditto.
88         (HTMLImageElement::src): Resolve URL even when empty. Remove
89         comment questioning resolution against base - it's definitely
90         right.
91         * khtml/dom/html_inline.cpp:
92         (HTMLAnchorElement::href): Resolve against base URL.
93
94 2003-10-27  Maciej Stachowiak  <mjs@apple.com>
95
96         Reviewed by Darin.
97
98         - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
99         
100         * kwq/KWQKHTMLPart.h:
101         * kwq/KWQKHTMLPart.mm:
102         (KWQKHTMLPart::setName): Make sure the name is unique. Then tell
103         the bridge and the superclass about it.
104         * kwq/KWQKPartsPart.h:
105         (KParts::ReadOnlyPart::setName): Made this method virtual.
106         * kwq/KWQKPartsPart.m: Added. Moved implementations of virtual methods here.
107         * kwq/WebCoreBridge.h:
108         * kwq/WebCoreBridge.mm:
109         (-[WebCoreBridge setName:]): Call the superclass method to avid
110         sending the name pointlessly back across the bridge.
111
112 2003-10-28  Darin Adler  <darin@apple.com>
113
114         Reviewed by John.
115
116         - fixed 3465063 -- REGRESSION (107-108): hang when fetching a page with an ad in a subframe (theage.com.au)
117
118         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURL): Follow the parent chain properly rather
119         than repeatedly getting the part's own parent!
120
121 2003-10-27  Maciej Stachowiak  <mjs@apple.com>
122
123         Reviewed by Darin.
124
125         Improved exception blocking in the following ways:
126
127         - use C++ constructors and destructors so returning or breaking out of an exception block works
128         - Remove use of volatile
129         - Collapse the caught exception case into a single function call to reduce code size.
130
131         * WebCore.pbproj/project.pbxproj:
132         * kwq/KWQButton.mm:
133         * kwq/KWQCheckBox.mm:
134         * kwq/KWQComboBox.mm:
135         * kwq/KWQExceptions.h:
136         * kwq/KWQExceptions.mm: Added.
137         * kwq/KWQFileButton.mm:
138         * kwq/KWQFont.mm:
139         * kwq/KWQFrame.mm:
140         * kwq/KWQKConfigBase.mm:
141         * kwq/KWQKCookieJar.mm:
142         * kwq/KWQKCursor.mm:
143         * kwq/KWQKHTMLPart.mm:
144         * kwq/KWQKHTMLPartBrowserExtension.mm:
145         * kwq/KWQKHistoryProvider.mm:
146         * kwq/KWQKJavaAppletWidget.mm:
147         * kwq/KWQKJobClasses.mm:
148         * kwq/KWQKLocale.mm:
149         * kwq/KWQKPartsBrowserInterface.mm:
150         * kwq/KWQLineEdit.mm:
151         * kwq/KWQListBox.mm:
152         * kwq/KWQLoader.mm:
153         * kwq/KWQPainter.mm:
154         * kwq/KWQPushButton.mm:
155         * kwq/KWQRadioButton.mm:
156         * kwq/KWQScrollBar.mm:
157         * kwq/KWQScrollView.mm:
158         * kwq/KWQTextEdit.mm:
159         * kwq/KWQWidget.mm:
160         
161 2003-10-26  Darin Adler  <darin@apple.com>
162
163         * khtml/khtml_part.cpp: (findWordBoundary): Fix small mistake from NULL check-in earlier.
164
165 2003-10-26  Darin Adler  <darin@apple.com>
166
167         * kwq/KWQLoader.mm: (KWQResponseMIMEType): Removed an excess volatile.
168
169 2003-10-26  Darin Adler  <darin@apple.com>
170
171         Reviewed by Maciej.
172
173         - fixed 3463624 -- page at cinemakorea.com shows up blank due to kTECBufferBelowMinimumSizeErr from TEC
174
175         * kwq/KWQTextCodec.mm: (KWQTextDecoder::convertOneChunkUsingTEC): To work around the bug
176         I found in the decoder (Radar 3351093), change kTECBufferBelowMinimumSizeErr to
177         kTECOutputBufferFullStatus in cases where bytes were actually converted.
178
179 2003-10-26  Darin Adler  <darin@apple.com>
180
181         Reviewed by Maciej.
182
183         - fixed 3463586 -- WebCore does not compile with new definition of NULL
184
185         * khtml/khtml_part.cpp: (findWordBoundary): Changed NULL to 0 and did a little code
186         cleanup of the surrounding code.
187         * khtml/rendering/break_lines.cpp: (khtml::isBreakable): Changed NULL to 0 and did
188         a tiny bit of cleanup.
189
190         * WebCorePrefix.h: Add a definition of NULL here that takes advantage of the GNU
191         __null feature even if the system C library doesn't.
192
193 2003-10-26  Darin Adler  <darin@apple.com>
194
195         Reviewed by Maciej.
196
197         - fixed 3457831 -- REGRESSION: copying particular text and pasting (plain) produces lots of extra text
198
199         * khtml/khtml_part.cpp: (KHTMLPart::text): Check for the end node when following a
200         link to the parent node, not just when following a link to the next child node.
201         * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString): Ditto.
202
203 == Rolled over to ChangeLog-2003-10-25 ==