WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2007-01-27  Don Gibson  <dgibson77@gmail.com>
2
3         Reviewed by Maciej.
4
5         http://bugs.webkit.org/show_bug.cgi?id=11880: Improve some egregious
6         Windows form control drawing issues:
7         Provide Classic mode fallbacks for the button/textfield drawing
8         routines.
9         Provide some basic drawing of menulists (still relatively broken).
10         Some cleanup.
11
12         * platform/win/TemporaryLinkStubs.cpp:
13         (WebCore::RenderThemeWin::systemFont):
14         * rendering/RenderThemeWin.cpp:
15         (WebCore::m_menuListTheme):
16         (WebCore::RenderThemeWin::close):
17         (WebCore::RenderThemeWin::determineClassicState):
18         (WebCore::RenderThemeWin::getThemeData):
19         (WebCore::RenderThemeWin::paintButton):
20         (WebCore::RenderThemeWin::paintTextField):
21         (WebCore::RenderThemeWin::paintMenuList):
22         (WebCore::RenderThemeWin::paintMenuListButton):
23         * rendering/RenderThemeWin.h:
24         (WebCore::ThemeData::m_classicState):
25         (WebCore::RenderThemeWin::setRadioSize):
26         (WebCore::RenderThemeWin::paintTextArea):
27
28 2007-01-27  David Kilzer  <ddkilzer@webkit.org>
29
30         Reviewed by Adam.
31
32         - fix http://bugs.webkit.org/show_bug.cgi?id=12260
33           Windows platform build is not maintained
34
35         * loader/win/FrameLoaderWin.cpp:
36         * platform/network/win/ResourceHandleWin.cpp:
37         * platform/win/TemporaryLinkStubs.cpp:
38         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
39         (WebCore::contextMenuItemTagDownloadLinkToDisk):
40         (WebCore::contextMenuItemTagCopyLinkToClipboard):
41         (WebCore::contextMenuItemTagOpenImageInNewWindow):
42         (WebCore::contextMenuItemTagDownloadImageToDisk):
43         (WebCore::contextMenuItemTagCopyImageToClipboard):
44         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
45         (WebCore::contextMenuItemTagCopy):
46         (WebCore::contextMenuItemTagGoBack):
47         (WebCore::contextMenuItemTagGoForward):
48         (WebCore::contextMenuItemTagStop):
49         (WebCore::contextMenuItemTagReload):
50         (WebCore::contextMenuItemTagCut):
51         (WebCore::contextMenuItemTagPaste):
52         (WebCore::contextMenuItemTagNoGuessesFound):
53         (WebCore::contextMenuItemTagIgnoreSpelling):
54         (WebCore::contextMenuItemTagLearnSpelling):
55         (WebCore::contextMenuItemTagSearchWeb):
56         (WebCore::contextMenuItemTagLookUpInDictionary):
57         (WebCore::contextMenuItemTagOpenLink):
58         (WebCore::contextMenuItemTagIgnoreGrammar):
59         (WebCore::contextMenuItemTagSpellingMenu):
60         (WebCore::contextMenuItemTagShowSpellingPanel):
61         (WebCore::contextMenuItemTagCheckSpelling):
62         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
63         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
64         (WebCore::contextMenuItemTagFontMenu):
65         (WebCore::contextMenuItemTagBold):
66         (WebCore::contextMenuItemTagItalic):
67         (WebCore::contextMenuItemTagUnderline):
68         (WebCore::contextMenuItemTagOutline):
69         (WebCore::contextMenuItemTagWritingDirectionMenu):
70         (WebCore::contextMenuItemTagDefaultDirection):
71         (WebCore::contextMenuItemTagLeftToRight):
72         (WebCore::contextMenuItemTagRightToLeft):
73         (WebCore::DocumentLoader::unreachableURL):
74         (WebCore::FrameLoader::redirectDataToPlugin):
75         (WebCore::FrameLoader::partClearedInBegin):
76         (WebCore::FrameLoader::createPlugin):
77
78 2007-01-27  Sam Weinig  <sam@webkit.org>
79
80         Reviewed by Mitz.
81
82         - Patch for http://bugs.webkit.org/show_bug.cgi?id=11957
83           REGRESSION: Unordered List Bullets too big and changing from size
84
85         * rendering/RenderListMarker.cpp:
86         (WebCore::RenderListMarker::paint): Explicitly set the stroke size to 1.0f.
87
88 2007-01-27  Lars Knoll <lars@trolltech.com>
89
90         Fix the Qt build and disable the usage
91         of QScrollbars for PlatformScrollBar for 
92         now as it causes crashes in the layout tests.
93
94         * WebCore.pro:
95         * ksvg2/svg/SVGTransformDistance.cpp:
96         * page/qt/FrameQt.cpp:
97         (WebCore::FrameQt::FrameQt):
98         (WebCore::FrameQt::bindingRootObject):
99         (WebCore::FrameQt::createRootObject):
100         * page/qt/FrameQt.h:
101         * platform/qt/PlatformScrollBarQt.cpp:
102         (WebCore::PlatformScrollbar::PlatformScrollbar):
103         * platform/qt/ScrollViewQt.cpp:
104         (WebCore::ScrollView::addChild):
105
106 2007-01-27  David Kilzer  <ddkilzer@kilzer.net>
107
108         Reviewed by NOBODY (buildbot build fix).
109
110         * ksvg2/svg/ColorDistance.cpp:
111         (WebCore::ColorDistance::scaledDistance): Added static cast of arguments to int.
112
113 2007-01-27  Rob Buis  <buis@kde.org>
114
115         Reviewed by NOBODY (typo in method name fix).
116
117         * ksvg2/svg/SVGSVGElement.cpp:
118         (WebCore::SVGSVGElement::addSVGWindowEventListener):
119         (WebCore::SVGSVGElement::parseMappedAttribute):
120         * ksvg2/svg/SVGSVGElement.h:
121
122 2007-01-27  Eric Seidel  <eric@webkit.org>
123
124         Reviewed by olliej.
125
126         Fix support for SVG's <set> element.
127
128         Manual test added.
129
130         * ksvg2/svg/SVGSetElement.cpp:
131         (WebCore::SVGSetElement::updateAnimatedValue):
132         (WebCore::SVGSetElement::calculateFromAndToValues):
133         * ksvg2/svg/SVGSetElement.h:
134         * manual-tests/animation/set-to.svg: Added.
135
136 2007-01-27  Alexey Proskuryakov  <ap@webkit.org>
137
138         Release build fix.
139
140         * loader/TextResourceDecoder.cpp:
141         (WebCore::TextResourceDecoder::checkForHeadCharset):
142
143 2007-01-27  Alexey Proskuryakov  <ap@webkit.org>
144
145         Reviewed by Darin.
146
147         http://bugs.webkit.org/show_bug.cgi?id=12389
148         Chinese decoding error at hk.antispam.yahoo.com
149
150         Test: fast/encoding/noscript-in-head.html
151
152         * loader/TextResourceDecoder.cpp:
153         (WebCore::TextResourceDecoder::checkForHeadCharset): We were already allowing 
154         NOSCRIPT tags in head, let's actually skip over their content.
155
156 2007-01-26  Geoffrey Garen  <ggaren@apple.com>
157
158         Reviewed by Maciej Stachowiak.
159         
160         Fixed <rdar://problem/4608404> WebScriptObject's _executionContext lack 
161         of ownership policy causes crashes (e.g., in Dashcode)
162
163         Added RootObject ref-counting goodness.
164
165         * page/mac/FrameMac.h:
166         * page/mac/FrameMac.mm:
167         (WebCore::FrameMac::cleanupPluginObjects): Invalidate our RootObjects 
168         instead of detroying them. Track _bindingRootObject separately from the
169         rest of our RootObjects, since it has its own variable.
170
171         * page/mac/WebCoreFrameBridge.mm:
172         (createRootObject): Use the Frame's new, more encapsulated function to
173         create a RootObject.
174
175         * bindings/objc/WebScriptObject.mm: Nixed rootObject setters, since they
176         were unused and they complicated reference-counting.
177
178 2007-01-26  David Kilzer  <ddkilzer@webkit.org>
179
180         Reviewed by Eric.
181
182         Release build fix.
183
184         * ksvg2/svg/SVGAnimationElement.cpp:
185         (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): Added static cast
186         to unsigned when calculating flooredValueIndex.
187
188 2007-01-26  Darin Adler  <darin@apple.com>
189
190         - checked in slightly newer revision of the patch below
191
192         * css/CSSComputedStyleDeclaration.cpp:
193         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
194         Grouped all the unimplemented values at the bottom. Fixed the ifdef for
195         CSS_PROP__WEBKIT_DASHBOARD_REGION so that it compiles on all platforms.
196
197         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Removed default
198         case and added type so that the compiler warns about missing properties.
199         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Ditto.
200
201 2007-01-26  Darin Adler  <darin@apple.com>
202
203         Reviewed by Beth.
204
205         - fix http://bugs.webkit.org/show_bug.cgi?id=12412
206           "unimplemented propertyID: 46" seen at dojotoolkit.org
207
208         Covered by fast/css/computed-style.html
209
210         * css/CSSPropertyNames.in: Sorted the file into two separate sections, one
211         for properties without the -webkit- prefix and another for properties with.
212
213         * css/makeprop: Generate a CSSPropertyID enum instead of a set of #defines.
214         Removed unused CSS_PROP_MIN and CSS_PROP_MAX. Renamed CSS_PROP_TOTAL to
215         numCSSProperties and changed it to a const int instead of #define.
216         Added a declaration of getPropertyName in the header. Changed the return
217         type of getPropertyName to const char* and the parameter type to CSSPropertyID.
218
219         * css/CSSComputedStyleDeclaration.cpp: Sort the lists of properties in
220         an easier to maintain order -- properties without a WebKit prefix first.
221         (WebCore::valueForLength): Changed return value to PassRefPtr.
222         (WebCore::valueForMaxLength): Ditto.
223         (WebCore::valueForBorderStyle): Ditto.
224         (WebCore::valueForTextAlign): Ditto.
225         (WebCore::valueForAppearance): Added.
226         (WebCore::valueForMarginCollapse): Added.
227         (WebCore::valueForShadow): Changed return value to PassRefPtr.
228         (WebCore::getPositionOffsetValue): Ditto.
229         (WebCore::currentColorOrValidColor): Ditto.
230         (WebCore::CSSComputedStyleDeclaration::cssText): Added cast since
231         getPropertyName now takes an enum value.
232         (WebCore::primitiveValueFromLength): Changed return value to PassRefPtr.
233         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
234         Added cast to CSSPropertyID so that gcc will detect missing enums in the
235         switch statement. Simplified the background-size and border-spacing
236         implementations so they don't have local variables. Added lots of cases
237         to the switch statement for unimplemented properties. Implemented the
238         outline-width, box-sizing, -webkit-appearance, -webkit-rtl-ordering,
239         -webkit-user-drag, and -webkit-user-select properties.
240         (WebCore::CSSComputedStyleDeclaration::item): Added cast since
241         getPropertyName now takes an enum value.
242
243         * css/CSSMutableStyleDeclaration.cpp: Removed declaration of getPropertyName.
244         (WebCore::CSSMutableStyleDeclaration::item): Added cast since
245         getPropertyName now takes an enum value.
246
247         * css/CSSProperty.cpp: Removed declaration of getPropertyName.
248         (WebCore::CSSProperty::cssText): Added cast since
249         getPropertyName now takes an enum value and returns a const char*.
250
251         * css/CSSStyleDeclaration.cpp: Removed declaration of getPropertyName.
252         (WebCore::CSSStyleDeclaration::getPropertyShorthand): Added cast since
253         getPropertyName now takes an enum value and returns a const char*.
254
255 2007-01-26  Alice Liu  <alice.liu@apple.com>
256
257         Reviewed by Brady.
258
259         Fixed <rdar://problem/4838076> CrashTracer: 10 crashes in Mail at com.apple.WebCore: WTF::HashMap<WebCore::String
260
261         * loader/DocLoader.cpp:
262         (WebCore::DocLoader::requestResource):
263         Added nil check around resource from cache.
264
265 2007-01-26  Adam Roben  <aroben@apple.com>
266
267         Reviewed by Oliver.
268
269         Build fix.
270
271         * ksvg2/svg/SVGAnimationElement.cpp:
272         (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast):
273         Keep index variables as unsigned until we need to convert to float.
274
275 2007-01-26  Alice Liu  <alice.liu@apple.com>
276
277         Reviewed by Ada.
278
279         Fixed <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076)
280
281         * editing/Editor.cpp:
282         (WebCore::Editor::deleteWithDirection):
283         If there's no selection, locally create a range that is to the end of the granularity unit and pass that to deleteRange(). 
284
285 2007-01-26  Sam Weinig  <sam@webkit.org>
286
287         Reviewed by Maciej.
288
289         Qt build fix.
290
291         * page/qt/EventHandlerQt.cpp:
292
293 2007-01-26  Dex Deacon  <occupant4@gmail.com>
294
295         Reviewed by Hyatt.
296
297         Fix so that we only relayout frameset children on calls to layout.
298
299         * page/FrameView.cpp:
300         (WebCore::FrameView::layout):
301
302 2007-01-26  Oliver Hunt  <oliver@apple.com>
303
304         Build Fix
305
306         * ksvg2/svg/ColorDistance.cpp:
307         * ksvg2/svg/SVGAnimationElement.cpp:
308         (WebCore::SVGAnimationElement::handleTimerEvent):
309
310 2007-01-26  Eric Seidel  <eric@webkit.org>
311
312         Reviewed by olliej.
313
314         Add support for calcMode, keyTimes and (nearly) keySplines.
315         http://bugs.webkit.org/show_bug.cgi?id=12350
316         Re-architect much of the animation system to remove huge sections of code.
317         Added new ColorDistance, SVGTransformDistance to simplify animateColor, animateTransform calculations.
318         I also added basic <animateMotion> support since it was so easy w/ the new architecture.
319         
320         Adding manual animation tests until bug 12074 is fixed.
321
322         * WebCore.xcodeproj/project.pbxproj:
323         * ksvg2/misc/SVGTimer.cpp:
324         (WebCore::SVGTimer::applyAnimations):
325         * ksvg2/svg/ColorDistance.cpp: Added.
326         (WebCore::ColorDistance::ColorDistance):
327         (WebCore::clampColorValue):
328         (WebCore::ColorDistance::scaledDistance):
329         (WebCore::ColorDistance::addColorsAndClamp):
330         (WebCore::ColorDistance::addToColorAndClamp):
331         (WebCore::ColorDistance::isZero):
332         (WebCore::ColorDistance::distance):
333         * ksvg2/svg/ColorDistance.h: Added.
334         * ksvg2/svg/SVGAnimateColorElement.cpp:
335         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
336         (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement):
337         (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement):
338         (WebCore::SVGAnimateColorElement::updateAnimatedValue):
339         (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
340         * ksvg2/svg/SVGAnimateColorElement.h:
341         (WebCore::SVGAnimateColorElement::contextElement):
342         * ksvg2/svg/SVGAnimateElement.h:
343         (WebCore::SVGAnimateElement::updateAnimatedValue):
344         (WebCore::SVGAnimateElement::calculateFromAndToValues):
345         * ksvg2/svg/SVGAnimateMotionElement.cpp:
346         (WebCore::SVGAnimateMotionElement::hasValidTarget):
347         (WebCore::SVGAnimateMotionElement::updateAnimatedValue):
348         (WebCore::parsePoint):
349         (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
350         (WebCore::SVGAnimateMotionElement::updateAnimationBaseValueFromElement):
351         (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
352         * ksvg2/svg/SVGAnimateMotionElement.h:
353         * ksvg2/svg/SVGAnimateTransformElement.cpp:
354         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
355         (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
356         (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement):
357         (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement):
358         (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
359         (WebCore::SVGAnimateTransformElement::parseTransformValue):
360         * ksvg2/svg/SVGAnimateTransformElement.h:
361         (WebCore::SVGAnimateTransformElement::contextElement):
362         * ksvg2/svg/SVGAnimationElement.cpp:
363         (WebCore::SVGAnimationElement::parseKeyNumbers):
364         (WebCore::parseValues):
365         (WebCore::parseKeySplines):
366         (WebCore::SVGAnimationElement::parseMappedAttribute):
367         (WebCore::SVGAnimationElement::targetAttributeAnimatedValue):
368         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
369         (WebCore::SVGAnimationElement::detectAnimationMode):
370         (WebCore::adjustPercentagePastForKeySplines):
371         (WebCore::SVGAnimationElement::valueIndexAndPercentagePastForDistance):
372         (WebCore::SVGAnimationElement::calculateTotalDistance):
373         (WebCore::caculateValueIndexForKeyTimes):
374         (WebCore::SVGAnimationElement::isValidAnimation):
375         (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast):
376         (WebCore::SVGAnimationElement::updateAnimationBaseValueFromElement):
377         (WebCore::SVGAnimationElement::applyAnimatedValueToElement):
378         (WebCore::SVGAnimationElement::handleTimerEvent):
379         (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
380         * ksvg2/svg/SVGAnimationElement.h:
381         * ksvg2/svg/SVGParserUtilities.cpp:
382         (WebCore::SVGPolyParser::parsePoints):
383         * ksvg2/svg/SVGParserUtilities.h:
384         * ksvg2/svg/SVGSetElement.cpp:
385         * ksvg2/svg/SVGSetElement.h:
386         (WebCore::SVGSetElement::updateAnimatedValue):
387         (WebCore::SVGSetElement::calculateFromAndToValues):
388         * ksvg2/svg/SVGTransform.cpp:
389         (SVGTransform::type):
390         (SVGTransform::translate):
391         (SVGTransform::scale):
392         (SVGTransform::setSkewX):
393         (SVGTransform::setSkewY):
394         * ksvg2/svg/SVGTransform.h:
395         (WebCore::operator==):
396         (WebCore::operator!=):
397         * ksvg2/svg/SVGTransformDistance.cpp: Added.
398         (WebCore::SVGTransformDistance::SVGTransformDistance):
399         (WebCore::SVGTransformDistance::scaledDistance):
400         (WebCore::SVGTransformDistance::addSVGTransforms):
401         (WebCore::SVGTransformDistance::addSVGTransform):
402         (WebCore::SVGTransformDistance::addToSVGTransform):
403         (WebCore::SVGTransformDistance::isZero):
404         (WebCore::SVGTransformDistance::distance):
405         * ksvg2/svg/SVGTransformDistance.h: Added.
406         * ksvg2/svg/SVGTransformList.cpp:
407         (SVGTransformList::concatenateForType):
408         * ksvg2/svg/SVGTransformList.h:
409         * manual-tests/animation/animateColor-by.svg: Added.
410         * manual-tests/animation/animateColor-from-by.svg: Added.
411         * manual-tests/animation/animateColor-repeat-indefinite.svg: Added.
412         * manual-tests/animation/animateColor-to-from.svg: Added.
413         * manual-tests/animation/animateColor-to.svg: Added.
414         * manual-tests/animation/animateColor-values-simple.svg: Added.
415         * manual-tests/animation/animateMotion-to.svg: Added.
416         * manual-tests/animation/animateTransform-keyTimes.svg: Added.
417         * manual-tests/animation/animateTransform-repeat-once.svg: Added.
418
419 2007-01-26  Beth Dakin  <bdakin@apple.com>
420
421         Reviewed by Darin.
422
423         Fix for <rdar://problem/4956565> REGRESSION: After scrolling frame, 
424         hovering over link in this frame doesn't change cursor to pointing 
425         hand
426
427         The mouseMove event was not being propagated correctly after using 
428         the mouse to scroll the frame because m_mousePressed was never 
429         getting set to false.
430
431         * page/EventHandler.cpp:
432         (WebCore::EventHandler::handleMousePressEvent): This code does not 
433         belong here.
434         * page/EventHandler.h: lastEventIsMouseUp() is only ever relevant 
435         in EventHandlerMac, so it can just be a static function there.
436         * page/mac/EventHandlerMac.mm:
437         (WebCore::lastEventIsMouseUp): Make this static.
438         (WebCore::EventHandler::passMouseDownEventToWidget): Here is where 
439         we need to set m_mousePressed to false if lastEventIsMouseUp() is 
440         true.
441
442 2007-01-26  David Hyatt  <hyatt@apple.com>
443
444         Fix for style regression caused by strictness checking of the number of properties.  This caused code like:
445         "width: 20 px" to fail, because we interpreted it as two values and rejected it.  Our old code allowed 20 to be
446         used like a pixel value and then ignored the orphaned unit.
447
448         This patch actually scans the list of values looking for orphaned units and reattaches them to the numeric
449         values that they should correspond to.  This means rules like "width: 5 em" will now work in quirks mdoe and
450         the "em" unit type will be honored.
451
452         Reviewed by beth
453
454         * WebCore.xcodeproj/project.pbxproj:
455         * css/cssparser.cpp:
456         (WebCore::unitFromString):
457         (WebCore::CSSParser::checkForOrphanedUnits):
458         (WebCore::CSSParser::parseValue):
459         * css/cssparser.h:
460         (WebCore::ValueList::valueAt):
461         (WebCore::ValueList::deleteValueAt):
462
463 2007-01-26  George Staikos  <staikos@kde.org>
464
465         Reviewed by Zack.
466
467         Qt implementation.
468
469         * WebCore.pro:
470         * platform/qt/FontPlatformDataQt.cpp:
471         (WebCore::FontPlatformData::FontPlatformData):
472         * platform/qt/ScrollViewQt.cpp:
473         (WebCore::ScrollView::scrollbarUnderMouse):
474
475 2007-01-26  Brady Eidson  <beidson@apple.com>
476
477         Reviewed by Anders' rubberstamp
478         
479         Warning about unreferenced formal parameter caused compile to fail
480
481         * platform/cf/RetainPtr.h:
482         (WebCore::adoptCFReference):
483
484 2007-01-26  Darin Adler  <darin@apple.com>
485
486         Reviewed by Brady.
487
488         - fix <rdar://problem/4956688> move Mac-specific part of icon code into IconMac
489         - fix a GC-compatibility problem in the icon code I noticed by code inspection
490
491         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): Removed Mac-specific
492         path check -- that's in newIconForFile now.
493
494         * platform/graphics/Icon.h: Changed the image to be a RetainPtr. The old code was
495         using -[NSObject retain] which is not good enough for a pointer in a C++ object.
496         * platform/graphics/mac/IconMac.mm:
497         (WebCore::Icon::Icon): Got rid of unneeded code to do what RetainPtr does for us.
498         (WebCore::Icon::~Icon): Ditto.
499         (WebCore::Icon::newIconForFile): Added check for non-absolute file names. Updated
500         for use of RetainPtr. Use constructor that takes NSImage.
501         (WebCore::Icon::paint): Add get() calls needed now that we are using a RetainPtr.
502
503         * WebCore.xcodeproj/project.pbxproj: Let Xcode do its thing.
504
505 2007-01-26  Alexey Proskuryakov  <ap@webkit.org>
506
507         Reviewed by Maciej.
508
509         http://bugs.webkit.org/show_bug.cgi?id=12385
510         Assertion failure when loading subresources from "data:" frames
511
512         Test: fast/loader/opaque-base-url.html
513
514         * platform/KURL.cpp:
515         (WebCore::KURL::init): Make the URL invalid if it's relative, but has an opaque or empty base.
516
517 2007-01-26  Dex Deacon  <occupant4@gmail.com>
518
519         Reviewed by Darin.
520
521         * page/EventHandler.cpp:
522         (WebCore::EventHandler::handleMouseMoveEvent):
523         Removed a call to invalidateClick(), since we don't want to cancel a
524         click if the mouse moves.
525
526 2007-01-26  Darin Adler  <darin@apple.com>
527
528         * css/MediaQueryEvaluator.cpp:
529         (WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific):
530         Oops, forgot a !.
531
532 2007-01-26  Darin Adler  <darin@apple.com>
533
534         Patch by Nate Begeman.
535         Reviewed by Darin and Maciej.
536
537         - <rdar://problem/4946877> Avoid unnecessary allocations in CSS, patch attached (12401)
538           http://bugs.webkit.org/show_bug.cgi?id=12401
539
540         * css/MediaQueryEvaluator.h: Add mediaTypeMatchSpecific, a function that
541         takes a char* to avoid creating and destroying a String for simple media
542         type queries.
543         * css/MediaQueryEvaluator.cpp:
544         (WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific): Added. Besides
545         avoiding the conversion to String, this also doesn't have the special
546         case code to handle "" and "all".
547
548         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::matchUARules):
549         Call mediaTypeMatchSpecific here when deciding whether to use the
550         print version of the user agent style sheet.
551
552         * loader/Cache.cpp: (WebCore::Cache::requestResource): Don't convert to
553         a string and back to a KURL when calling createResource. Avoids reparsing
554         the URL string.
555
556 2007-01-26  Zack Rusin  <zrusin@trolltech.com>
557
558         Reviewed by Lars
559
560         Add history related classes to the project file.
561
562         * WebCore.pro:
563
564 2007-01-26  Zack Rusin  <zack@kde.org>
565
566         Reviewed by Lars
567
568         Introduce PlatformScrollBar and try to make 
569         the scrollbar behavior a little more sane.
570
571         * WebCore.pro:
572         * platform/qt/PlatformScrollBarQt.cpp: Added.
573         (WebCore::Scrollbar::Scrollbar):
574         (WebCore::Scrollbar::setSteps):
575         (WebCore::Scrollbar::scroll):
576         (WebCore::Scrollbar::setValue):
577         (WebCore::Scrollbar::setProportion):
578         (WebCore::PlatformScrollbar::PlatformScrollbar):
579         (WebCore::PlatformScrollbar::~PlatformScrollbar):
580         (WebCore::PlatformScrollbar::width):
581         (WebCore::PlatformScrollbar::height):
582         (WebCore::PlatformScrollbar::setEnabled):
583         (WebCore::PlatformScrollbar::paint):
584         (WebCore::PlatformScrollbar::updateThumbPosition):
585         (WebCore::PlatformScrollbar::updateThumbProportion):
586         (WebCore::PlatformScrollbar::setRect):
587         * platform/qt/ScrollViewQt.cpp:
588         (WebCore::ScrollView::addChild):
589         * platform/qt/TemporaryLinkStubs.cpp:
590         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
591
592 2007-01-26  Mitz Pettel  <mitz@webkit.org>
593
594         Reviewed by Darin.
595
596         - fix http://bugs.webkit.org/show_bug.cgi?id=11109
597           REGRESSION (r15471): menus are offset on eink.com
598           <rdar://problem/4824760>
599
600         Changed offset{Left,Top} to match Firefox. If the body element is statically
601         positioned, it is still returned as the offsetParent of elements whose containing
602         block is the initial containing block (the root), but their offset{Left,Top} are
603         relative to the root. If the body element is positioned, then offsets are relative
604         to it. The body's own offset{Left,Top} are always 0. 
605
606         Test: fast/dom/Element/offsetLeft-offsetTop-body-quirk.html
607
608         * rendering/RenderObject.cpp:
609         (WebCore::RenderObject::offsetLeft):
610         (WebCore::RenderObject::offsetTop):
611
612 2007-01-26  Mitz Pettel  <mitz@webkit.org>
613
614         Reviewed by Darin and Maciej.
615
616         - fix http://bugs.webkit.org/show_bug.cgi?id=10983
617           REGRESSION (r12290): Drop shadow of flickr photo note is positioned incorrectly the second time it's shown
618
619         Test: fast/dynamic/staticY.html
620
621         * rendering/RenderBlock.cpp:
622         (WebCore::RenderBlock::layoutPositionedObjects): Avoid marking the object's
623         parents, since they have already been laid out.
624         * rendering/RenderBox.cpp:
625         (WebCore::RenderBox::setStaticY): Added a call to setChildNeedsLayout() to
626         ensure relayout by this box's container (third and fourth cases in the
627         layout test).
628         * rendering/RenderBox.h:
629         * rendering/RenderObject.cpp:
630         (WebCore::RenderObject::markContainingBlocksForLayout): For positioned objects
631         with static y, also mark the object's parent to ensure that it recomputes
632         the static y value (first case in the layout test).
633
634 2007-01-26  Lars Knoll <lars@trolltech.com>
635
636         Reviewed by Zack
637
638         Get rid of FrameQtClient. It's unused since we moved over
639         to the loader.
640
641         * WebCore.pro:
642         * page/qt/FrameQt.cpp:
643         (WebCore::FrameQt::FrameQt):
644         * page/qt/FrameQt.h:
645         * page/qt/FrameQtClient.cpp: Removed.
646         * page/qt/FrameQtClient.h: Removed.
647         * platform/network/ResourceHandleInternal.h:
648         * platform/network/qt/ResourceHandleManagerQt.cpp:
649         (WebCore::RequestQt::RequestQt):
650         (WebCore::ResourceHandleManager::add):
651         * platform/network/qt/ResourceHandleManagerQt.h:
652         * platform/network/qt/ResourceHandleQt.cpp:
653         (WebCore::ResourceHandle::start):
654
655 2007-01-26  Zack Rusin  <zack@kde.org>
656
657         Fix the compile
658
659         * WebCore.pro:
660
661 2007-01-26  Adam Roben  <aroben@apple.com>
662
663         Reviewed by Maciej.
664
665         Fixed <rdar://problem/4946499>, which made it impossible to tab
666         forward into the left frame of tivofaq.com after tabbing out of the
667         document.
668
669         * page/FocusController.cpp:
670         (WebCore::FocusController::advanceFocus): Clear the focused frame
671         before passing off focus to Chrome so that when we re-enter the
672         document we start at the main frame instead of the last focused frame.
673
674 2007-01-25  Rob Buis  <buis@kde.org>
675
676         Reviewed by olliej.
677
678         http://bugs.webkit.org/show_bug.cgi?id=11911
679         SVG exhibits double-text-selection behavior
680
681         Fix selection height of the inline text boxes for svg.
682
683         * WebCore.xcodeproj/project.pbxproj:
684         * rendering/InlineTextBox.cpp:
685         (WebCore::InlineTextBox::selectionTop):
686         (WebCore::InlineTextBox::selectionHeight):
687         (WebCore::InlineTextBox::selectionRect):
688         (WebCore::InlineTextBox::paintSelection):
689         (WebCore::InlineTextBox::paintMarkedTextBackground):
690         (WebCore::InlineTextBox::paintCustomHighlight):
691         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
692         (WebCore::InlineTextBox::paintTextMatchMarker):
693         * rendering/InlineTextBox.h:
694         * rendering/RenderSVGInlineText.cpp:
695         (WebCore::RenderSVGInlineText::createInlineTextBox):
696         * rendering/RenderSVGInlineText.h:
697         * rendering/RenderText.cpp:
698         (WebCore::RenderText::createInlineTextBox):
699         (WebCore::RenderText::createInlineBox):
700         * rendering/RenderText.h:
701         * rendering/SVGInlineTextBox.cpp: Added.
702         (WebCore::SVGInlineTextBox::selectionTop):
703         (WebCore::SVGInlineTextBox::selectionHeight):
704         * rendering/SVGInlineTextBox.h: Added.
705         (WebCore::SVGInlineTextBox::SVGInlineTextBox):
706
707 2007-01-26  Zack Rusin  <zack@kde.org>
708
709         Reviewed by Lars
710
711         Fix drawing of tiled images.
712
713         * WebCore.pro:
714         * platform/graphics/qt/ImageQt.cpp:
715         (WebCore::BitmapImage::drawPattern):
716
717 2007-01-26  Zack Rusin  <zack@kde.org>
718
719         Reviewed by Lars
720
721         Fixing image loading - we decode QImages
722         but render QPixmaps now. Implement Icon
723         class
724
725         * platform/graphics/BitmapImage.h:
726         * platform/graphics/Icon.h:
727         * platform/graphics/Image.h:
728         (WebCore::Image::getPixmap):
729         * platform/graphics/qt/IconQt.cpp:
730         (WebCore::Icon::Icon):
731         (WebCore::Icon::~Icon):
732         (WebCore::Icon::newIconForFile):
733         (WebCore::Icon::paint):
734         * platform/graphics/qt/ImageDecoderQt.cpp:
735         (WebCore::ImageDecoderQt::ImageData::ImageData):
736         (WebCore::ImageDecoderQt::ReadContext::read):
737         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
738         (WebCore::ImageDecoderQt::reset):
739         (WebCore::ImageDecoderQt::imageAtIndex):
740         * platform/graphics/qt/ImageDecoderQt.h:
741         * platform/graphics/qt/ImageQt.cpp:
742         (WebCore::BitmapImage::drawPattern):
743         (WebCore::BitmapImage::getPixmap):
744         * platform/graphics/qt/ImageSourceQt.cpp:
745         (WebCore::ImageSource::createFrameAtIndex):
746
747 2007-01-25  Justin Garcia  <justin.garcia@apple.com>
748
749         Reviewed by oliver
750         
751         <http://bugs.webkit.org/show_bug.cgi?id=12409>
752         REGRESSION (r19039): Drag caret isn't cleared after a drop
753
754         No new layout tests because the regression was
755         caught by current layout tests.
756
757         * page/DragController.cpp:
758         (WebCore::DragController::concludeDrag): Clear the drag caret.
759
760 2007-01-25  Darin Adler  <darin@apple.com>
761
762         Reviewed and landed by Geoffrey Garen.
763
764         - fix http://bugs.webkit.org/show_bug.cgi?id=12342
765           REGRESSION: destroying a frame from its own script causes various crashes
766
767         * bindings/js/kjs_window.cpp: (KJS::ScheduledAction::execute):
768         Use RefPtr for the frame and the interpreter object so they don't get deleted
769         out from underneath us.
770
771         * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate):
772         Add a check for a page of 0. This was the only call site for the
773         addMessageToConsole function that did not have a check for a page of 0.
774
775 2007-01-25 Dirk Mueller  <mueller@kde.org>
776
777         Reviewed and merged by Beth.
778
779         Fix for <rdar://problem/4921692> not processing comments inside a 
780         title element leads to XSS (for at least BlogSpot)
781
782         This is equivalent to commit 626791 in the KDE tree. Basically, the 
783         patch allows comment parsing in titles to avoid capturing a 
784         <script> tag by accident.
785
786         * html/HTMLTokenizer.cpp:
787         (WebCore::HTMLTokenizer::parseSpecial):
788         (WebCore::HTMLTokenizer::parseComment):
789
790 2007-01-25  Darin Adler  <darin@apple.com>
791
792         * ksvg2/svg/SVGPreserveAspectRatio.cpp: Add a couple of comments.
793
794 2007-01-25  Darin Adler  <darin@apple.com>
795
796         Reviewed by Maciej.
797
798         - fix http://bugs.webkit.org/show_bug.cgi?id=12365
799           Reproducible crash in WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio
800           in svg/W3C-SVG-1.1/animate-elem-40-t.svg under guard malloc
801         - fix bug where the parser accepts "meet" or "slice" as an entire string
802         - fix bug where "slice" is ignored if the old alignment was "none"
803           even if the newly-parsed alignment is something other than "none", and
804           "slice" is not ignored if the old alignment was not "none", but the
805           newly-parsed alignment is "none"
806         - optimize to only call notifyAttributeChange if the attribute actually changed
807
808         Test: svg/dom/preserve-aspect-ratio-parser-test.html
809
810         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
811         (WebCore::checkString): Added an overload for using char* constants which is
812         much simpler than the old one, and almost as fast.
813         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Fail if there's no
814         more text after "defer". Fail if there's neither "none" nor an x/y specified.
815         Check that there's more text before looking at the "m" and "s" for "meet" and
816         "slice". Merged the failure and success cases. Only call notifyAttributeChange
817         if something changed.
818
819         I think all the "optimized" code where we check the first character before
820         calling checkString isn't really helpful, but I decided to leave it as-is
821         for now.
822
823 2007-01-25  Lars Knoll <lars@trolltech.com>
824
825         Reviewed by Zack
826
827         Trivial implementation of getMIMETypeForExtension.
828         Use the above method in the ResourceHandleManager to set
829         a mimetype on Resources that don't have one set (which
830         includes everything loaded from local disk).
831
832         Should fix quite a few test cases :)
833
834         * platform/network/qt/ResourceHandleManagerQt.cpp:
835         (WebCore::ResourceHandleManager::receivedResponse):
836         * platform/qt/MimeTypeRegistryQt.cpp:
837         (WebCore::):
838         (WebCore::MimeTypeRegistry::getMIMETypeForExtension):
839
840 2007-01-25 Harald Fernengel <harald@trolltech.com>
841
842         Reviewed by zack
843
844         Compile on platforms where qreal is not a double.
845
846         * platform/graphics/qt/AffineTransformQt.cpp:
847         (WebCore::AffineTransform::map):
848
849 2007-01-25  Zack Rusin  <zack@kde.org>
850
851         Reviewed by Lars.
852
853         Add wheel event handling and make explicit usage
854         of the EventHandler.
855
856         * WebCore.pro:
857         * page/qt/EventHandlerQt.cpp:
858         (WebCore::EventHandler::focusDocumentView):
859         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
860         (WebCore::EventHandler::passMouseDownEventToWidget):
861         (WebCore::EventHandler::lastEventIsMouseUp):
862         (WebCore::EventHandler::handleMouseUp):
863         * platform/PlatformWheelEvent.h:
864         * platform/qt/ScrollViewCanvasQt.cpp:
865         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
866         (WebCore::ScrollViewCanvasQt::mousePressEvent):
867         (WebCore::ScrollViewCanvasQt::wheelEvent):
868         (WebCore::ScrollViewCanvasQt::dragEnterEvent):
869         (WebCore::ScrollViewCanvasQt::dragLeaveEvent):
870         (WebCore::ScrollViewCanvasQt::dragMoveEvent):
871         * platform/qt/ScrollViewCanvasQt.h:
872         * platform/qt/ScrollViewQt.cpp:
873         (WebCore::ScrollView::wheelEvent):
874         * platform/qt/WheelEventQt.cpp: Added.
875         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
876
877 2007-01-25  Rob Buis  <buis@kde.org>
878
879         Reviewed by Maciej.
880
881         http://bugs.webkit.org/show_bug.cgi?id=12391
882         SVG containers with viewports should respect overflow when hit testing
883
884         Take into account the overflow property when hit testing <svg>.
885
886         * rendering/RenderSVGContainer.cpp:
887         (WebCore::RenderSVGContainer::nodeAtPoint):
888
889 2007-01-23  Alice Liu  <alice.liu@apple.com>
890
891         Reviewed by Maciej.
892
893         fixed <rdar://problem/4808039> REGRESSION: eBay ID check never completes
894         Also known as http://bugs.webkit.org/show_bug.cgi?id=11230
895
896         * bindings/js/kjs_window.cpp:
897         It's not necessary to check safeScript when doing a location.replace, .reload, or .assign
898         (KJS::Location::getOwnPropertySlot):
899         (KJS::LocationFunc::callAsFunction):
900
901 2007-01-25  Alice Liu  <alice.liu@apple.com>
902
903         Reviewed by Geoff and Adele.
904
905         fixed <rdar://problem/4866655> REGRESSION: Copying out of Calculator & CIFIlterWidget is broken on 9A320
906
907         * editing/Editor.cpp:
908         (WebCore::Editor::canDHTMLCut):
909         (WebCore::Editor::canDHTMLCopy):
910         (WebCore::Editor::tryDHTMLCopy):
911         (WebCore::Editor::tryDHTMLCut):
912         Reverting some mistakes made in r17504:
913         Anything in r17503 that used to call mayDHTML* still calls canDHTML* as it was changed in r17504, where canDHTML* now calls !selectionController::isInPasswordField instead of editor::canCopy
914         Anything else in r17503 that used to call mayCopy now calls (!)selectionController::isInPasswordField.
915
916         * editing/JSEditor.cpp:
917         copy via JS should be enabled as long as selection is not in a password field.  a range selection shouldn't be required. 
918
919 2007-01-24  Adele Peterson  <adele@apple.com>
920
921         Reviewed by Brady and Oliver.
922
923         Fix for <rdar://problem/4953504> When the keydown event changes focus, the keypress event should go to the new focused node
924
925         Test: fast/events/keydown-keypress-focus-change.html
926
927         * page/EventHandler.cpp:
928         (WebCore::eventTargetNodeForDocument): Added for convenience.
929         (WebCore::EventHandler::keyEvent): Moved from EventHandlerMac.mm.  After dispatching the keyDown event,
930          recheck the target node for the keyPress event in case its changed.
931         * page/EventHandler.h:
932         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::keyEvent):
933           Moved the bulk of this code to EventHandler.cpp.
934
935 2007-01-24  Geoffrey Garen  <ggaren@apple.com>
936
937         New forwarding header. No review necessary.
938
939         * ForwardingHeaders/kjs/ustring.h: Added.
940
941 2007-01-24  Oliver Hunt  <oliver@apple.com>
942
943         Reviewed by Maciej.
944
945         Migrating more drag state information to WebCore
946
947         * page/DragController.cpp:
948         * page/DragController.h:
949         (WebCore::DragController::dragOperation):
950         (WebCore::DragController::setDraggingImageURL):
951         (WebCore::DragController::draggingImageURL):
952         (WebCore::DragController::setDragOffset):
953         (WebCore::DragController::dragOffset):
954
955 2007-01-24  Darin Adler  <darin@apple.com>
956
957         Reviewed by Adele.
958
959         - fix http://bugs.webkit.org/show_bug.cgi?id=12331
960           REGRESSION(r18951): Selecting text in a textarea makes the page scroll
961
962         Test: fast/events/autoscroll.html
963
964         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll):
965         Adjust position to be relative to the object's corner for the hit test, but not for the
966         scrollRectToVisible call. The previous version accidentally re-used the version that was
967         adjusted for the hit test.
968
969 2007-01-24  Beth Dakin  <bdakin@apple.com>
970
971         Reviewed by Geoff.
972
973         Fix for <rdar://problem/4948128> REGRESSION: A crash occurs at 
974         WebCore::Frame::view() after completing a query at mapquest.com 
975         then switching to Bookmarks view
976
977         This is just a null-check. If you are in strict mode and ask for 
978         the clientWidth or clientHeight after the document was removed from 
979         it's parent, we no longer have a frameView, so we have to null-
980         check it. I added null checks for the FrameView in some other 
981         places where it seems like we could potentially run into this 
982         issue.
983
984         * bindings/objc/DOMHTML.mm:
985         (-[DOMHTMLInputElement _rectOnScreen]):
986         * bridge/mac/WebCoreAXObject.mm:
987         (-[WebCoreAXObject accessibilityAttributeValue:]):
988         * dom/ContainerNode.cpp:
989         (WebCore::ContainerNode::getUpperLeftCorner):
990         * dom/Element.cpp:
991         (WebCore::Element::clientWidth): Actual bug fix here!
992         (WebCore::Element::clientHeight): And here!
993         * ksvg2/svg/SVGLength.cpp:
994         (WebCore::SVGLength::PercentageOfViewport):
995         * loader/FrameLoader.cpp:
996         (WebCore::FrameLoader::createJavaAppletWidget):
997         * page/mac/WebCoreFrameBridge.mm:
998         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
999         * rendering/RenderLayer.cpp:
1000         (WebCore::RenderLayer::windowClipRect):
1001         (WebCore::RenderLayer::updateOverflowStatus):
1002         (WebCore::frameVisibleRect):
1003         * rendering/RenderListBox.cpp:
1004         (WebCore::RenderListBox::windowClipRect):
1005         * rendering/RenderTable.cpp:
1006         (WebCore::RenderTable::layout):
1007
1008 2007-01-24  Maciej Stachowiak  <mjs@apple.com>
1009
1010         Not reviewed, just removing accidentally committed file.
1011
1012         - removed file that shouldn't be there
1013
1014         * Image Viewer/Image Viewer.aps: Removed.
1015
1016 2007-01-24  Anders Carlsson  <acarlsson@apple.com>
1017
1018         Reviewed by Geoff and Adam.
1019
1020         <rdar://problem/4922655>
1021         http://galeri.milliyet.com.tr/ reproducibly crashes Safari
1022         
1023         * loader/FrameLoader.cpp:
1024         (WebCore::FrameLoader::requestFrame):
1025         If the frame already exists, defer the navigation so that we won't end up replacing the document
1026         while we're parsing it. This is similar to what setting window.location ends up doing.
1027
1028 2007-01-25  Mark Rowe  <mrowe@apple.com>
1029
1030         Reviewed by Darin.
1031
1032         * Info.plist: Update copyright string.
1033
1034 2007-01-24  Justin Garcia  <justin.garcia@apple.com>
1035
1036         Reviewed by harrison
1037
1038         <rdar://problem/4916235>
1039         eBay Editor: Crash occurs at WebCore::Range::startPosition() after applying ordered list styling to selected text
1040         <rdar://problem/4857269>
1041         REGRESSION: editing/execCommand/create-list-from-range-selection.html no longer works as intended
1042         <rdar://problem/4916583>
1043         eBay Editor: Removing a indent from a list item actually deletes the list item instead
1044         <rdar://problem/4928635>
1045         designMode outdent causes crash (11750)
1046
1047         * editing/CompositeEditCommand.cpp:
1048         (WebCore::CompositeEditCommand::moveParagraphs): Fixed br insertion
1049         after the pruning of empty containers left over after the paragraph
1050         to move is removed.
1051         * editing/DeleteSelectionCommand.cpp:
1052         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): There are
1053         bugs that leave the wrong number of line breaks after a deletion 
1054         that expands to include special elements (lists/tables).  Added 
1055         a workaround so that moveParagraphs can avoid these until they 
1056         are fixed.
1057         (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
1058         (WebCore::DeleteSelectionCommand::initializePositionData): Ditto.
1059         * editing/DeleteSelectionCommand.h:
1060         * editing/TextIterator.cpp:
1061         (WebCore::TextIterator::advance): We used to not call exitNode for
1062         ancestors of a node where the next node in a pre-order traversal is 
1063         the ranges's pastEndNode().  This is only correct for ancestors that
1064         contain the end of the range.
1065         (WebCore::shouldEmitNewlineAfterNode): Added, we should only emit newlines
1066         after blocks that have VisiblePositions after them.  VisiblePosition creation
1067         though is too expensive to do here, what I added here is an OK substitute.
1068         (WebCore::shouldEmitNewlineBeforeNode): Added.  No special logic yet.
1069         (WebCore::TextIterator::handleNonTextNode): Call shouldEmitNewlineBeforeNode.
1070         (WebCore::TextIterator::exitNode): Call shouldEmitNewlineAfterNode.
1071         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Call
1072         shouldEmitNewlineAfterNode.
1073
1074 2007-01-24  Darin Adler  <darin@apple.com>
1075
1076         Reviewed by Mark Rowe.
1077
1078         * WebCore.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
1079         so we don't rely on people's paths.
1080
1081 2007-01-24  Darin Adler  <darin@apple.com>
1082
1083         Reviewed by Adele.
1084
1085         - a couple minor tweaks to recently-changed things
1086
1087         * dom/Document.h: Use HTMLHeadElement as type for the head function.
1088         * dom/Document.cpp: (WebCore::Document::head):
1089
1090         * ksvg2/svg/SVGElementInstance.cpp:
1091         (WebCore::SVGElementInstance::~SVGElementInstance): Change loop to
1092         a for loop and use a local variable for document.
1093
1094 2007-01-24  Oliver Hunt  <oliver@apple.com>
1095
1096         Reviewed by Adele.
1097
1098         Fixes DragController to allow a null target Document.
1099         This is encountered in new tabs/windows that have not 
1100         loaded any page
1101
1102         * page/DragController.cpp:
1103         (WebCore::documentAtPoint):
1104         (WebCore::DragController::tryDocumentDrag):
1105         (WebCore::DragController::operationForLoad):
1106         (WebCore::DragController::concludeDrag):
1107         * page/mac/DragControllerMac.mm:
1108         (WebCore::DragController::dragOperation):
1109
1110 2007-01-24  Sam Weinig  <sam@webkit.org>
1111
1112         Reviewed by Mitz.
1113
1114         Patch for http://bugs.webkit.org/show_bug.cgi?id=12394
1115         Cleanup RenderBox
1116
1117         No functionality changes, just a good old fashion cleanup,
1118         thus no tests.
1119
1120         * rendering/RenderBox.cpp:
1121         (WebCore::RenderBox::RenderBox):
1122         (WebCore::RenderBox::setStyle):
1123         (WebCore::RenderBox::destroy):
1124         (WebCore::RenderBox::setPos):
1125         (WebCore::RenderBox::calcBorderBoxWidth):
1126         (WebCore::RenderBox::calcBorderBoxHeight):
1127         (WebCore::RenderBox::calcContentBoxWidth):
1128         (WebCore::RenderBox::calcContentBoxHeight):
1129         (WebCore::RenderBox::nodeAtPoint):
1130         (WebCore::RenderBox::paintRootBoxDecorations):
1131         (WebCore::RenderBox::paintBoxDecorations):
1132         (WebCore::RenderBox::paintBackgrounds):
1133         (WebCore::RenderBox::paintBackground):
1134         (WebCore::cacluateBackgroundSize):
1135         (WebCore::RenderBox::paintBackgroundExtended):
1136         (WebCore::RenderBox::getOverflowClipRect):
1137         (WebCore::RenderBox::getClipRect):
1138         (WebCore::RenderBox::containingBlockWidth):
1139         (WebCore::RenderBox::absolutePosition):
1140         (WebCore::RenderBox::dirtyLineBoxes):
1141         (WebCore::RenderBox::position):
1142         (WebCore::RenderBox::getAbsoluteRepaintRect):
1143         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1144         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
1145         (WebCore::RenderBox::relativePositionOffsetX):
1146         (WebCore::RenderBox::relativePositionOffsetY):
1147         (WebCore::RenderBox::calcWidth):
1148         (WebCore::RenderBox::calcWidthUsing):
1149         (WebCore::RenderBox::sizesToIntrinsicWidth):
1150         (WebCore::RenderBox::calcHorizontalMargins):
1151         (WebCore::RenderBox::calcHeight):
1152         (WebCore::RenderBox::calcPercentageHeight):
1153         (WebCore::RenderBox::calcReplacedWidthUsing):
1154         (WebCore::RenderBox::calcReplacedHeightUsing):
1155         (WebCore::RenderBox::availableHeightUsing):
1156         (WebCore::RenderBox::calcVerticalMargins):
1157         (WebCore::RenderBox::containingBlockWidthForPositioned):
1158         (WebCore::RenderBox::calcAbsoluteHorizontal):
1159         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
1160         (WebCore::RenderBox::calcAbsoluteVertical):
1161         (WebCore::RenderBox::calcAbsoluteVerticalValues):
1162         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1163         (WebCore::RenderBox::caretRect):
1164         * rendering/RenderBox.h:
1165         (WebCore::RenderBox::setOverrideSize):
1166         (WebCore::RenderBox::width):
1167         (WebCore::RenderBox::height):
1168         (WebCore::RenderBox::setWidth):
1169         (WebCore::RenderBox::setHeight):
1170         (WebCore::RenderBox::inlineBoxWrapper):
1171         (WebCore::RenderBox::setInlineBoxWrapper):
1172         (WebCore::RenderBox::stretchesToViewHeight):
1173         (WebCore::RenderBox::setStaticX):
1174         (WebCore::RenderBox::setStaticY):
1175
1176 2007-01-24  Eric Seidel  <eric@webkit.org>
1177
1178         Reviewed by ap.
1179
1180         Converted SVGTransform from being Shared<T> to a POD type.
1181
1182         No functional changes, thus no tests.
1183
1184         * bindings/scripts/CodeGenerator.pm:
1185         * bindings/scripts/CodeGeneratorJS.pm:
1186         * ksvg2/misc/SVGTimer.cpp:
1187         (WebCore::baseValueTransformList):
1188         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1189         (WebCore::SVGAnimateTransformElement::storeInitialValue):
1190         (WebCore::SVGAnimateTransformElement::resetValues):
1191         (WebCore::SVGAnimateTransformElement::updateCurrentValue):
1192         (WebCore::SVGAnimateTransformElement::handleStartCondition):
1193         (WebCore::SVGAnimateTransformElement::applyAnimationToValue):
1194         (WebCore::SVGAnimateTransformElement::parseTransformValue):
1195         * ksvg2/svg/SVGAnimateTransformElement.h:
1196         * ksvg2/svg/SVGLinearGradientElement.cpp:
1197         (WebCore::SVGLinearGradientElement::collectGradientProperties):
1198         * ksvg2/svg/SVGPatternElement.cpp:
1199         (WebCore::SVGPatternElement::collectPatternProperties):
1200         * ksvg2/svg/SVGRadialGradientElement.cpp:
1201         (WebCore::SVGRadialGradientElement::collectGradientProperties):
1202         * ksvg2/svg/SVGSVGElement.cpp:
1203         (WebCore::SVGSVGElement::createSVGTransform):
1204         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
1205         * ksvg2/svg/SVGSVGElement.h:
1206         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1207         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
1208         * ksvg2/svg/SVGTextElement.cpp:
1209         (WebCore::SVGTextElement::updateLocalTransform):
1210         * ksvg2/svg/SVGTransform.cpp:
1211         (SVGTransform::SVGTransform):
1212         (SVGTransform::isValid):
1213         * ksvg2/svg/SVGTransform.h:
1214         * ksvg2/svg/SVGTransform.idl:
1215         * ksvg2/svg/SVGTransformList.cpp:
1216         (SVGTransformList::SVGTransformList):
1217         (SVGTransformList::createSVGTransformFromMatrix):
1218         (SVGTransformList::consolidate):
1219         (SVGTransformList::concatenate):
1220         * ksvg2/svg/SVGTransformList.h:
1221         * ksvg2/svg/SVGTransformable.cpp:
1222         (WebCore::SVGTransformable::parseTransformAttribute):
1223
1224 2007-01-24  Mark Rowe  <mrowe@apple.com>
1225
1226         Reviewed by Eric.
1227
1228         Plug another bunch of SVG memory leaks.
1229
1230         * ksvg2/misc/SVGDocumentExtensions.cpp:
1231         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): Delete memory we have allocated.
1232         (WebCore::SVGDocumentExtensions::removePendingResource): Return an auto_ptr to show that we are transferring ownership.
1233         * ksvg2/misc/SVGDocumentExtensions.h:
1234         * ksvg2/svg/SVGElement.cpp:
1235         (WebCore::SVGElement::insertedIntoDocument): Update for use of auto_ptr.
1236
1237 2007-01-23  Mark Rowe  <mrowe@apple.com>
1238
1239         Reviewed by Brady.
1240
1241         Plug thousands of node leaks seen running layout tests.
1242
1243         * ksvg2/svg/SVGElementInstance.cpp:
1244         (WebCore::SVGElementInstance::~SVGElementInstance): Disassociate ourselves from our children so they will
1245         be destroyed if we were the only thing referencing them.
1246         * ksvg2/svg/SVGUseElement.cpp:
1247         (WebCore::SVGUseElement::removedFromDocument):
1248         * ksvg2/svg/SVGUseElement.h:
1249
1250 2007-01-23  Alice Liu  <alice.liu@apple.com>
1251
1252         Reviewed by Brady.
1253
1254         * editing/Editor.cpp:
1255         (WebCore::Editor::appliedEditing):
1256         minor change.  removing unnecessary call to frame to fetch editor
1257
1258 2007-01-23  Mark Rowe  <mrowe@apple.com>
1259
1260         Reviewed by Adele.
1261
1262         http://bugs.webkit.org/show_bug.cgi?id=12375
1263         Bug 12375: REGRESSION(r19038): fast/dom/title-text-property-2.html failing
1264
1265         Fix regression by making setTitle/updateTitle/removeTitle logic match document.title
1266         specification at http://whatwg.org/specs/web-apps/current-work/#the-title1.
1267
1268         * dom/Document.cpp:
1269         (WebCore::Document::setTitle): Materialize a title element into the head if one doesn't exist when setting
1270         document.title.  Also update the contents of the title element when the title is set via document.title.
1271         (WebCore::Document::removeTitle): Update the title based on first title element in the head, if one exists.
1272         (WebCore::Document::head): Convenience method to retrieve the head element in an HTML document.
1273         * dom/Document.h:
1274
1275 2007-01-23  Beth Dakin  <bdakin@apple.com>
1276
1277         Reviewed by Hyatt.
1278
1279         Follow-up to the fix below for 4843226.
1280
1281         * rendering/RenderLayer.cpp:
1282         (WebCore::transparencyClipBox): Has to be recursive or we will miss 
1283         out on grandchildren!
1284
1285 2007-01-23  Oliver Hunt  <oliver@apple.com>
1286
1287         Reviewed by Adam.
1288
1289         Fixes dropping of files into safari
1290
1291         * page/DragController.cpp:
1292         (WebCore::DragController::performDrag):
1293
1294 2007-01-23  Brady Eidson  <beidson@apple.com>
1295
1296         Reviewed by Darin
1297
1298         Added a couple of CF things previously missed
1299
1300         * platform/network/ResourceError.h:
1301         * platform/network/ResourceHandle.h:
1302
1303 2007-01-23  Nikolas Zimmermann  <zimmermann@kde.org>
1304
1305         Reviewed by Maciej.
1306
1307         Fix evil genericContext() assertion, which occours sometimes when running DRT.
1308         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12379
1309
1310         * bindings/scripts/CodeGeneratorJS.pm:
1311         * ksvg2/misc/SVGDocumentExtensions.h:
1312         (WebCore::SVGDocumentExtensions::genericContextMap):
1313         (WebCore::SVGDocumentExtensions::forgetGenericContext):
1314
1315 2007-01-23  Beth Dakin  <bdakin@apple.com>
1316
1317         Reviewed by Hyatt.
1318
1319         Fix for <rdar://problem/4843226> REGRESSION: Pull down menu appears 
1320         clipped at http://istweb.apple.com/
1321
1322         * rendering/RenderLayer.cpp:
1323         (WebCore::transparencyClipBox): Always unite with sibling rects.
1324
1325 2007-01-22  Justin Garcia  <justin.garcia@apple.com>
1326
1327         Reviewed by john
1328
1329         <rdar://problem/4920742>
1330         REGRESSION: GMail Editor: Attempting to remove formatting from selection results in a crash at WebCore::Range::checkDeleteExtract()
1331
1332         * dom/Range.cpp:
1333         (WebCore::Range::checkDeleteExtract): Return if there is no
1334         commonAncestor container or if commonAncestorContainer() throws
1335         an exception.
1336         * editing/Editor.cpp:
1337         (WebCore::Editor::removeFormattingAndStyle): Fixed a bug that reversed
1338         the order of the selected paragraphs.
1339
1340 2007-01-23  Nikolas Zimmermann  <zimmermann@kde.org>
1341
1342         Reviewed by Sam.
1343
1344         Fix dynamic creation/updates of markers, masks, clipPaths, and several tiny pattern issues.
1345         Added 16 (!) new layout tests covering quite some weird scenerios - Batik & Opera do have problems, we don't.
1346
1347         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12380
1348         Fixes: svg/custom/image-with-transform-clip-filter.svg (filter shows up again)
1349
1350         Added: svg/custom/clip-path-child-changes.svg
1351         Added: svg/custom/clip-path-href-changes.svg
1352         Added: svg/custom/clip-path-units-changes.svg
1353         Added: svg/custom/deep-dynamic-updates.svg
1354         Added: svg/custom/js-late-clipPath-and-object-creation.svg
1355         Added: svg/custom/js-late-clipPath-creation.svg
1356         Added: svg/custom/js-late-marker-and-object-creation.svg
1357         Added: svg/custom/js-late-marker-creation.svg
1358         Added: svg/custom/js-late-mask-and-object-creation.svg
1359         Added: svg/custom/js-late-mask-creation.svg
1360         Added: svg/custom/js-update-pattern-child.svg
1361         Added: svg/custom/marker-changes.svg
1362         Added: svg/custom/marker-child-changes.svg
1363         Added: svg/custom/marker-viewBox-changes.svg
1364         Added: svg/custom/mask-changes.svg
1365         Added: svg/custom/mask-child-changes.svg
1366
1367         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1368         (WebCore::KSVGPainterFactory::fillPaintServer):
1369         (WebCore::KSVGPainterFactory::strokePaintServer):
1370         * ksvg2/svg/SVGClipPathElement.cpp:
1371         (WebCore::SVGClipPathElement::notifyAttributeChange):
1372         * ksvg2/svg/SVGClipPathElement.h:
1373         * ksvg2/svg/SVGGradientElement.cpp:
1374         * ksvg2/svg/SVGGradientElement.h:
1375         * ksvg2/svg/SVGMarkerElement.cpp:
1376         (WebCore::SVGMarkerElement::canvasResource):
1377         (WebCore::SVGMarkerElement::notifyAttributeChange):
1378         * ksvg2/svg/SVGMarkerElement.h:
1379         * ksvg2/svg/SVGMaskElement.cpp:
1380         (WebCore::SVGMaskElement::notifyAttributeChange):
1381         * ksvg2/svg/SVGMaskElement.h:
1382         * ksvg2/svg/SVGStopElement.cpp:
1383         (WebCore::SVGStopElement::notifyAttributeChange):
1384         * ksvg2/svg/SVGStyledElement.cpp:
1385         (WebCore::SVGStyledElement::notifyAttributeChange):
1386         (WebCore::SVGStyledElement::notifyResourceParentIfExistant):
1387         (WebCore::SVGStyledElement::rebuildRenderer):
1388         * ksvg2/svg/SVGStyledElement.h:
1389         * ksvg2/svg/SVGUseElement.cpp:
1390         (WebCore::SVGUseElement::notifyAttributeChange):
1391         * platform/graphics/svg/SVGResource.cpp:
1392         (WebCore::SVGResource::invalidate):
1393         (WebCore::SVGResource::addClient):
1394         (WebCore::SVGResource::repaintClients):
1395         * platform/graphics/svg/SVGResource.h:
1396         * platform/graphics/svg/SVGResourceMarker.cpp:
1397         (WebCore::SVGResourceMarker::draw):
1398         (WebCore::SVGResourceMarker::cachedBounds):
1399         * platform/graphics/svg/SVGResourceMarker.h:
1400         * rendering/RenderPath.cpp:
1401         (WebCore::RenderPath::layout):
1402         (WebCore::RenderPath::getAbsoluteRepaintRect):
1403         (WebCore::RenderPath::paint):
1404         (WebCore::drawMarkerWithData):
1405         (WebCore::RenderPath::drawMarkersIfNeeded):
1406         * rendering/RenderPath.h:
1407         * rendering/RenderSVGContainer.cpp:
1408         (WebCore::RenderSVGContainer::paint):
1409         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
1410         * rendering/RenderSVGImage.cpp:
1411         (WebCore::RenderSVGImage::paint):
1412         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
1413         * rendering/SVGInlineFlowBox.cpp:
1414         (WebCore::paintSVGInlineFlow):
1415
1416 2007-01-23  Adele Peterson  <adele@apple.com>
1417
1418         Reviewed by Darin.
1419         
1420         WebCore part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
1421
1422         In addition to this fix, I also reorganized some event handling code for keyPress events to
1423         prepare for another fix.  There's also just a little bit of unrelated cleanup.
1424         
1425         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler):
1426           Move tab focus behavior into new defaultKeyboardEventHandler method.
1427         
1428         * bridge/EditorClient.h: Added handleKeyPress.
1429         * editing/Editor.cpp:
1430         (WebCore::Editor::handleKeyPress): Added. Calls over to the client method.
1431         (WebCore::Editor::deleteRange): Removed unnecessary propogateDOMException.
1432         * editing/Editor.h: Added handleKeyPress.
1433         (WebCore::Editor::addToKillRing): Formatting cleanup.
1434         * editing/mac/EditorMac.mm: Removed unnecessary propogateDOMException.
1435         
1436         * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Added. Checks
1437           the tabKeyCyclesThroughElements setting before advancing focus for tab key events.  Calls handleKeyPress.
1438         * page/EventHandler.h: Added defaultKeyboardEventHandler.
1439         
1440         * page/Page.cpp: (WebCore::Page::Page): Initialize m_tabKeyCyclesThroughElements to true.
1441         * page/Page.h: Added m_tabKeyCyclesThroughElements.
1442         (WebCore::Page::setTabKeyCyclesThroughElements): Added.
1443         (WebCore::Page::tabKeyCyclesThroughElements): Added.
1444         
1445         * platform/PlatformKeyboardEvent.h: Added ability to get NSEvent from PlatformKeyboardEvent.
1446         * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1447           Initialize m_macEvent to the NSEvent.
1448         
1449         * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): Added.
1450
1451 2007-01-23  George Staikos  <staikos@kde.org>
1452
1453         Compile with a released Qt.
1454
1455         * platform/graphics/qt/ImageQt.cpp:
1456
1457 2007-01-23  Lars Knoll <lars@trolltech.com>
1458
1459         Reviewed by Zack
1460
1461         Widget and ScrollView do not own the Qt widgets
1462         anymore. Make sure they can handle the case of
1463         a null QWidget and never delete them.
1464
1465         * platform/qt/ScrollViewQt.cpp:
1466         (WebCore::ScrollView::setScrollArea):
1467         (WebCore::ScrollView::updateContents):
1468         (WebCore::ScrollView::visibleWidth):
1469         (WebCore::ScrollView::visibleHeight):
1470         (WebCore::ScrollView::visibleContentRect):
1471         (WebCore::ScrollView::setContentsPos):
1472         (WebCore::ScrollView::resizeContents):
1473         (WebCore::ScrollView::contentsX):
1474         (WebCore::ScrollView::contentsY):
1475         (WebCore::ScrollView::contentsWidth):
1476         (WebCore::ScrollView::contentsHeight):
1477         (WebCore::ScrollView::scrollOffset):
1478         (WebCore::ScrollView::scrollBy):
1479         (WebCore::ScrollView::hScrollbarMode):
1480         (WebCore::ScrollView::vScrollbarMode):
1481         (WebCore::ScrollView::setHScrollbarMode):
1482         (WebCore::ScrollView::setVScrollbarMode):
1483         * platform/qt/WidgetQt.cpp:
1484         (WebCore::WidgetPrivate::~WidgetPrivate):
1485         (WebCore::Widget::setQWidget):
1486
1487 2007-01-23  Zack Rusin  <zack@kde.org>
1488
1489         Forgot to add one new file to the build.
1490
1491         * WebCore.pro: Add dom/clipboard.cpp
1492
1493 2007-01-23  Zack Rusin  <zack@kde.org>
1494
1495         Fix the Qt build
1496
1497         * page/DragActions.h:
1498         * page/DragController.cpp:
1499         * platform/qt/DragDataQt.cpp:
1500         (WebCore::DragData::canSmartReplace):
1501         (WebCore::DragData::containsColor):
1502         (WebCore::DragData::containsPlainText):
1503         (WebCore::DragData::asPlainText):
1504         (WebCore::DragData::asColor):
1505         (WebCore::DragData::createClipboard):
1506         (WebCore::DragData::containsCompatibleContent):
1507         (WebCore::DragData::containsURL):
1508         (WebCore::DragData::asURL):
1509         (WebCore::DragData::asFragment):
1510         * platform/qt/FileChooserQt.cpp:
1511
1512 2007-01-23  Lars Knoll <lars@trolltech.com>
1513
1514         Reviewed by Maciej
1515
1516         Make the last remaining pieces of the FrameLoader platform 
1517         independent. Move most of the code over to WebFrameLoaderClient.
1518         Some smaller cleanups in the WebFrameBridge, and moved some
1519         platform independent functionality over to the shared code
1520         in WebCore.
1521         
1522         * WebCore.exp:
1523         * WebCore.pro:
1524         * WebCore.xcodeproj/project.pbxproj:
1525         * loader/FrameLoader.cpp:
1526         (WebCore::FrameLoader::loadSubframe):
1527         (WebCore::FrameLoader::shouldUsePlugin):
1528         (WebCore::FrameLoader::loadPlugin):
1529         (WebCore::FrameLoader::detachFromParent):
1530         (WebCore::FrameLoader::partClearedInBegin):
1531         (WebCore::FrameLoader::createJavaAppletWidget):
1532         (WebCore::FrameLoader::didChangeTitle):
1533         * loader/FrameLoader.h:
1534         * loader/FrameLoaderClient.h:
1535         * loader/FrameLoaderTypes.h:
1536         (WebCore::):
1537         * loader/PluginDocument.cpp:
1538         (WebCore::PluginTokenizer::writeRawData):
1539         * loader/mac/FrameLoaderMac.mm: Removed.
1540         * loader/qt/FrameLoaderQt.cpp: Removed.
1541         * page/Frame.cpp:
1542         (WebCore::Frame::Frame):
1543         * page/FrameView.cpp:
1544         (WebCore::FrameView::mediaType):
1545         * page/qt/FrameQt.cpp:
1546         (WebCore::FrameQt::FrameQt):
1547         * platform/graphics/svg/SVGImageEmptyClients.h:
1548         (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
1549         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
1550         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
1551         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
1552         (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
1553         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1554         (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
1555         (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
1556         (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
1557         (WebCore::SVGEmptyFrameLoaderClient::startDownload):
1558         (WebCore::SVGEmptyFrameLoaderClient::committedLoad):
1559         (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
1560         (WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
1561         (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
1562         (WebCore::SVGEmptyFrameLoaderClient::createFrame):
1563         (WebCore::SVGEmptyFrameLoaderClient::createPlugin):
1564         (WebCore::SVGEmptyFrameLoaderClient::createJavaAppletWidget):
1565         (WebCore::SVGEmptyFrameLoaderClient::objectContentType):
1566         (WebCore::SVGEmptyFrameLoaderClient::overrideMediaType):
1567         (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin):
1568         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
1569
1570 2007-01-23  Oliver Hunt  <oliver@apple.com>
1571
1572         Reviewed by Adam.
1573
1574         Added DragController to handled drag and drop state and control logic.
1575         Currently this only handles logic for Dragging and Dropping, and is 
1576         unable to initialise a drag itself.
1577
1578         platform/DragData encapsulate the paltform Drag data (NSDraggingInfo on Mac, 
1579         QMimeType in Qt).  This provides methods to pull data out the drag data as a String, 
1580         a URL, a DocumentFragment (for rich content), or a Colour.
1581
1582         * WebCore.exp:
1583         * WebCore.pro:
1584         * WebCore.xcodeproj/project.pbxproj:
1585         * dom/Clipboard.cpp: Added.
1586         (WebCore::Clipboard::setAccessPolicy):
1587         (WebCore::dragOpFromIEOp):
1588         (WebCore::IEOpFromDragOp):
1589         (WebCore::Clipboard::sourceOperation):
1590         (WebCore::Clipboard::destinationOperation):
1591         (WebCore::Clipboard::setSourceOperation):
1592         (WebCore::Clipboard::setDestinationOperation):
1593         (WebCore::Clipboard::setDropEffect):
1594         (WebCore::Clipboard::setEffectAllowed):
1595           move platform independent functions from ClipboardMac to Clipboard
1596
1597         * dom/Clipboard.h:
1598         (WebCore::Clipboard::Clipboard):
1599         (WebCore::Clipboard::dropEffect):
1600         (WebCore::Clipboard::effectAllowed):
1601         (WebCore::Clipboard::policy):
1602           as above -- also removed virtual modifier from now 
1603           platform independent methods
1604
1605         * editing/Editor.cpp:
1606         (WebCore::Editor::smartInsertDeleteEnabled): 
1607         (WebCore::Editor::shouldApplyStyle):
1608         * editing/Editor.h:
1609           adding calls through to EditorClient
1610          
1611         * page/DragActions.h: Added.
1612         (WebCore::):
1613           Replicates a number of NS* enums in the WebCore namespace
1614
1615         * page/DragClient.h: Added.
1616         (WebCore::DragClient::~DragClient):
1617           Standard client interface for dragging UIDelegate
1618
1619         * page/DragController.cpp: Added.
1620         (WebCore::createMouseEvent):
1621         (WebCore::DragController::DragController):
1622         (WebCore::DragController::~DragController):
1623         (WebCore::documentFragmentFromDragData):
1624         (WebCore::DragController::isMoveDrag):
1625         (WebCore::visiblePositionForPoint):
1626         (WebCore::DragController::cancelDrag):
1627         (WebCore::documentAtPoint):
1628         (WebCore::DragController::dragEntered):
1629         (WebCore::DragController::dragExited):
1630         (WebCore::DragController::dragUpdated):
1631         (WebCore::DragController::performDrag):
1632         (WebCore::DragController::dragEnteredOrUpdated):
1633         (WebCore::DragController::tryDocumentDrag):
1634         (WebCore::DragController::operationForLoad):
1635         (WebCore::DragController::concludeDrag):
1636         (WebCore::DragController::canProcessDrag):
1637         (WebCore::DragController::tryDHTMLDrag):
1638           Class to handle state and logic for dragging and dropping
1639
1640         * page/DragController.h: Added.
1641         (WebCore::DragController::client):
1642         (WebCore::DragController::didInitiateDrag):
1643         (WebCore::DragController::isHandlingDrag):
1644         (WebCore::DragController::dragOperation):
1645         (WebCore::DragController::document):
1646         (WebCore::DragController::dragInitiator):
1647         (WebCore::DragController::dragDestinationAction):
1648         (WebCore::DragController::dragSourceAction):
1649         (WebCore::DragController::dragEnded):
1650         (WebCore::DragController::setIsHandlingDrag):
1651         (WebCore::DragController::setDidInitiateDrag):
1652         (WebCore::DragController::setDragOperation):
1653         (WebCore::DragController::setDragSourceAction):
1654         (WebCore::DragController::setDragInitiator):
1655           See above
1656
1657         * page/Page.cpp:
1658         (WebCore::Page::Page):
1659           Update Page to have DragController
1660
1661         * page/Page.h:
1662         (WebCore::Page::dragController):
1663           ditto
1664
1665         * page/mac/DragControllerMac.mm: Added.
1666         (WebCore::DragController::isCopyKeyDown):
1667         (WebCore::DragController::dragOperation):
1668           Platform specific portions of the DragController
1669
1670         * page/mac/EventHandlerMac.mm:
1671         (WebCore::EventHandler::handleDrag):
1672         (WebCore::EventHandler::dragSourceEndedAt):
1673           Convert from NSDragOperation to WebCore::DragOperation
1674
1675         * page/mac/WebCoreFrameBridge.h:
1676         * page/mac/WebCoreFrameBridge.mm:
1677           Remove obsolete Drag functions
1678
1679         * page/qt/DragControllerQt.cpp: Added.
1680         (WebCore::DragController::isCopyKeyDown):
1681         (WebCore::DragController::dragOperation):
1682           Basic stubs to maintain Qt  build
1683
1684         * platform/DragData.cpp: Added.
1685         (WebCore::DragData::DragData):
1686         * platform/DragData.h: Added.
1687         (WebCore::DragData::clientPosition):
1688         (WebCore::DragData::globalPosition):
1689         (WebCore::DragData::platformData):
1690         (WebCore::DragData::draggingSourceOperationMask):
1691           DragData class to encapsulate platform drag data/event
1692
1693         * platform/graphics/svg/SVGImage.cpp:
1694         (WebCore::SVGImage::setData):
1695           Addition of dummy DragClient
1696
1697         * platform/graphics/svg/SVGImageEmptyClients.h:
1698         (WebCore::SVGEmptyDragClient::~SVGEmptyDragClient):
1699         (WebCore::SVGEmptyDragClient::willPerformDragDestinationAction):
1700         (WebCore::SVGEmptyDragClient::actionMaskForDrag):
1701         (WebCore::SVGEmptyDragClient::dragControllerDestroyed):
1702           ditto
1703
1704         * platform/mac/ClipboardMac.h:
1705         * platform/mac/ClipboardMac.mm:
1706         (WebCore::ClipboardMac::ClipboardMac):
1707         (WebCore::ClipboardMac::clearData):
1708         (WebCore::ClipboardMac::clearAllData):
1709         (WebCore::ClipboardMac::getData):
1710         (WebCore::ClipboardMac::setData):
1711         (WebCore::ClipboardMac::types):
1712         (WebCore::ClipboardMac::setDragImage):
1713          Moving platform independent logic to Clipboard, and updating
1714          platform specific methods to use appropriate accessors rather than 
1715          directly manipulating data they no longer own
1716
1717         * platform/mac/DragDataMac.mm: Added.
1718         (WebCore::DragData::DragData):
1719         (WebCore::DragData::canSmartReplace):
1720         (WebCore::DragData::containsColor):
1721         (WebCore::DragData::containsPlainText):
1722         (WebCore::DragData::asPlainText):
1723         (WebCore::DragData::asColor):
1724         (WebCore::DragData::createClipboard):
1725         (WebCore::imageExistsAtPaths):
1726         (WebCore::DragData::containsCompatibleContent):
1727         (WebCore::DragData::containsURL):
1728         (WebCore::DragData::asURL):
1729         (WebCore::DragData::asFragment):
1730           Mac implementations of DragData methods.  A number of these use
1731           a Helper class that accesses WebKit functionality.  That functionality 
1732           should be migrated to WebCore in the future.
1733
1734         * platform/mac/PasteboardHelper.h: Added.
1735         (WebCore::PasteboardHelper::~PasteboardHelper):
1736           Temporary, and Mac only, helper class to access WebKit functionality 
1737           from WebCore
1738
1739         * platform/qt/DragDataQt.cpp: Added.
1740         (WebCore::DragData::canSmartReplace):
1741         (WebCore::DragData::containsColor):
1742         (WebCore::DragData::containsPlainText):
1743         (WebCore::DragData::asPlainText):
1744         (WebCore::DragData::asColor):
1745         (WebCore::DragData::createClipboard):
1746         (WebCore::DragData::containsCompatibleContent):
1747         (WebCore::DragData::containsURL):
1748         (WebCore::DragData::asURL):
1749         (WebCore::DragData::asFragment):
1750          Basic stubs to maintain Qt build
1751
1752         * rendering/HitTestResult.cpp:
1753         (WebCore::HitTestResult::HitTestResult):
1754          Correct HitTestResult copy contructor to copy localPoint
1755
1756 2007-01-22  Mark Rowe  <mrowe@apple.com>
1757
1758         Reviewed by Maciej.
1759
1760         http://bugs.webkit.org/show_bug.cgi?id=11692
1761         Bug 11692: REGRESSION(r17352): Disappearing page title
1762
1763         * dom/Document.cpp:
1764         (WebCore::Document::setTitle): If the title has already been set explicitly via JavaScript,
1765         ignore any changes to it due to encountering <title> tags.
1766
1767 2007-01-22  Mitz Pettel  <mitz@webkit.org>
1768
1769         Reviewed by Darin.
1770
1771         - fix http://bugs.webkit.org/show_bug.cgi?id=12344
1772           NativeListBox: item hit testing does not account for top padding and border
1773
1774         Test: fast/forms/listbox-selection-2.html
1775
1776         * rendering/RenderListBox.cpp:
1777         (WebCore::RenderListBox::numVisibleItems): Changed height() to contentHeight()
1778         since items are visible only in the content box.
1779         (WebCore::RenderListBox::listIndexAtOffset): Adjusted for vertical padding and
1780         borders. Changed to return -1 instead of the last item's index if the given offset
1781         is below the last item.
1782         (WebCore::RenderListBox::autoscroll): Adjusted for vertical padding and borders.
1783         (WebCore::RenderListBox::controlClipRect): Changed to return the content box since
1784         items should not spill into the padding box. This change is the reason the test
1785         generates pixel results.
1786
1787 2007-01-22  Justin Garcia  <justin.garcia@apple.com>
1788
1789         Reviewed by darin
1790         
1791         <rdar://problem/4944770>
1792         editing/pasteboard/4641033 layout test is broken (12328)
1793         
1794         This layout test failure demonstrates three bugs:
1795         Smart replace shouldn't be turned on, but is because a word
1796         selection granularity from the previous test isn't cleared.
1797         Smart replace shouldn't add any spaces because the paste is performed
1798         in an empty paragraph.
1799         Smart replace spaces are added to the text of options inside
1800         the select element instead of before/after the select element.
1801         
1802         This patch fixes the second two problems.  During a 
1803         ReplaceSelectionCommand, the VisiblePosition for the end of 
1804         the inserted content is the last position in the last leaf 
1805         inserted.  This is a problem when the last leaf is inside a 
1806         select element, since VP creation is inconsistent there.  
1807         Second, smart spaces were inserted inside the last leaf, not
1808         at the endOfInsertedContent.
1809
1810         * editing/ReplaceSelectionCommand.cpp:
1811         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Renamed 
1812         m_lastNodeInserted to m_lastLeafInserted.  Use the 
1813         start/endOfInsertedContent getters.
1814         (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Ditto.
1815         (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Ditto.
1816         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Ditto.
1817         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Added.
1818         Special case for when the last leaf inserted is inside a select 
1819         element: return the VisiblePosition after the select element.
1820         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Added.
1821         (WebCore::ReplaceSelectionCommand::doApply): Did renaming.  Used
1822         the start/endOfInsertedContent getters.  Insert smart replace spaces
1823         into the right nodes.
1824         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renaming.
1825         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
1826         (WebCore::ReplaceSelectionCommand::updateNodesInserted): Ditto.
1827         * editing/ReplaceSelectionCommand.h:
1828
1829 2007-01-22  Darin Adler  <darin@apple.com>
1830
1831         Reviewed by Adam.
1832
1833         - fix http://bugs.webkit.org/show_bug.cgi?id=12273
1834           REGRESSION: File input value invisible after removing and re-appending
1835
1836         - made more of the file chooser code cross-platform
1837
1838         - fixed an Objective-C garbage collection problem in FileChooser
1839
1840         - tried to remove layering violations where FileChooser in the platform
1841           directory knows about the rendering and DOM trees (but wasn't able to
1842           do it entirely)
1843
1844         * platform/FileChooser.cpp: Added.
1845         (WebCore::FileChooser::create): Changed parameters.
1846         (WebCore::FileChooser::chooseFile): Changed to call chooseIcon function.
1847         (WebCore::FileChooser::chooseIcon): Added.
1848
1849         * platform/FileChooser.h: Added FileChooserClient so this file doesn't have
1850         to know about RenderFileUploadControl. Used RetainPtr instead of retain/release
1851         so this works properly with Objective-C GC. Replaced disconnectUploadControl
1852         with disconnectClient, which has a simple inline implementation. Moved the
1853         Document parameter from the constructor to openFileChooser, along with a comment
1854         about why it should not be there. Added a filename parameter to the constructor
1855         for the initial filename. Added a font parameter to basenameForWidth so we don't
1856         depend on having a pointer to the renderer. Removed the uploadControl() and
1857         document() functions since no one calls either of them.
1858
1859         * platform/mac/FileChooserMac.mm: Removed code that is now cross-platform.
1860         (-[OpenPanelController beginSheetWithFrame:]): Added frame parameter, instead
1861         of storing a document pointer in the FileChooser.
1862         (WebCore::FileChooser::FileChooser): Updated for changed parameters. Also added
1863         code to choose the icon based on the initial filename. Pass the adopt parameter
1864         to the constructor of the RetainPtr.
1865         (WebCore::FileChooser::~FileChooser): Removed the release call, since the
1866         RetainPtr will take care of it. Added a call to disconnectFileChooser here.
1867         There's no need to disconnect at disconnectClient time, and that lets us have
1868         one more cross-platform function.
1869         (WebCore::FileChooser::openFileChooser): Added document parameter. Added code
1870         to get the frame from the document. And added a nil check since there's no
1871         ironclad guarantee the document won't have outlived its frame.
1872         (WebCore::FileChooser::basenameForWidth): Added font parameter. Use that instead
1873         of going at the upload control's style. The caller can handle that now.
1874
1875         * rendering/RenderFileUploadControl.h: Removed unnecessary includes.
1876         Made class inherit privately from FileChooserClient. Changed constructor
1877         parameter to HTMLInputElement rather than Node. Made protected members be
1878         private instead, and made a couple function members const.
1879         * rendering/RenderFileUploadControl.cpp: Moved constants to the top of the file,
1880         but after the "using namespace"
1881         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Updated for changes
1882         to the FileChooser::create function and the parameter types.
1883         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed unneeded
1884         null check -- there's no case where the FileChooser fails to be created.
1885         (WebCore::RenderFileUploadControl::click): Pass document to openFileChooser.
1886         (WebCore::RenderFileUploadControl::updateFromElement): Tweaked code a bit by
1887         using updateFromElement and setValue instead of casting the renderer to a
1888         RenderButton and calling setText directly. Put setInputType call here.
1889         (WebCore::RenderFileUploadControl::maxFilenameWidth): Made const. Broke long line.
1890         (WebCore::RenderFileUploadControl::createButtonStyle): Made const.
1891         (WebCore::RenderFileUploadControl::paintObject): Moved buttonShadowHeight constant
1892         to the top of the file. Call isEmpty instead of checking width and height of
1893         IntRect for 0. Computed font to pass to FileChooser::basenameForWidth. Broke
1894         long lines.
1895         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
1896         Moved the setInputType call to the caller; concept here is that this class is
1897         as simple as possible, rather than doing as much of the button job as possible.
1898
1899         * WebCore.xcodeproj/project.pbxproj: Added FileChooser.cpp.
1900         * WebCore.pro: Ditto.
1901         * CMakeLists.txt: Ditto.
1902         * WebCoreSources.bkl: Ditto.
1903
1904         * platform/gdk/TemporaryLinkStubs.cpp: Updated stubs.
1905         * platform/qt/FileChooserQt.cpp: Updated stubs.
1906
1907 2007-01-22  Mitz Pettel  <mitz@webkit.org>
1908
1909         Reviewed by Darin.
1910
1911         - fix http://bugs.webkit.org/show_bug.cgi?id=12364
1912           REGRESSSION (NativeListBox): Selected option's background is not clipped to the list box
1913
1914         Test: fast/forms/select-item-background-clip.html
1915
1916         * rendering/RenderListBox.cpp:
1917         (WebCore::RenderListBox::paintItemBackground): Intersect the item's rect with
1918         the list box's clip rect.
1919
1920 2007-01-22  Darin Adler  <darin@apple.com>
1921
1922         Reviewed by Beth.
1923
1924         - fix http://bugs.webkit.org/show_bug.cgi?id=12369
1925           REGRESSION (r19027): amazon.com home page crashes WebKit r19028 debug build
1926
1927         I caused this a few hours ago. Oops!
1928
1929         * rendering/RenderText.cpp: (WebCore::RenderText::setStyle):
1930         Compute whether the font changed before calling RenderObject::setStyle.
1931
1932 2007-01-22  Beth Dakin  <bdakin@apple.com>
1933
1934         Reviewed by Maciej.
1935
1936         Fix for <rdar://problem/4912129> REGRESSION: Crash occurs at 
1937         WebCore::Frame::eventHandler() after clicking to dismiss a 
1938         contextual menu on the page
1939
1940         * page/EventHandler.cpp:
1941         (WebCore::EventHandler::stopAutoscrollTimer): Added nil-check.
1942
1943 2007-01-22  Darin Adler  <darin@apple.com>
1944
1945         Reviewed by Mitz.
1946
1947         Inspired by a much simpler patch by Andrew Wellington <proton@wiretapped.net>.
1948
1949         - fix http://bugs.webkit.org/show_bug.cgi?id=11197
1950           REGRESSION: Specifying a counter for a CODE tag's content style property
1951           on before or after causes a crash.
1952
1953         Test: fast/css/beforeSelectorOnCodeElement.html
1954
1955         - fix regression I recently introduced where the monospace cache could be
1956           used for text that was not ASCII, if text was changed after the style was set
1957
1958         Test: fast/text/monospace-width-cache.html
1959
1960         - streamline RenderText.h -- remove unneeded functions, make some needlessly
1961           virtual functions non-virtual, remove unneeded header includes, replace use
1962           of Font* with Font& for consistency with RenderStyle, use "text" consistently
1963           instead of "string"
1964
1965         * rendering/RenderText.h: Removed unneeded include of "Text.h", declarations of
1966         SOFT_HYPHEN, DocumentMarker, InlineBox, Position, String. Got rid of friend
1967         declaration for InlineTextBox. Changed constructor to take a PassRefPtr since
1968         we do take owership of the passed-in text. Made deleteTextBoxes() private.
1969         Removed unneeded data(). Made override of length() private so people will use
1970         the faster textLength() instead. Renamed string() to text() so it matches up
1971         better with setText(). Same for stringLength(), originalString(), and
1972         setInternalString(), which are now textLength(), originalText(), and
1973         setTextInternal(). Renamed the old text() function to characters(), since it
1974         returns a pointer as StringImpl::characters does. Changed Font* to Font& everywhere.
1975         Renamed the internal calcMinMaxWidth() function to calcMinMaxWidthInternal() and
1976         made it non-virtual since it's not overriden anywhere. Also made the
1977         trimmedMinMaxWidth() function non-virtual. Made containsOnlyWhitespace() private.
1978         Removed both font() functions (one was needlessly virtual) and element().
1979         Renamed cacheWidths() to updateMonospaceCharacterWidth() and removed the
1980         shouldUseMonospaceCache() function. Renamed allAscii() to isAllASCII() and made
1981         it an inline function. Removed the m_allAsciiChecked flag and renamed the
1982         m_allAscii flag to m_isAllASCII.
1983         * rendering/RenderText.cpp:
1984         (WebCore::RenderText::RenderText): Removed initialization of m_allAsciiChecked.
1985         Initialize m_isAllASCII. Changed all occurrences of m_str->length() and
1986         m_str->characters () to use the stringLength() and characters() inline functions
1987         instead.
1988         (WebCore::RenderText::setStyle): Replaced the unconditional call to cacheWidths
1989         with a conditional call to updateMonospaceCharacterWidth. This speeds up the common
1990         case where style is changed without changing the font.
1991         (WebCore::RenderText::originalText): Changed code to not depend on overridden
1992         element() function with casts to a Text node -- this was one of only two call sites.
1993         Also renamed.
1994         (WebCore::RenderText::positionForCoordinates): Name change.
1995         (WebCore::RenderText::caretRect): Ditto.
1996         (WebCore::RenderText::updateMonospaceCharacterWidth): Renamed from cacheWidths and
1997         incorporate the check that was formerly in a separate shouldUseMonospaceCache
1998         function.
1999         (WebCore::RenderText::widthFromCache): Changed to take a Font& instead of Font*.
2000         Changed to take advantage of the fact that the string is known to be all ASCII in
2001         the m_monospaceCharacterWidth code path.
2002         (WebCore::RenderText::trimmedMinMaxWidth): Ditto. Also use style()->font() instead
2003         of font(false).
2004         (WebCore::RenderText::calcMinMaxWidth): Ditto. Also changed to use softHyphen instead
2005         of SOFT_HYPHEN.
2006         (WebCore::RenderText::containsOnlyWhitespace): More of the same.
2007         (WebCore::RenderText::setSelectionState): Ditto.
2008         (WebCore::RenderText::setTextWithOffset): Ditto.
2009         (WebCore::isInlineFlowOrEmptyText): Ditto.
2010         (WebCore::RenderText::setTextInternal): Updated for name changes. Also changed to
2011         set the m_isAllASCII flag every time, in the more-efficient way we use elsewhere
2012         (or'ing all the characters together), and to call updateMonospaceCharacterWidth
2013         if the "all ASCII"-ness of the text changes.
2014         (WebCore::RenderText::setText): Updated for name changes.
2015         (WebCore::RenderText::width): More like above.
2016         (WebCore::RenderText::selectionRect): Ditto.
2017         (WebCore::RenderText::caretMaxOffset): Ditto.
2018         (WebCore::RenderText::previousOffset): Ditto.
2019         (WebCore::RenderText::nextOffset): Ditto.
2020
2021         * dom/Position.cpp:
2022         * dom/Range.cpp:
2023         * editing/CompositeEditCommand.cpp:
2024         * editing/DeleteSelectionCommand.cpp:
2025         * editing/VisiblePosition.cpp:
2026         * html/HTMLElement.cpp:
2027         Added now-needed include of "Text.h" which is no longer included by "RenderText.h".
2028
2029         * editing/SelectionController.cpp:
2030         (WebCore::SelectionController::debugRenderer):
2031         * editing/TextIterator.cpp:
2032         (WebCore::TextIterator::handleTextNode):
2033         (WebCore::TextIterator::handleTextBox):
2034         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
2035         Update for name changes of stringLength(), string(), and originalString() to
2036         textLength(), text(), and originalText(), and to always use textLength() instead
2037         of length() when we have a RenderText* rather than a RenderObject*.
2038         * editing/visible_units.cpp:
2039         (WebCore::startOfParagraph): Ditto.
2040         (WebCore::endOfParagraph): Ditto.
2041         * rendering/InlineFlowBox.cpp:
2042         (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto. Also removed use of the
2043         RenderObject::font() function and replaced it with explicit access to the style.
2044         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
2045         * rendering/InlineTextBox.cpp:
2046         (WebCore::InlineTextBox::selectionRect): Ditto.
2047         (WebCore::InlineTextBox::isLineBreak): Ditto.
2048         (WebCore::InlineTextBox::paint): Ditto.
2049         (WebCore::InlineTextBox::selectionStartEnd): Ditto.
2050         (WebCore::InlineTextBox::paintSelection): Ditto.
2051         (WebCore::InlineTextBox::paintMarkedTextBackground): Ditto.
2052         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
2053         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
2054         (WebCore::InlineTextBox::offsetForPosition): Ditto.
2055         (WebCore::InlineTextBox::positionForOffset): Ditto.
2056         * rendering/RenderContainer.cpp:
2057         (WebCore::RenderContainer::addChild): Ditto.
2058         * rendering/RenderCounter.cpp:
2059         (WebCore::RenderCounter::originalText): Ditto.
2060         (WebCore::RenderCounter::calcMinMaxWidth): Ditto.
2061         * rendering/RenderCounter.h: Ditto.
2062         * rendering/RenderTextFragment.cpp:
2063         (WebCore::RenderTextFragment::originalText): Ditto.
2064         * rendering/RenderTextFragment.h: Ditto.
2065         * rendering/SVGInlineFlowBox.cpp:
2066         (WebCore::placePositionedBoxesHorizontally): Ditto.
2067         (WebCore::placeBoxesVerticallyWithAbsBaseline): Ditto.
2068         * rendering/bidi.cpp:
2069         (WebCore::BidiIterator::increment): Ditto.
2070         (WebCore::BidiIterator::current): Ditto.
2071         (WebCore::BidiIterator::direction): Ditto.
2072         (WebCore::addRun): Ditto.
2073         (WebCore::checkMidpoints): Ditto.
2074         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto.
2075         (WebCore::RenderBlock::skipWhitespace): Ditto.
2076         (WebCore::RenderBlock::findNextLineBreak): Ditto.
2077
2078         * rendering/RenderBR.h: Updated signature of width function which now takes a
2079         Font& instead of a Font*.
2080
2081         * rendering/RenderBlock.cpp: (WebCore::stripTrailingSpace): Updated to no longer
2082         use the RenderObject::font() function, and added a comment about first-line, which
2083         is not handled properly here.
2084
2085         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::text):
2086         * rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun):
2087         Eliminated use of RenderText::data().
2088
2089         * rendering/RenderObject.h: Removed RenderObject::font(). This had the bad effect of
2090         having everyone pass in a boolean rather than using the cleaner style() and
2091         firstLineStyle() functions in cases where there's no a firstLineStyle boolean.
2092         * rendering/RenderObject.cpp:
2093         (WebCore::RenderObject::getVerticalPosition): Replaced use of RenderObject::font()
2094         with direct use of the style instead, which is arguably easier to understand anyway.
2095         (WebCore::RenderObject::baselinePosition): Ditto.
2096
2097 2007-01-22  Sam Weinig  <sam@webkit.org>
2098
2099         Reviewed by The Mitz.
2100
2101         Move JSHTMLSelectElementCustom.cpp from bindings to bindings/js
2102         where it belongs.
2103
2104         * WebCore.pro:
2105         * WebCore.xcodeproj/project.pbxproj:
2106         * bindings/JSHTMLSelectElementCustom.cpp: Removed.
2107         * bindings/js/JSHTMLSelectElementCustom.cpp: Added.
2108
2109 2007-01-22  Zack Rusin  <zack@kde.org>
2110
2111         Fix the Qt build.
2112
2113         * WebCore.pro: adjust after last changes
2114
2115 2007-01-21  Alexey Proskuryakov  <ap@webkit.org>
2116
2117         Reviewed by Darin.
2118
2119         http://bugs.webkit.org/show_bug.cgi?id=10934
2120         REGRESSION: prototype.js logs error (HTMLFormElement) on webkit builds
2121
2122         Added constructors for most HTML elements; started auto-generating HTMLSelectElement JS binding.
2123
2124         Test: fast/dom/Window/element-constructors-on-window.html
2125
2126         * DerivedSources.make: Generate JSHTMLSelectElement.
2127         * WebCore.xcodeproj/project.pbxproj: Added JSHTMLSelectElement{Custom}.
2128         * bindings/js/JSHTMLElementWrapperFactory.cpp: Create a proper binding for SELECT.
2129
2130         * bindings/js/kjs_html.cpp:
2131         (KJS::):
2132         (KJS::JSHTMLElement::classInfo):
2133         (KJS::JSHTMLElement::accessors):
2134         (KJS::JSHTMLElement::getOwnPropertySlot):
2135         (KJS::HTMLElementFunction::callAsFunction):
2136         (KJS::JSHTMLElement::put):
2137         * bindings/js/kjs_html.h:
2138         (KJS::JSHTMLElement::):
2139         Removed everything related to SELECT. Renamed getHTMLOptionsCollection to toJS for autogenerated code 
2140         to be happy, and rewrote it using cacheDOMObject.
2141
2142         * bindings/scripts/CodeGeneratorJS.pm: Added HTMLElement to the list of types that cannot fail conversion.
2143
2144         * html/HTMLAnchorElement.idl:
2145         * html/HTMLAppletElement.idl:
2146         * html/HTMLAreaElement.idl:
2147         * html/HTMLBRElement.idl:
2148         * html/HTMLBaseElement.idl:
2149         * html/HTMLBaseFontElement.idl:
2150         * html/HTMLBodyElement.idl:
2151         * html/HTMLButtonElement.idl:
2152         * html/HTMLCanvasElement.idl:
2153         * html/HTMLDListElement.idl:
2154         * html/HTMLDirectoryElement.idl:
2155         * html/HTMLDivElement.idl:
2156         * html/HTMLFieldSetElement.idl:
2157         * html/HTMLFontElement.idl:
2158         * html/HTMLFormElement.idl:
2159         * html/HTMLHRElement.idl:
2160         * html/HTMLHeadElement.idl:
2161         * html/HTMLHeadingElement.idl:
2162         * html/HTMLHtmlElement.idl:
2163         * html/HTMLImageElement.idl:
2164         * html/HTMLInputElement.idl:
2165         * html/HTMLIsIndexElement.idl:
2166         * html/HTMLLIElement.idl:
2167         * html/HTMLLabelElement.idl:
2168         * html/HTMLLegendElement.idl:
2169         * html/HTMLLinkElement.idl:
2170         * html/HTMLMapElement.idl:
2171         * html/HTMLMenuElement.idl:
2172         * html/HTMLMetaElement.idl:
2173         * html/HTMLModElement.idl:
2174         * html/HTMLOListElement.idl:
2175         * html/HTMLOptGroupElement.idl:
2176         * html/HTMLParagraphElement.idl:
2177         * html/HTMLParamElement.idl:
2178         * html/HTMLPreElement.idl:
2179         * html/HTMLQuoteElement.idl:
2180         * html/HTMLScriptElement.idl:
2181         * html/HTMLStyleElement.idl:
2182         * html/HTMLTextAreaElement.idl:
2183         * html/HTMLTitleElement.idl:
2184         * html/HTMLUListElement.idl:
2185         Generate constructors.
2186
2187         * html/HTMLSelectElement.cpp:
2188         (WebCore::HTMLSelectElement::length):
2189         * html/HTMLSelectElement.h:
2190         Make length() return unsigned for auto-generated code to be happy.
2191
2192         * html/HTMLSelectElement.idl: Adjusted to be usable for JS.
2193
2194         * bindings/JSHTMLSelectElementCustom.cpp: Added. Implements remove().
2195
2196         * page/DOMWindow.idl:
2197         Added properties for most elements' constructors.
2198
2199 2007-01-21  Mark Rowe  <mrowe@apple.com>
2200
2201         Reviewed by Maciej.
2202
2203         http://bugs.webkit.org/show_bug.cgi?id=12357
2204         Bug 12357: Reproducible crash in WebCore::Settings::isJavaScriptEnabled in svg/custom/js-update-bounce.svg under guard-malloc
2205
2206         * page/Frame.cpp:
2207         (WebCore::Frame::~Frame): Access the global object directly rather than via Window::retrieveWindow to prevent our reference to
2208         a deleted settings object being used.
2209
2210 2007-01-21  Darin Adler  <darin@apple.com>
2211
2212         Reviewed by Maciej.
2213
2214         - fix <rdar://problem/4930503> REGRESSION: Page changes title when
2215           command-clicking on named anchor link (12299)
2216
2217         * loader/FrameLoader.cpp:
2218         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2219         Return if shouldContinue is false. This matches the other similar
2220         functions and prevents us from doing extra work in the "ignore" case.
2221
2222 2007-01-21  Mark Rowe  <mrowe@apple.com>
2223
2224         Reviewed by Darin.
2225
2226         http://bugs.webkit.org/show_bug.cgi?id=12355
2227         Bug 12355: Reproducible crash in WebCore::parseNumber in svg/custom/js-update-bounce.svg under guard-malloc
2228
2229         * ksvg2/svg/SVGParserUtilities.cpp:
2230         (WebCore::parseNumber): Parenthesize to prevent reading past end of buffer.
2231
2232 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2233
2234         Reviewed by Darin.
2235
2236         - fix http://bugs.webkit.org/show_bug.cgi?id=12345
2237           REGRESSION: Disabled pop-up text is not grayed out
2238
2239         Test: fast/forms/select-disabled-appearance.html
2240
2241         * rendering/RenderThemeMac.mm:
2242         (WebCore::RenderThemeMac::adjustMenuListStyle):
2243
2244 2007-01-21  Darin Adler  <darin@apple.com>
2245
2246         - fix non-Mac builds
2247
2248         * CMakeLists.txt: Added JSDocumentCustom.cpp.
2249         * WebCore.pro: Ditto.
2250         * WebCoreSources.bkl: Ditto.
2251
2252 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2253
2254         Reviewed by Darin.
2255
2256         - fix http://bugs.webkit.org/show_bug.cgi?id=12353 <rdar://problem/4944599>
2257           REGRESSION: Crash on load (mutation event dispatch under the image element constructor deletes the element)
2258     
2259         Test: fast/dom/HTMLImageElement/constructor-mutation-event-dispatch.html
2260
2261         * bindings/js/kjs_html.cpp:
2262         (KJS::ImageConstructorImp::construct): Protect the image element before setting
2263         its attributes.
2264
2265 2007-01-21  Sam Weinig  <sam@webkit.org>
2266
2267         Rolling out patch for http://bugs.webkit.org/show_bug.cgi?id=8360.
2268
2269         * rendering/RenderLayer.cpp:
2270         (WebCore::RenderLayer::RenderLayer):
2271         (WebCore::RenderLayer::scrollToOffset):
2272         (WebCore::RenderLayer::scrollRectToVisible):
2273         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2274         (WebCore::Marquee::start):
2275         * rendering/RenderLayer.h:
2276
2277 2007-01-21  David Kilzer  <ddkilzer@webkit.org>
2278
2279         Reviewed by Darin.
2280
2281         - fix http://bugs.webkit.org/show_bug.cgi?id=12280
2282           select element not available by name through document.all
2283           (dropdown list not available on smarthome.com checkout)
2284
2285         Test: fast/dom/document-all-select.html
2286
2287         * html/HTMLCollection.cpp:
2288         (WebCore::HTMLCollection::checkForNameMatch):
2289         (WebCore::HTMLCollection::updateNameCache):
2290
2291 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2292
2293         Reviewed by Darin.
2294
2295         - http://bugs.webkit.org/show_bug.cgi?id=10805
2296           REGRESSION (r15720): manual-tests/onblur-remove.html failing
2297
2298         * manual-tests/onblur-remove.html: Changed the test to not require pressing
2299         Enter, since the correct behavior for Enter is to send a blur event.
2300
2301 2007-01-21  Sanjay Madhav  <sanjay12@gmail.com>
2302
2303         Reviewed by Darin.
2304
2305         Fix for: <rdar://problem/4928583> Memory usage grows when reloading google.com/ig
2306
2307         JSDocuments are now responsible for marking the DOM wrappers associated with them, when they get marked.
2308         This fixes a JS object leak when a DOM wrapper has a reference to a JSDocument that is otherwise not reachable.
2309
2310         Test: fast/dom/gc-10.html
2311
2312         * WebCore.vcproj/WebCore/WebCore.vcproj:
2313         * WebCore.xcodeproj/project.pbxproj:
2314         * bindings/js/JSDocumentCustom.cpp: Added.
2315         (WebCore::JSDocument::mark):
2316         * bindings/js/kjs_binding.cpp:
2317         (KJS::ScriptInterpreter::markDOMNodesForDocument):
2318         (KJS::ScriptInterpreter::mark):
2319         * bindings/js/kjs_binding.h:
2320         * dom/Document.idl:
2321
2322 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2323
2324         Reviewed by Darin.
2325
2326         - fix http://bugs.webkit.org/show_bug.cgi?id=10692
2327           REGRESSION (r14847): Unnecessary scrollbars with position:relative; and overflow:auto;
2328
2329         Test: fast/overflow/position-relative.html
2330
2331         * rendering/RenderBox.cpp:
2332         (WebCore::RenderBox::lowestPosition): Add the relative position offset only
2333         if 'includeSelf' is true.
2334         (WebCore::RenderBox::rightmostPosition): Ditto.
2335         (WebCore::RenderBox::leftmostPosition): Ditto.
2336         * rendering/RenderFlow.cpp:
2337         (WebCore::RenderFlow::lowestPosition): Ditto.
2338         (WebCore::RenderFlow::rightmostPosition): Ditto.
2339         (WebCore::RenderFlow::leftmostPosition): Ditto.
2340
2341 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2342
2343         Reviewed by Darin.
2344
2345         - fix http://bugs.webkit.org/show_bug.cgi?id=10472
2346           REGRESSION: "add" method of <select> object does not put the <option> object in the correct position
2347
2348         Test: fast/dom/HTMLSelectElement/options-collection-detached.html
2349
2350         * html/HTMLSelectElement.cpp:
2351         (WebCore::HTMLSelectElement::setRecalcListItems): Reset the options collection
2352         info if the <select> is not in the document. For in-document <select>s this
2353         happens anyway as a result of the DOM tree version increasing.
2354
2355 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2356
2357         Reviewed by Darin.
2358
2359         - fix http://bugs.webkit.org/show_bug.cgi?id=12349
2360           NativeFileUpload: Button text is not grayed out when the control is disabled
2361
2362         Covered by fast/forms/file-input-disabled.html 
2363
2364         * css/html4.css: Changed selectors that had pseudo-classes after the -webkit-file-upload-button
2365         pseudo-element to have the pseudo-element at the end. Pseudo-elements must be at the end.
2366         * rendering/RenderFileUploadControl.cpp:
2367         (WebCore::RenderFileUploadControl::createButtonStyle): Changed to not overwrite the button's
2368         style with its parent's style. getPseudoStyle() handles inheritance properly.
2369
2370 2007-01-21  Mitz Pettel  <mitz@webkit.org>
2371
2372         Reviewed by Darin.
2373
2374         - fix http://bugs.webkit.org/show_bug.cgi?id=12343
2375           crash in css2.1/t1202-counter-09-b.html
2376
2377         * platform/Font.cpp:
2378         (WebCore::Font::glyphDataForCharacter):
2379
2380 2007-01-21  Darin Adler  <darin@apple.com>
2381
2382         Reviewed by Adam and Mitz.
2383
2384         - fix http://bugs.webkit.org/show_bug.cgi?id=12347
2385           REGRESSION: list box scrolling broken (fast/forms/listbox-selection.html)
2386
2387         Covered by existing test: fast/forms/listbox-selection.html
2388
2389         * rendering/RenderListBox.h: Added override of layout(), made selectionChanged()
2390         no longer an inline. Added private scrollToRevealSelection(),
2391         m_scrollToRevealSelectionAfterLayout, and m_inAutoscroll.
2392         * rendering/RenderListBox.cpp:
2393         (WebCore::RenderListBox::RenderListBox): Initialize new data members.
2394         (WebCore::RenderListBox::updateFromElement): Remove scrolling code.
2395         (WebCore::RenderListBox::selectionChanged): Moved from header. Calls repaint
2396         and then scrollToRevealSelection, but if we need layout, instead schedules
2397         scrollToRevealSelection to be done after layout.
2398         (WebCore::RenderListBox::layout): Added. After calling base class, calls
2399         scrollToRevealSelection if the m_scrollToRevealSelectionAfterLayout is set.
2400         (WebCore::RenderListBox::scrollToRevealSelection): Added. Code was originally
2401         in updateFromElement.
2402         (WebCore::RenderListBox::autoscroll): Set m_inAutoscroll so that the
2403         selectionChanged function knows not to scroll. Also removed the repaint()
2404         here because updateListBoxSelection() takes care of repainting by calling
2405         selectionChanged().
2406
2407 2007-01-21  David Kilzer  <ddkilzer@webkit.org>
2408
2409         * page/EventHandler.cpp:
2410         (WebCore::EventHandler::handleMouseMoveEvent): Changed #if SVG_SUPPORT to #ifdef SVG_SUPPORT.
2411
2412 2007-01-20  Mitz Pettel  <mitz@webkit.org>
2413
2414         Reviewed by Maciej.
2415
2416         - fix http://bugs.webkit.org/show_bug.cgi?id=11115
2417           REGRESSION: Crash on Flickr after hitting cancel from adding a note
2418
2419         Test: fast/forms/text-set-value-crash.html
2420
2421         * html/HTMLInputElement.cpp:
2422         (WebCore::HTMLInputElement::setValue): Added a call to Document::updateRendering().
2423         * html/HTMLTextAreaElement.cpp:
2424         (WebCore::HTMLTextAreaElement::setValue): Ditto.
2425
2426 2007-01-20  Mitz Pettel  <mitz@webkit.org>
2427
2428         Reviewed by Darin.
2429
2430         - fix http://bugs.webkit.org/show_bug.cgi?id=8360
2431           Repro crash when onscroll handler deletes the scrolled object
2432
2433         Test: fast/layers/removed-by-scroll-handler.html
2434
2435         * rendering/RenderLayer.cpp:
2436         (WebCore::RenderLayer::RenderLayer):
2437         (WebCore::RenderLayer::dispatchScrollEvent): Added. Called when the timer
2438         fires and dispatches the scroll event to the layer's element.
2439         (WebCore::RenderLayer::scrollToOffset): Instead of dispatching the scroll
2440         event from this function, which is called during layout, schedule a 0-duration
2441         timer to dispatch the event after layout.
2442         (WebCore::RenderLayer::scrollRectToVisible):
2443         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2444         (WebCore::Marquee::start):
2445         * rendering/RenderLayer.h:
2446
2447 2007-01-20  Nikolas Zimmermann  <zimmermann@kde.org>
2448
2449         Reviewed by Sam.
2450
2451         Fix JS bindings for SVGAnimated{Boolean, Enumeration, Integer, Number, String}.
2452
2453         Dynamic SVG DOM updates (ie. "someUse.href.baseVal = '#rect'") with these types
2454         didn't work. Existing gradient updating examples relied on calling setAttribute
2455         after a SVG DOM update - that was the only reason it worked, added a new test
2456         only using SVG DOM updates (js-update-stop.svg).
2457
2458         Added test: js-update-stop.svg
2459         Added test: use-property-changes-through-dom.svg (change xlink:href, x/y attributes using setAttribute)
2460         Added test: use-property-changes-through-svg-dom.svg (change xlink:href, x/y attributes using SVG DOM)
2461
2462         * bindings/js/JSSVGPODTypeWrapper.h:
2463         (WebCore::JSSVGPODTypeWrapper::commitChange):
2464         (WebCore::JSSVGPODTypeWrapperCreator::commitChange):
2465         (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
2466         * bindings/js/JSSVGPathSegListCustom.cpp:
2467         (WebCore::updatePathSegContextMap):
2468         (WebCore::removeFromPathSegContextMap):
2469         * bindings/scripts/CodeGeneratorJS.pm:
2470         * ksvg2/misc/SVGDocumentExtensions.h:
2471         (WebCore::SVGDocumentExtensions::baseValueMap):
2472         (WebCore::SVGDocumentExtensions::genericContextMap):
2473         (WebCore::SVGDocumentExtensions::baseValue):
2474         (WebCore::SVGDocumentExtensions::setBaseValue):
2475         (WebCore::SVGDocumentExtensions::removeBaseValue):
2476         (WebCore::SVGDocumentExtensions::hasBaseValue):
2477         (WebCore::SVGDocumentExtensions::genericContext):
2478         (WebCore::SVGDocumentExtensions::setGenericContext):
2479         (WebCore::SVGDocumentExtensions::removeGenericContext):
2480         (WebCore::SVGDocumentExtensions::hasGenericContext):
2481         (WebCore::String):
2482         (WebCore::FloatRect):
2483         (WebCore::bool):
2484         (WebCore::double):
2485         * ksvg2/svg/SVGClipPathElement.h:
2486         * ksvg2/svg/SVGElement.h:
2487         (WebCore::SVGElement::notifyAttributeChange):
2488         * ksvg2/svg/SVGPathSegList.cpp:
2489         (WebCore::SVGPathSegList::SVGPathSegList):
2490         (WebCore::SVGPathSegList::context):
2491         * ksvg2/svg/SVGPathSegList.h:
2492         * ksvg2/svg/SVGPatternElement.h:
2493         * ksvg2/svg/SVGPointList.cpp:
2494         (SVGPointList::SVGPointList):
2495         (SVGPointList::context):
2496         * ksvg2/svg/SVGPointList.h:
2497         * ksvg2/svg/SVGStopElement.cpp:
2498         (WebCore::SVGStopElement::parseMappedAttribute):
2499         (WebCore::SVGStopElement::notifyAttributeChange):
2500         * ksvg2/svg/SVGStopElement.h:
2501         * ksvg2/svg/SVGUseElement.cpp:
2502         (WebCore::SVGUseElement::notifyAttributeChange):
2503
2504 2007-01-20  Rob Buis  <buis@kde.org>
2505
2506         Reviewed by Sam.
2507
2508         http://bugs.webkit.org/show_bug.cgi?id=12334
2509         Respect <text> boundaries for svg text selecting
2510
2511         Make sure the text selection for svg stays inside
2512         containing blocks.
2513         Added one manual test since html selection does not
2514         seem to work for SVG and selectSubString for SVG
2515         is not implemented yet.
2516
2517         * manual-tests/svg-text-selection.svg: Added.
2518         * page/EventHandler.cpp:
2519         (WebCore::EventHandler::handleMouseMoveEvent):
2520         * rendering/RenderObject.h:
2521         (WebCore::RenderObject::isSVGText):
2522         * rendering/RenderSVGInlineText.h:
2523         (WebCore::RenderSVGInlineText::isSVGText):
2524         * rendering/RenderSVGText.h:
2525         (WebCore::RenderSVGText::isSVGText):
2526
2527 2007-01-19  Adele Peterson  <adele@apple.com>
2528
2529         Reviewed by Hyatt.
2530
2531         Fix for: <rdar://problem/4697438> REGRESSION: select menu lists match the wrong css rule on www.chainreaction.com
2532
2533         Update the size attribute value for select elements to match the numeric value.  This is a special case since this
2534         attribute is used to determine which control to use.  We want to make sure that the size attribute is valid when we match
2535         CSS rules.
2536
2537         Test: fast/forms/select-size.html
2538
2539         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): If the attribute string value is not the
2540           same as its integer value, then update the attribute value to match the integer.
2541         * dom/Attribute.h: Made setValue and setPrefix public.
2542
2543 2007-01-19  John Sullivan  <sullivan@apple.com>
2544
2545         Reviewed by Darin
2546
2547         - WebCore part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
2548           type a character before username/password autofill kicks in
2549
2550         * loader/FrameLoaderClient.h:
2551         new dispatchDidFinishDocumentLoad call
2552
2553         * loader/FrameLoader.cpp:
2554         (WebCore::FrameLoader::finishedParsing):
2555         call dispatchDidFinishDocumentLoad
2556         
2557         * platform/graphics/svg/SVGImageEmptyClients.h:
2558         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishDocumentLoad):
2559         empty implementation for dispatchDidFinishDocumentLoad
2560
2561 2007-01-19  Adele Peterson  <adele@apple.com>
2562
2563         Reviewed by Hyatt.
2564
2565         Fix for <rdar://problem/4760280> REGRESSION: Bottom portion of text hangs off edge of SELECT element at http://macreviewzone.com/index.php
2566         
2567         Test: fast/forms/control-restrict-line-height.html
2568
2569         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize): Don't honor line-height for controls that
2570           have restricted font size.
2571
2572 2007-01-19  Darin Adler  <darin@apple.com>
2573
2574         Reviewed by Adele.
2575
2576         - fix http://bugs.webkit.org/show_bug.cgi?id=11999
2577           <rdar://problem/4940442> REGRESSION: Incomplete listing in TVListings window (11999)
2578           Fix was to use the actual size of the renderer in the RenderListBox
2579           case, instead of always using the size specified by the select element.
2580
2581         Test: fast/forms/select-list-box-with-height.html
2582
2583         - fix http://bugs.webkit.org/show_bug.cgi?id=11995
2584           <rdar://problem/4901834> REGRESSION(NativeListBox): Focus is not placed on
2585           SELECT after mousing down on OPTION
2586
2587         Test: fast/forms/select-list-box-mouse-focus.html
2588
2589         - fix bug where auto-scrolling was not working in list box select elements
2590
2591         No test yet.
2592
2593         - fix a missing semicolon in the radio/checkbox section of html4.css
2594
2595         Test: fast/forms/radio-no-theme-padding.html
2596
2597         - fix bug where the scroll bars for select elements were pixel-type scroll
2598           bars even though the scrolling is line at a time scrolling
2599
2600         No test.
2601
2602         * html/HTMLSelectElement.cpp:
2603         (WebCore::HTMLSelectElement::selectAll): Removed an explicit call
2604         to repaint, since the RenderListBox now does that in selectionChanged.
2605         (WebCore::HTMLSelectElement::notifyOptionSelected): Call the new
2606         selectionChanged instead of the old setSelectionChanged.
2607         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Added a call
2608         to focus. Removed an explicit call to repaint and added a call to the
2609         new setMouseDownMayStartAutoscroll function in EventHandler. Removed an
2610         explicit call to repaint as above.
2611         (WebCore::HTMLSelectElement::updateListBoxSelection): Call the new
2612         selectionChanged instead of the old setSelectionChanged.
2613
2614         * page/EventHandler.h: Added setMouseDownMayStartAutoscroll, needed
2615         because the existing code to set that flag won't get triggered when
2616         the select element's default event handler handles the event.
2617
2618         * rendering/RenderListBox.h: Made ScrollbarClient a private base class.
2619         Removed setSelectionChanged and m_selectionChanged. Added selectionChanged,
2620         which is really just a synonym for repaint for now. Moved valueChanged,
2621         the ScrollbarClient function implementations, and itemHeight into the
2622         private part of the class. Added numVisibleItems() and listHeight() to
2623         the private section. Changed m_vBar to be a RefPtr.
2624
2625         * rendering/RenderListBox.cpp: Removed unneeded includes. Moved all
2626         the constants to the top of the file.
2627         (WebCore::RenderListBox::RenderListBox): Removed initialization of
2628         m_selectionChanged because it was removed and of m_vBar because it's
2629         now a RefPtr which is automaticall initialized.
2630         (WebCore::RenderListBox::~RenderListBox): Removed the explicit deref of
2631         m_vBar because it's a RefPtr. Added null checking for FrameView.
2632         (WebCore::RenderListBox::updateFromElement): Use numItems().
2633         (WebCore::RenderListBox::calcMinMaxWidth): Added null checking for
2634         FrameView and used RefPtr for the newly-created scroll bar.
2635         (WebCore::RenderListBox::size): Tweaked formatting. Also renamed the
2636         misleading minDefaultSize to maxDefaultSize, since it's a maximum.
2637         (WebCore::RenderListBox::numVisibleItems): Added. Used in many places
2638         where size() was used before. This computes the number of rows we have
2639         room for. We don't need a row space after the last row, and this takes
2640         that into account.
2641         (WebCore::RenderListBox::numItems): Tweaked to remove the local variable.
2642         (WebCore::RenderListBox::listHeight): Added. Total height of all the rows
2643         and spaces between them.
2644         (WebCore::RenderListBox::calcHeight): Changed to call itemHeight for the
2645         row height, and to subtract the last row spacing off since we don't need
2646         a space after the last row. Changed the scroll bar setup to make it
2647         correspond to row numbers, not pixel numbers.
2648         (WebCore::RenderListBox::baselinePosition): Moved the comment to the
2649         constant declaration at the top of the file.
2650         (WebCore::RenderListBox::itemBoundingBoxRect): Simplified by using
2651         the itemHeight() function.
2652         (WebCore::RenderListBox::paintObject): Changed to use numItems and
2653         to use numVisibleItems instead of size.
2654         (WebCore::RenderListBox::isPointInScrollbar): Added get() call since
2655         m_vBar is now a RefPtr.
2656         (WebCore::RenderListBox::listIndexAtOffset): Changed to use numItems(),
2657         itemHeight(), and rearranged a min/max combo so it starts with the low,
2658         then the value, then the high value for pinning.
2659         (WebCore::RenderListBox::autoscroll): Use numVisibleItems() instead of
2660         size().
2661         (WebCore::RenderListBox::stopAutoscroll): Removed an unneeded nil check
2662         of the element.
2663         (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Changed
2664         to use numItems() and to use numVisibleItems() instead of size().
2665         Also changed scroll bar code to work more simply now that the scroll
2666         bar is row-based.
2667         (WebCore::RenderListBox::listIndexIsVisible): Changed to use
2668         numVisibleItems() instead of size().
2669         (WebCore::RenderListBox::valueChanged): Simplified since the scrollbar
2670         is now row-based. Also removed an unnecessary null check.
2671         (WebCore::RenderListBox::itemHeight): Updated for name change from
2672         optionsSpacingMiddle to rowSpacing.
2673         (WebCore::RenderListBox::scrollHeight): Changed to use listHeight().
2674         (WebCore::RenderListBox::setScrollTop): Simplified, and removed the code
2675         that does nothing if the computed list index is visible (which did not
2676         make sense for this function and seemed a cut and paste error from the
2677         scrollToReveal function). The scrollbar part is simpler now that it's
2678         row-based.
2679         (WebCore::RenderListBox::windowClipRect): Changed to use document()->view()
2680         so we don't have to include RenderView.h.
2681
2682         * css/html4.css: Added a semicolon I noticed was missing.
2683
2684 2007-01-19  Beth Dakin  <bdakin@apple.com>
2685
2686         Reviewed by Maciej and Darin.
2687
2688         Fix for <rdar://problem/4702420> REGRESSION: Null characters need 
2689         to be stripped from text nodes (townhall.com)
2690
2691         This was a regression from the fix for <rdar://problem/3727939>
2692         Safari strips \0 characters from HTML tags making them valid, which
2693         was fixed with r12652. We still need to strip null characters in
2694         text nodes.
2695
2696         * html/HTMLTokenizer.cpp:
2697         (WebCore::HTMLTokenizer::write): No behavior change here, this is
2698         just to make Darin happy.
2699         (WebCore::HTMLTokenizer::processToken): Call into StringImpl's new 
2700         createStrippingNull function instead of the normal StringImpl 
2701         constructor.
2702         * platform/StringImpl.cpp:
2703         (WebCore::StringImpl::createStrippingNull): Strip null.
2704         * platform/StringImpl.h:
2705
2706 2007-01-19  David Kilzer  <ddkilzer@webkit.org>
2707
2708         Reviewed by NOBODY (no-svg build fix).
2709
2710         * ksvg2/svg/SVGMPathElement.cpp: Added #ifdef SVG_SUPPORT/#endif guards.
2711
2712 2007-01-19  Anders Carlsson  <acarlsson@apple.com>
2713         
2714         Build fix.
2715         
2716         * platform/graphics/svg/SVGImageEmptyClients.h:
2717         (WebCore::SVGEmptyChromeClient::setStatusbarText):
2718
2719 2007-01-18  Anders Carlsson  <acarlsson@apple.com>
2720
2721         Reviewed by Adam.
2722
2723         Move JavaScript alert and status bar functions to the chrome.
2724         
2725         * bindings/js/kjs_window.cpp:
2726         (KJS::WindowFunc::callAsFunction):
2727         * page/Chrome.cpp:
2728         (WebCore::Chrome::runJavaScriptAlert):
2729         (WebCore::Chrome::runJavaScriptConfirm):
2730         (WebCore::Chrome::runJavaScriptPrompt):
2731         (WebCore::Chrome::setStatusBarText):
2732         * page/Chrome.h:
2733         * page/ChromeClient.h:
2734         * page/Frame.cpp:
2735         (WebCore::Frame::setJSStatusBarText):
2736         (WebCore::Frame::setJSDefaultStatusBarText):
2737         * page/Frame.h:
2738         * page/mac/FrameMac.h:
2739         * page/mac/FrameMac.mm:
2740         * page/mac/WebCoreFrameBridge.h:
2741         * platform/graphics/svg/SVGImageEmptyClients.h:
2742         (WebCore::SVGEmptyChromeClient::runJavaScriptAlert):
2743         (WebCore::SVGEmptyChromeClient::runJavaScriptConfirm):
2744         (WebCore::SVGEmptyChromeClient::runJavaScriptPrompt):
2745         (WebCore::SVGEmptyChromeClient::setStatusBarText):
2746
2747 2007-01-19  Zack Rusin  <zack@kde.org>
2748
2749         Fix the build.
2750
2751         * WebCore.pro: Add missing files
2752
2753 2007-01-19  Eric Seidel  <eric@webkit.org>
2754
2755         Reviewed by rwlbuis.
2756
2757         More cleanup to SVGAnimated* classes.
2758
2759         No tests possible (only code cleanup)
2760
2761         * ksvg2/svg/SVGAnimateMotionElement.cpp:
2762         (WebCore::SVGAnimateMotionElement::applyAnimationToValue):
2763         * ksvg2/svg/SVGAnimateMotionElement.h:
2764         * ksvg2/svg/SVGAnimationElement.cpp:
2765         (WebCore::SVGAnimationElement::parseBeginOrEndValue):
2766         (WebCore::SVGAnimationElement::parseMappedAttribute):
2767         (WebCore::SVGAnimationElement::parseClockValue):
2768         (WebCore::SVGAnimationElement::isIndefinite):
2769         * ksvg2/svg/SVGAnimationElement.h:
2770
2771 2007-01-19  Nikolas Zimmermann  <zimmermann@kde.org>
2772
2773         Not reviewed.
2774
2775         Remove accidently commited debug output. Shame on me :-)
2776
2777         * ksvg2/svg/SVGUseElement.cpp:
2778         (WebCore::SVGUseElement::notifyAttributeChange):
2779
2780 2007-01-19  Nikolas Zimmermann  <zimmermann@kde.org>
2781
2782         Reviewed by Eric.
2783
2784         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10410 (SVG Slider example renders completely wrong (inserting <use> dynamically doesn't work))
2785         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11660 (SVG: creation of <use/> elements through scripting/DOM doesn't work)
2786
2787         Added test: svg/custom/use-instanceRoot-modifications.svg
2788         Added test: svg/custom/use-on-g.svg
2789         Added test: svg/custom/use-on-rect.svg
2790         Added test: svg/custom/use-on-symbol-inside-pattern.svg
2791         Added test: svg/custom/use-on-symbol.svg
2792         Added test: svg/custom/use-on-text.svg
2793         Added test: svg/custom/use-transform.svg
2794
2795         Fixes: svg/W3C-SVG-1.1/text-text-04-t.svg (missing use elements)
2796         Fixes: svg/carto.net/button.svg (image buttons didn't appear)
2797         Fixes: svg/carto.net/colourpicker.svg (slider handles finally show up)
2798         Fixes: svg/carto.net/slider.svg (slider handles finally show up)
2799         Fixes: svg/carto.net/window.svg (window decorations show up) 
2800         Fixes: svg/custom/use-forward-refs.svg (missing use elements)
2801
2802         Rewrite <use> support with a real-shadow tree (as the spec demands), and implement SVGElementInstance.
2803         AFAIK we're the first implementing this SVG feature - after ASV3 (!).
2804
2805         * DerivedSources.make:
2806         * WebCore.xcodeproj/project.pbxproj:
2807         * bindings/objc/DOMInternal.h:
2808         * bindings/objc/DOMSVG.h:
2809         * ksvg2/misc/SVGDocumentExtensions.cpp:
2810         (WebCore::SVGDocumentExtensions::reportWarning):
2811         (WebCore::SVGDocumentExtensions::reportError):
2812         (WebCore::SVGDocumentExtensions::addPendingResource):
2813         (WebCore::SVGDocumentExtensions::isPendingResource):
2814         (WebCore::SVGDocumentExtensions::removePendingResource):
2815         (WebCore::SVGDocumentExtensions::mapInstanceToElement):
2816         (WebCore::SVGDocumentExtensions::removeInstanceMapping):
2817         (WebCore::SVGDocumentExtensions::instancesForElement):
2818         * ksvg2/misc/SVGDocumentExtensions.h:
2819         * ksvg2/svg/SVGCircleElement.cpp:
2820         (WebCore::SVGCircleElement::notifyAttributeChange):
2821         * ksvg2/svg/SVGElement.cpp:
2822         (WebCore::SVGElement::insertedIntoDocument):
2823         * ksvg2/svg/SVGElement.h:
2824         (WebCore::SVGElement::buildPendingResource):
2825         * ksvg2/svg/SVGElementInstance.cpp:
2826         (WebCore::SVGElementInstance::SVGElementInstance):
2827         (WebCore::SVGElementInstance::~SVGElementInstance):
2828         (WebCore::SVGElementInstance::clonedElement):
2829         (WebCore::SVGElementInstance::correspondingElement):
2830         (WebCore::SVGElementInstance::correspondingUseElement):
2831         (WebCore::SVGElementInstance::parentNode):
2832         (WebCore::SVGElementInstance::childNodes):
2833         (WebCore::SVGElementInstance::previousSibling):
2834         (WebCore::SVGElementInstance::nextSibling):
2835         (WebCore::SVGElementInstance::firstChild):
2836         (WebCore::SVGElementInstance::lastChild):
2837         (WebCore::SVGElementInstance::appendChild):
2838         (WebCore::SVGElementInstance::updateInstance):
2839         * ksvg2/svg/SVGElementInstance.h:
2840         * ksvg2/svg/SVGElementInstance.idl: Added.
2841         * ksvg2/svg/SVGElementInstanceList.cpp:
2842         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
2843         (WebCore::SVGElementInstanceList::length):
2844         (WebCore::SVGElementInstanceList::item):
2845         * ksvg2/svg/SVGElementInstanceList.h:
2846         * ksvg2/svg/SVGElementInstanceList.idl: Added.
2847         * ksvg2/svg/SVGEllipseElement.cpp:
2848         (WebCore::SVGEllipseElement::notifyAttributeChange):
2849         * ksvg2/svg/SVGGElement.cpp:
2850         * ksvg2/svg/SVGGElement.h:
2851         (WebCore::SVGGElement::contextElement):
2852         * ksvg2/svg/SVGGradientElement.cpp:
2853         * ksvg2/svg/SVGGradientElement.h:
2854         * ksvg2/svg/SVGHiddenElement.h: Added.
2855         (WebCore::SVGHiddenElement::Type):
2856         (WebCore::SVGHiddenElement::~SVGHiddenElement):
2857         (WebCore::SVGHiddenElement::localName):
2858         * ksvg2/svg/SVGImageElement.cpp:
2859         (WebCore::SVGImageElement::notifyAttributeChange):
2860         * ksvg2/svg/SVGLineElement.cpp:
2861         (WebCore::SVGLineElement::notifyAttributeChange):
2862         * ksvg2/svg/SVGPathElement.cpp:
2863         (WebCore::SVGPathElement::notifyAttributeChange):
2864         * ksvg2/svg/SVGPatternElement.cpp:
2865         * ksvg2/svg/SVGPatternElement.h:
2866         * ksvg2/svg/SVGPolyElement.cpp:
2867         (WebCore::SVGPolyElement::notifyAttributeChange):
2868         * ksvg2/svg/SVGRectElement.cpp:
2869         (WebCore::SVGRectElement::notifyAttributeChange):
2870         * ksvg2/svg/SVGStyledElement.cpp:
2871         (WebCore::SVGStyledElement::notifyAttributeChange):
2872         (WebCore::SVGStyledElement::updateElementInstance):
2873         * ksvg2/svg/SVGStyledElement.h:
2874         * ksvg2/svg/SVGUseElement.cpp:
2875         (WebCore::SVGUseElement::instanceRoot):
2876         (WebCore::SVGUseElement::animatedInstanceRoot):
2877         (WebCore::SVGUseElement::hasChildNodes):
2878         (WebCore::SVGUseElement::insertedIntoDocument):
2879         (WebCore::SVGUseElement::buildPendingResource):
2880         (WebCore::SVGUseElement::createRenderer):
2881         (WebCore::SVGUseElement::buildShadowTree):
2882         (WebCore::SVGUseElement::recursiveShadowTreeBuilder):
2883         (WebCore::dumpShadowTree):
2884         (WebCore::SVGUseElement::addShadowTree):
2885         * ksvg2/svg/SVGUseElement.h:
2886         * ksvg2/svg/SVGUseElement.idl:
2887
2888 2007-01-19  Eric Seidel  <eric@webkit.org>
2889
2890         Reviewed by rwlbuis.
2891
2892         Add support for SVGMPathElement parsing.
2893
2894         No test cases possible (SVGAnimateMotion doesn't work yet)
2895
2896         * WebCore.xcodeproj/project.pbxproj:
2897         * ksvg2/svg/SVGAnimateMotionElement.cpp:
2898         (WebCore::SVGAnimateMotionElement::animationPath):
2899         * ksvg2/svg/SVGMPathElement.cpp: Added.
2900         (WebCore::SVGMPathElement::SVGMPathElement):
2901         (WebCore::SVGMPathElement::~SVGMPathElement):
2902         (WebCore::SVGMPathElement::parseMappedAttribute):
2903         (WebCore::SVGMPathElement::pathElement):
2904         * ksvg2/svg/SVGMPathElement.h: Added.
2905         * ksvg2/svg/SVGNumberList.cpp:
2906         (WebCore::SVGNumberList::parse): fix typo in comment
2907         * ksvg2/svg/svgtags.in: add back mpath
2908
2909 2007-01-19  Eric Seidel  <eric@webkit.org>
2910
2911         Reviewed by rwlbuis.
2912
2913         Implement better parsing for keyTimes, keySplines and keyPoints.
2914
2915         Unfortunately none of this code is used much yet, thus isn't very testable.
2916
2917         * ksvg2/svg/SVGAnimateMotionElement.cpp:
2918         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
2919         * ksvg2/svg/SVGAnimationElement.cpp:
2920         (WebCore::SVGAnimationElement::parseKeyNumbers):
2921         (WebCore::parseKeySplines):
2922         (WebCore::SVGAnimationElement::parseMappedAttribute):
2923         * ksvg2/svg/SVGAnimationElement.h:
2924         * ksvg2/svg/SVGNumberList.cpp:
2925         (WebCore::SVGNumberList::parse):
2926
2927 2007-01-18  Adam Roben  <aroben@apple.com>
2928
2929         Reviewed by Beth.
2930
2931         Fix: <rdar://problem/4939672> REGRESSION: With text selected that is
2932         not a link, the "Remove Link" contextual menu item remains active
2933
2934         * platform/ContextMenuItem.h: Added enabled method.
2935         * platform/qt/ContextMenuItemQt.cpp:
2936         (WebCore::ContextMenuItem::enabled): Implemented.
2937         * platform/mac/ContextMenuItemMac.mm:
2938         (WebCore::ContextMenuItem::enabled): Ditto.
2939         * platform/mac/ContextMenuMac.mm:
2940         (-[WebCoreMenuTarget validateMenuItem:]): Implemented to fulfill the
2941         NSMenuValidation protocol.
2942         
2943 2007-01-18  Beth Dakin  <bdakin@apple.com>
2944
2945         Reviewed by Adele.
2946
2947         Fix for <rdar://problem/4939558> REGRESSION: "Search in Google", 
2948         "Search in Spotlight" and "Look up in Dictionary" are missing 
2949         initially from the contextual menu
2950
2951         The bug here is that we select the we were selecting the word after 
2952         the context menu event was dispatched and after the context menu 
2953         was built up.
2954
2955         * page/EventHandler.cpp:
2956         (WebCore::EventHandler::sendContextMenuEvent): Select the word 
2957         before dispatching the event. It is safe to remove the check for 
2958         swallowEvent since WebCore context menus ensure that we always 
2959         swallow the event anyway.
2960
2961 2007-01-18  Mark Rowe  <mrowe@apple.com>
2962
2963         Reviewed by Tim H.
2964
2965         Fix for http://bugs.webkit.org/show_bug.cgi?id=7926
2966         Bug 7926: Crash using -callWebScriptMethod to access offsetTop property
2967
2968         * bindings/objc/WebScriptObject.mm:
2969         (-[WebScriptObject callWebScriptMethod:withArguments:]): Bail out early if function value is an immediate,
2970         or if the function object is not callable.
2971
2972 2007-01-18  Sam Weinig  <sam@webkit.org>
2973
2974         Reviewed by Maciej.
2975
2976         Patch for http://bugs.webkit.org/show_bug.cgi?id=11853
2977         REGRESSION (r17352): Whitespace in <title> is rendered
2978
2979         * loader/DocumentLoader.cpp:
2980         (WebCore::canonicalizedTitle): Changed to also collapse internal
2981         whitespace.  This required removing an optimization that is no
2982         longer possible.
2983         * manual-tests/title-internal-whitespace.html: Added.
2984
2985 2007-01-18  Mitz Pettel  <mitz@webkit.org>
2986
2987         Reviewed by Maciej.
2988
2989         - fix http://bugs.webkit.org/show_bug.cgi?id=12039
2990           Assertion failure in WebCore::Font::primaryFont
2991
2992         Test: fast/text/font-initial.html
2993
2994         * css/cssstyleselector.cpp:
2995         (WebCore::CSSStyleSelector::applyProperty): Give 'font: initial' the
2996         Standard generic family. This makes the FontDescription different from
2997         that of the initial font of a GraphicsContext, ensuring that the latter
2998         will not be used.
2999
3000 2007-01-18  Mitz Pettel  <mitz@webkit.org>
3001
3002         Reviewed by Darin.
3003
3004         - fix http://bugs.webkit.org/show_bug.cgi?id=11451
3005           REGRESSION: Dell.com does not render correctly in ToT (stylesheet not loaded)
3006
3007         Test: http/tests/misc/css-accept-any-type.html
3008
3009         * loader/CachedCSSStyleSheet.cpp:
3010         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Changed the accept header
3011         for stylesheets to "text/css,*/*;q=0.1" to match Firefox, accepting CSS served
3012         as any type.
3013
3014 2007-01-18  Mitz Pettel  <mitz@webkit.org>
3015
3016         Reviewed by Darin.
3017
3018         - fix http://bugs.webkit.org/show_bug.cgi?id=11271
3019         REGRESSION (r12358): Text in display: table unselectable
3020
3021         Test: editing/selection/display-table-text.html
3022
3023         * editing/htmlediting.cpp:
3024         (WebCore::isTableElement): Changed to return false for text nodes.
3025
3026 2007-01-18  Mitz Pettel  <mitz@webkit.org>
3027
3028         Reviewed by Darin.
3029
3030         - fix http://bugs.webkit.org/show_bug.cgi?id=6218
3031           CSS1: WebTextRenderer caches and re-uses fallback renderers that are based on family lists
3032
3033         This patch takes character-to-glyph mapping out of FontData and instead makes
3034         each Font keep its own mapping, using a shared set of glyph page fallback trees.
3035
3036         For each page number there is (at most) one tree. A path from the root to a
3037         node in the tree corresponds to a fallback list of FontDatas. The node points to
3038         a page (which may be shared with other nodes) that maps each character in its range
3039         to a glyph in the first FontData in the fallback list that has it, or to 0 if none of
3040         the FontDatas has a glyph for that character. A special kind of node, that can
3041         only occur as a leaf, corresponds to using system fallback fonts after the list
3042         has been exhausted. This prevents system fallback from polluting non-leaf
3043         nodes.
3044
3045         Nodes and pages are initialized lazily and employ "copy on write".
3046
3047         * CMakeLists.txt:
3048         * WebCore.pro:
3049         * WebCore.vcproj/WebCore/WebCore.vcproj:
3050         * WebCore.xcodeproj/project.pbxproj:
3051         * WebCoreSources.bkl:
3052         * platform/Font.cpp:
3053         (WebCore::WidthIterator::WidthIterator): Removed substituteFontData.
3054         (WebCore::WidthIterator::advance): Moved all character-to-glyph mapping logic out
3055         of here and replaced it with a call to Font::glyphDataForCharacter().
3056         (WebCore::Font::Font):
3057         (WebCore::Font::operator=):
3058         (WebCore::Font::glyphDataForCharacter): Added. This method performs the lookup in the
3059         page fallback trees, triggering lazy initialization as needed, and caching pointers to
3060         the retrieved page tree nodes in the font.
3061         (WebCore::Font::update):
3062         (WebCore::Font::drawSimpleText):
3063         (WebCore::Font::floatWidth):
3064         (WebCore::Font::floatWidthForSimpleText): Removed substituteFont argument.
3065         (WebCore::Font::offsetForPositionForSimpleText):
3066         * platform/Font.h:
3067         * platform/FontData.cpp:
3068         (WebCore::FontData::FontData):
3069         * platform/FontData.h:
3070         (WebCore::FontData::missingGlyphData): Added. Returns the "missing glyph" GlyphData for
3071         this FontData.
3072         * platform/GlyphMap.cpp: Removed.
3073         * platform/GlyphMap.h: Removed.
3074         * platform/GlyphPageTreeNode.cpp: Renamed GlyphMap.cpp to this.
3075         (WebCore::GlyphPageTreeNode::getRoot): Added. Returns the root of the page fallback tree for
3076         the given page number.
3077         (WebCore::GlyphPageTreeNode::initializePage): Added. Helper method that initializes the page
3078         pointer of a node, possibly to a pointer to another node's page or to 0.
3079         (WebCore::GlyphPageTreeNode::getChild): Added.
3080         * platform/GlyphPageTreeNode.h: Renamed GlyphMap.h to this.
3081         (WebCore::GlyphPage::glyphDataForCharacter):
3082         (WebCore::GlyphPage::setGlyphDataForCharacter):
3083         (WebCore::GlyphPage::setGlyphDataForIndex):
3084         (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
3085         (WebCore::GlyphPageTreeNode::getRootChild):
3086         (WebCore::GlyphPageTreeNode::parent):
3087         (WebCore::GlyphPageTreeNode::page):
3088         (WebCore::GlyphPageTreeNode::level):
3089         (WebCore::GlyphPageTreeNode::isSystemFallback): Added. Returns whether the node corresponds
3090         to the system providing fallback fonts, which is done on a character-by-character basis.
3091         * platform/gdk/GlyphMapGdk.cpp: Removed.
3092         * platform/gdk/GlyphPageTreeNodeGdk.cpp: Renamed GlyphMapGdk.cpp to this.
3093         (WebCore::GlyphPage::fill):
3094         * platform/mac/FontDataMac.mm:
3095         (WebCore::FontData::platformInit):
3096         * platform/mac/FontMac.mm:
3097         (WebCore::Font::Font):
3098         * platform/mac/GlyphMapMac.cpp: Removed.
3099         * platform/mac/GlyphPageTreeNodeMac.cpp: Renamed GlypMapMac.cpp to this.
3100         (WebCore::GlyphPage::fill): Changed to return false if the font has no glyphs in the page.
3101         * platform/qt/GlyphMapQt.cpp: Removed.
3102         * platform/qt/GlyphPageTreeNodeQt.cpp: Renamed GlyphMapQt.cpp to this.
3103         (WebCore::GlyphPage::fill):
3104         * platform/win/GlyphMapWin.cpp: Removed.
3105         * platform/win/GlyphPageTreeNodeWin.cpp: Renamed GlyphMapWin to this.
3106         (WebCore::GlyphPage::fill):
3107
3108 2007-01-18  Mitz Pettel  <mitz@webkit.org>
3109
3110         Reviewed by Darin.
3111
3112         - fix http://bugs.webkit.org/show_bug.cgi?id=9952
3113           REGRESSION: Repro crash when dragging an image from the window to the address bar
3114
3115         * page/FrameView.cpp:
3116         (WebCore::FrameView::~FrameView): Removed the call to Document::detach(). If this
3117         view is the current view, then the Frame should have already detached the document.
3118         Added an assertion that this is the case. If this view is not the current view,
3119         then it cannot access its document, but the page cache should have detached it already.
3120         Similarly, changed to call RenderPart::setWidget() only if this is the current view
3121         in the frame.
3122         (WebCore::FrameView::adjustViewSize): Added an assertion that this view is the current
3123         view in the frame.
3124         (WebCore::FrameView::layout): Ditto.
3125         (WebCore::FrameView::scheduleRelayout): Ditto.
3126         (WebCore::FrameView::scheduleRelayoutOfSubtree): Ditto.
3127         (WebCore::FrameView::windowClipRect): Ditto.
3128
3129 2007-01-18  Eric Seidel  <eric@webkit.org>
3130
3131         Reviewed by bdash.
3132
3133         No test needed, removed bogus debug-only ASSERT.
3134
3135         * rendering/RenderSVGContainer.cpp:
3136         (WebCore::RenderSVGContainer::paint):
3137
3138 2007-01-18  Alice Liu  <alice.liu@apple.com>
3139
3140         Build Fix
3141
3142         * platform/mac/PasteboardMac.mm:
3143         (WebCore::Pasteboard::writeSelection):
3144
3145 2007-01-18  Alice Liu  <alice.liu@apple.com>
3146
3147         Reviewed by Mark Rowe.
3148
3149         Fixes the leaks from my last patch, except for the first change below which is a missing delegate call for Mail purposes
3150
3151         * editing/Editor.cpp:
3152         (WebCore::Editor::cut):
3153         * platform/Pasteboard.h:
3154         * platform/mac/PasteboardMac.mm:
3155         (WebCore::Pasteboard::Pasteboard):
3156         (WebCore::Pasteboard::clear):
3157         (WebCore::Pasteboard::writeSelection):
3158         (WebCore::Pasteboard::writeURL):
3159         (WebCore::Pasteboard::plainText):
3160         (WebCore::Pasteboard::documentFragment):
3161
3162 2007-01-18  David Hyatt  <hyatt@apple.com>
3163
3164         Make sure layer autoscrolling puts the event coordinates into the layer's coordinate space before
3165         calling hitTest on it.  Fixes "flashy" selection in textareas.
3166
3167         Reviewed by darin
3168
3169         * rendering/RenderLayer.cpp:
3170         (WebCore::RenderLayer::autoscroll):
3171         * rendering/RenderTextControl.cpp:
3172         (WebCore::RenderTextControl::nodeAtPoint):
3173
3174 2007-01-18  Anders Carlsson  <acarlsson@apple.com>
3175
3176         Reviewed by Adam.
3177
3178         Get rid of ResourceLoaderMac.mm and make willCacheResponse platform-independent.
3179         
3180         * loader/ResourceLoader.cpp:
3181         (WebCore::ResourceLoader::willCacheResponse):
3182         * loader/ResourceLoader.h:
3183         * loader/mac/ResourceLoaderMac.mm: Removed.
3184         * platform/network/ResourceHandleClient.h:
3185         (WebCore::):
3186         (WebCore::ResourceHandleClient::willCacheResponse):
3187         (WebCore::ResourceHandleClient::willStopBufferingData):
3188         * platform/network/mac/ResourceHandleMac.mm:
3189         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
3190
3191 2007-01-18  Maciej Stachowiak  <mjs@apple.com>
3192
3193         Reviewed by John.
3194
3195         - fixed <rdar://problem/4887416> REGRESSION (SearchField): Assertion failure in HTMLInputElement::setValueFromRenderer when editing via drag and drop (11846)
3196         http://bugs.webkit.org/show_bug.cgi?id=11846
3197         
3198         * editing/ReplaceSelectionCommand.cpp:
3199         (WebCore::ReplaceSelectionCommand::doApply): Don't insert extra paragraph separators to avoid
3200         nesting blocks in plaintext mode, since that's not an issue under normal circumstances.
3201         * html/HTMLInputElement.h:
3202         * manual-tests/drag-move-in-search-field.html: Added.
3203         * rendering/RenderTextControl.cpp:
3204         (WebCore::RenderTextControl::subtreeHasChanged): constrain the value; we'd
3205         rather truncate it than end up with an illegal value here.
3206
3207 2007-01-18  Simon Hausmann  <hausmann@kde.org>
3208
3209         Reviewed by Zack.
3210
3211         * WebCore.pro: Ha^H^HFix to support massive parallel builds.
3212
3213 2007-01-18  David Kilzer  <ddkilzer@kilzer.net>
3214
3215         Reviewed by Darin and Mitz.
3216
3217         - fix http://bugs.webkit.org/show_bug.cgi?id=12305
3218           REGRESSION: Images do not load in video sections on CNN.com homepage
3219
3220         <rdar://problem/4931480> REGRESSION: Images do not load in video sections on CNN.com homepage (12305)
3221
3222         Test: fast/dom/HTMLImageElement/image-lowsrc-getset.html
3223
3224         * html/HTMLAttributeNames.in: Added lowsrc.
3225         * html/HTMLImageElement.cpp:
3226         (WebCore::HTMLImageElement::isURLAttribute): Added lowsrc.
3227         (WebCore::HTMLImageElement::lowsrc): Added.
3228         (WebCore::HTMLImageElement::setLowsrc): Added.
3229         * html/HTMLImageElement.h: Added lowsrc and setLowsrc.
3230         * html/HTMLImageElement.idl: Added lowsrc.
3231
3232 2007-01-18  Simon Hausmann  <hausmann@kde.org>
3233
3234         Reviewed by Zack.
3235
3236         * WebCore.pro: Remove generated files on make clean.
3237
3238 2007-01-17  Alice Liu  <alice.liu@apple.com>
3239
3240         Reviewed by Harrison.
3241
3242         Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
3243
3244         Migration of some editing code from WebHTMView to WebCore::Editor
3245         resulted in not calling pasteboardTypesForSelection, which Mail was
3246         overriding for the special purpose of adding a type to the
3247         pasteboard after WebKit did.  This patch adds 2 separate code paths
3248         for Tiger and Leopard.  On Tiger we give in and call the WebView's
3249         pasteboardTypesForSelection.  On Leopard we call a delegate after
3250         the pasteboard types are set. 
3251
3252         * bridge/EditorClient.h:
3253         * editing/Editor.h:
3254         * platform/Pasteboard.h:
3255         * platform/graphics/svg/SVGImageEmptyClients.h:
3256         (WebCore::SVGEmptyEditorClient::didSetSelectionTypesForPasteboard):
3257         (WebCore::SVGEmptyEditorClient::pasteboardTypesForSelection):
3258         * platform/mac/PasteboardMac.mm:
3259         (WebCore::Pasteboard::Pasteboard):
3260         (WebCore::Pasteboard::clear):
3261         (WebCore::Pasteboard::writeSelection):
3262         (WebCore::Pasteboard::writeURL):
3263         (WebCore::Pasteboard::plainText):
3264         (WebCore::Pasteboard::documentFragment):
3265
3266 2007-01-17  John Sullivan  <sullivan@apple.com>
3267
3268         Reviewed by Darin
3269
3270         - WebCore part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
3271           Replace All if the replacement string contains the search string
3272         
3273         * page/Frame.h:
3274         * page/Frame.cpp:
3275         (WebCore::Frame::findString):
3276         new startInSelection parameter -- if true, search starts looking in selection; if false,
3277         search starts looking after the selection
3278         
3279         * page/mac/WebCoreFrameBridge.h:
3280         * page/mac/WebCoreFrameBridge.mm:
3281         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:startInSelection:]):
3282         new startInSelection parameter, passed through to Frame::findString()
3283
3284         * editing/JSEditor.cpp:
3285         pass false for new findString parameter, to match old behavior
3286
3287 2007-01-17  Beth Dakin  <bdakin@apple.com>
3288
3289         Rubber stamped by Darin.
3290
3291         * rendering/HitTestResult.cpp: Just added a comment.
3292
3293 2007-01-17  Justin Garcia  <justin.garcia@apple.com>
3294
3295         Reviewed by darin
3296         
3297         <rdar://problem/4920488>
3298         REGRESSION: A crash occurs at WebCore::Range::processContents () when removing formatting from selected text (that contains a link)
3299
3300         * dom/Range.cpp:
3301         (WebCore::Range::commonAncestorContainer): Return null if the nodes
3302         don't have a common ancestor.  As a side effect, the public 
3303         commonAncestorContainer now sets an exception if the Range starts
3304         in one document and ends in another, or starts or ends in a tree
3305         that's been removed from the document.  The spec doesn't cover
3306         this and there is no precedent in other browsers for this case because
3307         they don't allow invalid Ranges (you can create one with WebCore
3308         by removing a node that contains the start/end of a Range).
3309         (WebCore::Range::compareBoundaryPoints): If the the two positions
3310         are in nodes that have no common ancestor, return null.  This doesn't
3311         change the behavior of the public compareBoundaryPoints: it already
3312         throws an exception if the two positions are in nodes that don't have
3313         a common ancestor.  This follows the spec.
3314
3315 2007-01-17  John Sullivan  <sullivan@apple.com>
3316
3317         The one word was typed by me, but only after debugging for a long time with Darin.
3318
3319         - fixed <rdar://problem/4912002> REGRESSION: Series of words marked as a single misspelled word
3320
3321         * editing/TextIterator.cpp:
3322         (WebCore::WordAwareIterator::WordAwareIterator):
3323         We were creating a TextIterator with the default kind, but WordAwareIterator is designed to work
3324         in concert with CharacterIterator, so they need to use the same kind. CharacterIterator uses
3325         kind RUNFINDER, so WordAwareIterator needs to do so also.
3326
3327 2007-01-17  Adele Peterson  <adele@apple.com>
3328
3329         Reviewed by Brady.
3330
3331         Fix for <rdar://problem/4900895> REGRESSION: onChange doesn't always fire for popups that have had value changed by JS
3332
3333         No test case since you need to open up the menu to fire onChange.
3334
3335         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex):
3336           Keep track of m_lastOnChangeIndex even when we're not firing onChange.  Since
3337           the selected index has changed, we still want the m_lastOnChangeIndex to be up to date when we compare
3338           it later.  This matches our behavior in Safari 2.0.
3339
3340 2007-01-17  Adele Peterson  <adele@apple.com>
3341
3342         Reviewed by Darin and John.
3343
3344         - Fix for <rdar://problem/4816550> REGRESSION: autoscrolling doesn't work after double-click
3345
3346         * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): Set swallowEvent bool instead
3347           of returning early for double and triple clicks.
3348
3349 2007-01-17  Darin Adler  <darin@apple.com>
3350
3351         Reviewed by Hyatt.
3352
3353         * rendering/RenderObject.h: Removed unused nextEditable and previousEditable.
3354         * rendering/RenderObject.cpp: Ditto.
3355
3356 2007-01-17  Darin Adler  <darin@apple.com>
3357
3358         Reviewed by Maciej.
3359
3360         - fix http://bugs.webkit.org/show_bug.cgi?id=12278
3361           <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
3362
3363         * WebCore.exp: Added HitTestResult::imageRect,
3364         removed HitTestResult::boundingBox.
3365
3366         * rendering/HitTestResult.h:
3367         * rendering/HitTestResult.cpp: (WebCore::HitTestResult::imageRect):
3368         Added. Returns the content rectangle of the image.
3369
3370         * rendering/RenderObject.h:
3371         * rendering/RenderObject.cpp:
3372         (WebCore::RenderObject::absolutePosition): Made const.
3373         (WebCore::RenderObject::contentBox): Added.
3374         (WebCore::RenderObject::absoluteContentBox): Added.
3375
3376         * rendering/RenderBox.h:
3377         * rendering/RenderBox.cpp:
3378         (WebCore::RenderBox::absolutePosition): Made const.
3379
3380         * rendering/RenderTableCell.h:
3381         * rendering/RenderTableCell.cpp:
3382         (WebCore::RenderTableCell::absolutePosition): Made const.
3383
3384         * rendering/RenderView.h:
3385         * rendering/RenderView.cpp:
3386         (WebCore::RenderView::absolutePosition): Made const.
3387
3388 2007-01-17  Adele Peterson  <adele@apple.com>
3389
3390         Reviewed by Beth.
3391
3392         Fix for  http://bugs.webkit.org/show_bug.cgi?id=10139
3393         <rdar://problem/4823028> REGRESSION: Reproducible crash when selecting a popup/button with ::selection pseudostyle
3394
3395         Test: fast/css/pseudostyle-anonymous-text.html
3396
3397         * rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle): Nil check the node.
3398
3399 2007-01-17  Adele Peterson  <adele@apple.com>
3400
3401         Reviewed by Anders and John.
3402
3403         Fix for http://bugs.webkit.org/show_bug.cgi?id=11278
3404         <rdar://problem/4826875> REGRESSION: Popup width doesn't change to accommodate dynamic changes to options
3405
3406         Test: fast/forms/menulist-width-change.html
3407
3408         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
3409           When the options change, call setNeedsLayoutAndMinMaxRecalc.
3410
3411 2007-01-16  Alexey Proskuryakov  <ap@webkit.org>
3412
3413         Reviewed by Maciej.
3414
3415         http://bugs.webkit.org/show_bug.cgi?id=12268
3416         Give object prototypes their own names
3417
3418         * bindings/js/kjs_html.cpp: Changed the names of KJS:HTMLElement and KJS::HTMLElement to 
3419         not match the names of their WebCore counterparts. The "DOM" prefix I gave them doesn't 
3420         seem to carry much sense, but matches some other kjs_html object names.
3421
3422         * bindings/scripts/CodeGeneratorJS.pm: Append "Proto" to interface name for the prototype's ClassInfo.
3423
3424         * bindings/js/JSHTMLInputElementBase.cpp:
3425         (WebCore::JSHTMLInputElementBasePrototypeFunction::callAsFunction):
3426         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
3427         * bindings/js/JSHTMLInputElementBase.h:
3428         * bindings/js/JSXMLHttpRequest.cpp:
3429         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
3430         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
3431         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
3432         * bindings/js/JSXMLHttpRequest.h:
3433         * bindings/js/JSXSLTProcessor.cpp:
3434         (KJS::JSXSLTProcessor::JSXSLTProcessor):
3435         (KJS::XSLTProcessorPrototypeFunction::callAsFunction):
3436         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
3437         * bindings/js/kjs_css.cpp:
3438         (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
3439         (KJS::DOMCSSStyleDeclarationPrototypeFunction::callAsFunction):
3440         (KJS::DOMMediaList::DOMMediaList):
3441         (KJS::KJS::DOMMediaListPrototypeFunction::callAsFunction):
3442         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
3443         (KJS::DOMCSSStyleSheetPrototypeFunction::callAsFunction):
3444         (KJS::DOMCSSValue::DOMCSSValue):
3445         (KJS::DOMCSSValuePrototypeFunction::callAsFunction):
3446         * bindings/js/kjs_css.h:
3447         * bindings/js/kjs_dom.cpp:
3448         (KJS::DOMNode::DOMNode):
3449         (KJS::DOMNodePrototypeFunction::callAsFunction):
3450         (KJS::DOMEventTargetNode::DOMEventTargetNode):
3451         (KJS::DOMEventTargetNodePrototypeFunction::callAsFunction):
3452         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
3453         (KJS::DOMNamedNodeMapPrototypeFunction::callAsFunction):
3454         * bindings/js/kjs_dom.h:
3455         * bindings/js/kjs_domnode.h:
3456         * bindings/js/kjs_events.cpp:
3457         (KJS::DOMEvent::DOMEvent):
3458         (KJS::DOMEventPrototypeFunction::callAsFunction):
3459         (KJS::Clipboard::Clipboard):
3460         (KJS::ClipboardPrototypeFunction::callAsFunction):
3461         * bindings/js/kjs_events.h:
3462         * bindings/js/kjs_html.cpp:
3463         (KJS::JSHTMLDocumentPrototypeFunction::callAsFunction):
3464         (KJS::):
3465         (KJS::JSHTMLDocument::JSHTMLDocument):
3466         (KJS::JSHTMLElementPrototypeFunction::callAsFunction):
3467         (KJS::JSHTMLElement::JSHTMLElement):
3468         (KJS::JSHTMLCollection::JSHTMLCollection):
3469         (KJS::JSHTMLCollectionPrototypeFunction::callAsFunction):
3470         * bindings/js/kjs_html.h:
3471         * bindings/js/kjs_navigator.cpp:
3472         * bindings/js/kjs_traversal.cpp:
3473         (KJS::DOMNodeFilter::DOMNodeFilter):
3474         (KJS::DOMNodeFilterPrototypeFunction::callAsFunction):
3475         * bindings/js/kjs_window.cpp:
3476         (KJS::Window::clear):
3477         Changed Proto to Prototype, and ProtoFunc to PrototypeFunction.
3478
3479 2007-01-17  Lars Knoll <lars@trolltech.com>
3480
3481         Reviewed by Zack and Darin
3482
3483         Fix the Qt build again after the latest Image changes.
3484         Also make some of the methods implemented in ImageCG 
3485         crossplatform.
3486
3487         * platform/graphics/BitmapImage.h:
3488         * platform/graphics/Image.cpp:
3489         (WebCore::Image::fillWithSolidColor):
3490         (WebCore::calculatePatternScale):
3491         (WebCore::Image::drawTiled):
3492         * platform/graphics/Image.h:
3493         * platform/graphics/cg/ImageCG.cpp:
3494         (WebCore::BitmapImage::draw):
3495         * platform/graphics/qt/ImageQt.cpp:
3496         (WebCore::Image::loadPlatformResource):
3497         (WebCore::Image::drawPattern):
3498         (WebCore::BitmapImage::initPlatformData):
3499         (WebCore::BitmapImage::invalidatePlatformData):
3500         (WebCore::BitmapImage::draw):
3501         (WebCore::BitmapImage::drawPattern):
3502         * platform/qt/TemporaryLinkStubs.cpp:
3503
3504 2007-01-17  Darin Adler  <darin@apple.com>
3505
3506         - quick attempt to fix the Qt build
3507
3508         * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::drawTiled):
3509         Remove obsolete parameters from this stub.
3510
3511 2007-01-17  Eric Seidel  <eric@webkit.org>
3512
3513         Reviewed by rwlbuis.
3514
3515         Test: svg/custom/inner-svg-hit-test.svg
3516
3517         * rendering/RenderSVGContainer.cpp:
3518         (WebCore::RenderSVGContainer::nodeAtPoint): never allow containers to be hit.
3519
3520 2007-01-17  Lars Knoll <lars@trolltech.com>
3521
3522         Reviewed by Zack
3523
3524         Don't call receivedResponse twice for file: URLs.
3525         Never call back into the ResourceHandleClient once
3526         cancel() has been called on the ResourceHandle.
3527
3528         * WebCore.pro:
3529         * platform/network/qt/ResourceHandleManagerQt.cpp:
3530         (WebCore::ResourceHandleManager::cancel):
3531         (WebCore::ResourceHandleManager::receivedResponse):
3532         (WebCore::ResourceHandleManager::receivedData):
3533         (WebCore::ResourceHandleManager::receivedFinished):
3534         (WebCore::FileLoader::request):
3535         (WebCore::FileLoader::parseDataUrl):
3536         (WebCore::WebCoreHttp::scheduleNextRequest):
3537         * platform/network/qt/ResourceHandleManagerQt.h:
3538
3539 2007-01-17  Eric Seidel  <eric@webkit.org>
3540
3541         No review, build fix only.
3542
3543         * platform/graphics/cg/ImageCG.cpp: correct drawPatternCombined to drawPattern
3544         (WebCore::Image::drawPattern):
3545         (WebCore::Image::drawTiled):
3546
3547 2007-01-17  Eric Seidel  <eric@webkit.org>
3548
3549         Reviewed by mitz and rwlbuis.
3550         
3551         SVGs do not work as background images:
3552         http://bugs.webkit.org/show_bug.cgi?id=12096
3553
3554         Tests updated:
3555         - fast/images/svg-as-background.svg: now passes
3556         - fast/images/svg-as-tiled-background.svg: now passes
3557
3558         * platform/graphics/BitmapImage.h:
3559         (WebCore::BitmapImage::nativeImageForCurrentFrame):
3560         (WebCore::BitmapImage::mayFillWithSolidColor):
3561         (WebCore::BitmapImage::solidColor):
3562         * platform/graphics/Image.h:
3563         (WebCore::Image::mayFillWithSolidColor):
3564         (WebCore::Image::solidColor):
3565         (WebCore::Image::nativeImageForCurrentFrame):
3566         (WebCore::Image::startAnimation):
3567         * platform/graphics/cg/ImageCG.cpp:
3568         (WebCore::Image::drawPatternCallback):
3569         (WebCore::Image::drawPatternCombined):
3570         (WebCore::caculatePatternScale):
3571         (WebCore::Image::drawTiled):
3572         * platform/graphics/cg/PDFDocumentImage.cpp:
3573         * platform/graphics/cg/PDFDocumentImage.h:
3574         * platform/graphics/svg/SVGImage.cpp:
3575         (WebCore::SVGImage::nativeImageForCurrentFrame):
3576         * platform/graphics/svg/SVGImage.h:
3577
3578 2007-01-17  Rob Buis  <buis@kde.org>
3579
3580         Reviewed by Eric
3581
3582         Add proper condition for rx attribute negative check.
3583
3584         * ksvg2/svg/SVGRectElement.cpp:
3585         (WebCore::SVGRectElement::parseMappedAttribute):
3586
3587 2007-01-17  Lars Knoll <lars@trolltech.com>
3588
3589         Reviewed by Zack
3590
3591         change all notImplemented() macros to use qDebug
3592         instead of fprintf(stder, ...)
3593
3594         * loader/qt/DocumentLoaderQt.cpp:
3595         * loader/qt/FrameLoaderQt.cpp:
3596         * page/qt/EventHandlerQt.cpp:
3597         * page/qt/FrameQt.cpp:
3598         * platform/graphics/qt/GraphicsContextQt.cpp:
3599         * platform/graphics/qt/IconQt.cpp:
3600         * platform/network/qt/ResourceHandleManagerQt.cpp:
3601         * platform/network/qt/ResourceHandleQt.cpp:
3602         * platform/qt/CursorQt.cpp:
3603         * platform/qt/FileChooserQt.cpp:
3604         * platform/qt/MimeTypeRegistryQt.cpp:
3605         * platform/qt/PageQt.cpp: Removed.
3606         * platform/qt/PopupMenuQt.cpp:
3607         * platform/qt/ScrollViewQt.cpp:
3608         * platform/qt/TemporaryLinkStubs.cpp:
3609         * platform/qt/TextBoundaries.cpp:
3610         * platform/qt/WidgetQt.cpp:
3611
3612 2007-01-16  Brady Eidson  <beidson@apple.com>
3613
3614         Reviewed by Oliver
3615
3616         A few enhancements to the HTTP Auth architecture
3617
3618         * platform/network/ProtectionSpace.cpp:
3619         (WebCore::ProtectionSpace::isProxy):
3620         (WebCore::ProtectionSpace::receivesCredentialSecurely):
3621         * platform/network/ProtectionSpace.h:
3622
3623 2007-01-16  Alice Liu  <alice.liu@apple.com>
3624
3625         Reviewed by harrison.
3626
3627         Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
3628
3629         * WebCore.xcodeproj/project.pbxproj:
3630         * bridge/EditorClient.h:
3631         * editing/Editor.cpp:
3632         (WebCore::Editor::copy):
3633         (WebCore::Editor::didWriteSelectionToPasteboard):
3634         * editing/Editor.h:
3635         * platform/graphics/svg/SVGImageEmptyClients.h:
3636         (WebCore::SVGEmptyEditorClient::didWriteSelectionToPasteboard):
3637
3638 2007-01-16  Justin Garcia  <justin.garcia@apple.com>
3639
3640         Reviewed by harrison
3641         
3642         <rdar://problem/4747450>
3643         Gmail Editor: Caret doesn't always position itself after list marker
3644         <rdar://problem/4917055>
3645         GMail Editor: A hang can occur when attempting to apply list styling to selected indented text
3646
3647         * editing/TextIterator.cpp:
3648         (WebCore::TextIterator::rangeFromLocationAndLength): Use VisiblePositions
3649         to compute the end of a run for emitted '\n's, because it's often wrong
3650         in that case.
3651
3652 2007-01-16  Darin Adler  <darin@apple.com>
3653
3654         - quick lame attempt to get Qt compiling again
3655
3656         * platform/qt/ContextMenuQt.cpp: Removed show() function.
3657
3658 2007-01-17  Nicholas Shanks  <contact@nickshanks.com>
3659
3660         Reviewed by Darin.
3661
3662         * platform/network/ResourceRequest.h:
3663         (WebCore::ResourceRequest::setHTTPAccept): Correct argument name.
3664
3665 2007-01-16  Beth Dakin  <bdakin@apple.com>
3666
3667         Reviewed by Adam.
3668
3669         Get rid of show() and hide() since they don't do anything.
3670
3671         * page/ContextMenuController.cpp:
3672         (WebCore::ContextMenuController::handleContextMenuEvent):
3673         * platform/ContextMenu.h:
3674         * platform/mac/ContextMenuMac.mm:
3675
3676 2007-01-16  Lars Knoll <lars@trolltech.com>
3677
3678         Reviewed by Zack
3679
3680         Cleaned up the way we create native widgets. They are
3681         now not created in WebCore anymore, but in the new
3682         Qt API to WebKit.
3683
3684         Fix a compile issue in the ResourceHandleManager.
3685
3686         * WebCore.pro:
3687         * platform/ScrollView.h:
3688         * platform/Widget.h:
3689         (WebCore::ResourceHandleManager::cancel):
3690         * platform/qt/ScrollViewCanvasQt.cpp:
3691         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
3692         (WebCore::ScrollViewCanvasQt::paintEvent):
3693         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
3694         (WebCore::ScrollViewCanvasQt::mousePressEvent):
3695         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
3696         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
3697         * platform/qt/ScrollViewCanvasQt.h:
3698         * platform/qt/ScrollViewQt.cpp:
3699         (WebCore::ScrollView::ScrollView):
3700         (WebCore::ScrollView::setScrollArea):
3701         (WebCore::ScrollView::addChild):
3702         * platform/qt/WidgetQt.cpp:
3703         * platform/network/qt/ResourceHandleManagerQt.cpp:
3704
3705 2007-01-16  Lars Knoll <lars@trolltech.com>
3706
3707         Reviewed by Zack
3708
3709         Looks like ResourceHandle _has_ to do everything
3710         asynchronously if we don't want to run into
3711         lots of trouble in the loader.
3712
3713         Implement support data: URLs.
3714
3715         Remove some unused Qt only code in ResourceHandleClient.h
3716
3717         * platform/network/ResourceHandleClient.h:
3718         * platform/network/qt/ResourceHandleManagerQt.cpp:
3719         (WebCore::RequestQt::setURL):
3720         (WebCore::ResourceHandleManager::add):
3721         (WebCore::ResourceHandleManager::cancel):
3722         (WebCore::ResourceHandleManager::receivedFinished):
3723         (WebCore::LoaderThread::run):
3724         (WebCore::FileLoader::request):
3725         (WebCore::FileLoader::sendData):
3726         (WebCore::FileLoader::parseDataUrl):
3727         * platform/network/qt/ResourceHandleManagerQt.h:
3728
3729 2007-01-16  Eric Seidel  <eric@webkit.org>
3730
3731         Reviewed by mitz.
3732
3733         Refactor drawTiled implementations in preparation for combining them.
3734         Removed unused RoundTile code path.
3735
3736         * platform/graphics/cg/ImageCG.cpp:
3737         (WebCore::drawPattern):
3738         (WebCore::BitmapImage::drawTiled):
3739         (WebCore::caculatePatternScale):
3740
3741 2007-01-16  Darin Adler  <darin@apple.com>
3742
3743         Reviewed by Mark Rowe.
3744
3745         - removed unused field from loader
3746
3747         * loader/loader.cpp:
3748         (WebCore::Loader::numRequests):
3749         (WebCore::Loader::cancelRequests):
3750         * loader/loader.h:
3751
3752 2007-01-15  Rob Buis  <buis@kde.org>
3753
3754         Reviewed by Eric.
3755
3756         http://bugs.webkit.org/show_bug.cgi?id=12272
3757         SVG picture is clipped (edges not visible)
3758
3759         Expose css dpi constant and use it for svg, making
3760         1in amount to 96 pixels like for html.
3761
3762         * css/CSSPrimitiveValue.cpp:
3763         (WebCore::CSSPrimitiveValue::computeLengthFloat):
3764         (WebCore::scaleFactorForConversion):
3765         * css/csshelper.h:
3766         * ksvg2/svg/SVGLength.cpp:
3767         (WebCore::SVGLength::value):
3768         (WebCore::SVGLength::setValue):
3769         * ksvg2/svg/SVGLength.h:
3770
3771 2007-01-15  Brady Eidson  <beidson@apple.com>
3772
3773         Reviewed by Adam
3774         
3775         CFNet additions
3776
3777         * platform/network/AuthenticationChallenge.cpp:
3778         (WebCore::operator==):
3779         * platform/network/AuthenticationChallenge.h:
3780         (WebCore::AuthenticationChallenge::sourceHandle):
3781         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
3782         * platform/network/ResourceError.h:
3783         * platform/network/ResourceHandle.h:
3784         * platform/network/ResourceHandleInternal.h:
3785         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3786
3787 2007-01-15  Eric Seidel  <eric@webkit.org>
3788
3789         Reviewed by hyatt.
3790
3791         Don't map attributes in namespaces other than null to CSS properties.
3792         
3793         Test: svg/custom/attribute-namespace-check.svg
3794
3795         * ksvg2/svg/SVGStyledElement.cpp:
3796         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
3797
3798 2007-01-15  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
3799
3800         Reviewed by Darin.
3801
3802         - http://bugs.webkit.org/show_bug.cgi?id=11112
3803           add a drop shadow to the hand cursor used for links
3804
3805         * Resources/linkCursor.png: Added a drop shadow.
3806
3807 2007-01-15  Darin Adler  <darin@apple.com>
3808
3809         Reviewed by Adam.
3810
3811         - fix http://bugs.webkit.org/show_bug.cgi?id=12190
3812           REGRESSION: Placeholder text does not reflect dynamic updates
3813
3814         Test: fast/forms/placeholder-set-attribute.html
3815
3816         * html/HTMLTextFieldInnerElement.cpp:
3817         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
3818         Call onSearch on the element since I removed it from the renderer.
3819
3820         * rendering/RenderTextControl.h: Added explicit virtual keywords for overrides
3821         of virtual functions. Removed the unneeded onSearch function. Made the inheritance
3822         from PopupMenuClient be private, and made the overrides all private. Replaced the
3823         showPlaceholderIfNeeded and hidePlaceholderIfNeeded functions with updatePlaceholder.
3824         * rendering/RenderTextControl.cpp:
3825         (WebCore::RenderTextControl::createResultsButtonStyle): Added an assertion.
3826         (WebCore::RenderTextControl::updatePlaceholder): Added. Replaces the two
3827         functions, showPlaceholderIfNeeded and hidePlaceholderIfNeeded.
3828         (WebCore::RenderTextControl::updateFromElement): Added call to
3829         updatePlaceholder before updating the value. Also improved the structure
3830         of the function and corrected incorrect use of copy and replace.
3831         (WebCore::RenderTextControl::updateCancelButtonVisibility): Added an
3832         assertion and removed an unneeded local variable.
3833         (WebCore::RenderTextControl::subtreeHasChanged): Removed an unneeded
3834         null check and virtual function calls.
3835         (WebCore::RenderTextControl::forwardEvent): Replaced calls to the old
3836         functions with calls to updatePlaceholder.
3837         (WebCore::RenderTextControl::selectionChanged): Changed code to dispatch
3838         the select event directly -- I plan to remove the onSelect function, which
3839         was only called here.
3840         (WebCore::RenderTextControl::autosaveName): Removed too-specific cast and
3841         local variable.
3842         (WebCore::RenderTextControl::addSearchResult): Added assertion and changed
3843         variable name for clarity.
3844         (WebCore::RenderTextControl::valueChanged): Changed code to check for empty
3845         autosave name instead of null for consistency with other call sites that
3846         manage the autosave name. Also changed the code that dispatches an event
3847         to call onSearch on the input element so we don't need our own function.
3848
3849 2007-01-15  Eric Seidel  <eric@webkit.org>
3850
3851         Reviewed by hyatt.
3852
3853         Fix SVGStyledElement::parseMappedAttribute to only map SVG-allowed CSS properties
3854         (i.e. width is no longer mapped to CSS for SVG)
3855         Add SVGStyledElement::mapToEntry to allow RenderStyle-sharing
3856         http://bugs.webkit.org/show_bug.cgi?id=12060
3857
3858         * dom/MappedAttributeEntry.h:
3859         (WebCore::):
3860         * ksvg2/svg/SVGStyledElement.cpp:
3861         (WebCore::cssPropertyIdForName): new helper
3862         (WebCore::mapAttributeToCSSProperty): new helper
3863         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): new helper
3864         (WebCore::SVGStyledElement::mapToEntry): added.
3865         (WebCore::SVGStyledElement::parseMappedAttribute): use cssPropertyIdForSVGAttributeName
3866         * ksvg2/svg/SVGStyledElement.h:
3867
3868 2007-01-15  Eric Seidel  <eric@webkit.org>
3869
3870         Reviewed by bdash.
3871
3872         Update header guards to follow new style guidelines using new clean-header-guards script.
3873
3874         * bindings/js/JSHTMLElementWrapperFactory.h:
3875         * bindings/js/JSHTMLInputElementBase.h:
3876         * bindings/js/JSHTMLOptionElementConstructor.h:
3877         * bindings/js/JSSVGElementWrapperFactory.h:
3878         * bindings/js/JSSVGPODTypeWrapper.h:
3879         * bindings/js/JSXMLHttpRequest.h:
3880         * bindings/js/JSXSLTProcessor.h:
3881         * bindings/js/kjs_binding.h:
3882         * bindings/js/kjs_css.h:
3883         * bindings/js/kjs_dom.h:
3884         * bindings/js/kjs_domnode.h:
3885         * bindings/js/kjs_events.h:
3886         * bindings/js/kjs_html.h:
3887         * bindings/js/kjs_navigator.h:
3888         * bindings/js/kjs_proxy.h:
3889         * bindings/js/kjs_traversal.h:
3890         * bindings/js/kjs_window.h:
3891         * bridge/EditorClient.h:
3892         * bridge/History.h:
3893         * css/CSSStyleSheet.h:
3894         * css/CSSValue.h:
3895         * css/CSSValueList.h:
3896         * css/DashboardRegion.h:
3897         * css/FontFamilyValue.h:
3898         * css/FontValue.h:
3899         * css/MediaFeatureNames.h:
3900         * css/MediaList.h:
3901         * css/Pair.h:
3902         * css/RectImpl.h:
3903         * css/ShadowValue.h:
3904         * css/StyleBase.h:
3905         * css/StyleList.h:
3906         * css/StyleSheet.h:
3907         * css/StyleSheetList.h:
3908         * css/cssstyleselector.h:
3909         * dom/BeforeTextInsertedEvent.h:
3910         * dom/CDATASection.h:
3911         * dom/CharacterData.h:
3912         * dom/ChildNodeList.h:
3913         * dom/Comment.h:
3914         * dom/DOMImplementation.h:
3915         * dom/DocPtr.h:
3916         * dom/Document.h:
3917         * dom/DocumentFragment.h:
3918         * dom/DocumentMarker.h:
3919         * dom/DocumentType.h:
3920         * dom/EditingText.h:
3921         * dom/Entity.h:
3922         * dom/EntityReference.h:
3923         * dom/EventNames.h:
3924         * dom/EventTargetNode.h:
3925         * dom/NameNodeList.h:
3926         * dom/NamedNodeMap.h:
3927         * dom/Node.h:
3928         * dom/NodeList.h:
3929         * dom/Notation.h:
3930         * dom/Position.h:
3931         * dom/ProcessingInstruction.h:
3932         * dom/Range.h:
3933         * dom/StyleElement.h:
3934         * dom/Text.h:
3935         * editing/AppendNodeCommand.h:
3936         * editing/ApplyStyleCommand.h:
3937         * editing/BreakBlockquoteCommand.h:
3938         * editing/CommandByName.h:
3939         * editing/CompositeEditCommand.h:
3940         * editing/DeleteButton.h:
3941         * editing/DeleteButtonController.h:
3942         * editing/DeleteFromTextNodeCommand.h:
3943         * editing/DeleteSelectionCommand.h:
3944         * editing/InsertIntoTextNodeCommand.h:
3945         * editing/InsertLineBreakCommand.h:
3946         * editing/InsertNodeBeforeCommand.h:
3947         * editing/InsertParagraphSeparatorCommand.h:
3948         * editing/InsertTextCommand.h:
3949         * editing/JoinTextNodesCommand.h:
3950         * editing/MergeIdenticalElementsCommand.h:
3951         * editing/ModifySelectionListLevel.h:
3952         * editing/MoveSelectionCommand.h:
3953         * editing/RemoveCSSPropertyCommand.h:
3954         * editing/RemoveNodeAttributeCommand.h:
3955         * editing/RemoveNodeCommand.h:
3956         * editing/RemoveNodePreservingChildrenCommand.h:
3957         * editing/ReplaceSelectionCommand.h:
3958         * editing/SetNodeAttributeCommand.h:
3959         * editing/SplitElementCommand.h:
3960         * editing/SplitTextNodeCommand.h:
3961         * editing/SplitTextNodeContainingElementCommand.h:
3962         * editing/TextGranularity.h:
3963         * editing/TypingCommand.h:
3964         * editing/WrapContentsInDummySpanCommand.h:
3965         * history/BackForwardList.h:
3966         * history/HistoryItem.h:
3967         * history/HistoryItemTimer.h:
3968         * history/PageCache.h:
3969         * html/CanvasGradient.h:
3970         * html/CanvasPattern.h:
3971         * html/CanvasRenderingContext2D.h:
3972         * html/CanvasStyle.h:
3973         * html/FormDataList.h:
3974         * html/HTMLAnchorElement.h:
3975         * html/HTMLAppletElement.h:
3976         * html/HTMLAreaElement.h:
3977         * html/HTMLBRElement.h:
3978         * html/HTMLBaseElement.h:
3979         * html/HTMLBaseFontElement.h:
3980         * html/HTMLBlockquoteElement.h:
3981         * html/HTMLBodyElement.h:
3982         * html/HTMLButtonElement.h:
3983         * html/HTMLCanvasElement.h:
3984         * html/HTMLCollection.h:
3985         * html/HTMLDListElement.h:
3986         * html/HTMLDirectoryElement.h:
3987         * html/HTMLDivElement.h:
3988         * html/HTMLElement.h:
3989         * html/HTMLElementFactory.h:
3990         * html/HTMLEmbedElement.h:
3991         * html/HTMLFieldSetElement.h:
3992         * html/HTMLFontElement.h:
3993         * html/HTMLFormCollection.h:
3994         * html/HTMLFormElement.h:
3995         * html/HTMLFrameSetElement.h:
3996         * html/HTMLGenericFormElement.h:
3997         * html/HTMLHRElement.h:
3998         * html/HTMLHeadElement.h:
3999         * html/HTMLHeadingElement.h:
4000         * html/HTMLHtmlElement.h:
4001         * html/HTMLImageElement.h:
4002         * html/HTMLImageLoader.h:
4003         * html/HTMLInputElement.h:
4004         * html/HTMLIsIndexElement.h:
4005         * html/HTMLKeygenElement.h:
4006         * html/HTMLLIElement.h:
4007         * html/HTMLLabelElement.h:
4008         * html/HTMLLegendElement.h:
4009         * html/HTMLLinkElement.h:
4010         * html/HTMLMapElement.h:
4011         * html/HTMLMarqueeElement.h:
4012         * html/HTMLMenuElement.h:
4013         * html/HTMLMetaElement.h:
4014         * html/HTMLModElement.h:
4015         * html/HTMLNameCollection.h:
4016         * html/HTMLOListElement.h:
4017         * html/HTMLObjectElement.h:
4018         * html/HTMLOptGroupElement.h:
4019         * html/HTMLOptionElement.h:
4020         * html/HTMLOptionsCollection.h:
4021         * html/HTMLParagraphElement.h:
4022         * html/HTMLParamElement.h:
4023         * html/HTMLParser.h:
4024         * html/HTMLPlugInElement.h:
4025         * html/HTMLPreElement.h:
4026         * html/HTMLQuoteElement.h:
4027         * html/HTMLScriptElement.h:
4028         * html/HTMLSelectElement.h:
4029         * html/HTMLStyleElement.h:
4030         * html/HTMLTableCaptionElement.h:
4031         * html/HTMLTableCellElement.h:
4032         * html/HTMLTableColElement.h:
4033         * html/HTMLTableElement.h:
4034         * html/HTMLTablePartElement.h:
4035         * html/HTMLTableRowElement.h:
4036         * html/HTMLTableSectionElement.h:
4037         * html/HTMLTextAreaElement.h:
4038         * html/HTMLTextFieldInnerElement.h:
4039         * html/HTMLTitleElement.h:
4040         * html/HTMLUListElement.h:
4041         * ksvg2/css/SVGRenderStyle.h:
4042         * ksvg2/css/SVGRenderStyleDefs.h:
4043         * ksvg2/events/JSSVGLazyEventListener.h:
4044         * ksvg2/events/SVGZoomEvent.h:
4045         * ksvg2/misc/KCanvasRenderingStyle.h:
4046         * ksvg2/misc/PointerEventsHitRules.h:
4047         * ksvg2/misc/SVGDocumentExtensions.h:
4048         * ksvg2/misc/SVGImageLoader.h:
4049         * ksvg2/misc/TimeScheduler.h:
4050         * ksvg2/svg/GradientAttributes.h:
4051         * ksvg2/svg/LinearGradientAttributes.h:
4052         * ksvg2/svg/PatternAttributes.h:
4053         * ksvg2/svg/RadialGradientAttributes.h:
4054         * ksvg2/svg/SVGAElement.h:
4055         * ksvg2/svg/SVGAngle.h:
4056         * ksvg2/svg/SVGAnimateColorElement.h:
4057         * ksvg2/svg/SVGAnimateElement.h:
4058         * ksvg2/svg/SVGAnimateMotionElement.h:
4059         * ksvg2/svg/SVGAnimateTransformElement.h:
4060         * ksvg2/svg/SVGAnimatedPathData.h:
4061         * ksvg2/svg/SVGAnimatedPoints.h:
4062         * ksvg2/svg/SVGAnimatedTemplate.h:
4063         * ksvg2/svg/SVGAnimationElement.h:
4064         * ksvg2/svg/SVGCircleElement.h:
4065         * ksvg2/svg/SVGClipPathElement.h:
4066         * ksvg2/svg/SVGColor.h:
4067         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
4068         * ksvg2/svg/SVGCursorElement.h:
4069         * ksvg2/svg/SVGDOMImplementation.h:
4070         * ksvg2/svg/SVGDefsElement.h:
4071         * ksvg2/svg/SVGDescElement.h:
4072         * ksvg2/svg/SVGDocument.h:
4073         * ksvg2/svg/SVGElement.h:
4074         * ksvg2/svg/SVGElementInstance.h:
4075         * ksvg2/svg/SVGElementInstanceList.h:
4076         * ksvg2/svg/SVGEllipseElement.h:
4077         * ksvg2/svg/SVGExternalResourcesRequired.h:
4078         * ksvg2/svg/SVGFEBlendElement.h:
4079         * ksvg2/svg/SVGFEColorMatrixElement.h:
4080         * ksvg2/svg/SVGFEComponentTransferElement.h:
4081         * ksvg2/svg/SVGFECompositeElement.h:
4082         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
4083         * ksvg2/svg/SVGFEDisplacementMapElement.h:
4084         * ksvg2/svg/SVGFEDistantLightElement.h:
4085         * ksvg2/svg/SVGFEFloodElement.h:
4086         * ksvg2/svg/SVGFEFuncAElement.h:
4087         * ksvg2/svg/SVGFEFuncBElement.h:
4088         * ksvg2/svg/SVGFEFuncGElement.h:
4089         * ksvg2/svg/SVGFEFuncRElement.h:
4090         * ksvg2/svg/SVGFEGaussianBlurElement.h:
4091         * ksvg2/svg/SVGFEImageElement.h:
4092         * ksvg2/svg/SVGFELightElement.h:
4093         * ksvg2/svg/SVGFEMergeElement.h:
4094         * ksvg2/svg/SVGFEMergeNodeElement.h:
4095         * ksvg2/svg/SVGFEOffsetElement.h:
4096         * ksvg2/svg/SVGFEPointLightElement.h:
4097         * ksvg2/svg/SVGFESpecularLightingElement.h:
4098         * ksvg2/svg/SVGFESpotLightElement.h:
4099         * ksvg2/svg/SVGFETileElement.h:
4100         * ksvg2/svg/SVGFETurbulenceElement.h:
4101         * ksvg2/svg/SVGFilterElement.h:
4102         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
4103         * ksvg2/svg/SVGFitToViewBox.h:
4104         * ksvg2/svg/SVGForeignObjectElement.h:
4105         * ksvg2/svg/SVGGElement.h:
4106         * ksvg2/svg/SVGGradientElement.h:
4107         * ksvg2/svg/SVGImageElement.h:
4108         * ksvg2/svg/SVGLangSpace.h:
4109         * ksvg2/svg/SVGLength.h:
4110         * ksvg2/svg/SVGLengthList.h:
4111         * ksvg2/svg/SVGLineElement.h:
4112         * ksvg2/svg/SVGLinearGradientElement.h:
4113         * ksvg2/svg/SVGList.h:
4114         * ksvg2/svg/SVGListTraits.h:
4115         * ksvg2/svg/SVGLocatable.h:
4116         * ksvg2/svg/SVGMarkerElement.h:
4117         * ksvg2/svg/SVGMaskElement.h:
4118         * ksvg2/svg/SVGMetadataElement.h:
4119         * ksvg2/svg/SVGNumberList.h:
4120         * ksvg2/svg/SVGPaint.h:
4121         * ksvg2/svg/SVGParserUtilities.h:
4122         * ksvg2/svg/SVGPathElement.h:
4123         * ksvg2/svg/SVGPathSeg.h:
4124         * ksvg2/svg/SVGPathSegArc.h:
4125         * ksvg2/svg/SVGPathSegClosePath.h:
4126         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
4127         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
4128         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
4129         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
4130         * ksvg2/svg/SVGPathSegLineto.h:
4131         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
4132         * ksvg2/svg/SVGPathSegLinetoVertical.h:
4133         * ksvg2/svg/SVGPathSegList.h:
4134         * ksvg2/svg/SVGPathSegMoveto.h:
4135         * ksvg2/svg/SVGPatternElement.h:
4136         * ksvg2/svg/SVGPointList.h:
4137         * ksvg2/svg/SVGPolyElement.h:
4138         * ksvg2/svg/SVGPolygonElement.h:
4139         * ksvg2/svg/SVGPolylineElement.h:
4140         * ksvg2/svg/SVGPreserveAspectRatio.h:
4141         * ksvg2/svg/SVGRadialGradientElement.h:
4142         * ksvg2/svg/SVGRectElement.h:
4143         * ksvg2/svg/SVGRenderingIntent.h:
4144         * ksvg2/svg/SVGSVGElement.h:
4145         * ksvg2/svg/SVGScriptElement.h:
4146         * ksvg2/svg/SVGSetElement.h:
4147         * ksvg2/svg/SVGStopElement.h:
4148         * ksvg2/svg/SVGStringList.h:
4149         * ksvg2/svg/SVGStylable.h:
4150         * ksvg2/svg/SVGStyleElement.h:
4151         * ksvg2/svg/SVGStyledElement.h:
4152         * ksvg2/svg/SVGStyledLocatableElement.h:
4153         * ksvg2/svg/SVGStyledTransformableElement.h:
4154         * ksvg2/svg/SVGSwitchElement.h:
4155         * ksvg2/svg/SVGSymbolElement.h:
4156         * ksvg2/svg/SVGTRefElement.h:
4157         * ksvg2/svg/SVGTSpanElement.h:
4158         * ksvg2/svg/SVGTests.h:
4159         * ksvg2/svg/SVGTextContentElement.h:
4160         * ksvg2/svg/SVGTextElement.h:
4161         * ksvg2/svg/SVGTextPositioningElement.h:
4162         * ksvg2/svg/SVGTitleElement.h:
4163         * ksvg2/svg/SVGTransform.h:
4164         * ksvg2/svg/SVGTransformList.h:
4165         * ksvg2/svg/SVGTransformable.h: