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