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