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