a66ae6c73a670bc9d63410faaba83494d1e564a0
[WebKit-https.git] / WebCore / ChangeLog
1 2007-07-04  Matt Lilek  <pewtermoose@gmail.com>
2
3         Not reviewed, gdk build fix.
4
5         * platform/gdk/FrameGdk.cpp:
6
7 2007-07-05  Antti Koivisto  <antti@apple.com>
8
9         Reviewed by John.
10         
11         Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
12         <rdar://problem/5237811>
13         
14         It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
15         was added to such a part, as in
16         
17         div.innerHTML = '<tbody><table>';
18         
19         the parser error handling code would try to pop the previous table as normal. However since
20         the table does not actually exist nothing would happen and parser would go to infinite recursion.
21         
22         Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
23         the table straight away (as it might not exist).
24
25         * html/HTMLParser.cpp:
26         (WebCore::HTMLParser::handleError):
27
28 2007-07-04  Qing Zhao  <qing@staikos.net>
29
30         Reviewed by George Staikos.
31
32         Draw menulist (comboboxes) without text overlap on the button.
33
34         * platform/qt/RenderThemeQt.cpp:
35         (WebCore::RenderThemeQt::setPopupPadding):
36
37 2007-07-04  George Staikos  <staikos@kde.org>
38
39         Compile
40
41         * page/qt/FrameQt.cpp:
42         * WebCore.pro:
43
44 2007-07-04  Sam Weinig  <sam@webkit.org>
45
46         Reviewed by Mitz.
47
48         Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
49         REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly
50
51         - Made it possible (again) to shadow window properties with local variable names.
52
53         Test: fast/dom/Window/window-property-shadowing.html
54
55         * bindings/js/JSDOMWindowCustom.cpp:
56         (WebCore::JSDOMWindow::customPut):
57         * bindings/js/kjs_window.cpp:
58         (KJS::Window::put):
59         * bindings/scripts/CodeGeneratorJS.pm:
60         * page/DOMWindow.idl:
61
62 2007-07-03  Alice Liu  <alice.liu@apple.com>
63
64         Reviewed by Adam.
65
66         Fixed <rdar://problem/5225119> support smart pasting on Windows
67
68         * WebCore.vcproj/WebCore.vcproj:
69         * WebCore.xcodeproj/project.pbxproj:
70             Added new files
71         * editing/SmartReplace.cpp: Added.
72         (WebCore::isCharacterSmartReplaceExempt):
73             Added non-CF implementation placeholder
74         * editing/SmartReplace.h: Added.
75         * editing/SmartReplaceCF.cpp: Added.
76         (WebCore::getSmartSet):
77         (WebCore::isCharacterSmartReplaceExempt):
78             Added new implementation
79
80         * bridge/win/FrameWin.cpp:
81         * page/Frame.h:
82         * page/mac/FrameMac.mm:
83             Removed old declaration and implementation
84
85         * editing/ReplaceSelectionCommand.cpp:
86         (WebCore::ReplaceSelectionCommand::doApply):
87             Changed to call the new function instead of old
88
89         * page/mac/WebCoreFrameBridge.h:
90         * page/mac/WebCoreFrameBridge.mm:
91             Removed old declaration and implementation
92         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
93             Changed to call the new function instead of old
94
95         * platform/win/PasteboardWin.cpp:
96         (WebCore::Pasteboard::Pasteboard):
97             Register new clipboard format
98         (WebCore::Pasteboard::writeSelection):
99             Set data for smartpaste format on clipboard
100         (WebCore::Pasteboard::canSmartReplace):
101             Added non-stub implementation
102
103 2007-07-04  Qing Zhao  <qing@staikos.net>
104
105         Reviewed by George Staikos.
106
107         Similar to the PlatformScrollbar fixes, adjust the painter to make the
108         styler draw all subcontrols, and in this case the focus rect, in the
109         proper location
110
111         * platform/qt/RenderThemeQt.cpp:
112         (WebCore::RenderThemeQt::paintMenuList):
113
114 2007-07-04  Mitz Pettel  <mitz@webkit.org>
115
116         Reviewed by Maciej.
117
118         - fix http://bugs.webkit.org/show_bug.cgi?id=14495
119           REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
120           <rdar://problem/5312384>
121
122         No test possible because DumpRenderTree cannot query the current cursor.
123
124         * page/EventHandler.cpp:
125         (WebCore::EventHandler::selectCursor): Changed into a member function and
126         added that if the last mouse down event could not have started a
127         selection, then the cursor should not change to an I-beam unconditionally.
128         (WebCore::EventHandler::handleMouseMoveEvent):
129         * page/EventHandler.h:
130
131 2007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>
132
133         Reviewed by Rob Buis.
134
135         A little progress in tracking dependencies.
136
137         * WebCore.pro: Add DEPENDPATH for the Gdk port.
138
139 2007-07-03  Darin Adler  <darin@apple.com>
140
141         Reviewed by Tim Hatcher.
142
143         - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes
144
145         Test: editing/style/font-family-with-space.html
146
147         * css/FontFamilyValue.cpp:
148         (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
149         (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
150         checking for a leading "#" character.
151         * editing/markup.cpp:
152         (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
153         (WebCore::renderedText): Changed to return a String for better efficiency.
154         (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
155         (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
156         to escapeTextForMarkup in the special case for the style property.
157         (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
158         call to escapeTextForMarkup in two special cases for the style property.
159
160 2007-07-03  Sam Weinig  <sam@webkit.org>
161
162         Reviewed by Darin.
163
164         Twelfth round of fixes for implicit 64-32 bit conversion errors.
165         <rdar://problem/5292262>
166
167         - Add casts and accompanying FIXMEs to avoid remaining compiler errors.
168
169         * WebCore.xcodeproj/project.pbxproj:
170         * loader/FrameLoader.cpp:
171         (WebCore::FrameLoader::opened):
172         (WebCore::FrameLoader::sendRemainingDelegateMessages):
173         * loader/FrameLoader.h:
174         * loader/ResourceLoader.cpp:
175         (WebCore::ResourceLoader::didReceiveData):
176         * platform/network/mac/ResourceHandleMac.mm:
177         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
178         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
179         * platform/network/mac/ResourceResponseMac.mm:
180         (WebCore::ResourceResponse::nsURLResponse):
181
182 2007-07-03  Anders Carlsson  <andersca@apple.com>
183
184         Reviewed by Adam.
185
186         <rdar://problem/5093862>
187         Nothing shown in plugin area when trying to play content using the DivX plugin
188         
189         Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
190                 
191         * plugins/win/PluginViewWin.cpp:
192         (WebCore::PluginViewWin::determineQuirks):
193
194 2007-07-03  Sam Weinig  <sam@webkit.org>
195
196         Reviewed by Brady Eidson.
197
198         Ninth round of fixes for implicit 64-32 bit conversion errors.
199         <rdar://problem/5292262>
200
201         - Fix function signature to use unsigned long instead of unsigned long long.
202
203         * loader/ProgressTracker.cpp:
204         (WebCore::ProgressTracker::completeProgress):
205         * loader/ProgressTracker.h:
206
207 2007-07-03  Sam Weinig  <sam@webkit.org>
208
209         Reviewed by Oliver.
210
211         Eighth round of fixes for implicit 64-32 bit conversion errors.
212         <rdar://problem/5292262>
213
214         - Convert SVG implementation files to use floats instead of doubles
215           to match the spec/IDLs.
216
217         * bindings/scripts/CodeGeneratorJS.pm:
218         * ksvg2/svg/SVGAngle.cpp:
219         * ksvg2/svg/SVGAnimatedTemplate.h:
220         * ksvg2/svg/SVGAnimationElement.cpp:
221         (WebCore::SVGAnimationElement::getEndTime):
222         (WebCore::SVGAnimationElement::getStartTime):
223         (WebCore::SVGAnimationElement::getCurrentTime):
224         (WebCore::SVGAnimationElement::getSimpleDuration):
225         * ksvg2/svg/SVGAnimationElement.h:
226         * ksvg2/svg/SVGFitToViewBox.cpp:
227         (WebCore::SVGFitToViewBox::parseViewBox):
228         * ksvg2/svg/SVGLength.cpp:
229         (WebCore::SVGLength::setValueAsString):
230         * ksvg2/svg/SVGLinearGradientElement.cpp:
231         (WebCore::SVGLinearGradientElement::buildGradient):
232         * ksvg2/svg/SVGMatrix.idl:
233         * ksvg2/svg/SVGNumber.idl:
234         * ksvg2/svg/SVGParserUtilities.cpp:
235         (WebCore::SVGPathParser::parseSVG):
236         (WebCore::SVGPathParser::calculateArc):
237         (WebCore::SVGPathParser::svgLineToHorizontal):
238         (WebCore::SVGPathParser::svgLineToVertical):
239         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
240         (WebCore::SVGPathParser::svgCurveToQuadratic):
241         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
242         (WebCore::SVGPathParser::svgArcTo):
243         * ksvg2/svg/SVGParserUtilities.h:
244         * ksvg2/svg/SVGPathElement.cpp:
245         (WebCore::SVGPathElement::SVGPathElement):
246         (WebCore::SVGPathElement::getTotalLength):
247         (WebCore::SVGPathElement::getPointAtLength):
248         (WebCore::SVGPathElement::getPathSegAtLength):
249         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
250         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
251         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
252         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
253         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
254         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
255         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
256         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
257         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
258         (WebCore::SVGPathElement::createSVGPathSegArcRel):
259         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
260         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
261         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
262         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
263         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
264         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
265         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
266         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
267         (WebCore::SVGPathElement::svgMoveTo):
268         (WebCore::SVGPathElement::svgLineTo):
269         (WebCore::SVGPathElement::svgLineToHorizontal):
270         (WebCore::SVGPathElement::svgLineToVertical):
271         (WebCore::SVGPathElement::svgCurveToCubic):
272         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
273         (WebCore::SVGPathElement::svgCurveToQuadratic):
274         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
275         (WebCore::SVGPathElement::svgArcTo):
276         (WebCore::SVGPathElement::parseMappedAttribute):
277         * ksvg2/svg/SVGPathElement.h:
278         * ksvg2/svg/SVGPathSegArc.cpp:
279         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
280         (WebCore::SVGPathSegArcAbs::setX):
281         (WebCore::SVGPathSegArcAbs::x):
282         (WebCore::SVGPathSegArcAbs::setY):
283         (WebCore::SVGPathSegArcAbs::y):
284         (WebCore::SVGPathSegArcAbs::setR1):
285         (WebCore::SVGPathSegArcAbs::r1):
286         (WebCore::SVGPathSegArcAbs::setR2):
287         (WebCore::SVGPathSegArcAbs::r2):
288         (WebCore::SVGPathSegArcAbs::setAngle):
289         (WebCore::SVGPathSegArcAbs::angle):
290         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
291         (WebCore::SVGPathSegArcRel::setX):
292         (WebCore::SVGPathSegArcRel::x):
293         (WebCore::SVGPathSegArcRel::setY):
294         (WebCore::SVGPathSegArcRel::y):
295         (WebCore::SVGPathSegArcRel::setR1):
296         (WebCore::SVGPathSegArcRel::r1):
297         (WebCore::SVGPathSegArcRel::setR2):
298         (WebCore::SVGPathSegArcRel::r2):
299         (WebCore::SVGPathSegArcRel::setAngle):
300         (WebCore::SVGPathSegArcRel::angle):
301         * ksvg2/svg/SVGPathSegArc.h:
302         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
303         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
304         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
305         (WebCore::SVGPathSegCurvetoCubicAbs::x):
306         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
307         (WebCore::SVGPathSegCurvetoCubicAbs::y):
308         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
309         (WebCore::SVGPathSegCurvetoCubicAbs::x1):
310         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
311         (WebCore::SVGPathSegCurvetoCubicAbs::y1):
312         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
313         (WebCore::SVGPathSegCurvetoCubicAbs::x2):
314         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
315         (WebCore::SVGPathSegCurvetoCubicAbs::y2):
316         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
317         (WebCore::SVGPathSegCurvetoCubicRel::setX):
318         (WebCore::SVGPathSegCurvetoCubicRel::x):
319         (WebCore::SVGPathSegCurvetoCubicRel::setY):
320         (WebCore::SVGPathSegCurvetoCubicRel::y):
321         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
322         (WebCore::SVGPathSegCurvetoCubicRel::x1):
323         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
324         (WebCore::SVGPathSegCurvetoCubicRel::y1):
325         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
326         (WebCore::SVGPathSegCurvetoCubicRel::x2):
327         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
328         (WebCore::SVGPathSegCurvetoCubicRel::y2):
329         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
330         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
331         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
332         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
333         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x):
334         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
335         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y):
336         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
337         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2):
338         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
339         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2):
340         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
341         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
342         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x):
343         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
344         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y):
345         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
346         (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2):
347         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
348         (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2):
349         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
350         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
351         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
352         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
353         (WebCore::SVGPathSegCurvetoQuadraticAbs::x):
354         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
355         (WebCore::SVGPathSegCurvetoQuadraticAbs::y):
356         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
357         (WebCore::SVGPathSegCurvetoQuadraticAbs::x1):
358         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
359         (WebCore::SVGPathSegCurvetoQuadraticAbs::y1):
360         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
361         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
362         (WebCore::SVGPathSegCurvetoQuadraticRel::x):
363         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
364         (WebCore::SVGPathSegCurvetoQuadraticRel::y):
365         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
366         (WebCore::SVGPathSegCurvetoQuadraticRel::x1):
367         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
368         (WebCore::SVGPathSegCurvetoQuadraticRel::y1):
369         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
370         (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
371         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
372         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
373         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
374         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x):
375         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
376         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y):
377         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
378         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
379         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x):
380         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
381         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y):
382         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
383         * ksvg2/svg/SVGPathSegLineto.cpp:
384         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
385         (WebCore::SVGPathSegLinetoAbs::setX):
386         (WebCore::SVGPathSegLinetoAbs::x):
387         (WebCore::SVGPathSegLinetoAbs::setY):
388         (WebCore::SVGPathSegLinetoAbs::y):
389         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
390         (WebCore::SVGPathSegLinetoRel::setX):
391         (WebCore::SVGPathSegLinetoRel::x):
392         (WebCore::SVGPathSegLinetoRel::setY):
393         (WebCore::SVGPathSegLinetoRel::y):
394         * ksvg2/svg/SVGPathSegLineto.h:
395         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
396         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
397         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
398         (WebCore::SVGPathSegLinetoHorizontalAbs::x):
399         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
400         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
401         (WebCore::SVGPathSegLinetoHorizontalRel::x):
402         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
403         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
404         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
405         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
406         (WebCore::SVGPathSegLinetoVerticalAbs::y):
407         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
408         (WebCore::SVGPathSegLinetoVerticalRel::setY):
409         (WebCore::SVGPathSegLinetoVerticalRel::y):
410         * ksvg2/svg/SVGPathSegLinetoVertical.h:
411         * ksvg2/svg/SVGPathSegList.cpp:
412         (WebCore::SVGPathSegList::getPathSegAtLength):
413         * ksvg2/svg/SVGPathSegList.h:
414         * ksvg2/svg/SVGPathSegMoveto.cpp:
415         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
416         (WebCore::SVGPathSegMovetoAbs::setX):
417         (WebCore::SVGPathSegMovetoAbs::x):
418         (WebCore::SVGPathSegMovetoAbs::setY):
419         (WebCore::SVGPathSegMovetoAbs::y):
420         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
421         (WebCore::SVGPathSegMovetoRel::setX):
422         (WebCore::SVGPathSegMovetoRel::x):
423         (WebCore::SVGPathSegMovetoRel::setY):
424         (WebCore::SVGPathSegMovetoRel::y):
425         * ksvg2/svg/SVGPathSegMoveto.h:
426         * ksvg2/svg/SVGPolyElement.cpp:
427         (WebCore::SVGPolyElement::svgPolyTo):
428         * ksvg2/svg/SVGRadialGradientElement.cpp:
429         (WebCore::SVGRadialGradientElement::buildGradient):
430         * ksvg2/svg/SVGSVGElement.cpp:
431         (WebCore::SVGSVGElement::viewport):
432         (WebCore::SVGSVGElement::getCurrentTime):
433         * ksvg2/svg/SVGStopElement.cpp:
434         (WebCore::SVGStopElement::SVGStopElement):
435         (WebCore::SVGStopElement::parseMappedAttribute):
436         * ksvg2/svg/SVGStopElement.h:
437         * ksvg2/svg/SVGTransform.cpp:
438         (SVGTransform::translate):
439         (SVGTransform::scale):
440         * ksvg2/svg/SVGTransformDistance.cpp:
441         (WebCore::SVGTransformDistance::addToSVGTransform):
442         (WebCore::SVGTransformDistance::distance):
443         * ksvg2/svg/SVGTransformable.cpp:
444         (WebCore::SVGTransformable::parseTransformAttribute):
445
446 2007-07-03  Anders Carlsson  <andersca@apple.com>
447
448         Reviewed by Darin.
449
450         <rdar://problem/5289718>
451         http://bugs.webkit.org/show_bug.cgi?id=14437
452         CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437)
453         
454         Based on a patch from Maxime Britto.
455         
456         * page/mac/WebCoreFrameBridge.mm:
457         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
458         If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys
459         its frame.
460
461         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
462         ASSERT that this is only called on the main frame.
463
464 2007-07-03  John Sullivan  <sullivan@apple.com>
465
466         Written by Darin, reviewed by me
467         
468         - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local 
469           documents more than once due to canonicalization change
470
471         * loader/mac/LoaderNSURLExtras.m:
472         (canonicalURL):
473         pass URL through KURL so we get KURL's version of canonicalization as well as
474         NSURLProtocol's version of canonicalization
475
476 2007-07-03  Sam Weinig  <sam@webkit.org>
477
478         Reviewed by Darin.
479
480         Seventh round of fixes for implicit 64-32 bit conversion errors.
481         <rdar://problem/5292262>
482
483         - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect.
484         - Changes over more implicit conversions to use new functions.
485
486         * bindings/js/kjs_window.cpp:
487         (KJS::WindowFunc::callAsFunction):
488         * platform/graphics/FloatPoint.cpp:
489         (WebCore::FloatPoint::matrixTransform):
490         (WebCore::FloatPoint::narrowPrecision):
491         * platform/graphics/FloatPoint.h:
492         * platform/graphics/FloatRect.cpp:
493         (WebCore::FloatRect::narrowPrecision):
494         * platform/graphics/FloatRect.h:
495         * platform/graphics/FloatSize.cpp:
496         (WebCore::FloatSize::narrowPrecision):
497         * platform/graphics/FloatSize.h:
498         * platform/graphics/Path.cpp:
499         (WebCore::Path::createRoundedRectangle):
500         (WebCore::Path::createRectangle):
501         (WebCore::Path::createEllipse):
502         * platform/graphics/mac/ColorMac.mm:
503         (WebCore::nsColor):
504         * platform/graphics/mac/IconMac.mm:
505         (WebCore::Icon::paint):
506         * platform/graphics/svg/cg/CgSupport.cpp:
507         (WebCore::applyStrokeStyleToContext):
508         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
509         (WebCore::CGShadingRefForRadialGradient):
510         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
511         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
512         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
513         (WebCore::applyLuminanceToAlphaFilter):
514         (WebCore::applyExpandAlphatoGrayscaleFilter):
515         (WebCore::transformImageIntoGrayscaleMask):
516         * platform/mac/WebCoreTextRenderer.mm:
517         (WebCoreDrawTextAtPoint):
518         * rendering/RenderPath.cpp:
519         (WebCore::RenderPath::mapAbsolutePointToLocal):
520         * rendering/RenderSVGContainer.cpp:
521         (WebCore::RenderSVGContainer::calcViewport):
522         * rendering/RenderSVGImage.cpp:
523         (WebCore::RenderSVGImage::nodeAtPoint):
524         * rendering/RenderSVGText.cpp:
525         (WebCore::RenderSVGText::relativeBBox):
526
527 2007-07-03  Anders Carlsson  <andersca@apple.com>
528
529         Reviewed by Adam.
530
531         <rdar://problem/5261523>
532         Crash playing MP11 on cnbc.com
533         
534         The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by
535         always removing the "windowlessvideo" parameter before passing it to the plugin.
536         According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not 
537         supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results."
538         
539         * plugins/win/PluginViewWin.cpp:
540         (WebCore::PluginViewWndProc):
541         (WebCore::PluginViewWin::paint):
542         (WebCore::PluginViewWin::invalidateRect):
543         (WebCore::PluginViewWin::determineQuirks):
544         (WebCore::PluginViewWin::setParameters):
545         (WebCore::PluginViewWin::PluginViewWin):
546         (WebCore::PluginViewWin::init):
547         * plugins/win/PluginViewWin.h:
548         (WebCore::):
549
550 2007-07-03  Qing Zhao  <qing@staikos.net>
551
552         Reviewed by George Staikos.
553
554         Only draw sunken state for appropriate widgets. Not, for example, for
555         lineedits.
556
557         * platform/qt/RenderThemeQt.cpp:
558         (WebCore::RenderThemeQt::applyTheme):
559
560 2007-07-03  Antti Koivisto  <antti@apple.com>
561
562         Reviewed by Maciej.
563         
564         REGRESSION: misplaced selection ring remains after link is no longer focused.
565         <rdar://problem/5205580>
566         
567         Fix placement of selection ring when part of the ring is in a different layer.
568
569         * rendering/RenderFlow.cpp:
570         (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer.
571         * rendering/RenderObject.cpp:
572         (WebCore::RenderObject::setStyle): 
573         Don't reset state variables when not necessary.  When repaint() was called at the end of setSyle() it would
574         get repaint rects wrong in some cases.
575
576 2007-07-03  Antti Koivisto  <antti@apple.com>
577
578         Reviewed by Maciej.
579
580         Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6
581         <rdar://problem/5263939>
582         
583         No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways
584         m_frame could be null for a live FrameView object.
585
586         * page/FrameView.cpp:
587         (WebCore::FrameView::needsLayout):
588
589 2007-07-02  Oliver Hunt  <oliver@apple.com>
590
591         Reviewed by Darin.
592
593         Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap
594         Tested by fast/replaced/image-solid-color-with-alpha.html
595
596         Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so
597         that we can use the single pixel image optimisation in WebKit/win.
598
599         * platform/graphics/cg/ImageCG.cpp:
600         (WebCore::BitmapImage::checkForSolidColor):
601
602 2007-07-02  Adam Roben  <aroben@apple.com>
603
604         Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error
605         http://bugs.webkit.org/show_bug.cgi?id=14498
606
607         There were two bugs:
608         1) xPos/yPos were flipped
609         2) + binds tighter than ?:, so the order of operations was incorrect
610
611         Reviewed by Darin.
612
613         Test: fast/inline-block/14498-positionForCoordinates.html
614
615         * rendering/RenderContainer.cpp:
616         (WebCore::RenderContainer::positionForCoordinates):
617
618 2007-07-02  Darin Adler  <darin@apple.com>
619
620         Reviewed by Kevin Decker and Tim Hatcher.
621
622         - fix <rdar://problem/5307906> some classes need finalize methods because
623           of non-trivial work done in dealloc methods
624
625         * bindings/objc/DOMRGBColor.mm:
626         (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread,
627         which is needed because we are sharing a CFDictionary here with no locking.
628
629         * bridge/mac/WebCoreAXObject.mm:
630         (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread.
631         (-[WebCoreAXObject finalize]): Added. Calls detach.
632
633         * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do.
634
635 2007-07-02  Sam Weinig  <sam@webkit.org>
636
637         Reviewed by Darin.
638
639         Sixth round of fixes for implicit 64-32 bit conversion errors.
640         <rdar://problem/5292262>
641
642         Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where
643         appropriate.
644
645         * html/CanvasRenderingContext2D.cpp:
646         (WebCore::CanvasRenderingContext2D::setShadow):
647         (WebCore::CanvasRenderingContext2D::applyShadow):
648         * html/CanvasStyle.cpp:
649         (WebCore::CanvasStyle::applyStrokeColor):
650         (WebCore::CanvasStyle::applyFillColor):
651         * ksvg2/svg/SVGAngle.cpp:
652         * ksvg2/svg/SVGAnimationElement.cpp:
653         (WebCore::SVGAnimationElement::parseKeyNumbers):
654         (WebCore::parseKeySplines):
655         (WebCore::SVGAnimationElement::handleTimerEvent):
656         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
657         * ksvg2/svg/SVGPatternElement.cpp:
658         (WebCore::SVGPatternElement::buildPattern):
659         * ksvg2/svg/SVGRadialGradientElement.cpp:
660         (WebCore::SVGRadialGradientElement::buildGradient):
661         * platform/graphics/cg/AffineTransformCG.cpp:
662         (WebCore::AffineTransform::AffineTransform):
663         (WebCore::AffineTransform::setMatrix):
664         (WebCore::AffineTransform::map):
665         (WebCore::AffineTransform::setA):
666         (WebCore::AffineTransform::setB):
667         (WebCore::AffineTransform::setC):
668         (WebCore::AffineTransform::setD):
669         (WebCore::AffineTransform::setE):
670         (WebCore::AffineTransform::setF):
671         (WebCore::AffineTransform::scale):
672         (WebCore::AffineTransform::rotate):
673         (WebCore::AffineTransform::translate):
674         (WebCore::AffineTransform::shear):
675
676 2007-07-02  John Sullivan  <sullivan@apple.com>
677
678         * page/mac/WebCoreFrameBridge.mm:
679         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
680         added a comment
681
682 2007-07-02  Sam Weinig  <sam@webkit.org>
683
684         Rubberstamped by Darin.
685
686         Rename FloatConversionUtilities.h to FloatConversion.h.
687         Fix Win32 build.
688
689         * WebCore.vcproj/WebCore.vcproj:
690         * WebCore.xcodeproj/project.pbxproj:
691         * platform/DeprecatedString.cpp:
692         * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h.
693         * platform/FloatConversionUtilities.h: Removed.
694         * platform/StringImpl.cpp:
695
696 2007-07-02  Sam Weinig  <sam@webkit.org>
697
698         Reviewed by Darin.
699
700         Fifth round of fixes for implicit 64-32 bit conversion errors.
701         <rdar://problem/5292262>
702
703         Add toFloat() method to string classes and use it where appropriate.
704
705         * WebCore.xcodeproj/project.pbxproj:
706         * css/cssparser.cpp:
707         (WebCore::CSSParser::lex):
708         * ksvg2/svg/SVGAngle.cpp:
709         (WebCore::SVGAngle::setValueAsString):
710         * platform/AtomicString.h:
711         (WebCore::AtomicString::toFloat):
712         * platform/DeprecatedString.cpp:
713         (WebCore::DeprecatedString::toFloat):
714         * platform/DeprecatedString.h:
715         * platform/FloatConversionUtilities.h: Added.
716         (WebCore::narrowPrecisionToFloat):
717         (WebCore::narrowPrecisionToCGFloat):
718         * platform/PlatformString.h:
719         * platform/String.cpp:
720         (WebCore::String::toFloat):
721         * platform/StringImpl.cpp:
722         (WebCore::StringImpl::toFloat):
723         * platform/StringImpl.h:
724
725 2007-07-02  Sam Weinig  <sam@webkit.org>
726
727         Reviewed by Kevin McCullough.
728
729         Fourth round of fixes for implicit 64-32 bit conversion errors.
730         <rdar://problem/5292262>
731
732         Use new piDouble and piFloat constants instead of M_PI.
733
734         * html/CanvasRenderingContext2D.cpp:
735         (WebCore::CanvasRenderingContext2D::rotate):
736         * ksvg2/svg/SVGParserUtilities.cpp:
737         (WebCore::SVGPathParser::calculateArc):
738         * platform/graphics/Path.cpp:
739         (WebCore::pathLengthApplierFunction):
740         (WebCore::Path::createEllipse):
741         * platform/graphics/cg/GraphicsContextCG.cpp:
742         (WebCore::GraphicsContext::drawEllipse):
743         (WebCore::GraphicsContext::strokeArc):
744         * platform/graphics/cg/PDFDocumentImage.cpp:
745         (WebCore::PDFDocumentImage::setCurrentPage):
746         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
747         * rendering/RenderPath.cpp:
748         (WebCore::drawMarkerWithData):
749
750 2007-07-01  Adam Roben  <aroben@apple.com>
751
752         Clarify/fix {Shadow,BorderImage}ParseContext's memory management
753
754         Prefast emitted warnings that drew my attention to
755         {Shadow,BorderImage}ParseContext::failed().  It turned out that these
756         methods were actually correct, but rather confusing. "failed" really
757         meant "abort and clean up" rather than "did you fail?", which was
758         unclear. However, once I figured that out, the "and clean up" part was
759         still a bit confusing, because all failed() did was to set a flag that
760         would later cause the ParseContext's members to be deleted in the
761         destructor. To clear this up, I've gotten rid of the failed() method
762         altogether. It always returned false, so I've replaced all calls to
763         it with the value false.
764
765         I also noticed that the lifetime management of the ParseContexts'
766         members was in all cases confusing, and in some cases wrong. The
767         m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
768         were leaked whenever a border-image property was successfully parsed.
769         I fixed that by holding these members in OwnPtrs. The
770         CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
771         inherit from Shared, were being explicitly deleted, which is not a
772         safe way to manage the lifetime of objects that inherit from Shared.
773         To fix this, I put those members inside RefPtrs. These two changes
774         allowed me to remove the destructors entirely.
775
776         Reviewed by Darin.
777
778         All regression tests pass.
779
780         * css/cssparser.cpp:
781         (WebCore::ShadowParseContext::commitValue): Use .release() to avoid
782         ref-count churn.
783         (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new
784         value to avoid a leak.
785         (WebCore::CSSParser::parseShadow): Use 'false' instead of
786         'context.failed()', and use .release() to avoid ref-count churn.
787         (WebCore::BorderImageParseContext::commitWidth): Updated to use
788         OwnPtr.
789         (WebCore::CSSParser::parseBorderImage): Use 'false' instead of
790         'context.failed'.
791
792 2007-07-01  Anders Carlsson  <andersca@apple.com>
793
794         Reviewed by John Sullivan.
795
796         <rdar://problem/5297146>
797         Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
798         
799         * loader/Cache.cpp:
800         (WebCore::Cache::requestResource):
801         Only insert the resource in the LRU list if the cache is enabled.
802         
803         (WebCore::Cache::insertInLRUList):
804         (WebCore::Cache::resourceAccessed):
805         Assert that the resource is in the cache.
806
807 2007-07-01  Darin Adler  <darin@apple.com>
808
809         * css/tokenizer.flex: Rolled out the fix for 14453.
810         The layout test wasn't passing. We'll try again.
811
812 2007-07-01  Adam Roben  <aroben@apple.com>
813
814         Fix a crash in ~PluginViewWin()
815
816         This crash was introduced in r23827.
817
818         Reviewed by Anders.
819
820         Fixes dom/html/level2/html/HTMLAnchorElement01.html
821
822         * plugins/win/PluginViewWin.cpp:
823         (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
824
825 2007-07-01  Rob Buis  <buis@kde.org>
826
827         Reviewed by Darin.
828
829         http://bugs.webkit.org/show_bug.cgi?id=14453
830         REGRESSION: www.nzherald.co.nz almost all the formating is gone
831  
832         * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
833
834 2007-07-01  Sam Weinig  <sam@webkit.org>
835
836         Reviewed by Oliver.
837
838         Third round of implicit 64-32 bit conversion errors fixes.
839         <rdar://problem/5292262>
840
841         - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue()
842           methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
843
844         * css/CSSPrimitiveValue.cpp:
845         (WebCore::CSSPrimitiveValue::computeLengthInt):
846         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
847         (WebCore::CSSPrimitiveValue::computeLengthShort):
848         (WebCore::CSSPrimitiveValue::computeLengthFloat):
849         (WebCore::CSSPrimitiveValue::computeLengthDouble):
850         (WebCore::CSSPrimitiveValue::getDoubleValue):
851         * css/CSSPrimitiveValue.h:
852         (WebCore::CSSPrimitiveValue::getDoubleValue):
853         (WebCore::CSSPrimitiveValue::getFloatValue):
854         (WebCore::CSSPrimitiveValue::getIntValue):
855         * css/Counter.h:
856         (WebCore::Counter::listStyleNumber):
857         * css/MediaQueryEvaluator.cpp:
858         (WebCore::parseAspectRatio):
859         * css/cssparser.cpp:
860         (WebCore::BorderImageParseContext::commitBorderImage):
861         * css/cssstyleselector.cpp:
862         (WebCore::convertToLength):
863         (WebCore::applyCounterList):
864         (WebCore::CSSStyleSelector::applyProperty):
865         (WebCore::CSSStyleSelector::mapBackgroundSize):
866         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
867         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
868         * html/HTMLTableElement.cpp:
869         (WebCore::HTMLTableElement::parseMappedAttribute):
870         * ksvg2/css/SVGCSSStyleSelector.cpp:
871         (WebCore::CSSStyleSelector::applySVGProperty):
872         * ksvg2/misc/KCanvasRenderingStyle.cpp:
873         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
874         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
875
876 2007-07-01  Pamela Greene  <pamg.bugs@gmail.com>
877
878         Reviewed by Darin.
879
880         Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
881         Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
882         <rdar://problem/5290084>
883
884         Use std::stable_sort() instead of qsort() to sort gradient stops.
885         Adjust the comparison function accordingly.
886
887         * html/CanvasGradient.cpp:
888         (WebCore::compareStops):
889         (WebCore::CanvasGradient::findStop):
890
891 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
892
893         Reviewed by Darin.
894
895         m_usesPageCache was not initialized. As the b/f cache is only
896         implemented in the Mac port and WebView.mm is taking care of calling
897         Settings::setUsesPageCache I decided to make it false by default.
898
899         * page/Settings.cpp:
900         (WebCore::Settings::Settings): m_usesPageCache was not initialized
901
902 2007-07-01  Holger Hans Peter Freyther  <zecke@selfish.org>
903
904         Reviewed by Darin.
905
906         Inherited- and NonInheritedFlags is a bit field. But for comparsion
907         the other part of the union _iflags/_niflags is used for comparions.
908         This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
909         Make sure the unused bits have a specified value.
910
911         * ksvg2/css/SVGRenderStyle.h:
912         (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits
913         have a value as well.
914
915 2007-06-30  Adam Roben  <aroben@apple.com>
916
917         Compile WebCore with /W4 on Windows
918
919         Some more warnings were disabled globally, including assignment within
920         a conditional, unused variable, and various warnings related to
921         inability to instantiate opaque structs.
922
923         In addition, the "unreachable code" warning was turned off for
924         CSSGrammar.cpp and XPathGrammar.cpp.
925
926         Reviewed by Oliver.
927
928         * WebCore.vcproj/WebCore.vcproj:
929
930 2007-06-29  Adam Roben  <aroben@apple.com>
931
932         Give CString an equality operator to fix a bug in HTMLFormElement::formData
933
934         The bug was spotted by MSVC /W4. The problem was that we were comparing
935         a CString to a char* using ==, but CString had no equality operator.
936         The result was that the CString was being cast to a const char* and a
937         pointer comparison was being done, which would (essentially) always
938         return false.
939
940         There are two parts to the fix: get rid of CString's const char*
941         casting operator, and add an equality operator. Previous uses of the
942         casting operator have been changed to use CString::data().
943
944         Test: http/misc/isindex-formdata.html
945
946         Reviewed by Oliver.
947
948         * dom/XMLTokenizer.cpp:
949         (WebCore::parseXMLDocumentFragment):
950         * html/HTMLDocument.cpp:
951         (WebCore::HTMLDocument::determineParseMode):
952         * html/HTMLFormElement.cpp:
953         (WebCore::HTMLFormElement::formData):
954         * loader/TextResourceDecoder.cpp:
955         (WebCore::TextResourceDecoder::checkForCSSCharset):
956         * platform/CString.cpp:
957         (WebCore::operator==):
958         * platform/CString.h:
959         * platform/KURL.cpp:
960         (WebCore::encodeRelativeString):
961         * platform/StringImpl.cpp:
962         (WebCore::StringImpl::toDouble):
963         * platform/network/cf/FormDataStreamCFNet.cpp:
964         (WebCore::setHTTPBody):
965         * platform/network/mac/FormDataStreamMac.mm:
966         (WebCore::setHTTPBody):
967         * platform/win/ClipboardUtilitiesWin.cpp:
968         (WebCore::markupToCF_HTML):
969         * plugins/win/PluginPackageWin.cpp:
970         (WebCore::splitString):
971         * plugins/win/PluginStreamWin.cpp:
972         (WebCore::PluginStreamWin::startStream):
973         (WebCore::PluginStreamWin::destroyStream):
974         (WebCore::PluginStreamWin::sendJavaScriptStream):
975         (WebCore::PluginStreamWin::didFinishLoading):
976         * plugins/win/PluginViewWin.cpp:
977         (WebCore::PluginViewWin::start):
978         (WebCore::createUTF8String):
979         (WebCore::PluginViewWin::userAgent):
980         * xml/XSLStyleSheet.cpp:
981         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
982         * xml/XSLTProcessor.cpp:
983         (WebCore::xsltParamArrayFromParameterMap):
984
985 2007-06-29  Adam Roben  <aroben@apple.com>
986
987         Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
988
989         Reviewed by John.
990
991         * editing/Editor.cpp:
992         (WebCore::Editor::advanceToNextMisspelling):
993         * html/HTMLParser.cpp:
994
995 2007-06-29  Adam Roben  <aroben@apple.com>
996
997         Fix some possibly unitialized variables found by MSVC /W4
998
999         Reviewed by John.
1000
1001         * rendering/bidi.cpp:
1002         (WebCore::RenderBlock::layoutInlineChildren):
1003
1004 2007-06-29  Adam Roben  <aroben@apple.com>
1005
1006         Remove bogus cast found by MSVC /W4
1007
1008         Reviewed by John and Oliver.
1009
1010         * ksvg2/css/SVGCSSParser.cpp:
1011         (WebCore::CSSParser::parseSVGValue):
1012
1013 2007-06-29  Adam Roben  <aroben@apple.com>
1014
1015         Remove unused local functions uncovered by MSVC /W4
1016
1017         Reviewed by John and Oliver.
1018
1019         * platform/win/SearchPopupMenuWin.cpp:
1020         * rendering/RenderText.cpp:
1021
1022 2007-06-29  Adam Roben  <aroben@apple.com>
1023
1024         Don't take the address of temporary values to appease MSVC /W4
1025
1026         Reviewed by Oliver.
1027
1028         No regression test possible.
1029
1030         * platform/win/PopupMenuWin.cpp:
1031         (WebCore::PopupMenu::invalidateItem):
1032         (WebCore::PopupMenu::valueChanged):
1033         (WebCore::PopupWndProc):
1034         * platform/win/ScrollViewWin.cpp:
1035         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1036         * platform/win/UniscribeController.cpp:
1037         (WebCore::UniscribeController::shapeAndPlaceItem):
1038         * platform/win/WidgetWin.cpp:
1039         (WebCore::Widget::invalidateRect):
1040
1041 2007-06-29  Adam Roben  <aroben@apple.com>
1042
1043         Make an int -> UINT conversion explicit that MSVC /W4 complains about
1044
1045         Reviewed by John and Oliver.
1046
1047         No regression test possible.
1048
1049         * platform/win/SoundWin.cpp:
1050
1051 2007-06-29  Adam Roben  <aroben@apple.com>
1052
1053         Remove unreachable code uncovered by MSVC /W4
1054
1055         Reviewed by Oliver.
1056
1057         No regression test possible.
1058
1059         * html/CanvasRenderingContext2D.cpp:
1060         (WebCore::CanvasRenderingContext2D::createPattern):
1061         * html/HTMLAnchorElement.cpp:
1062         (WebCore::HTMLAnchorElement::isLiveLink):
1063         * html/HTMLElement.cpp:
1064         (WebCore::HTMLElement::contentEditable):
1065         * platform/DeprecatedString.cpp:
1066         (WebCore::allocateHandle):
1067         (WebCore::freeHandle):
1068         * plugins/win/npapi.cpp:
1069         (pluginViewForInstance):
1070         * rendering/RenderImage.cpp:
1071         (WebCore::RenderImage::isWidthSpecified):
1072         (WebCore::RenderImage::isHeightSpecified):
1073         * rendering/RenderTheme.cpp:
1074         (WebCore::RenderTheme::isControlStyled):
1075
1076 2007-06-29  John Sullivan  <sullivan@apple.com>
1077
1078         Reviewed by Oliver Hunt.
1079         
1080         - WebCore support for accessing the set of rectangles that encompass the selected text
1081         
1082         * page/Frame.h:
1083         * page/Frame.cpp:
1084         (WebCore::Frame::selectionTextRects):
1085         new function, fills in a passed Vector with the line box rects that represent the selected range
1086
1087         * rendering/RenderText.cpp:
1088         (WebCore::RenderText::addLineBoxRects):
1089         fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
1090
1091         * WebCore.exp:
1092         exported symbol for this new function
1093
1094 2007-06-29  Justin Garcia  <justin.garcia@apple.com>
1095
1096         Reviewed by Harrison.
1097         
1098         <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do
1099         
1100         Rolled out a change made in r23787.
1101         
1102         * editing/DeleteSelectionCommand.cpp:
1103         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1104
1105 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
1106
1107         Reviewed by Darin Adler, Anders Carlsson.
1108         
1109         Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML 
1110         returns NULL if response MIME type is not XML -- breaks Wikipedia widget
1111         
1112         The spec says that responseXML must return null for any HTTP response
1113         with a non-XML MIME type. Technically, that leaves non-HTTP responses
1114         free to do whatever they want.
1115
1116         * xml/xmlhttprequest.cpp:
1117         (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML
1118         MIME types if the response was HTTP.
1119
1120 2007-06-29  Sam Weinig  <sam@webkit.org>
1121
1122         Reviewed by Darin.
1123
1124         Second pass at fixing implicit 64-32 bit conversion errors.
1125         <rdar://problem/5292262>
1126
1127         - Use new JSValue::toFloat() method instead of toNumber() where
1128           appropriate.
1129
1130         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1131         (WebCore::JSCanvasRenderingContext2D::setFillColor):
1132         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
1133         (WebCore::JSCanvasRenderingContext2D::strokeRect):
1134         (WebCore::JSCanvasRenderingContext2D::drawImage):
1135         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
1136         (WebCore::JSCanvasRenderingContext2D::setShadow):
1137         * bindings/js/JSHTMLSelectElementCustom.cpp:
1138         (WebCore::JSHTMLSelectElement::remove):
1139         * bindings/js/JSSVGMatrixCustom.cpp:
1140         (WebCore::JSSVGMatrix::rotateFromVector):
1141         * bindings/js/kjs_events.cpp:
1142         (KJS::JSClipboardPrototypeFunction::callAsFunction):
1143         * bindings/scripts/CodeGeneratorJS.pm:
1144         * ksvg2/svg/SVGScriptElement.cpp:
1145         (WebCore::SVGScriptElement::executeScript):
1146
1147 2007-06-29  Adele Peterson  <adele@apple.com>
1148
1149         Rolling out fix for <rdar://problem/5301322> since it broke layout tests.
1150
1151         * html/HTMLInputElement.h:
1152         * html/HTMLTextAreaElement.h:
1153
1154 2007-06-29  Geoffrey Garen  <ggaren@apple.com>
1155
1156         Reviewed by Oliver Hunt.
1157
1158         Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing 
1159         local file throws exception -- breaks Wikipedia widget
1160
1161         * WebCore.xcodeproj/project.pbxproj:
1162         * xml/xmlhttprequest.cpp:
1163         (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files.
1164
1165 2007-06-29  Ada Chan  <adachan@apple.com>
1166
1167         Reviewed by Adam.
1168
1169         Fixed a previous fix to a signed/unsigned mismatch.
1170
1171         * plugins/win/PluginPackageWin.cpp:
1172         (WebCore::splitString):
1173
1174 2007-06-29  Adele Peterson  <adele@apple.com>
1175
1176         Reviewed by Ada and Kevin McCullough.
1177
1178         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
1179
1180         Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable.
1181
1182         Tests:
1183         fast/forms/input-readonly-select-all.html
1184         fast/forms/textarea-readonly-select-all.html
1185
1186         * html/HTMLInputElement.h:
1187         (WebCore::HTMLInputElement::canSelectAll):
1188         (WebCore::HTMLInputElement::selectAll):
1189         * html/HTMLTextAreaElement.h:
1190         (WebCore::HTMLTextAreaElement::canSelectAll):
1191         (WebCore::HTMLTextAreaElement::selectAll):
1192
1193 2007-06-29  Adam Roben  <aroben@apple.com>
1194
1195         Build fix
1196
1197         This is what happens when you test your patch on two OSs and then
1198         commit from the wrong one.
1199
1200         * rendering/RenderTextControl.cpp:
1201         (WebCore::RenderTextControl::valueChanged):
1202         (WebCore::RenderTextControl::itemText):
1203         (WebCore::RenderTextControl::itemIsSeparator):
1204
1205 2007-06-29  Adam Roben  <aroben@apple.com>
1206
1207         Start compiling WebCore with /W3 under MSVC
1208
1209         One warning was globally disabled: implicit conversion of int to bool.
1210
1211         Reviewed by Darin.
1212
1213         * WebCore.vcproj/WebCore.vcproj:
1214
1215 2007-06-29  Adam Roben  <aroben@apple.com>
1216
1217         Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3
1218
1219         DeprecatedStringData now has no public copy constructor. The single
1220         call to the old one has been replaced with a call to the new
1221         DeprecatedStringData::createAndAdopt static method.
1222
1223         Reviewed by Darin.
1224
1225         All regression tests pass.
1226
1227         * platform/DeprecatedString.cpp:
1228         (WebCore::DeprecatedStringData::createAndAdopt):
1229         (WebCore::DeprecatedStringData::adopt):
1230         (WebCore::DeprecatedString::detachIfInternal):
1231         * platform/DeprecatedString.h:
1232
1233 2007-06-29  Adam Roben  <aroben@apple.com>
1234
1235         Fix more signed/unsigned mismatches uncovered by MSVC /W3
1236
1237         Reviewed by John.
1238
1239         No regression tests possible.
1240
1241         * platform/network/cf/ResourceResponseCFNet.cpp:
1242         (WebCore::filenameHasSaneExtension):
1243         * platform/win/FontDataWin.cpp:
1244         (WebCore::FontData::containsCharacters):
1245         * platform/win/PlatformScrollBarSafari.cpp:
1246         (WebCore::):
1247         * platform/win/UniscribeController.cpp:
1248         (WebCore::UniscribeController::advance):
1249         (WebCore::UniscribeController::shapeAndPlaceItem):
1250         * platform/win/WebCoreTextRenderer.cpp:
1251         (WebCore::doDrawTextAtPoint):
1252         * plugins/win/PluginDatabaseWin.cpp:
1253         (WebCore::parseVersionString):
1254         * plugins/win/PluginPackageWin.cpp:
1255         (WebCore::splitString):
1256         * plugins/win/PluginViewWin.cpp:
1257         (WebCore::freeStringArray):
1258         (WebCore::PluginViewWin::invalidateTimerFired):
1259
1260 2007-06-29  Adam Roben  <aroben@apple.com>
1261
1262         Change PopupMenuClient::listSize to return an int to appease warnings from MSVC /W3
1263
1264         Reviewed by John.
1265
1266         No regression test possible.
1267
1268         * html/HTMLSelectElement.cpp:
1269         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1270         * platform/PopupMenuClient.h:
1271         * platform/win/PopupMenuWin.cpp:
1272         (WebCore::PopupMenu::calculatePositionAndSize):
1273         (WebCore::PopupMenu::focusFirst):
1274         (WebCore::PopupMenu::focusLast):
1275         (WebCore::PopupMenu::down):
1276         (WebCore::PopupMenu::up):
1277         (WebCore::PopupMenu::paint):
1278         * rendering/RenderMenuList.cpp:
1279         * rendering/RenderMenuList.h:
1280         * rendering/RenderTextControl.cpp:
1281         * rendering/RenderTextControl.h:
1282
1283 2007-06-29  Adam Roben  <aroben@apple.com>
1284
1285         Fix two typos spotted by MSVC /W3
1286
1287         Both typos were a semicolon following the condition of an if. This
1288         would cause the intended body of the if to always execute.
1289
1290         Unfortunately neither of these fixes are testable.
1291         BackForwardList::goForward is only called from WebBackForwardList, and
1292         the createDragImageFromImage bug would only manifest itself when
1293         CreateCompatibleDC failed.
1294
1295         Reviewed by Mark.
1296
1297         * history/BackForwardList.cpp:
1298         (WebCore::BackForwardList::goForward):
1299         * platform/win/DragImageWin.cpp:
1300         (WebCore::createDragImageFromImage):
1301
1302 2007-06-29  Adam Treat  <adam@staikos.net>
1303
1304         Reviewed by george Staikos.
1305
1306         Support horizontal and vertical scroll, and set the right units.
1307
1308         * platform/qt/WheelEventQt.cpp:
1309         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1310
1311 2007-06-28  Adam Roben  <aroben@apple.com>
1312
1313         Get WebCore compiling with /W2 on Windows
1314
1315         Reviewed by Steve.
1316
1317         No regression tests affected.
1318
1319         * WebCore.vcproj/WebCore.vcproj: Turn the warning level up to 2, and
1320         disable two warnings: implicit int <=> float conversion, and class vs.
1321         struct inconsistency.
1322         * dom/CharacterData.cpp:
1323         (WebCore::CharacterData::deleteData): Cast to int before negating.
1324         * loader/Cache.cpp:
1325         (WebCore::Cache::remove): Ditto.
1326         * platform/graphics/Path.cpp:
1327         (WebCore::pathLengthApplierFunction): Consistently use floats.
1328         * platform/graphics/cg/GraphicsContextCG.cpp:
1329         (WebCore::GraphicsContext::drawEllipse): Ditto.
1330         * platform/win/GraphicsContextWin.cpp:
1331         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): Ditto.
1332
1333 2007-06-28  Geoffrey Garen  <ggaren@apple.com>
1334
1335         Reviewed by Maciej Stachowiak.
1336         
1337         Fixed <rdar://problem/5299005> DOM timers fire without a local autorelease 
1338         pool => pathologically high high water mark
1339         
1340         I couldn't measure any performance problems with iBench HTML or PLT.
1341
1342         * WebCore.xcodeproj/project.pbxproj: Changed .cpp file to be ObjC++.
1343         * platform/mac/SharedTimerMac.cpp:
1344         (WebCore::timerFired): Added autorelease pool.
1345
1346 2007-06-28  Mitz Pettel  <mitz@webkit.org>
1347
1348         Reviewed by Beth.
1349
1350         - fix http://bugs.webkit.org/show_bug.cgi?id=14118
1351           ASSERTION FAILED: !needsLayout() seen again
1352
1353         Test: fast/dynamic/recursive-layout.html
1354
1355         * page/FrameView.cpp:
1356         (WebCore::FrameView::layout): Removed the midLayout guards around
1357         the calls to invalidateSelection() and updateWidgetPositions(). Those
1358         calls may dirty the layout, but in that case they also update it, so
1359         they should be allowed to do it. Added an ASSERT to make sure that when
1360         they return, the root is not marked for layout.
1361
1362 2007-06-28  Sam Weinig  <sam@webkit.org>
1363
1364         Rubberstamped by Adam Roben.
1365
1366         Roll out r23861.  It caused the buildbot to fail on intel.
1367
1368         * page/Page.cpp:
1369         (WebCore::Page::goToItem):
1370
1371 2007-06-26  Maxime Britto  <mbritto@pleyo.com>
1372
1373         Reviewed by Geoff.
1374
1375         Patch for http://bugs.webkit.org/show_bug.cgi?id=13038
1376         ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
1377
1378         Modification of an ASSERT on goToItem related to go back/forward in
1379         history.Don't need to check the frameset if the target is _blank.
1380
1381          * page/Page.cpp:
1382          (WebCore::Page::goToItem):
1383
1384 2007-06-28  Anders Carlsson  <andersca@apple.com>
1385
1386         Reviewed by Oliver.
1387
1388         <rdar://problem/5234139>
1389         <object> with PNG src rendered as image document.
1390         
1391         Complete the URL before passing it to the frame loader client.
1392         
1393         * html/HTMLObjectElement.cpp:
1394         (WebCore::HTMLObjectElement::isImageType):
1395
1396 2007-06-28  Rob Buis  <buis@kde.org>
1397
1398         Reviewed by Maciej.
1399
1400         http://bugs.webkit.org/show_bug.cgi?id=14373
1401         CSS1: selectors (classes and IDs) cannot start with a dash or with a digit
1402
1403         Make sure the id selector validates against the CSS2.1 identfier
1404         definition, not the hexcolor/HASH definition.
1405
1406         * css/CSSGrammar.y:
1407         * css/cssparser.cpp:
1408         (WebCore::CSSParser::lex):
1409         (WebCore::CSSParser::text):
1410         * css/tokenizer.flex:
1411
1412 2007-06-28  Simon Hausmann  <hausmann@kde.org>
1413
1414         Reviewed by Zack.
1415
1416         Implemented PasteboardQt::writeSelection to copy the selected text into the Clipboard as well as PasteboardQt::plainText to retrieve plain text from the clipboard for pasting for example into form fields.
1417
1418         * platform/qt/PasteboardQt.cpp:
1419         (WebCore::Pasteboard::writeSelection):
1420
1421 2007-06-28  Antti Koivisto  <antti@apple.com>
1422
1423         Reviewed by Mitz.
1424         
1425         Fix http://bugs.webkit.org/show_bug.cgi?id=14332
1426         Bug 14332: REGRESSION (r21145): <td> width ignored
1427         <rdar://problem/5290123>
1428         
1429         Cells in table with non-zero cellpadding are not considered empty.
1430
1431         * rendering/AutoTableLayout.cpp:
1432         (WebCore::AutoTableLayout::recalcColumn):
1433
1434 2007-06-28  Adam Roben  <aroben@apple.com>
1435
1436         Fix <rdar://problem/5300455> Prefast: typo in RenderBlock::paintObject
1437
1438         Reviewed by Hyatt.
1439
1440         No layout test possible, as this bug didn't have any effect since
1441         "bool & bool" has the same value as "bool && bool"
1442
1443         * rendering/RenderBlock.cpp:
1444         (WebCore::RenderBlock::paintObject): Changed & to &&.
1445
1446 2007-06-28  Adam Roben  <aroben@apple.com>
1447
1448         Fix <rdar://problem/5300443> word-break and -webkit-user-modify allow any value
1449
1450         The bug was caused by two typos found by prefast.
1451
1452         Reviewed by Hyatt.
1453
1454         * css/cssparser.cpp:
1455         (WebCore::CSSParser::parseValue): Fixed typos.
1456
1457 2007-06-20  Matt Perry  <mpComplete@gmail.com>
1458
1459         Reviewed by Adam.
1460
1461         - Fix http://bugs.webkit.org/show_bug.cgi?id=14251:
1462           onchange handler for select controls doesn't fire when changing via keyboard
1463
1464         * html/HTMLSelectElement.cpp:
1465         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Got rid of
1466         a call to saveLastSelection in the "Enter" key handler for select
1467         controls that was preventing onchange from firing.
1468
1469 2007-06-27  Sam Weinig  <sam@webkit.org>
1470
1471         Fix Gdk, Qt, and Win32 builds.
1472
1473         * WebCore.pro:
1474         * WebCore.vcproj/WebCore.vcproj:
1475
1476 2007-06-27  Sam Weinig  <sam@webkit.org>
1477
1478         Reviewed by Geoff.
1479
1480         Patch for http://bugs.webkit.org/show_bug.cgi?id=14319
1481         Move the Selection object out of the JS bindings
1482
1483         - Renames JS Object Selection to DOMSelection to avoid a name
1484           conflict.
1485
1486         * DerivedSources.make:
1487         * WebCore.xcodeproj/project.pbxproj:
1488         * bindings/js/kjs_window.cpp:
1489         (KJS::WindowPrivate::WindowPrivate):
1490         (KJS::Window::mark):
1491         (KJS::Window::clearHelperObjectProperties):
1492         (KJS::WindowFunc::callAsFunction):
1493         (KJS::Window::disconnectFrame):
1494         * bindings/js/kjs_window.h:
1495         (KJS::Window::):
1496         * page/DOMSelection.cpp: Added.
1497         (WebCore::DOMSelection::DOMSelection):
1498         (WebCore::DOMSelection::frame):
1499         (WebCore::DOMSelection::disconnectFrame):
1500         (WebCore::DOMSelection::anchorNode):
1501         (WebCore::DOMSelection::baseNode):
1502         (WebCore::DOMSelection::anchorOffset):
1503         (WebCore::DOMSelection::baseOffset):
1504         (WebCore::DOMSelection::focusNode):
1505         (WebCore::DOMSelection::extentNode):
1506         (WebCore::DOMSelection::focusOffset):
1507         (WebCore::DOMSelection::extentOffset):
1508         (WebCore::DOMSelection::isCollapsed):
1509         (WebCore::DOMSelection::type):
1510         (WebCore::DOMSelection::rangeCount):
1511         (WebCore::DOMSelection::collapse):
1512         (WebCore::DOMSelection::collapseToEnd):
1513         (WebCore::DOMSelection::collapseToStart):
1514         (WebCore::DOMSelection::empty):
1515         (WebCore::DOMSelection::setBaseAndExtent):
1516         (WebCore::DOMSelection::setPosition):
1517         (WebCore::DOMSelection::modify):
1518         (WebCore::DOMSelection::getRangeAt):
1519         (WebCore::DOMSelection::removeAllRanges):
1520         (WebCore::DOMSelection::addRange):
1521         (WebCore::DOMSelection::toString):
1522         * page/DOMSelection.h: Added.
1523         * page/DOMSelection.idl: Added.
1524         * page/DOMWindow.cpp:
1525         (WebCore::DOMWindow::disconnectFrame):
1526         (WebCore::DOMWindow::getSelection):
1527         * page/DOMWindow.h:
1528         * page/DOMWindow.idl:
1529
1530 2007-06-27  Sam Weinig  <sam@webkit.org>
1531
1532         Reviewed by Maciej.
1533
1534         2nd patch for http://bugs.webkit.org/show_bug.cgi?id=14111
1535         Autogenerate Event JS binding
1536
1537         - Cleanup kjs_events
1538
1539         * bindings/js/kjs_events.cpp:
1540         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
1541         (WebCore::JSAbstractEventListener::handleEvent):
1542         (WebCore::JSAbstractEventListener::isHTMLEventListener):
1543         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1544         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1545         (WebCore::JSUnprotectedEventListener::listenerObj):
1546         (WebCore::JSUnprotectedEventListener::windowObj):
1547         (WebCore::JSUnprotectedEventListener::clearWindowObj):
1548         (WebCore::JSUnprotectedEventListener::mark):
1549         (WebCore::JSEventListener::JSEventListener):
1550         (WebCore::JSEventListener::~JSEventListener):
1551         (WebCore::JSEventListener::listenerObj):
1552         (WebCore::JSEventListener::windowObj):
1553         (WebCore::JSEventListener::clearWindowObj):
1554         (WebCore::JSLazyEventListener::JSLazyEventListener):
1555         (WebCore::JSLazyEventListener::listenerObj):
1556         (WebCore::JSLazyEventListener::parseCode):
1557         (WebCore::getNodeEventListener):
1558         (WebCore::JSClipboard::JSClipboard):
1559         (WebCore::JSClipboard::getValueProperty):
1560         (WebCore::JSClipboard::putValueProperty):
1561         (WebCore::JSClipboardPrototypeFunction::callAsFunction):
1562         (WebCore::toJS):
1563         (WebCore::toClipboard):
1564         * bindings/js/kjs_events.h:
1565         (WebCore::JSClipboard::classInfo):
1566         (WebCore::JSClipboard::impl):
1567         * bindings/js/kjs_window.h:
1568         * ksvg2/events/JSSVGLazyEventListener.h:
1569
1570 2007-06-27  Sam Weinig  <sam@webkit.org>
1571
1572         Reviewed by Adam Roben.
1573
1574         Patch for http://bugs.webkit.org/show_bug.cgi?id=12045
1575         Crash under gmalloc at WTF::RefPtr<WebCore::HTMLSliderThumbElement>::operator->
1576         <rdar://problem/5286670>
1577
1578         Test: fast/forms/thumbslider-no-parent-slider.html
1579         Test: fast/forms/thumbslider-crash.html
1580
1581         * rendering/RenderObject.h:
1582         (WebCore::RenderObject::isSlider):
1583         * rendering/RenderSlider.h:
1584         (WebCore::RenderSlider::isSlider):
1585         * rendering/RenderTheme.cpp:
1586         (WebCore::RenderTheme::paint): Only paint thumbslider
1587         if the parent renderer is a RenderSlider.
1588         * rendering/RenderThemeMac.mm:
1589         (WebCore::RenderThemeMac::paintSliderThumb):
1590         * rendering/RenderThemeSafari.cpp:
1591         (WebCore::RenderThemeSafari::paintSliderThumb):
1592
1593 2007-06-27  George Staikos  <staikos@kde.org>
1594
1595         Make Qt builds link when XSLT is turned off.
1596
1597         * WebCore.pro:
1598
1599 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
1600
1601         Turn on static code analysis (Windows only).
1602
1603         Affects only folks that have Visual Studio Team Suite installed,
1604         or who have replaced their compiler with the version shipping in the
1605         Vista SDK.
1606         
1607         Reviewed by Oliver.
1608
1609         * WebCore.vcproj/WebCore.vcproj:
1610
1611 2007-06-27  George Staikos  <staikos@kde.org>
1612
1613         Remove old commented out files that no-longer exist.
1614
1615         * WebCore.pro:
1616
1617 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
1618
1619         Reviewed by John.
1620
1621         <rdar://problem/5247341> REGRESSION: Pasting sometimes leaves out trailing newline
1622         
1623         Pasting with a trailing interchange newline doesn't work when pasting
1624         into an empty line.  Code that handles removing brs at the insertion
1625         position tries to also handle trailing interchange newlines by re-using
1626         those brs and fails.  Removed that code and handle all interchange
1627         newlines with code later in doApply().
1628
1629         * editing/ReplaceSelectionCommand.cpp:
1630         (WebCore::ReplaceSelectionCommand::doApply): Don't try to re-use the
1631         endBR when there's a trailing interchange newline.
1632         
1633 2007-06-27  Anders Carlsson  <andersca@apple.com>
1634
1635         Reviewed by Oliver.
1636
1637         <rdar://problem/5253950>
1638         When Shockwave plugin has been loaded, exiting crashes Safari
1639         
1640         Add a "load count" for plugin packages. When the load count is zero, unload the plugin.
1641         
1642         * plugins/win/PluginPackageWin.cpp:
1643         (WebCore::PluginPackageWin::PluginPackageWin):
1644         (WebCore::PluginPackageWin::load):
1645         (WebCore::PluginPackageWin::unload):
1646         (WebCore::PluginPackageWin::unloadWithoutShutdown):
1647         * plugins/win/PluginPackageWin.h:
1648         
1649         * plugins/win/PluginViewWin.cpp:
1650         (WebCore::PluginViewWin::~PluginViewWin):
1651         Make sure to unload the plugin package and clear any references to plugin script objects.
1652
1653 2007-06-27  George Staikos  <staikos@kde.org>
1654
1655         This was succeeding compile by luck.  Setup dependencies properly.
1656
1657         * WebCore.pro:
1658
1659 2007-06-27  Justin Garcia  <justin.garcia@apple.com>
1660
1661         Reviewed by John.
1662
1663         <rdar://problem/4580583> Breaking blockquoted list should not automatically renumber the second list
1664         
1665         When a quoted numbered list is broken in half, it's cloned
1666         to make the second list. That second list needs its start attribute
1667         set so that the numbers of the list items in it will be preserved.
1668
1669         * editing/BreakBlockquoteCommand.cpp:
1670         (WebCore::BreakBlockquoteCommand::doApply): Set the start attribute
1671         of a cloned list to be the original number of the first list item in it.
1672
1673 2007-06-27  Alexey Proskuryakov  <ap@webkit.org>
1674
1675         Reviewed by Geoff.
1676
1677         http://bugs.webkit.org/show_bug.cgi?id=14413
1678         GIF animation throttling is different from MSIE
1679
1680         * platform/graphics/cg/ImageSourceCG.cpp:
1681         (WebCore::ImageSource::frameDurationAtIndex):
1682         Change the cut-off value to 50ms to match MSIE.
1683
1684 2007-06-27  Sam Weinig  <sam@webkit.org>
1685
1686         Reviewed by Darin.
1687
1688         First pass at fixing implicit 64-32 bit conversion errors.
1689         <rdar://problem/5292262>
1690
1691         - Add 'f' suffix where necessary.
1692
1693         * bridge/mac/WebCoreAXObject.mm:
1694         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
1695         * css/csshelper.h:
1696         * css/cssstyleselector.cpp:
1697         (WebCore::):
1698         (WebCore::CSSStyleSelector::largerFontSize):
1699         (WebCore::CSSStyleSelector::smallerFontSize):
1700         * html/CanvasGradient.cpp:
1701         (WebCore::CanvasGradient::addColorStop):
1702         * html/CanvasPattern.cpp:
1703         (WebCore::CanvasPattern::createPattern):
1704         * ksvg2/css/SVGCSSStyleSelector.cpp:
1705         (WebCore::CSSStyleSelector::applySVGProperty):
1706         * ksvg2/css/SVGRenderStyle.h:
1707         * ksvg2/events/SVGZoomEvent.cpp:
1708         (WebCore::SVGZoomEvent::SVGZoomEvent):
1709         * ksvg2/svg/SVGLength.cpp:
1710         (WebCore::SVGLength::SVGLength):
1711         (WebCore::SVGLength::value):
1712         (WebCore::SVGLength::setValue):
1713         (WebCore::SVGLength::valueAsPercentage):
1714         (WebCore::SVGLength::PercentageOfViewport):
1715         * ksvg2/svg/SVGSVGElement.cpp:
1716         (WebCore::SVGSVGElement::pixelUnitToMillimeterX):
1717         (WebCore::SVGSVGElement::pixelUnitToMillimeterY):
1718         (WebCore::SVGSVGElement::getScreenCTM):
1719         * ksvg2/svg/SVGTextContentElement.cpp:
1720         (WebCore::SVGTextContentElement::getComputedTextLength):
1721         (WebCore::SVGTextContentElement::getSubStringLength):
1722         (WebCore::SVGTextContentElement::getRotationOfChar):
1723         * ksvg2/svg/SVGTransformDistance.cpp:
1724         (WebCore::SVGTransformDistance::SVGTransformDistance):
1725         (WebCore::SVGTransformDistance::distance):
1726         * page/InspectorController.cpp:
1727         (WebCore::InspectorResource::InspectorResource):
1728         * platform/graphics/FloatPoint3D.cpp:
1729         (WebCore::FloatPoint3D::normalize):
1730         * platform/graphics/Path.cpp:
1731         (WebCore::pathLengthApplierFunction):
1732         (WebCore::Path::createRoundedRectangle):
1733         * platform/graphics/cg/GraphicsContextCG.cpp:
1734         (WebCore::GraphicsContext::drawLine):
1735         (WebCore::GraphicsContext::strokeArc):
1736         * platform/graphics/cg/ImageCG.cpp:
1737         (WebCore::FrameData::clear):
1738         * platform/graphics/cg/ImageSourceCG.cpp:
1739         (WebCore::ImageSource::frameDurationAtIndex):
1740         * platform/graphics/cg/PDFDocumentImage.cpp:
1741         (WebCore::PDFDocumentImage::setCurrentPage):
1742         * platform/graphics/svg/SVGPaintServerPattern.cpp:
1743         (WebCore::SVGPaintServerPattern::externalRepresentation):
1744         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp:
1745         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
1746         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1747         (WebCore::cgGradientCallback):
1748         (WebCore::CGShadingRefForRadialGradient):
1749         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1750         * platform/mac/FontDataMac.mm:
1751         (WebCore::webFallbackFontFamily):
1752         * platform/mac/PopupMenuMac.mm:
1753         (WebCore::PopupMenu::show):
1754         * rendering/InlineFlowBox.cpp:
1755         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1756         * rendering/RenderSlider.cpp:
1757         (WebCore::RenderSlider::setValueForPosition):
1758         (WebCore::RenderSlider::setPositionFromValue):
1759
1760 2007-06-27  Alexey Proskuryakov  <ap@webkit.org>
1761
1762         Reviewed by Geoff.
1763
1764         http://bugs.webkit.org/show_bug.cgi?id=14288
1765         XMLHttpRequest doesn't use a correct content type for file:// URLs
1766
1767         Test: fast/dom/xmlhttprequest-html-response-encoding.html
1768
1769         * xml/xmlhttprequest.cpp:
1770         (WebCore::XMLHttpRequest::responseMIMEType): Use MIME type provided by
1771         the network layer, since it provides it even for non-HTTP responses.
1772
1773 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
1774
1775         Reviewed by Sam Weinig.
1776
1777         http://bugs.webkit.org/show_bug.cgi?id=14061
1778         Implement more of FrameLoaderClientGdk
1779
1780         Make FrameLoaderClientGdk work properly when the MIME type is set.
1781
1782         * loader/gdk/FrameLoaderClientGdk.cpp:
1783         (WebCore::FrameLoaderClientGdk::objectContentType):
1784         (WebCore::FrameLoaderClientGdk::canShowMIMEType):
1785
1786 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
1787
1788         Reviewed by Maciej.
1789
1790         http://bugs.webkit.org/show_bug.cgi?id=14058
1791         Gdk font backend cleanup
1792
1793         * platform/FontData.h: Remove obsolete function.
1794         * platform/gdk/FontDataGdk.cpp:
1795         (WebCore::FontData::containsCharacters): Lock/unlock only once.
1796         (WebCore::FontData::platformWidthForGlyph): Remove needless cast.
1797         * platform/gdk/FontPlatformData.h: Remove obsolete function.
1798         * platform/gdk/FontPlatformDataGdk.cpp:
1799         (WebCore::FontPlatformData::FontPlatformData): Pass the actual size,
1800         not the pixel size.
1801         (WebCore::FontPlatformData::~FontPlatformData): Free m_fontMatrix.
1802         * platform/gdk/GlyphPageTreeNodeGdk.cpp:
1803         (WebCore::GlyphPage::fill): Lock/unlock only once.
1804
1805 2007-06-26  Mitz Pettel  <mitz@webkit.org>
1806
1807         Reviewed by Hyatt.
1808
1809         - fix http://bugs.webkit.org/show_bug.cgi?id=14406
1810           <colgroup>'s borders are ignored when it has <col> children
1811
1812         Covered by existing tests.
1813
1814         * rendering/RenderTableCell.cpp:
1815         (WebCore::RenderTableCell::collapsedLeftBorder):
1816         (WebCore::RenderTableCell::collapsedRightBorder):
1817         (WebCore::RenderTableCell::collapsedTopBorder):
1818         (WebCore::RenderTableCell::collapsedBottomBorder):
1819
1820 2007-06-26  Mitz Pettel  <mitz@webkit.org>
1821
1822         Reviewed by Oliver.
1823
1824         - fix http://bugs.webkit.org/show_bug.cgi?id=14329
1825           REGRESSION: TEXTAREA - cannot drag-and-drop text at en.wikipedia.org/
1826
1827         Test: fast/repaint/text-selection-rect-in-overflow-2.html
1828
1829         * rendering/RenderObject.cpp:
1830         (WebCore::RenderObject::computeAbsoluteRepaintRect): Added code to account
1831         for overflow scroll and columns.
1832         * rendering/RenderText.cpp:
1833         (WebCore::RenderText::selectionRect): Adjust for columns only in the
1834         non-clipped case, since RenderObject::absolutePosition() does not.
1835
1836 2007-06-26  Mitz Pettel  <mitz@webkit.org>
1837
1838         Reviewed by Sam.
1839
1840         - http://bugs.webkit.org/show_bug.cgi?id=14415
1841           Remove the unused method RenderObject::setTable()
1842
1843         * rendering/RenderObject.h:
1844
1845 2007-06-26  MorganL  <morganl.webkit@yahoo.com>
1846
1847         Reviewed by Maciej.
1848
1849         Implement http://bugs.webkit.org/show_bug.cgi?id=14225
1850         Bug 14225: Make it possible to define platform-specific ResourceRequest without #ifdefs
1851
1852         This change moves the bulk of ResourceRequest into a base class named
1853         ResourceRequestBase with all platform-specific bits pushed into
1854         ResourceRequest.  This allows ports to easily add new members to a
1855         ResourceRequest without having to #ifdef the code that is shared
1856         between ports.
1857
1858         * WebCore.exp:
1859         * WebCore.pro:
1860         * WebCore.vcproj/WebCore.vcproj:
1861         * WebCore.xcodeproj/project.pbxproj:
1862         * platform/network/ResourceRequest.cpp: Removed.
1863         * platform/network/ResourceRequest.h: Removed.
1864         * platform/network/ResourceRequestBase.cpp: Added.
1865         (WebCore::ResourceRequestBase::asResourceRequest):
1866         (WebCore::ResourceRequestBase::isEmpty):
1867         (WebCore::ResourceRequestBase::isNull):
1868         (WebCore::ResourceRequestBase::url):
1869         (WebCore::ResourceRequestBase::setURL):
1870         (WebCore::ResourceRequestBase::cachePolicy):
1871         (WebCore::ResourceRequestBase::setCachePolicy):
1872         (WebCore::ResourceRequestBase::timeoutInterval):
1873         (WebCore::ResourceRequestBase::setTimeoutInterval):
1874         (WebCore::ResourceRequestBase::mainDocumentURL):
1875         (WebCore::ResourceRequestBase::setMainDocumentURL):
1876         (WebCore::ResourceRequestBase::httpMethod):
1877         (WebCore::ResourceRequestBase::setHTTPMethod):
1878         (WebCore::ResourceRequestBase::httpHeaderFields):
1879         (WebCore::ResourceRequestBase::httpHeaderField):
1880         (WebCore::ResourceRequestBase::setHTTPHeaderField):
1881         (WebCore::ResourceRequestBase::httpBody):
1882         (WebCore::ResourceRequestBase::setHTTPBody):
1883         (WebCore::ResourceRequestBase::allowHTTPCookies):
1884         (WebCore::ResourceRequestBase::setAllowHTTPCookies):
1885         (WebCore::ResourceRequestBase::addHTTPHeaderField):
1886         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
1887         (WebCore::operator==):
1888         (WebCore::ResourceRequestBase::isConditional):
1889         (WebCore::ResourceRequestBase::updatePlatformRequest):
1890         (WebCore::ResourceRequestBase::updateResourceRequest):
1891         * platform/network/ResourceRequestBase.h: Added.
1892         (WebCore::):
1893         (WebCore::ResourceRequestBase::httpContentType):
1894         (WebCore::ResourceRequestBase::setHTTPContentType):
1895         (WebCore::ResourceRequestBase::httpReferrer):
1896         (WebCore::ResourceRequestBase::setHTTPReferrer):
1897         (WebCore::ResourceRequestBase::clearHTTPReferrer):
1898         (WebCore::ResourceRequestBase::httpUserAgent):
1899         (WebCore::ResourceRequestBase::setHTTPUserAgent):
1900         (WebCore::ResourceRequestBase::httpAccept):
1901         (WebCore::ResourceRequestBase::setHTTPAccept):
1902         (WebCore::ResourceRequestBase::ResourceRequestBase):
1903         (WebCore::operator!=):
1904         * platform/network/cf/ResourceRequest.h: Added.
1905         (WebCore::ResourceRequest::ResourceRequest):
1906         * platform/network/curl/ResourceRequest.h: Added.
1907         (WebCore::ResourceRequest::ResourceRequest):
1908         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1909         (WebCore::ResourceRequest::doUpdateResourceRequest):
1910         * platform/network/mac/ResourceRequest.h: Added.
1911         (WebCore::ResourceRequest::ResourceRequest):
1912         * platform/network/qt/ResourceRequest.h: Added.
1913         (WebCore::ResourceRequest::ResourceRequest):
1914         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1915         (WebCore::ResourceRequest::doUpdateResourceRequest):
1916
1917 2007-06-26  Adam Roben  <aroben@apple.com>
1918
1919         Add ChangeLog entries from the Windows merge.
1920
1921         Reviewed by Maciej.
1922
1923         * ChangeLog:
1924
1925 2007-06-26  Sam Weinig  <sam@webkit.org>
1926
1927         Reviewed by Maciej.
1928
1929         Make sure not to enumerate the toString() function.
1930         <rdar://problem/5297118>
1931
1932         * bindings/js/kjs_window.cpp:
1933         * bindings/scripts/CodeGeneratorJS.pm: Add support for [DontEnum].
1934         * html/HTMLAnchorElement.idl:
1935
1936 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
1937
1938         Reviewed by Mitz, landed by Anders.
1939
1940         http://bugs.webkit.org/show_bug.cgi?id=14421
1941         Implement GraphicsContext::clearRect()
1942
1943         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1944         (WebCore::GraphicsContext::clearRect):
1945
1946 2007-06-26  Alp Toker  <alp.toker@collabora.co.uk>
1947
1948         Reviewed and landed by Anders.
1949
1950         http://bugs.webkit.org/show_bug.cgi?id=14416
1951         Content does not render fully in some cases
1952
1953         Fix mismatched calls to cairo_save/restore due to an early method return.
1954
1955         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1956         (WebCore::GraphicsContext::drawLine):
1957
1958 2007-06-26  Tristan O'Tierney  <tristan@apple.com>
1959
1960         Reviewed by John Sullivan.
1961
1962         Added two accessor functions for <rdar://problem/4119138>
1963
1964         * bindings/objc/DOMHTML.mm:
1965         (-[DOMHTMLInputElement _isEdited]):
1966         (-[DOMHTMLTextAreaElement _isEdited]):
1967         Added an accessor to the isEdited value of a DOM node's render object
1968
1969         * bindings/objc/DOMPrivate.h:
1970         Added header definitions for _isEdited
1971
1972 2007-06-26  Sam Weinig  <sam@webkit.org>
1973
1974         Fix Win32 build.
1975
1976         * WebCore.vcproj/WebCore.vcproj:
1977
1978 2007-06-26  Sam Weinig  <sam@webkit.org>
1979
1980         Fix Qt and Gdk builds.
1981
1982         * WebCore.pro:
1983
1984 2007-06-26  Sam Weinig  <sam@webkit.org>
1985
1986         Reviewed by Geoff.
1987
1988         Patch for http://bugs.webkit.org/show_bug.cgi?id=14111
1989         Autogenerate Event JS binding
1990
1991         - Moves the dataTransfer method into MouseEvent where it should be.
1992
1993         * WebCore.xcodeproj/project.pbxproj:
1994         * bindings/js/JSEventCustom.cpp: Added.
1995         (WebCore::JSEvent::clipboardData):
1996         (WebCore::toJS):
1997         * bindings/js/JSEventTargetNode.cpp:
1998         * bindings/js/JSXMLHttpRequest.cpp:
1999         * bindings/js/kjs_events.cpp:
2000         * bindings/js/kjs_events.h:
2001         * bindings/objc/DOMUtility.mm:
2002         (KJS::createDOMWrapper):
2003         * bindings/scripts/CodeGeneratorJS.pm:
2004         * dom/Event.h:
2005         (WebCore::Event::returnValue):
2006         (WebCore::Event::setReturnValue):
2007         (WebCore::Event::clipboardData):
2008         * dom/Event.idl:
2009         * dom/MouseEvent.h:
2010         (WebCore::MouseEvent::dataTransfer):
2011         * dom/MouseEvent.idl:
2012
2013 2007-06-26  Timothy Hatcher  <timothy@apple.com>
2014
2015         Reviewed by Mark Rowe.
2016
2017         Follow up fix for: Bug 14385: Web Inspector's computed style doesn't show implicitly set properties
2018         http://bugs.webkit.org/show_bug.cgi?id=14385
2019
2020         Correctly remember the "Show implicit properties" setting as you switch nodes.
2021
2022         * page/inspector/ResourcePanel.js:
2023
2024 2007-06-26  Justin Garcia  <justin.garcia@apple.com>
2025
2026         Reviewed by John.
2027
2028         <rdar://problem/5290534> Crash at RenderTextControl::calcHeight() after deleting text in a search field
2029         
2030         Editing removed a node that was part of a search field's internal
2031         structure that should not be removed.
2032
2033         * editing/DeleteSelectionCommand.cpp:
2034         (WebCore::DeleteSelectionCommand::handleGeneralDelete): If the
2035         selection to delete ends at [container, x], where x is the number
2036         of children in container, don't remove container.  Special case
2037         code elsewhere in this function will remove it if necessary.
2038
2039 2007-06-25  Sam Weinig  <sam@webkit.org>
2040
2041         Reviewed by Maciej.
2042
2043         Patch for http://bugs.webkit.org/show_bug.cgi?id=11315
2044         Mutating document.constructor.prototype mutates Object.prototype
2045
2046         Test: fast/js/constructor.html
2047
2048         * bindings/scripts/CodeGeneratorJS.pm: add constructor attribute to
2049         classes with constructors.  It is an non-enumeratable, non-deletable,
2050         readonly attribute.
2051
2052 2007-06-26  George Staikos  <staikos@kde.org>
2053
2054         Repair the OS X build.
2055
2056         * WebCore.exp:
2057
2058 2007-06-26  Adam Treat  <adam@staikos.net>
2059
2060         Reviewed by Adam Roben.
2061
2062         Make the SQLite icon database optional.
2063
2064         * loader/icon/IconDatabase.cpp:
2065         (WebCore::IconDatabase::isOpen):
2066         (WebCore::IconDatabase::isPrivateBrowsingEnabled):
2067         (WebCore::IconDatabase::enabled):
2068         * loader/icon/IconDatabase.h:
2069
2070 2007-06-25  Sam Weinig  <sam@webkit.org>
2071
2072         Reviewed by Adam Roben.
2073
2074         Patch for http://bugs.webkit.org/show_bug.cgi?id=14369
2075         HTML syntax highlighting colors and DOM tree colors should be the same
2076
2077         * css/view-source.css:
2078         * page/inspector/ResourcePanel.js:
2079         * page/inspector/inspector.css:
2080         * page/inspector/inspector.js:
2081         * page/inspector/utilities.js:
2082
2083 2007-06-25  Adam Roben  <aroben@apple.com>
2084
2085         Fix Bug 14402: Main resource of http://www.apple.com/safari/ is called "www.apple.com" instead of "safari"
2086         http://bugs.webkit.org/show_bug.cgi?id=14402
2087
2088         The solution was to make KURL::lastPathComponent ignore trailing
2089         slashes, which is what -[NSURL lastPathComponent] does, too.
2090
2091         Reviewed by Oliver.
2092
2093         * platform/KURL.cpp:
2094         (WebCore::KURL::lastPathComponent):
2095
2096 2007-06-25  Sam Weinig  <sam@webkit.org>
2097
2098         Reviewed by Adam Roben.
2099
2100         Patch for http://bugs.webkit.org/show_bug.cgi?id=14257
2101         Web Inspector lists favicon.ico as "other" instead of "image"
2102
2103         * page/InspectorController.cpp:
2104         (WebCore::InspectorResource::type):
2105
2106 2007-06-25  Adele Peterson  <adele@apple.com>
2107
2108         Reviewed by Hyatt.
2109
2110         Fix for <rdar://problem/5286410> Scrollbar and resize corner for overflow area is not hidden with style "visibility: hidden;"
2111         http://bugs.webkit.org/show_bug.cgi?id=14297
2112
2113         Test: fast/overflow/hidden-scrollbar-resize.html
2114
2115         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer):
2116         Updated our shouldPaint check to consider visibility.
2117
2118 2007-06-25  Oliver Hunt  <oliver@apple.com>
2119
2120         Reviewed by Darin.
2121
2122         <rdar://problem/5293444> REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info
2123
2124         Fixing logic error in DragController
2125
2126         * manual-tests/drop-text-acquires-style.html: Added.
2127         * page/DragController.cpp:
2128         (WebCore::documentFragmentFromDragData):
2129
2130 2007-06-25  Sam Weinig  <sam@webkit.org>
2131
2132         Reviewed by Adam Roben.
2133
2134         Annotate prototypes by adding "Prototype" subtitle.
2135
2136         * page/inspector/ResourcePanel.js:
2137
2138 2007-06-25  George Staikos  <staikos@kde.org>
2139
2140         Reviewed by Zack.
2141
2142         Start to add proxy and SSL support to WebKitQt.  Proxying works.
2143
2144         * platform/network/ResourceHandleInternal.h:
2145         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2146         * platform/network/qt/ResourceHandleQt.cpp:
2147         (WebCore::ResourceHandle::start):
2148
2149 2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>
2150
2151         Reviewed by Adam Roben.
2152
2153         http://bugs.webkit.org/show_bug.cgi?id=14386
2154         Gdk build fix
2155
2156         * WebCore.pro: Fix gtk/gdk typo.
2157
2158 2007-06-25  Timothy Hatcher  <timothy@apple.com>
2159
2160         Reviewed by Anders.
2161
2162         Bug 14385: Web Inspector's computed style doesn't show implicitly set properties
2163         http://bugs.webkit.org/show_bug.cgi?id=14385
2164
2165         Add a toggle to show implict computed properties.
2166
2167         * page/inspector/ResourcePanel.js:
2168         * page/inspector/inspector.css:
2169         * page/inspector/inspector.js:
2170
2171 2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>
2172
2173         Reviewed by Mark.
2174
2175         http://bugs.webkit.org/show_bug.cgi?id=13975
2176         Use system-provided libjpeg and libpng
2177
2178         * WebCore.pro: Remove bundled libjpeg and libpng sources.
2179         * platform/image-decoders/jpeg: Remove sources.
2180         * platform/image-decoders/png: Remove sources.
2181
2182 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2183
2184         Reviewed by Darin.
2185
2186         - fix http://bugs.webkit.org/show_bug.cgi?id=14202
2187           Table caption renders too narrow sometimes
2188
2189         Test: fast/table/caption-relayout.html
2190
2191         * rendering/RenderTable.cpp:
2192         (WebCore::RenderTable::layout): Mark the caption for layout if the table
2193         width changed.
2194
2195 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2196
2197         Reviewed by Darin.
2198
2199         - fix http://bugs.webkit.org/show_bug.cgi?id=14245
2200           Underline painted under <br>, not repainted properly
2201
2202         Test: fast/inline/br-text-decoration.html
2203
2204         * platform/graphics/cg/GraphicsContextCG.cpp:
2205         (WebCore::GraphicsContext::drawLineForText): Added an early return if the line width
2206         is zero. Also changed the line stroke to a rect fill, so that lines with length shorter
2207         than their thickness paint correctly.
2208
2209 2007-06-25  Mitz Pettel  <mitz@webkit.org>
2210
2211         Reviewed by Maciej.
2212
2213         - fix http://bugs.webkit.org/show_bug.cgi?id=14341
2214           rules="none" ignored in certain cases
2215
2216         Covered by existing tests.
2217
2218         * html/HTMLTableElement.cpp:
2219         (WebCore::HTMLTableElement::getSharedCellDecl):
2220
2221 2007-06-24  Sam Weinig  <sam@webkit.org>
2222
2223         Reviewed by Mitz.
2224
2225         Patch for http://bugs.webkit.org/show_bug.cgi?id=14379
2226         Anchor elements show up as their href in the properties pane, not HTMLAnchorElement
2227
2228         * page/inspector/ResourcePanel.js: make sure not to call an overriden
2229         toString() by using Object.prototype.toString.call().
2230
2231 2007-06-24  Adam Roben  <aroben@apple.com>
2232
2233         Fix http://bugs.webkit.org/show_bug.cgi?id=14374
2234         Bug 14374: Computed Style section should be expanded by default
2235
2236         Reviewed by Sam.
2237
2238         No regression test possible.
2239
2240         * page/inspector/ResourcePanel.js: Expand all style sections.
2241
2242 2007-06-24  Adam Roben  <aroben@apple.com>
2243
2244         Unify the style of enums in the Inspector JS
2245
2246         All our enums are now represented by an object with a property for
2247         each enum value.
2248
2249         Reviewed by Sam.
2250
2251         No regression test possible.
2252
2253         * page/inspector/ConsolePanel.js:
2254         * page/inspector/Resource.js:
2255         * page/inspector/ResourcePanel.js:
2256         * page/inspector/inspector.js:
2257
2258 2007-06-23  Sam Weinig  <sam@webkit.org>
2259
2260         Reviewed by Mitz.
2261
2262         Patch for http://bugs.webkit.org/show_bug.cgi?id=14321
2263         getComputedStyle(...).zIndex returns string "normal"
2264
2265         Test: fast/css/getComputedStyle-zIndex-auto.html
2266
2267         * css/CSSComputedStyleDeclaration.cpp:
2268         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 'auto' instead of 'normal'.
2269
2270 2007-06-24  Matt Lilek  <pewtermoose@gmail.com>
2271
2272         Reviewed by Tim Hatcher.
2273
2274         Bug 14265: Cannot resize columns in webinspector
2275         http://bugs.webkit.org/show_bug.cgi?id=14265
2276
2277         * page/inspector/inspector.css:
2278         * page/inspector/inspector.html:
2279         * page/inspector/inspector.js:
2280
2281 2007-06-23  Adam Roben  <aroben@apple.com>
2282
2283         Silence a build warning about not finding `num-cpus`
2284
2285         Reviewed by Mark Rowe.
2286
2287         * WebCore.vcproj/build-generated-files.sh: Look for num-cpus in its new
2288         location.
2289
2290 2007-06-22  Anders Carlsson  <andersca@apple.com>
2291
2292         Reviewed by Darin.
2293
2294         * plugins/win/PluginStreamWin.cpp:
2295         (WebCore::PluginStreamWin::didFinishLoading):
2296         No need to fetch the size from resourceData.
2297
2298 2007-06-22  Anders Carlsson  <andersca@apple.com>
2299
2300         Reviewed by Darin.
2301
2302         <rdar://problem/5288617>
2303         Crash playing a very large QuickTime movie inside Safari.
2304
2305         Get rid of m_completeDeliveryData and use the loader's resource data instead. This reduces the memory usage for 
2306         plug-ins which loads large files and use a transfer mode of NP_ASFILE or NP_ASFILEONLY.
2307         
2308         * plugins/win/PluginStreamWin.cpp:
2309         (WebCore::PluginStreamWin::PluginStreamWin):
2310         (WebCore::PluginStreamWin::~PluginStreamWin):
2311         (WebCore::PluginStreamWin::didReceiveData):
2312         (WebCore::PluginStreamWin::didFinishLoading):
2313         * plugins/win/PluginStreamWin.h:
2314
2315 2007-06-22  Beth Dakin  <bdakin@apple.com>
2316
2317         Reviewed by Oliver and Darin.
2318
2319         Fix for <rdar://problem/5266999> Loading page from MangleMe fuzz 
2320         tester crashes in RenderTableRow::addChild (giant ROWSPAN)
2321
2322         We already have code that tries to prevent allocating too-large 
2323         rowspans. The rowspan in this test, however, was small enough that 
2324         we thought it was okay in that code, even though clearly it was 
2325         still too large. I did a bunch of testing in Firefox, and it seems 
2326         that they set a hard limit on the maximum rowspan right in the DOM 
2327         -- 8k. So that is what this patch implements. 
2328
2329         * html/HTMLTableCellElement.cpp:
2330         (WebCore::HTMLTableCellElement::parseMappedAttribute):
2331
2332 2007-06-22  Justin Garcia  <justin.garcia@apple.com>
2333
2334         Reviewed by Darin.
2335         
2336         <rdar://problem/5272440> Adding To Do via Note received in e-mail adds newlines on delete
2337         
2338         Deletion inserts a placeholder after it removes full paragraphs if
2339         one doesn't already exist.  The code that looked for a pre-existing
2340         placeholder didn't work because of a bug in enclosingNodeOfType.
2341
2342         * editing/htmlediting.cpp:
2343         (WebCore::enclosingNodeOfType): We start looking at node->parentNode(),
2344         but don't go above an editing root.
2345
2346 2007-06-22  Anders Carlsson  <andersca@apple.com>
2347
2348         Reviewed by Maciej and Geoff.
2349
2350         <rdar://problem/5244734>
2351         WebKit shouldn't send delegate resource load methods for the user stylesheet (doing so causes assertions in Safari)
2352         
2353         Add a sendResourceLoadCallbacks argument to the ResourceLoader and only send resource load callbacks if it's true. Make it so that
2354         loading the user style sheet creates a resource loader with sendResourceLoadCallbacks set to false (done by adding a sendResourceLoadCallbacks 
2355         argument to a bunch of classes).
2356         
2357         * loader/Cache.cpp:
2358         (WebCore::createResource):
2359         (WebCore::Cache::requestResource):
2360         * loader/Cache.h:
2361         * loader/CachedCSSStyleSheet.cpp:
2362         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
2363         * loader/CachedCSSStyleSheet.h:
2364         * loader/CachedResource.cpp:
2365         (WebCore::CachedResource::CachedResource):
2366         * loader/CachedResource.h:
2367         (WebCore::CachedResource::sendResourceLoadCallbacks):
2368         * loader/DocLoader.cpp:
2369         (WebCore::DocLoader::requestCSSStyleSheet):
2370         (WebCore::DocLoader::requestResource):
2371         (WebCore::DocLoader::checkCacheObjectStatus):
2372         * loader/DocLoader.h:
2373         * loader/MainResourceLoader.cpp:
2374         (WebCore::MainResourceLoader::MainResourceLoader):
2375         * loader/Request.cpp:
2376         (WebCore::Request::Request):
2377         * loader/Request.h:
2378         (WebCore::Request::sendResourceLoadCallbacks):
2379         * loader/ResourceLoader.cpp:
2380         (WebCore::ResourceLoader::ResourceLoader):
2381         (WebCore::ResourceLoader::willSendRequest):
2382         (WebCore::ResourceLoader::didReceiveResponse):
2383         (WebCore::ResourceLoader::didReceiveData):
2384         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2385         (WebCore::ResourceLoader::didFail):
2386         (WebCore::ResourceLoader::didCancel):
2387         * loader/ResourceLoader.h:
2388         (WebCore::ResourceLoader::sendResourceLoadCallbacks):
2389         * loader/SubresourceLoader.cpp:
2390         (WebCore::SubresourceLoader::SubresourceLoader):
2391         (WebCore::SubresourceLoader::create):
2392         * loader/SubresourceLoader.h:
2393         * loader/loader.cpp:
2394         (WebCore::Loader::load):
2395         (WebCore::Loader::servePendingRequests):
2396         * loader/loader.h:
2397         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
2398         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
2399
2400 2007-06-21  Richard Connamacher  <rich@indieimage.com>
2401
2402         Reviewed by Tim Hatcher.
2403
2404         Bug 14305: Web Inspector marks local files with server-side compression tip
2405         http://bugs.webkit.org/show_bug.cgi?id=14305
2406
2407         * page/inspector/Resource.js:
2408         (WebInspector.Resource._shouldCompress): Prevent server-side compression tip
2409         from being given to local files
2410
2411 2007-06-21  Mark Rowe  <mrowe@apple.com>
2412
2413         Reviewed by Darin.
2414
2415         Fix for <rdar://problem/5266928> REGRESSION: crash/assert failure beneath RenderFrameSet::layOutAxis when loading
2416
2417         * platform/StringImpl.cpp:
2418         (WebCore::StringImpl::toLengthArray): Simplify whitespace before checking for an empty string.  This avoids returning
2419         a length of zero when the string is collapsed to empty by whitespace simplification.
2420
2421 2007-06-21  Dave Hyatt  <hyatt@apple.com>
2422
2423         Fix for <rdar://problem/5286978>, large font sizes crash Windows.
2424         
2425         Limit the maximum font size to 1,000,000 to avoid crashes and issues with platforms that
2426         start failing to do anything useful if the font size is too big.
2427         
2428         Reviewed by olliej
2429
2430         * css/cssstyleselector.cpp:
2431         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
2432         
2433 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
2434
2435         Reviewed by Timothy.
2436
2437         Stop shift+scroll wheel performing a horizontal scroll in Web Inspector
2438
2439         * page/inspector/inspector.css: Set body margin to 0
2440
2441 2007-06-21  Adam Treat  <adam@staikos.net>
2442
2443         Reviewed by George Staikos.
2444
2445         Implement the default resources on Qt.
2446
2447         * platform/graphics/BitmapImage.h:
2448         * platform/graphics/Image.h:
2449         * platform/graphics/qt/ImageQt.cpp:
2450         (WebCore::Image::loadPlatformResource):
2451         (WebCore::BitmapImage::BitmapImage):
2452         (WebCore::BitmapImage::initPlatformData):
2453         (WebCore::BitmapImage::invalidatePlatformData):
2454         (WebCore::BitmapImage::getPixmap):
2455         * platform/qt/TemporaryLinkStubs.cpp:
2456
2457 2007-06-21  Oliver Hunt  <oliver@apple.com>
2458
2459         Reviewed by Darin.
2460
2461         Use RetainPtr for holding currentEvent.  This removes explicit HardRetain/Release calls
2462         and makes reference handling simpler in advance of IME refactoring.
2463
2464         * WebCore.xcodeproj/project.pbxproj:
2465         * page/mac/EventHandlerMac.mm:
2466         (WebCore::currentEvent):
2467         (WebCore::EventHandler::currentNSEvent):
2468         (WebCore::EventHandler::wheelEvent):
2469         (WebCore::EventHandler::keyEvent):
2470         (WebCore::lastEventIsMouseUp):
2471         (WebCore::EventHandler::passMouseDownEventToWidget):
2472         (WebCore::EventHandler::eventLoopHandleMouseDragged):
2473         (WebCore::EventHandler::eventLoopHandleMouseUp):
2474         (WebCore::EventHandler::passSubframeEventToSubframe):
2475         (WebCore::EventHandler::passWheelEventToWidget):
2476         (WebCore::EventHandler::mouseDown):
2477         (WebCore::EventHandler::mouseDragged):
2478         (WebCore::EventHandler::mouseUp):
2479         (WebCore::EventHandler::mouseMoved):
2480
2481 2007-06-21  George Staikos  <staikos@kde.org>
2482
2483         Reviewed by George & Marius.
2484
2485         Patch by me, revision by Marius, minor rev by me.  Adds rendered
2486         and stylable scrollbars.
2487
2488         * page/qt/EventHandlerQt.cpp:
2489         (WebCore::EventHandler::passMousePressEventToScrollbar):
2490         * platform/Widget.h:
2491         * platform/qt/PlatformScrollBar.h:
2492         (WebCore::PlatformScrollbar::isWidget):
2493         * platform/qt/PlatformScrollBarQt.cpp:
2494         (WebCore::PlatformScrollbar::PlatformScrollbar):
2495         (WebCore::PlatformScrollbar::~PlatformScrollbar):
2496         (WebCore::PlatformScrollbar::updateThumbPosition):
2497         (WebCore::PlatformScrollbar::updateThumbProportion):
2498         (WebCore::PlatformScrollbar::width):
2499         (WebCore::PlatformScrollbar::height):
2500         (WebCore::PlatformScrollbar::setRect):
2501         (WebCore::PlatformScrollbar::isEnabled):
2502         (WebCore::PlatformScrollbar::setEnabled):
2503         (WebCore::PlatformScrollbar::paint):
2504         (WebCore::PlatformScrollbar::thumbPosition):
2505         (WebCore::PlatformScrollbar::thumbLength):
2506         (WebCore::PlatformScrollbar::trackLength):
2507         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
2508         (WebCore::PlatformScrollbar::handleMouseOutEvent):
2509         (WebCore::PlatformScrollbar::handleMousePressEvent):
2510         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
2511         (WebCore::PlatformScrollbar::startTimerIfNeeded):
2512         (WebCore::PlatformScrollbar::stopTimerIfNeeded):
2513         (WebCore::PlatformScrollbar::autoscrollPressedPart):
2514         (WebCore::PlatformScrollbar::autoscrollTimerFired):
2515         (WebCore::PlatformScrollbar::pressedPartScrollDirection):
2516         (WebCore::PlatformScrollbar::pressedPartScrollGranularity):
2517         (WebCore::PlatformScrollbar::thumbUnderMouse):
2518         (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
2519         (WebCore::PlatformScrollbar::verticalScrollbarWidth):
2520         (WebCore::PlatformScrollbar::windowClipRect):
2521         * platform/qt/ScrollViewQt.cpp:
2522         (WebCore::ScrollView::addChild):
2523         (WebCore::ScrollView::removeChild):
2524         * platform/qt/WidgetQt.cpp:
2525         (WebCore::WidgetPrivate::WidgetPrivate):
2526         (WebCore::Widget::setQWidget):
2527         (WebCore::Widget::invalidate):
2528         (WebCore::Widget::invalidateRect):
2529         (WebCore::Widget::setParent):
2530         (WebCore::Widget::parent):
2531
2532 2007-06-21  Geoffrey Garen  <ggaren@apple.com>
2533
2534         Reviewed by Dave Hyatt.
2535         
2536         Fixed <rdar://problem/4977124> | http://bugs.webkit.org/show_bug.cgi?id=12646
2537         REGRESSION: RapidWeaver's "Hello" HTML page doesn't display any DHTML 
2538         effects when clicking on its links (12646)
2539         
2540         I'm rolling our r7703 for these reasons:
2541
2542         1. It broke RapidWeaver.
2543         
2544         2. WebKit is now orders of magnitude faster when handling deep nesting
2545         (5 seconds vs 3 minutes on my MBP in this particular case).
2546
2547         3. Firefox, IE, and HTML5 all allow nested heading tags.
2548         
2549         4. Hyatt said so.
2550
2551         * html/HTMLParser.cpp:
2552         (WebCore::HTMLParser::parseToken):
2553
2554 2007-06-21  Sam Weinig  <sam@webkit.org>
2555
2556         Reviewed by Tim Hatcher.
2557
2558         http://bugs.webkit.org/show_bug.cgi?id=14260
2559         ASSERTION FAILED: m_mainResource->loader == loader going back in history on any page
2560
2561         Remove assert for now as it is causing the back button to not
2562         work in debug builds.
2563
2564         * page/InspectorController.cpp:
2565         (WebCore::InspectorController::didCommitLoad):
2566
2567 2007-06-21  Lars Knoll <lars@trolltech.com>
2568
2569         Remove some debug output.
2570
2571         * platform/qt/FontQt.cpp:
2572         (WebCore::generateComponents):
2573         (WebCore::Font::width):
2574
2575 2007-06-21  George Staikos  <staikos@kde.org>
2576
2577         Repair Qt/Mac OS X build.
2578
2579         * WebCore.pro:
2580
2581 2007-06-21  Alexey Proskuryakov  <ap@webkit.org>
2582
2583         Reviewed by Anders.
2584
2585         http://bugs.webkit.org/show_bug.cgi?id=13905
2586         REGRESSION: A Chinese dictionary widget has a problem with XMLHttpRequest response encoding
2587
2588         Tiger WebKit accidentally looked at HTML Http-Equiv META to determine the response encoding
2589         (regardless of the actual response MIME type). This was corrected a while ago to match other 
2590         browsers and the draft XHR spec.
2591
2592         Now restoring this functionality for "text/html", with spec editor's blessing.
2593
2594         * xml/xmlhttprequest.cpp:
2595         (WebCore::XMLHttpRequest::responseMIMEType):
2596         (WebCore::XMLHttpRequest::responseIsXML):
2597         (WebCore::XMLHttpRequest::didReceiveData):
2598         * xml/xmlhttprequest.h:
2599
2600 2007-06-21  Andrew Wellington  <proton@wiretapped.net>
2601
2602         Mac build fix.
2603
2604         * platform/Font.h:
2605
2606 2007-06-21  Lars Knoll  <lars@trolltech.com>
2607
2608         Reviewed by Simon.
2609
2610         another small fix for letter spacing
2611
2612         * platform/qt/FontQt.cpp:
2613         (WebCore::generateComponents):
2614
2615 2007-06-21  Lars Knoll  <lars@trolltech.com>
2616
2617         Reviewed by Simon.
2618
2619         fix word-spacing
2620
2621         * platform/qt/FontQt.cpp:
2622         (WebCore::generateComponents):
2623         (WebCore::Font::width):
2624
2625 2007-06-21  Lars Knoll  <lars@trolltech.com>
2626
2627         Reviewed by Simon.
2628
2629         fix letterspacing and small caps.
2630
2631         * platform/Font.h:
2632         * platform/graphics/qt/GraphicsContextQt.cpp:
2633         (WebCore::GraphicsContext::setPlatformFont):
2634         * platform/qt/FileChooserQt.cpp:
2635         * platform/qt/FontQt.cpp:
2636         (WebCore::TextRunComponent::TextRunComponent):
2637         (WebCore::Font::Font):
2638         (WebCore::Font::operator=):
2639         (WebCore::Font::update):
2640         (WebCore::generateComponents):
2641         (WebCore::Font::selectionRectForText):
2642         * platform/qt/RenderThemeQt.cpp:
2643
2644 2007-06-21  Lars Knoll  <lars@trolltech.com>
2645
2646         Reviewed by Simon.
2647
2648         store the metrics and space width in the Font object
2649
2650         * platform/Font.h:
2651         * platform/qt/FontQt.cpp:
2652         (WebCore::Font::Font):
2653         (WebCore::Font::drawText):
2654         (WebCore::Font::width):
2655         (WebCore::Font::isFixedPitch):
2656         (WebCore::Font::ascent):
2657         (WebCore::Font::descent):
2658         (WebCore::Font::lineSpacing):
2659
2660 2007-06-21  Lars Knoll  <lars@trolltech.com>
2661
2662         Reviewed by Simon.
2663
2664         simplify some codepaths
2665
2666         * platform/qt/FontQt.cpp:
2667         (WebCore::Font::drawText):
2668         (WebCore::Font::width):
2669
2670 2007-06-21  Lars Knoll  <lars@trolltech.com>
2671
2672         Reviewed by Simon.
2673
2674         fix copyright header
2675
2676         * platform/qt/FontQt.cpp:
2677
2678 2007-06-21  Lars Knoll  <lars@trolltech.com>
2679
2680         Reviewed by Simon.
2681
2682         correctly load fonts when a list of font families is given
2683
2684         * platform/qt/FontQt.cpp:
2685         (WebCore::Font::Font):
2686
2687 2007-06-21  Lars Knoll  <lars@trolltech.com>
2688
2689         Reviewed by Simon.
2690
2691         fix some more of the font support
2692
2693         * platform/qt/FontQt.cpp:
2694         (WebCore::Font::drawText):
2695         (WebCore::Font::width):
2696
2697 2007-06-21  Lars Knoll  <lars@trolltech.com>
2698
2699         Reviewed by Simon.
2700
2701         Compile fixes
2702
2703         * platform/Font.h:
2704         (WebCore::Font::isRoundingHackCharacter):
2705         * platform/qt/FontQt.cpp:
2706         (WebCore::Font::drawText):
2707
2708 2007-06-21  Lars Knoll  <lars@trolltech.com>
2709
2710         Reviewed by Simon.
2711
2712         Some more work on the implementation of FontQt.
2713
2714         * platform/qt/FontQt.cpp:
2715         (WebCore::Font::Font):
2716         (WebCore::Font::~Font):
2717         (WebCore::Font::operator=):
2718
2719 2007-06-21  Lars Knoll  <lars@trolltech.com>
2720
2721         Reviewed by Simon.
2722
2723         Started work on the new font infrastructure for the Qt port.
2724
2725         * WebCore.pro:
2726         * editing/Editor.cpp:
2727         (WebCore::Editor::fontForSelection):
2728         * platform/Font.h:
2729         (WebCore::Font::treatAsSpace):
2730         (WebCore::Font::treatAsZeroWidthSpace):
2731         (WebCore::Font::isRoundingHackCharacter):
2732         * platform/qt/FontQt.cpp:
2733         (WebCore::Font::operator QFont):
2734         * platform/qt/TemporaryLinkStubs.cpp:
2735
2736 2007-06-21  Adam Roben  <aroben@apple.com>
2737
2738         More Gdk build fixes.
2739
2740         * page/gdk/ContextMenuClientGdk.cpp:
2741         (WebCore::ContextMenuClientGdk::shouldIncludeInspectElementItem):
2742         * page/gdk/ContextMenuClientGdk.h:
2743         * platform/gdk/TemporaryLinkStubs.cpp:
2744
2745 2007-06-21  Adam Roben  <aroben@apple.com>
2746
2747         Speculative Gdk build fix.
2748
2749         * page/InspectorController.h: Only include the JS headers we really
2750         need to avoid pulling in ones like JSStringRefCF.h.
2751
2752 2007-06-20  Adam Roben  <aroben@apple.com>
2753
2754         Speculative Gdk build fix.
2755
2756         * WebCore.pro: Don't try to build WebKitQt/Plugins on Gdk.
2757
2758 2007-06-20  Adam Roben  <aroben@apple.com>
2759
2760         Windows build fix.
2761
2762         * WebCore.vcproj/WebCore.vcproj: Include ForwardingHeaders after
2763         everything but $WebKitLibrariesDir so that we will pick up
2764         JavaScriptCore headers directly.
2765
2766 2007-06-15  George Staikos  <staikos@kde.org>
2767
2768         Add missing symbol.
2769
2770         * platform/qt/TemporaryLinkStubs.cpp:
2771         (WebCore::contextMenuItemTagInspectElement):
2772
2773 2007-06-20  Steve Falkenburg  <sfalken@apple.com>
2774
2775         Reviewed by Maciej, Anders.
2776         
2777         <rdar://problem/5283789> Crash after dismissing JavaScript alert at end of test on http://lcamtuf.coredump.cx/ierace/
2778
2779         Keep a reference to the Page (via the main frame) for the
2780         load deferred pages.
2781         
2782         Reference is held via the frame since Page isn't refcounted.
2783
2784         * page/Chrome.cpp:
2785         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2786         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2787
2788 2007-06-15  Adam Treat <adam@staikos.net>
2789
2790         Reviewed by George Staikos.
2791
2792         Add ICO support to the Qt build.
2793
2794         * WebCore.pro:
2795         * platform/graphics/qt/ImageDecoderQt.cpp:
2796         (Q_IMPORT_PLUGIN):
2797
2798 2007-06-15  George Staikos  <staikos@kde.org>
2799
2800         Fixing Qt build.
2801
2802         * ForwardingHeaders/JavaScriptCore/APICast.h: Added.
2803         * WebCore.pro:
2804         * page/InspectorController.h:
2805
2806 2007-06-20  Adam Roben  <aroben@apple.com>
2807
2808         More speculative Qt/Gdk build fixes.
2809
2810         * WebCore.pro: Add new files.
2811
2812 2007-06-20  Adam Roben  <aroben@apple.com>
2813
2814         Speculative Qt/Gdk build fix.
2815
2816         Added forwarding headers for JavaScriptCore. We may eventually move
2817         InspectorController off of the JSC API, but for now this is the
2818         quickest way to a working build.
2819
2820         * ForwardingHeaders/JavaScriptCore/JSBase.h: Added.
2821         * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Added.
2822         * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Added.
2823         * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Added.
2824         * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Added.
2825         * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Added.
2826         * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Added.
2827
2828 2007-06-20  Sam Weinig  <sam@webkit.org>
2829
2830         Rubber stamped by Adam Roben.
2831
2832         Add licenses.
2833
2834         * page/inspector/ConsolePanel.js:
2835         * page/inspector/NetworkPanel.js:
2836         * page/inspector/Resource.js:
2837         * page/inspector/ResourceCategory.js:
2838         * page/inspector/ResourcePanel.js:
2839
2840 2007-06-20  Mark Rowe  <mrowe@apple.com>
2841
2842         Reviewed by Adam.
2843
2844         * WebCore.exp: Export InspectorController::inspect so WebKit can see it.
2845
2846 2007-06-20  Geoffrey Garen  <ggaren@apple.com>
2847
2848         Reviewed by Adele Peterson, Oliver Hunt, Anders Carlsson.
2849
2850         Fixed <rdar://problem/5222911> Leopard9A446 : VitalSource Bookshelf 4.5: 
2851         Crashes when you click on sign in (stringByEvaluatingJavaScriptFromString 
2852         returning nil instead of "")
2853
2854         I'm basically rolling out the change for <rdar://problem/4782422> because
2855         my testing shows that it was backwards.
2856         
2857         * html/HTMLElement.cpp:
2858         (dumpInnerHTML): New debug-only function to work around gdb being 
2859         perpetually suck-tastic.
2860
2861         * page/mac/WebCoreFrameBridge.mm:
2862         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2863         
2864         Return "", not nil. This function never used to return nil, so let's not
2865         start now. I've filed <rdar://problem/5283271> to cover the documentation bug,
2866
2867 2007-06-20  Adam Roben  <aroben@apple.com>
2868
2869         Addressed some of Geoff's comments.
2870
2871         * page/ContextMenuController.cpp:
2872         (WebCore::ContextMenuController::handleContextMenuEvent): Added a
2873         FIXME.
2874         * platform/ContextMenu.cpp:
2875         (WebCore::ContextMenu::addInspectElementItem): Null-check
2876         frame->page().
2877
2878 2007-06-20  Adam Roben  <aroben@apple.com>
2879
2880         Fix crash in fast/dom/dir-no-body.html
2881
2882         Reviewed by Mark.
2883
2884         * html/HTMLDocument.cpp:
2885         (WebCore::HTMLDocument::createTokenizer): Don't assume we have a
2886         Frame, since we won't if someone creates an HTMLDocument from JS.
2887
2888 2007-06-20  Adam Roben  <aroben@apple.com>
2889
2890         Land the new Inspector.
2891
2892         Co-written with Tim Hatcher.
2893
2894         Reviewed by Anders, Adele, Hyatt, and Sam.
2895
2896         No regression tests possible.
2897
2898         Add a new InspectorController that is in charge of the Inspector. It
2899         has an InspectorClient that controls the Inspector's window and node
2900         highlight.
2901
2902         * page/InspectorClient.h: Added.
2903         (WebCore::InspectorClient::~InspectorClient):
2904         * page/InspectorController.cpp: Added.
2905         (WebCore::ConsoleMessage::ConsoleMessage):
2906         (WebCore::InspectorResource::): Represents a single resource that the
2907         Inspector knows about.
2908         (WebCore::InspectorResource::InspectorResource):
2909         (WebCore::InspectorResource::~InspectorResource):
2910         (WebCore::InspectorResource::type):
2911         (WebCore::InspectorResource::setScriptObject):
2912         (WebCore::addSourceToFrame): Callback available from JS.
2913         (WebCore::getResourceDocumentNode): Ditto.
2914         (WebCore::highlightDOMNode): Ditto.
2915         (WebCore::hideDOMNodeHighlight): Ditto.
2916         (WebCore::loaded): Ditto.
2917         (WebCore::unloading): Ditto.
2918         (WebCore::attach): Ditto.
2919         (WebCore::detach): Ditto.
2920         (WebCore::log): Ditto.
2921         (WebCore::search): Ditto.
2922         (WebCore::inspectedWindow): Ditto.
2923         (WebCore::InspectorController::InspectorController):
2924         (WebCore::InspectorController::~InspectorController):
2925         (WebCore::InspectorController::inspect): Called by
2926         ContextMenuController to inspect a node.
2927         (WebCore::InspectorController::focusNode):
2928         (WebCore::InspectorController::highlight):
2929         (WebCore::InspectorController::hideHighlight):
2930         (WebCore::InspectorController::windowVisible):
2931         (WebCore::InspectorController::setWindowVisible):
2932         (WebCore::InspectorController::addMessageToConsole):
2933         (WebCore::InspectorController::attachWindow):
2934         (WebCore::InspectorController::detachWindow):
2935         (WebCore::InspectorController::windowScriptObjectAvailable):
2936         (WebCore::InspectorController::scriptObjectReady):
2937         (WebCore::InspectorController::windowUnloading):
2938         (WebCore::addHeaders): Static helper function.
2939         (WebCore::objectForRequest): Ditto.
2940         (WebCore::objectForResponse): Ditto.
2941         (WebCore::InspectorController::addScriptResource):
2942         (WebCore::InspectorController::addAndUpdateScriptResource):
2943         (WebCore::InspectorController::removeScriptResource):
2944         (WebCore::InspectorController::updateScriptResource):
2945         (WebCore::InspectorController::populateScriptResources):
2946         (WebCore::InspectorController::addScriptConsoleMessage):
2947         (WebCore::callClearFunction): Static helper function.
2948         (WebCore::InspectorController::clearScriptResources):
2949         (WebCore::InspectorController::clearScriptConsoleMessages):
2950         (WebCore::InspectorController::clearNetworkTimeline):
2951         (WebCore::InspectorController::pruneResources):
2952         (WebCore::InspectorController::didCommitLoad): Callback from
2953         FrameLoader.
2954         (WebCore::InspectorController::frameDetachedFromParent): Ditto.
2955         (WebCore::InspectorController::addResource): Ditto.
2956         (WebCore::InspectorController::removeResource): Ditto.
2957         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
2958         (WebCore::InspectorController::identifierForInitialRequest): Ditto.
2959         (WebCore::InspectorController::willSendRequest): Ditto.
2960         (WebCore::InspectorController::didReceiveResponse): Ditto.
2961         (WebCore::InspectorController::didReceiveContentLength): Ditto.
2962         (WebCore::InspectorController::didFinishLoading): Ditto.
2963         (WebCore::InspectorController::didFailLoading): Ditto.
2964         * page/InspectorController.h: Added.
2965         (WebCore::InspectorController::inspectedPage):
2966         (WebCore::InspectorController::scriptContext):
2967         (WebCore::InspectorController::setScriptContext):
2968         (WebCore::InspectorController::resources):
2969         (WebCore::InspectorController::removeAllResources):
2970
2971         Add the JavaScript that defines most of the behavior of the Inspector.
2972         
2973         * page/inspector/ConsolePanel.js: Added.
2974         * page/inspector/NetworkPanel.js: Added.
2975         * page/inspector/Resource.js: Added.
2976         * page/inspector/ResourceCategory.js: Added.
2977         * page/inspector/ResourcePanel.js: Added.
2978         * page/inspector/inspector.js: Added.
2979         * page/inspector/treeoutline.js: Renamed from WebKit/WebInspector/webInspector/treeoutline.js.
2980         * page/inspector/utilities.js: Added.
2981
2982         Add the Inspector's CSS and HTML.
2983
2984         * page/inspector/inspector.css: Added.
2985         * page/inspector/inspector.html: Added.
2986
2987         Hang the InspectorController off of Page. We only create an
2988         InspectorController if an InspectorClient is given to the Page.
2989
2990         * page/Page.cpp:
2991         (WebCore::Page::Page):
2992         * page/Page.h:
2993         (WebCore::Page::inspectorController):
2994
2995         Use FrameLoader to notify the InspectorController of resource loads.
2996
2997         * loader/FrameLoader.cpp:
2998         (WebCore::FrameLoader::begin):
2999         (WebCore::FrameLoader::transitionToCommitted):
3000         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
3001         (WebCore::FrameLoader::detachFromParent):
3002         (WebCore::FrameLoader::assignIdentifierToInitialRequest):
3003         (WebCore::FrameLoader::willSendRequest):
3004         (WebCore::FrameLoader::didReceiveResponse):
3005         (WebCore::FrameLoader::didReceiveData):
3006         (WebCore::FrameLoader::sendRemainingDelegateMessages):
3007         (WebCore::FrameLoader::requestFromDelegate):
3008         (WebCore::FrameLoader::didFinishLoad):
3009         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
3010         (WebCore::FrameLoader::dispatchDidCommitLoad):
3011         (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
3012         (WebCore::FrameLoader::dispatchWillSendRequest):
3013         (WebCore::FrameLoader::dispatchDidReceiveResponse):
3014         (WebCore::FrameLoader::dispatchDidReceiveContentLength):
3015         (WebCore::FrameLoader::dispatchDidFinishLoading):
3016         (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache):
3017         * loader/FrameLoader.h:
3018
3019         Send console messages to the InspectorController.
3020
3021         * page/Chrome.cpp:
3022         (WebCore::Chrome::addMessageToConsole): Send all console messages to
3023         the InspectorController.
3024         * page/Chrome.h: Add a new MessageLevel and MessageSource that are
3025         used in the Inspector JS.
3026
3027         Report HTML errors when the Inspector window is open.
3028         We don't report errors when the window is closed because we don't want
3029         to slow down the HTMLTokenizer.
3030
3031         * html/HTMLDocument.cpp:
3032         (WebCore::HTMLDocument::createTokenizer):
3033         * html/HTMLParser.cpp:
3034         (WebCore::HTMLParser::HTMLParser):
3035         * html/HTMLParser.h:
3036         * html/HTMLTokenizer.cpp:
3037         (WebCore::HTMLTokenizer::HTMLTokenizer):
3038         * html/HTMLTokenizer.h:
3039
3040         Append the "Inspect Element" context menu item after passing the
3041         context menu to the ContextMenuClient. This work used to be done in
3042         WebKit.
3043
3044         * page/ContextMenuClient.h:
3045         * page/ContextMenuController.cpp:
3046         (WebCore::ContextMenuController::handleContextMenuEvent): Add the
3047         "Inspect Element" item.
3048         (WebCore::ContextMenuController::contextMenuItemSelected): Handle the
3049         "Inspect Element" item.
3050         * platform/ContextMenu.cpp:
3051         (WebCore::ContextMenu::addInspectElementItem):
3052         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for "Inspect
3053         Element" item.
3054         * platform/ContextMenu.h:
3055         * platform/ContextMenuItem.h:
3056         (WebCore::): Add ContextMenuItemTagInspectElement.
3057         * platform/graphics/svg/SVGImageEmptyClients.h:
3058         * page/mac/WebCoreViewFactory.h: Add the "Inspect Element" localized
3059         string.
3060         * platform/LocalizedStrings.h: Ditto.
3061         * platform/mac/LocalizedStringsMac.mm:
3062         (WebCore::contextMenuItemTagInspectElement): Ditto.
3063
3064         Miscellaneous changes:
3065
3066         * css/view-source.css: Add message bubble styles.
3067         * loader/DocumentLoader.h: Add a frame getter.
3068         * platform/win/ScrollViewWin.cpp:
3069         (WebCore::ScrollView::updateScrollbars): Respect
3070         Frame::prohibitsScrolling.
3071
3072         Add new images needed for the Inspector.
3073
3074         * page/inspector/Images/attachedShadow.png: Added.
3075         * page/inspector/Images/bottomShadow.png: Added.
3076         * page/inspector/Images/breadcrumbBackground.png: Added.
3077         * page/inspector/Images/checker.png: Added.
3078         * page/inspector/Images/console.png: Added.
3079         * page/inspector/Images/darkShadow.png: Added.
3080         * page/inspector/Images/disclosureDownPressed.png: Added.
3081         * page/inspector/Images/disclosureRightDown.png: Added.
3082         * page/inspector/Images/disclosureRightPressed.png: Added.
3083         * page/inspector/Images/document.png: Added.
3084         * page/inspector/Images/domViewButton.png: Added.
3085         * page/inspector/Images/domViewButtonSelected.png: Added.
3086         * page/inspector/Images/downTriangle.png: Added.
3087         * page/inspector/Images/errorIcon.png: Added.
3088         * page/inspector/Images/errorMediumIcon.png: Added.
3089         * page/inspector/Images/folder.png: Added.
3090         * page/inspector/Images/goArrow.png: Added.
3091         * page/inspector/Images/gradient.png: Added.
3092         * page/inspector/Images/gradientHighlight.png: Added.
3093         * page/inspector/Images/gradientHighlightBottom.png: Added.
3094         * page/inspector/Images/hideStatusWidget.png: Added.
3095         * page/inspector/Images/hideStatusWidgetPressed.png: Added.
3096         * page/inspector/Images/network.png: Added.
3097         * page/inspector/Images/paneBottomGrow.png: Added.
3098         * page/inspector/Images/paneBottomGrowActive.png: Added.
3099         * page/inspector/Images/paneGrowHandleLine.png: Added.
3100         * page/inspector/Images/paneHeader.png: Added.
3101         * page/inspector/Images/paneHeaderActive.png: Added.
3102         * page/inspector/Images/plainDocument.png: Added.
3103         * page/inspector/Images/popupArrows.png: Added.
3104         * page/inspector/Images/rightTriangle.png: Added.
3105         * page/inspector/Images/segment.png: Added.
3106         * page/inspector/Images/segmentEnd.png: Added.
3107         * page/inspector/Images/segmentHover.png: Added.
3108         * page/inspector/Images/segmentHoverEnd.png: Added.
3109         * page/inspector/Images/segmentSelected.png: Added.
3110         * page/inspector/Images/segmentSelectedEnd.png: Added.
3111         * page/inspector/Images/showStatusWidget.png: Added.
3112         * page/inspector/Images/showStatusWidgetPressed.png: Added.
3113         * page/inspector/Images/sidbarItemBackground.png: Added.
3114         * page/inspector/Images/sidebarActionWidget.png: Added.
3115         * page/inspector/Images/sidebarActionWidgetPressed.png: Added.
3116         * page/inspector/Images/sidebarAttachWidget.png: Added.
3117         * page/inspector/Images/sidebarAttachWidgetPressed.png: Added.
3118         * page/inspector/Images/sidebarDetachWidget.png: Added.
3119         * page/inspector/Images/sidebarDetachWidgetPressed.png: Added.
3120         * page/inspector/Images/sidebarResizeWidget.png: Added.
3121         * page/inspector/Images/sidebarSelection.png: Added.
3122         * page/inspector/Images/sidebarSelectionBlurred.png: Added.
3123         * page/inspector/Images/sidebarSelectionBlurredTall.png: Added.
3124         * page/inspector/Images/sidebarSelectionGray.png: Added.
3125         * page/inspector/Images/sidebarSelectionGrayTall.png: Added.
3126         * page/inspector/Images/sidebarSelectionTall.png: Added.
3127         * page/inspector/Images/sidebarStatusAreaBackground.png: Added.
3128         * page/inspector/Images/sourceViewButton.png: Added.
3129         * page/inspector/Images/sourceViewButtonSelected.png: Added.
3130         * page/inspector/Images/splitviewDimple.png: Added.
3131         * page/inspector/Images/splitviewDividerBackground.png: Added.
3132         * page/inspector/Images/tab.png: Added.
3133         * page/inspector/Images/tabSelected.png: Added.
3134         * page/inspector/Images/timelinePillBlue.png: Added.
3135         * page/inspector/Images/timelinePillGray.png: Added.
3136         * page/inspector/Images/timelinePillGreen.png: Added.
3137         * page/inspector/Images/timelinePillOrange.png: Added.
3138         * page/inspector/Images/timelinePillPurple.png: Added.
3139         * page/inspector/Images/timelinePillRed.png: Added.
3140         * page/inspector/Images/timelinePillYellow.png: Added.
3141         * page/inspector/Images/tipBalloon.png: Added.
3142         * page/inspector/Images/tipBalloonBottom.png: Added.
3143         * page/inspector/Images/tipIcon.png: Added.
3144         * page/inspector/Images/tipIconPressed.png: Added.
3145         * page/inspector/Images/toggleDown.png: Added.
3146         * page/inspector/Images/toggleUp.png: Added.
3147         * page/inspector/Images/toolbarBackground.png: Added.
3148         * page/inspector/Images/toolbarBackgroundInactive.png: Added.
3149         * page/inspector/Images/toolbarButton.png: Added.
3150         * page/inspector/Images/toolbarButtonInactive.png: Added.
3151         * page/inspector/Images/toolbarButtonPressed.png: Added.
3152         * page/inspector/Images/toolbarButtonPressedInactive.png: Added.
3153         * page/inspector/Images/toolbarSplitButtonDivider.png: Added.
3154         * page/inspector/Images/toolbarSplitButtonDividerInactive.png: Added.
3155         * page/inspector/Images/treeDownTriangleBlack.png: Added.
3156         * page/inspector/Images/treeDownTriangleWhite.png: Added.
3157         * page/inspector/Images/treeLeftTriangleBlack.png: Added.
3158         * page/inspector/Images/treeRightTriangleBlack.png: Added.
3159         * page/inspector/Images/treeRightTriangleWhite.png: Added.
3160         * page/inspector/Images/warningIcon.png: Added.
3161         * page/inspector/Images/warningMediumIcon.png: Added.
3162         * page/inspector/Images/warningsErrors.png: Added.
3163
3164         Build-fu:
3165
3166         * WebCore.exp: Added new symbols.
3167         * WebCore.xcodeproj/project.pbxproj: Added new source files and
3168         resources.
3169         * WebCore.vcproj/WebCore.vcproj: Ditto, and copy the resources to
3170         $WebKitOutputDir.
3171
3172         Windows build fixes:
3173
3174         * history/HistoryItem.h: ResourceRequest is a struct.
3175         * loader/FrameLoaderClient.h: Ditto.
3176
3177 2007-06-20  Mitz Pettel  <mitz@webkit.org>
3178
3179         Reviewed by Beth.
3180
3181         - fix http://bugs.webkit.org/show_bug.cgi?id=14056
3182           REGRESSION (r21113-21143): TR background not repainted via style class change
3183
3184         Test: fast/repaint/table-row.html
3185
3186         * rendering/RenderTableRow.cpp:
3187         (WebCore::RenderTableRow::layout): Added a repaint to make up for the case where the
3188         table row also needs layout, so it doesn't get a repaint in setStyle().
3189
3190 2007-06-20  Mitz Pettel  <mitz@webkit.org>
3191
3192         Reviewed by Adele.
3193
3194         - fix http://bugs.webkit.org/show_bug.cgi?id=14040
3195           Top and bottom border images flipped when using -webkit-border-image when border end up tiled
3196
3197         Test: fast/borders/border-image-01.html
3198
3199         Correctly account for the fact that "pattern space" is flipped.
3200
3201         * platform/graphics/Image.cpp: (WebCore::Image::drawTiled):
3202         * platform/graphics/cg/ImageCG.cpp:
3203         (WebCore::Image::drawPatternCallback):
3204         (WebCore::Image::drawPattern):
3205
3206 2007-06-20  Anders Carlsson  <andersca@apple.com>
3207
3208         Reviewed by Darin.
3209
3210         <rdar://problem/5245555> REGRESSION: HTTP header injection in XMLHttpRequest.setRequestHeader
3211         
3212         Check for either '\r' or '\n' in the header value.
3213         
3214         * xml/xmlhttprequest.cpp:
3215         (WebCore::isValidHeaderValue):
3216
3217 2007-06-20  Patti Hoa  <patti@apple.com>
3218
3219         Reviewed by Geoffrey Garen.
3220
3221         <rdar://problem/4882527> VO should speak URL of image links that lack tags
3222         Add additional change from review
3223         
3224         * bridge/mac/WebCoreAXObject.mm:
3225         (-[WebCoreAXObject accessibilityAttributeValue:]):
3226         Check if the element has imgTag before asking for its url
3227         
3228 2007-06-20  Patti Hoa  <patti@apple.com>
3229
3230         Reviewed by Tristan O'Tierney.
3231
3232         <rdar://problem/4882527> VO should speak URL of image links that lack tags
3233         
3234         * bridge/mac/WebCoreAXObject.mm:
3235         (-[WebCoreAXObject accessibilityAttributeNames]):
3236         (-[WebCoreAXObject accessibilityAttributeValue:]):
3237         Return the url of images.
3238
3239 2007-06-19  Anders Carlsson  <andersca@apple.com>
3240
3241         Reviewed by Kevin Decker.
3242
3243         <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
3244         
3245         Add a new m_deferMainResourceDataLoad that can be used to control whether a data load should be deferred using a timer or not.
3246         
3247         * loader/DocumentLoader.cpp:
3248         (WebCore::DocumentLoader::DocumentLoader):
3249         * loader/DocumentLoader.h:
3250         (WebCore::DocumentLoader::deferMainResourceDataLoad):
3251         * loader/MainResourceLoader.cpp:
3252         (WebCore::MainResourceLoader::handleDataLoadSoon):
3253         (WebCore::MainResourceLoader::loadNow):
3254         (WebCore::MainResourceLoader::setDefersLoading):
3255
3256 2007-06-19  Patti Hoa <patti@apple.com>
3257
3258         Reviewed by Justin Garcia.
3259         
3260         <rdar://problem/5237325> Incorrect AXLeftLineTextMarkerRangeForTextMarker/AXPreviousLineStartTextMarkerForTextMarker for non-editable text
3261         
3262         * editing/visible_units.cpp:
3263         (WebCore::startPositionForLine):
3264         (WebCore::startOfLine):
3265         (WebCore::endPositionForLine):
3266         (WebCore::endOfLine):
3267         Break down the line routines to allow another try to ask for start/end of line if the returned position is not valid.
3268         An example would be when lineStart/lineEnd at different line than the input position.
3269         This can happen if the input position is before the space character at the end of a soft-wrapped non-editable line, 
3270         specifically a line without webkit-line-break:after-white-space style.
3271
3272 2007-06-19  Patti Hoa  <patti@apple.com>
3273
3274         Reviewed by Justin Garcia.
3275         
3276         <rdar://problem/3992645> VO view bounds misplaced when reading text after a line wrap
3277         
3278         * bridge/mac/WebCoreAXObject.mm:
3279         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
3280         Improve the accuracy of the bounds for a given range
3281         
3282 2007-06-19  Anders Carlsson  <andersca@apple.com>
3283
3284         Reviewed by Darin.
3285
3286         <rdar://problem/5130630>
3287         XPath fails LayoutTests on Windows
3288         
3289         * xml/XPathPredicate.cpp:
3290         Include MathExtras.h here so we get a version of fmod that works around a bug in the Microsoft CRT.
3291         
3292         * xml/XPathValue.cpp:
3293         (WebCore::XPath::Value::toNumber):
3294         Instead of using NAN, which isn't really the NaN value on Windows, use numeric_limits.
3295         
3296 2007-06-19  Geoffrey Garen  <ggaren@apple.com>
3297
3298         Reviewed by Darin Adler.
3299
3300         Fixed cross-frame access. <rdar://problem/5251309>. 
3301
3302         * bindings/js/kjs_window.cpp:
3303         (KJS::Window::getValueProperty):
3304         * bindings/scripts/CodeGeneratorJS.pm:
3305         * page/DOMWindow.idl:
3306
3307 2007-06-19  Anders Carlsson  <andersca@apple.com>
3308
3309         Build fix.
3310         
3311         * platform/win/PopupMenuWin.cpp:
3312
3313 2007-06-19  Lars Knoll <lars@trolltech.com>
3314
3315         Reviewed by Zack
3316
3317         Implement these methods correctly.
3318
3319         * platform/qt/PlatformScreenQt.cpp:
3320         (WebCore::screenRect):
3321         (WebCore::screenAvailableRect):
3322
3323 2007-06-19  Sam Weinig  <sam@webkit.org>
3324
3325         Reviewed by Geoff.
3326
3327         Patch for http://bugs.webkit.org/show_bug.cgi?id=14226
3328         Move the History object out of the JS bindings
3329
3330         - Autogenerate JSHistory.
3331
3332         * DerivedSources.make:
3333         * WebCore.pro:
3334         * WebCore.vcproj/WebCore.vcproj:
3335         * WebCore.xcodeproj/project.pbxproj:
3336         * bindings/js/kjs_window.cpp:
3337         (KJS::WindowPrivate::WindowPrivate):
3338         (KJS::Window::mark):
3339         (KJS::Window::getValueProperty):
3340         (KJS::Window::clearHelperObjectProperties):
3341         (KJS::Window::disconnectFrame):
3342         * bindings/js/kjs_window.h:
3343         (KJS::Window::):
3344         * bridge/GlobalHistory.h: Copied from WebCore/bridge/History.h.
3345         * bridge/History.h: Removed.
3346         * bridge/mac/GlobalHistoryMac.mm: Copied from WebCore/bridge/mac/HistoryMac.mm.
3347         * bridge/mac/HistoryMac.mm: Removed.
3348         * bridge/win/GlobalHistoryWin.cpp: Copied from WebCore/bridge/win/HistoryWin.cpp.
3349         * bridge/win/HistoryWin.cpp: Removed.
3350         * css/cssstyleselector.cpp:
3351         * page/DOMWindow.cpp:
3352         (WebCore::DOMWindow::disconnectFrame):
3353         (WebCore::DOMWindow::history):
3354         * page/DOMWindow.h:
3355         * page/DOMWindow.idl:
3356         * page/History.cpp: Added.
3357         (WebCore::History::History):
3358         (WebCore::History::frame):
3359         (WebCore::History::disconnectFrame):
3360         (WebCore::History::length):
3361         (WebCore::History::back):
3362         (WebCore::History::forward):
3363         (WebCore::History::go):
3364         * page/History.h: Added.
3365         * page/History.idl: Added.
3366         * platform/gdk/TemporaryLinkStubs.cpp:
3367         * platform/qt/TemporaryLinkStubs.cpp:
3368         * platform/wx/TemporaryLinkStubs.cpp:
3369
3370 2007-06-18  Sam Weinig  <sam@webkit.org>
3371
3372         Qt build fix.
3373
3374         * platform/qt/PlatformScreenQt.cpp:
3375         (WebCore::screenDepth):
3376         (WebCore::screenDepthPerComponent):
3377         (WebCore::screenIsMonochrome):
3378         (WebCore::screenRect):
3379         (WebCore::screenAvailableRect):
3380
3381 2007-06-18  Sam Weinig  <sam@webkit.org>
3382
3383         Reviewed by Beth.
3384
3385         Fix build and update licenses. 
3386
3387         * WebCore.xcodeproj/project.pbxproj:
3388         * page/BarInfo.cpp:
3389         * page/BarInfo.h:
3390         * page/BarInfo.idl:
3391         * page/Screen.cpp:
3392         (WebCore::Screen::height):
3393         (WebCore::Screen::width):
3394         (WebCore::Screen::colorDepth):
3395         (WebCore::Screen::pixelDepth):
3396         (WebCore::Screen::availLeft):
3397         (WebCore::Screen::availTop):
3398         (WebCore::Screen::availHeight):
3399         (WebCore::Screen::availWidth):
3400         * page/Screen.h:
3401         * page/Screen.idl:
3402
3403 2007-06-18  Anders Carlsson  <andersca@apple.com>
3404
3405         Reviewed by John Sullivan.
3406
3407         <rdar://problem/5277008> Assertion in [LocationChangeHandler finishedLoadingFrame:]
3408         
3409         Don't send any frame load callbacks if the document load hasn't been
3410         committed for real.
3411         
3412         * loader/FrameLoader.cpp:
3413         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3414
3415 2007-06-18  Sam Weinig  <sam@webkit.org>
3416
3417         Reviewed by Geoff.
3418
3419         Patch for http://bugs.webkit.org/show_bug.cgi?id=14193
3420         Move the Screen object out of the JS bindings
3421
3422         - Renames Screen.h to PlatformScreen.h to accommodate new class.
3423         - Autogenerates JSScreen.
3424
3425         * DerivedSources.make:
3426         * WebCore.pro:
3427         * WebCore.vcproj/WebCore.vcproj:
3428         * WebCore.xcodeproj/project.pbxproj:
3429         * bindings/js/kjs_window.cpp:
3430         (KJS::WindowPrivate::WindowPrivate):
3431         (KJS::Window::mark):
3432         (KJS::Window::getValueProperty):
3433         (KJS::Window::clearHelperObjectProperties):
3434         * bindings/js/kjs_window.h:
3435         (KJS::Window::):
3436         * css/MediaQueryEvaluator.cpp:
3437         * page/DOMWindow.cpp:
3438         (WebCore::DOMWindow::DOMWindow):
3439         (WebCore::DOMWindow::~DOMWindow):
3440         (WebCore::DOMWindow::frame):
3441         (WebCore::DOMWindow::disconnectFrame):
3442         (WebCore::DOMWindow::screen):
3443         * page/DOMWindow.h:
3444         * page/DOMWindow.idl:
3445         * page/Screen.cpp: Added.
3446         (WebCore::Screen::Screen):
3447         (WebCore::Screen::disconnectFrame):
3448         (WebCore::Screen::height):
3449         (WebCore::Screen::width):
3450         (WebCore::Screen::colorDepth):
3451         (WebCore::Screen::pixelDepth):
3452         (WebCore::Screen::availLeft):
3453         (WebCore::Screen::availTop):
3454         (WebCore::Screen::availHeight):
3455         (WebCore::Screen::availWidth):
3456         * page/Screen.h: Added.
3457         * page/Screen.idl: Added.
3458         * page/mac/WebCoreFrameBridge.mm:
3459         * platform/PlatformScreen.h: Copied from WebCore/platform/Screen.h.
3460         * platform/Screen.h: Removed.
3461         * platform/gdk/PlatformScreenGdk.cpp: Copied from WebCore/platform/gdk/ScreenGdk.cpp.
3462         * platform/gdk/ScreenGdk.cpp: Removed.
3463         * platform/mac/PlatformMouseEventMac.mm:
3464         * platform/mac/PlatformScreenMac.mm: Copied from WebCore/platform/mac/ScreenMac.mm.
3465         * platform/mac/ScreenMac.mm: Removed.
3466         * platform/qt/PlatformScreenQt.cpp: Added.
3467         (WebCore::WebCore::screenDepth):
3468         (WebCore::WebCore::screenDepthPerComponent):
3469         (WebCore::WebCore::screenIsMonochrome):
3470         (WebCore::WebCore::screenRect):
3471         (WebCore::WebCore::screenAvailableRect):
3472         * platform/qt/TemporaryLinkStubs.cpp:
3473         * platform/win/PlatformScreenWin.cpp: Copied from WebCore/platform/win/ScreenWin.cpp.
3474         * platform/win/ScreenWin.cpp: Removed.
3475         * rendering/RenderObject.cpp:
3476
3477 2007-06-18  Sam Weinig  <sam@webkit.org>
3478
3479         Reviewed by Geoff.
3480
3481         Patch for http://bugs.webkit.org/show_bug.cgi?id=14211
3482         Move the BarInfo object out of the JS bindings
3483
3484         * DerivedSources.make:
3485         * WebCore.pro:
3486         * WebCore.vcproj/WebCore.vcproj:
3487         * WebCore.xcodeproj/project.pbxproj:
3488         * bindings/js/kjs_window.cpp:
3489         (KJS::WindowPrivate::WindowPrivate):
3490         (KJS::Window::mark):
3491         (KJS::Window::getValueProperty):
3492         (KJS::Window::clearHelperObjectProperties):
3493         (KJS::Window::disconnectFrame):
3494         * bindings/js/kjs_window.h:
3495         (KJS::Window::):
3496         * page/BarInfo.cpp: Added.
3497         (WebCore::BarInfo::BarInfo):
3498         (WebCore::BarInfo::disconnectFrame):
3499         (WebCore::BarInfo::visible):
3500         * page/BarInfo.h: Added.
3501         (WebCore::BarInfo::):
3502         * page/BarInfo.idl: Added.
3503         * page/DOMWindow.cpp:
3504         (WebCore::DOMWindow::~DOMWindow):
3505         (WebCore::DOMWindow::disconnectFrame):
3506         (WebCore::DOMWindow::locationbar):
3507         (WebCore::DOMWindow::menubar):
3508         (WebCore::DOMWindow::personalbar):
3509         (WebCore::DOMWindow::scrollbars):
3510         (WebCore::DOMWindow::statusbar):
3511         (WebCore::DOMWindow::toolbar):
3512         * page/DOMWindow.h:
3513         * page/DOMWindow.idl:
3514
3515 2007-06-18  Sam Weinig  <sam@webkit.org>
3516
3517         Reviewed by Darin.
3518
3519         Remove the FrameArray class and instead make window.frames another
3520         self-reference for window (like window.window, window.self, etc).
3521         This is what Firefox and what the HTML5 dictates.
3522
3523         * bindings/js/kjs_window.cpp:
3524         (KJS::WindowPrivate::WindowPrivate):
3525         (KJS::Window::mark):
3526         (KJS::Window::getValueProperty):
3527         (KJS::Window::clearHelperObjectProperties):
3528         (KJS::Window::disconnectFrame):
3529         * bindings/js/kjs_window.h:
3530
3531 2007-06-18  Mitz Pettel  <mitz@webkit.org>
3532
3533         Reviewed by Adele.
3534
3535         - fix http://bugs.webkit.org/show_bug.cgi?id=13413
3536           Failed assertion in RenderTextControl::setSelectionRange in Google Spreadsheets
3537
3538         Test: fast/forms/input-zero-height-focus.html
3539
3540         * rendering/RenderTextControl.cpp:
3541         (WebCore::RenderTextControl::setSelectionRange): Avoid setting the
3542         selection in a zero-height text control.
3543
3544 2007-06-18  Alp Toker  <alp.toker@collabora.co.uk>
3545
3546         Reviewed by Sam Weinig.
3547
3548         http://bugs.webkit.org/show_bug.cgi?id=14052
3549         Implement SoundGdk
3550
3551         * WebCore.pro:
3552         * platform/gdk/SoundGdk.cpp: Added.
3553         (WebCore::systemBeep):
3554         * platform/gdk/TemporaryLinkStubs.cpp:
3555         (WebCore::systemBeep):
3556
3557 2007-06-18  Dave Hyatt  <hyatt@apple.com>
3558
3559         Add support for horizontal mouse wheeling on Windows.
3560         
3561         Reviewed by aroben
3562
3563         * platform/PlatformWheelEvent.h:
3564         * platform/win/WheelEventWin.cpp:
3565         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3566
3567 2007-06-17  Sam Weinig  <sam@webkit.org>
3568
3569         Win32 build fix.
3570
3571         * WebCore.vcproj/WebCore.vcproj:
3572
3573 2007-06-15  David Hyatt  <hyatt@apple.com>
3574
3575         Fix for bugzilla bugs 14183 and 14184, 'repeat' regressed in border-image
3576         because of a botched 'round' support removal.  Also update for a change in
3577         the spec that has the second stretch/round/repeat keyword match the first
3578         if omitted.
3579         
3580         Reviewed by olliej
3581
3582         * css/cssparser.cpp:
3583         (WebCore::BorderImageParseContext::commitBorderImage):
3584         * platform/graphics/Image.cpp:
3585         (WebCore::Image::drawTiled):
3586         * platform/graphics/Image.h:
3587         (WebCore::Image::):
3588
3589 2007-06-15  Sam Weinig  <sam@webkit.org>
3590
3591         Reviewed by Darin.
3592
3593         Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
3594         Autogenerate JS binding for Rect
3595
3596         - Renames RectImpl to Rect, DOMStyleSheetList to JSStyleSheetList 
3597           and DOMRGBColor to JSRGBColor
3598         - Moves JSStyleSheetList and JSRGBColor into the WebCore namespace.
3599
3600         * DerivedSources.make:
3601         * WebCore.pro:
3602         * WebCore.xcodeproj/project.pbxproj:
3603         * bindings/js/kjs_css.cpp:
3604         (WebCore::):
3605         (WebCore::JSStyleSheetList::JSStyleSheetList):
3606         (WebCore::JSStyleSheetList::~JSStyleSheetList):
3607         (WebCore::JSStyleSheetList::getValueProperty):
3608         (WebCore::JSStyleSheetList::indexGetter):
3609         (WebCore::JSStyleSheetList::nameGetter):
3610         (WebCore::JSStyleSheetList::getOwnPropertySlot):
3611         (WebCore::toJS):
3612         (WebCore::JSStyleSheetListFunc::callAsFunction):
3613         (WebCore::JSRGBColor::JSRGBColor):
3614         (WebCore::JSRGBColor::~JSRGBColor):
3615         (WebCore::JSRGBColor::getOwnPropertySlot):
3616         (WebCore::JSRGBColor::getValueProperty):
3617         (WebCore::getJSRGBColor):
3618         * bindings/js/kjs_css.h:
3619         (WebCore::JSStyleSheetList::classInfo):
3620         (WebCore::JSStyleSheetList::):
3621         (WebCore::JSStyleSheetList::impl):
3622         (WebCore::JSRGBColor::classInfo):
3623         (WebCore::JSRGBColor::):
3624         (WebCore::JSRGBColor::impl):
3625         * bindings/objc/DOMUtility.mm:
3626         (KJS::createDOMWrapper):
3627         * bindings/scripts/CodeGeneratorJS.pm:
3628         * bindings/scripts/CodeGeneratorObjC.pm:
3629         * css/CSSBorderImageValue.cpp:
3630         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3631         * css/CSSBorderImageValue.h:
3632         * css/CSSPrimitiveValue.cpp:
3633         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3634         (WebCore::CSSPrimitiveValue::cssText):
3635         * css/CSSPrimitiveValue.h:
3636         (WebCore::CSSPrimitiveValue::getRectValue):
3637         (WebCore::CSSPrimitiveValue::):
3638         * css/DashboardRegion.h:
3639         * css/Rect.h: Copied from css/RectImpl.h.
3640         (WebCore::Rect::~Rect):
3641         (WebCore::Rect::top):
3642         (WebCore::Rect::right):
3643         (WebCore::Rect::bottom):
3644         (WebCore::Rect::left):
3645         (WebCore::Rect::setTop):
3646         (WebCore::Rect::setRight):
3647         (WebCore::Rect::setBottom):
3648         (WebCore::Rect::setLeft):
3649         * css/Rect.idl:
3650         * css/RectImpl.h: Removed.
3651         * css/cssparser.cpp:
3652         (WebCore::CSSParser::parseShape):
3653         (WebCore::BorderImageParseContext::commitBorderImage):
3654         * css/cssstyleselector.cpp:
3655         (WebCore::CSSStyleSelector::applyProperty):
3656         * page/DOMWindow.idl:
3657
3658 2007-06-14  George Staikos  <staikos@kde.org>
3659
3660         Reviewed by Lars.
3661