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