1ea033bfefc6b95f372125f9884d277c6bfd970a
[WebKit-https.git] / WebCore / ChangeLog
1 2007-01-17  Alice Liu  <alice.liu@apple.com>
2
3         Reviewed by Harrison.
4
5         Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
6
7         Migration of some editing code from WebHTMView to WebCore::Editor
8         resulted in not calling pasteboardTypesForSelection, which Mail was
9         overriding for the special purpose of adding a type to the
10         pasteboard after WebKit did.  This patch adds 2 separate code paths
11         for Tiger and Leopard.  On Tiger we give in and call the WebView's
12         pasteboardTypesForSelection.  On Leopard we call a delegate after
13         the pasteboard types are set. 
14
15         * bridge/EditorClient.h:
16         * editing/Editor.h:
17         * platform/Pasteboard.h:
18         * platform/graphics/svg/SVGImageEmptyClients.h:
19         (WebCore::SVGEmptyEditorClient::didSetSelectionTypesForPasteboard):
20         (WebCore::SVGEmptyEditorClient::pasteboardTypesForSelection):
21         * platform/mac/PasteboardMac.mm:
22         (WebCore::Pasteboard::Pasteboard):
23         (WebCore::Pasteboard::clear):
24         (WebCore::Pasteboard::writeSelection):
25         (WebCore::Pasteboard::writeURL):
26         (WebCore::Pasteboard::plainText):
27         (WebCore::Pasteboard::documentFragment):
28
29 2007-01-17  John Sullivan  <sullivan@apple.com>
30
31         Reviewed by Darin
32
33         - WebCore part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
34           Replace All if the replacement string contains the search string
35         
36         * page/Frame.h:
37         * page/Frame.cpp:
38         (WebCore::Frame::findString):
39         new startInSelection parameter -- if true, search starts looking in selection; if false,
40         search starts looking after the selection
41         
42         * page/mac/WebCoreFrameBridge.h:
43         * page/mac/WebCoreFrameBridge.mm:
44         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:startInSelection:]):
45         new startInSelection parameter, passed through to Frame::findString()
46
47         * editing/JSEditor.cpp:
48         pass false for new findString parameter, to match old behavior
49
50 2007-01-17  Beth Dakin  <bdakin@apple.com>
51
52         Rubber stamped by Darin.
53
54         * rendering/HitTestResult.cpp: Just added a comment.
55
56 2007-01-17  Justin Garcia  <justin.garcia@apple.com>
57
58         Reviewed by darin
59         
60         <rdar://problem/4920488>
61         REGRESSION: A crash occurs at WebCore::Range::processContents () when removing formatting from selected text (that contains a link)
62
63         * dom/Range.cpp:
64         (WebCore::Range::commonAncestorContainer): Return null if the nodes
65         don't have a common ancestor.  As a side effect, the public 
66         commonAncestorContainer now sets an exception if the Range starts
67         in one document and ends in another, or starts or ends in a tree
68         that's been removed from the document.  The spec doesn't cover
69         this and there is no precedent in other browsers for this case because
70         they don't allow invalid Ranges (you can create one with WebCore
71         by removing a node that contains the start/end of a Range).
72         (WebCore::Range::compareBoundaryPoints): If the the two positions
73         are in nodes that have no common ancestor, return null.  This doesn't
74         change the behavior of the public compareBoundaryPoints: it already
75         throws an exception if the two positions are in nodes that don't have
76         a common ancestor.  This follows the spec.
77
78 2007-01-17  John Sullivan  <sullivan@apple.com>
79
80         The one word was typed by me, but only after debugging for a long time with Darin.
81
82         - fixed <rdar://problem/4912002> REGRESSION: Series of words marked as a single misspelled word
83
84         * editing/TextIterator.cpp:
85         (WebCore::WordAwareIterator::WordAwareIterator):
86         We were creating a TextIterator with the default kind, but WordAwareIterator is designed to work
87         in concert with CharacterIterator, so they need to use the same kind. CharacterIterator uses
88         kind RUNFINDER, so WordAwareIterator needs to do so also.
89
90 2007-01-17  Adele Peterson  <adele@apple.com>
91
92         Reviewed by Brady.
93
94         Fix for <rdar://problem/4900895> REGRESSION: onChange doesn't always fire for popups that have had value changed by JS
95
96         No test case since you need to open up the menu to fire onChange.
97
98         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex):
99           Keep track of m_lastOnChangeIndex even when we're not firing onChange.  Since
100           the selected index has changed, we still want the m_lastOnChangeIndex to be up to date when we compare
101           it later.  This matches our behavior in Safari 2.0.
102
103 2007-01-17  Adele Peterson  <adele@apple.com>
104
105         Reviewed by Darin and John.
106
107         - Fix for <rdar://problem/4816550> REGRESSION: autoscrolling doesn't work after double-click
108
109         * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): Set swallowEvent bool instead
110           of returning early for double and triple clicks.
111
112 2007-01-17  Darin Adler  <darin@apple.com>
113
114         Reviewed by Hyatt.
115
116         * rendering/RenderObject.h: Removed unused nextEditable and previousEditable.
117         * rendering/RenderObject.cpp: Ditto.
118
119 2007-01-17  Darin Adler  <darin@apple.com>
120
121         Reviewed by Maciej.
122
123         - fix http://bugs.webkit.org/show_bug.cgi?id=12278
124           <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
125
126         * WebCore.exp: Added HitTestResult::imageRect,
127         removed HitTestResult::boundingBox.
128
129         * rendering/HitTestResult.h:
130         * rendering/HitTestResult.cpp: (WebCore::HitTestResult::imageRect):
131         Added. Returns the content rectangle of the image.
132
133         * rendering/RenderObject.h:
134         * rendering/RenderObject.cpp:
135         (WebCore::RenderObject::absolutePosition): Made const.
136         (WebCore::RenderObject::contentBox): Added.
137         (WebCore::RenderObject::absoluteContentBox): Added.
138
139         * rendering/RenderBox.h:
140         * rendering/RenderBox.cpp:
141         (WebCore::RenderBox::absolutePosition): Made const.
142
143         * rendering/RenderTableCell.h:
144         * rendering/RenderTableCell.cpp:
145         (WebCore::RenderTableCell::absolutePosition): Made const.
146
147         * rendering/RenderView.h:
148         * rendering/RenderView.cpp:
149         (WebCore::RenderView::absolutePosition): Made const.
150
151 2007-01-17  Adele Peterson  <adele@apple.com>
152
153         Reviewed by Beth.
154
155         Fix for  http://bugs.webkit.org/show_bug.cgi?id=10139
156         <rdar://problem/4823028> REGRESSION: Reproducible crash when selecting a popup/button with ::selection pseudostyle
157
158         Test: fast/css/pseudostyle-anonymous-text.html
159
160         * rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle): Nil check the node.
161
162 2007-01-17  Adele Peterson  <adele@apple.com>
163
164         Reviewed by Anders and John.
165
166         Fix for http://bugs.webkit.org/show_bug.cgi?id=11278
167         <rdar://problem/4826875> REGRESSION: Popup width doesn't change to accommodate dynamic changes to options
168
169         Test: fast/forms/menulist-width-change.html
170
171         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
172           When the options change, call setNeedsLayoutAndMinMaxRecalc.
173
174 2007-01-16  Alexey Proskuryakov  <ap@webkit.org>
175
176         Reviewed by Maciej.
177
178         http://bugs.webkit.org/show_bug.cgi?id=12268
179         Give object prototypes their own names
180
181         * bindings/js/kjs_html.cpp: Changed the names of KJS:HTMLElement and KJS::HTMLElement to 
182         not match the names of their WebCore counterparts. The "DOM" prefix I gave them doesn't 
183         seem to carry much sense, but matches some other kjs_html object names.
184
185         * bindings/scripts/CodeGeneratorJS.pm: Append "Proto" to interface name for the prototype's ClassInfo.
186
187         * bindings/js/JSHTMLInputElementBase.cpp:
188         (WebCore::JSHTMLInputElementBasePrototypeFunction::callAsFunction):
189         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
190         * bindings/js/JSHTMLInputElementBase.h:
191         * bindings/js/JSXMLHttpRequest.cpp:
192         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
193         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
194         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
195         * bindings/js/JSXMLHttpRequest.h:
196         * bindings/js/JSXSLTProcessor.cpp:
197         (KJS::JSXSLTProcessor::JSXSLTProcessor):
198         (KJS::XSLTProcessorPrototypeFunction::callAsFunction):
199         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
200         * bindings/js/kjs_css.cpp:
201         (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
202         (KJS::DOMCSSStyleDeclarationPrototypeFunction::callAsFunction):
203         (KJS::DOMMediaList::DOMMediaList):
204         (KJS::KJS::DOMMediaListPrototypeFunction::callAsFunction):
205         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
206         (KJS::DOMCSSStyleSheetPrototypeFunction::callAsFunction):
207         (KJS::DOMCSSValue::DOMCSSValue):
208         (KJS::DOMCSSValuePrototypeFunction::callAsFunction):
209         * bindings/js/kjs_css.h:
210         * bindings/js/kjs_dom.cpp:
211         (KJS::DOMNode::DOMNode):
212         (KJS::DOMNodePrototypeFunction::callAsFunction):
213         (KJS::DOMEventTargetNode::DOMEventTargetNode):
214         (KJS::DOMEventTargetNodePrototypeFunction::callAsFunction):
215         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
216         (KJS::DOMNamedNodeMapPrototypeFunction::callAsFunction):
217         * bindings/js/kjs_dom.h:
218         * bindings/js/kjs_domnode.h:
219         * bindings/js/kjs_events.cpp:
220         (KJS::DOMEvent::DOMEvent):
221         (KJS::DOMEventPrototypeFunction::callAsFunction):
222         (KJS::Clipboard::Clipboard):
223         (KJS::ClipboardPrototypeFunction::callAsFunction):
224         * bindings/js/kjs_events.h:
225         * bindings/js/kjs_html.cpp:
226         (KJS::JSHTMLDocumentPrototypeFunction::callAsFunction):
227         (KJS::):
228         (KJS::JSHTMLDocument::JSHTMLDocument):
229         (KJS::JSHTMLElementPrototypeFunction::callAsFunction):
230         (KJS::JSHTMLElement::JSHTMLElement):
231         (KJS::JSHTMLCollection::JSHTMLCollection):
232         (KJS::JSHTMLCollectionPrototypeFunction::callAsFunction):
233         * bindings/js/kjs_html.h:
234         * bindings/js/kjs_navigator.cpp:
235         * bindings/js/kjs_traversal.cpp:
236         (KJS::DOMNodeFilter::DOMNodeFilter):
237         (KJS::DOMNodeFilterPrototypeFunction::callAsFunction):
238         * bindings/js/kjs_window.cpp:
239         (KJS::Window::clear):
240         Changed Proto to Prototype, and ProtoFunc to PrototypeFunction.
241
242 2007-01-17  Lars Knoll <lars@trolltech.com>
243
244         Reviewed by Zack and Darin
245
246         Fix the Qt build again after the latest Image changes.
247         Also make some of the methods implemented in ImageCG 
248         crossplatform.
249
250         * platform/graphics/BitmapImage.h:
251         * platform/graphics/Image.cpp:
252         (WebCore::Image::fillWithSolidColor):
253         (WebCore::calculatePatternScale):
254         (WebCore::Image::drawTiled):
255         * platform/graphics/Image.h:
256         * platform/graphics/cg/ImageCG.cpp:
257         (WebCore::BitmapImage::draw):
258         * platform/graphics/qt/ImageQt.cpp:
259         (WebCore::Image::loadPlatformResource):
260         (WebCore::Image::drawPattern):
261         (WebCore::BitmapImage::initPlatformData):
262         (WebCore::BitmapImage::invalidatePlatformData):
263         (WebCore::BitmapImage::draw):
264         (WebCore::BitmapImage::drawPattern):
265         * platform/qt/TemporaryLinkStubs.cpp:
266
267 2007-01-17  Darin Adler  <darin@apple.com>
268
269         - quick attempt to fix the Qt build
270
271         * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::drawTiled):
272         Remove obsolete parameters from this stub.
273
274 2007-01-17  Eric Seidel  <eric@webkit.org>
275
276         Reviewed by rwlbuis.
277
278         Test: svg/custom/inner-svg-hit-test.svg
279
280         * rendering/RenderSVGContainer.cpp:
281         (WebCore::RenderSVGContainer::nodeAtPoint): never allow containers to be hit.
282
283 2007-01-17  Lars Knoll <lars@trolltech.com>
284
285         Reviewed by Zack
286
287         Don't call receivedResponse twice for file: URLs.
288         Never call back into the ResourceHandleClient once
289         cancel() has been called on the ResourceHandle.
290
291         * WebCore.pro:
292         * platform/network/qt/ResourceHandleManagerQt.cpp:
293         (WebCore::ResourceHandleManager::cancel):
294         (WebCore::ResourceHandleManager::receivedResponse):
295         (WebCore::ResourceHandleManager::receivedData):
296         (WebCore::ResourceHandleManager::receivedFinished):
297         (WebCore::FileLoader::request):
298         (WebCore::FileLoader::parseDataUrl):
299         (WebCore::WebCoreHttp::scheduleNextRequest):
300         * platform/network/qt/ResourceHandleManagerQt.h:
301
302 2007-01-17  Eric Seidel  <eric@webkit.org>
303
304         No review, build fix only.
305
306         * platform/graphics/cg/ImageCG.cpp: correct drawPatternCombined to drawPattern
307         (WebCore::Image::drawPattern):
308         (WebCore::Image::drawTiled):
309
310 2007-01-17  Eric Seidel  <eric@webkit.org>
311
312         Reviewed by mitz and rwlbuis.
313         
314         SVGs do not work as background images:
315         http://bugs.webkit.org/show_bug.cgi?id=12096
316
317         Tests updated:
318         - fast/images/svg-as-background.svg: now passes
319         - fast/images/svg-as-tiled-background.svg: now passes
320
321         * platform/graphics/BitmapImage.h:
322         (WebCore::BitmapImage::nativeImageForCurrentFrame):
323         (WebCore::BitmapImage::mayFillWithSolidColor):
324         (WebCore::BitmapImage::solidColor):
325         * platform/graphics/Image.h:
326         (WebCore::Image::mayFillWithSolidColor):
327         (WebCore::Image::solidColor):
328         (WebCore::Image::nativeImageForCurrentFrame):
329         (WebCore::Image::startAnimation):
330         * platform/graphics/cg/ImageCG.cpp:
331         (WebCore::Image::drawPatternCallback):
332         (WebCore::Image::drawPatternCombined):
333         (WebCore::caculatePatternScale):
334         (WebCore::Image::drawTiled):
335         * platform/graphics/cg/PDFDocumentImage.cpp:
336         * platform/graphics/cg/PDFDocumentImage.h:
337         * platform/graphics/svg/SVGImage.cpp:
338         (WebCore::SVGImage::nativeImageForCurrentFrame):
339         * platform/graphics/svg/SVGImage.h:
340
341 2007-01-17  Rob Buis  <buis@kde.org>
342
343         Reviewed by Eric
344
345         Add proper condition for rx attribute negative check.
346
347         * ksvg2/svg/SVGRectElement.cpp:
348         (WebCore::SVGRectElement::parseMappedAttribute):
349
350 2007-01-17  Lars Knoll <lars@trolltech.com>
351
352         Reviewed by Zack
353
354         change all notImplemented() macros to use qDebug
355         instead of fprintf(stder, ...)
356
357         * loader/qt/DocumentLoaderQt.cpp:
358         * loader/qt/FrameLoaderQt.cpp:
359         * page/qt/EventHandlerQt.cpp:
360         * page/qt/FrameQt.cpp:
361         * platform/graphics/qt/GraphicsContextQt.cpp:
362         * platform/graphics/qt/IconQt.cpp:
363         * platform/network/qt/ResourceHandleManagerQt.cpp:
364         * platform/network/qt/ResourceHandleQt.cpp:
365         * platform/qt/CursorQt.cpp:
366         * platform/qt/FileChooserQt.cpp:
367         * platform/qt/MimeTypeRegistryQt.cpp:
368         * platform/qt/PageQt.cpp: Removed.
369         * platform/qt/PopupMenuQt.cpp:
370         * platform/qt/ScrollViewQt.cpp:
371         * platform/qt/TemporaryLinkStubs.cpp:
372         * platform/qt/TextBoundaries.cpp:
373         * platform/qt/WidgetQt.cpp:
374
375 2007-01-16  Brady Eidson  <beidson@apple.com>
376
377         Reviewed by Oliver
378
379         A few enhancements to the HTTP Auth architecture
380
381         * platform/network/ProtectionSpace.cpp:
382         (WebCore::ProtectionSpace::isProxy):
383         (WebCore::ProtectionSpace::receivesCredentialSecurely):
384         * platform/network/ProtectionSpace.h:
385
386 2007-01-16  Alice Liu  <alice.liu@apple.com>
387
388         Reviewed by harrison.
389
390         Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
391
392         * WebCore.xcodeproj/project.pbxproj:
393         * bridge/EditorClient.h:
394         * editing/Editor.cpp:
395         (WebCore::Editor::copy):
396         (WebCore::Editor::didWriteSelectionToPasteboard):
397         * editing/Editor.h:
398         * platform/graphics/svg/SVGImageEmptyClients.h:
399         (WebCore::SVGEmptyEditorClient::didWriteSelectionToPasteboard):
400
401 2007-01-16  Justin Garcia  <justin.garcia@apple.com>
402
403         Reviewed by harrison
404         
405         <rdar://problem/4747450>
406         Gmail Editor: Caret doesn't always position itself after list marker
407         <rdar://problem/4917055>
408         GMail Editor: A hang can occur when attempting to apply list styling to selected indented text
409
410         * editing/TextIterator.cpp:
411         (WebCore::TextIterator::rangeFromLocationAndLength): Use VisiblePositions
412         to compute the end of a run for emitted '\n's, because it's often wrong
413         in that case.
414
415 2007-01-16  Darin Adler  <darin@apple.com>
416
417         - quick lame attempt to get Qt compiling again
418
419         * platform/qt/ContextMenuQt.cpp: Removed show() function.
420
421 2007-01-17  Nicholas Shanks  <contact@nickshanks.com>
422
423         Reviewed by Darin.
424
425         * platform/network/ResourceRequest.h:
426         (WebCore::ResourceRequest::setHTTPAccept): Correct argument name.
427
428 2007-01-16  Beth Dakin  <bdakin@apple.com>
429
430         Reviewed by Adam.
431
432         Get rid of show() and hide() since they don't do anything.
433
434         * page/ContextMenuController.cpp:
435         (WebCore::ContextMenuController::handleContextMenuEvent):
436         * platform/ContextMenu.h:
437         * platform/mac/ContextMenuMac.mm:
438
439 2007-01-16  Lars Knoll <lars@trolltech.com>
440
441         Reviewed by Zack
442
443         Cleaned up the way we create native widgets. They are
444         now not created in WebCore anymore, but in the new
445         Qt API to WebKit.
446
447         Fix a compile issue in the ResourceHandleManager.
448
449         * WebCore.pro:
450         * platform/ScrollView.h:
451         * platform/Widget.h:
452         (WebCore::ResourceHandleManager::cancel):
453         * platform/qt/ScrollViewCanvasQt.cpp:
454         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
455         (WebCore::ScrollViewCanvasQt::paintEvent):
456         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
457         (WebCore::ScrollViewCanvasQt::mousePressEvent):
458         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
459         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
460         * platform/qt/ScrollViewCanvasQt.h:
461         * platform/qt/ScrollViewQt.cpp:
462         (WebCore::ScrollView::ScrollView):
463         (WebCore::ScrollView::setScrollArea):
464         (WebCore::ScrollView::addChild):
465         * platform/qt/WidgetQt.cpp:
466         * platform/network/qt/ResourceHandleManagerQt.cpp:
467
468 2007-01-16  Lars Knoll <lars@trolltech.com>
469
470         Reviewed by Zack
471
472         Looks like ResourceHandle _has_ to do everything
473         asynchronously if we don't want to run into
474         lots of trouble in the loader.
475
476         Implement support data: URLs.
477
478         Remove some unused Qt only code in ResourceHandleClient.h
479
480         * platform/network/ResourceHandleClient.h:
481         * platform/network/qt/ResourceHandleManagerQt.cpp:
482         (WebCore::RequestQt::setURL):
483         (WebCore::ResourceHandleManager::add):
484         (WebCore::ResourceHandleManager::cancel):
485         (WebCore::ResourceHandleManager::receivedFinished):
486         (WebCore::LoaderThread::run):
487         (WebCore::FileLoader::request):
488         (WebCore::FileLoader::sendData):
489         (WebCore::FileLoader::parseDataUrl):
490         * platform/network/qt/ResourceHandleManagerQt.h:
491
492 2007-01-16  Eric Seidel  <eric@webkit.org>
493
494         Reviewed by mitz.
495
496         Refactor drawTiled implementations in preparation for combining them.
497         Removed unused RoundTile code path.
498
499         * platform/graphics/cg/ImageCG.cpp:
500         (WebCore::drawPattern):
501         (WebCore::BitmapImage::drawTiled):
502         (WebCore::caculatePatternScale):
503
504 2007-01-16  Darin Adler  <darin@apple.com>
505
506         Reviewed by Mark Rowe.
507
508         - removed unused field from loader
509
510         * loader/loader.cpp:
511         (WebCore::Loader::numRequests):
512         (WebCore::Loader::cancelRequests):
513         * loader/loader.h:
514
515 2007-01-15  Rob Buis  <buis@kde.org>
516
517         Reviewed by Eric.
518
519         http://bugs.webkit.org/show_bug.cgi?id=12272
520         SVG picture is clipped (edges not visible)
521
522         Expose css dpi constant and use it for svg, making
523         1in amount to 96 pixels like for html.
524
525         * css/CSSPrimitiveValue.cpp:
526         (WebCore::CSSPrimitiveValue::computeLengthFloat):
527         (WebCore::scaleFactorForConversion):
528         * css/csshelper.h:
529         * ksvg2/svg/SVGLength.cpp:
530         (WebCore::SVGLength::value):
531         (WebCore::SVGLength::setValue):
532         * ksvg2/svg/SVGLength.h:
533
534 2007-01-15  Brady Eidson  <beidson@apple.com>
535
536         Reviewed by Adam
537         
538         CFNet additions
539
540         * platform/network/AuthenticationChallenge.cpp:
541         (WebCore::operator==):
542         * platform/network/AuthenticationChallenge.h:
543         (WebCore::AuthenticationChallenge::sourceHandle):
544         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
545         * platform/network/ResourceError.h:
546         * platform/network/ResourceHandle.h:
547         * platform/network/ResourceHandleInternal.h:
548         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
549
550 2007-01-15  Eric Seidel  <eric@webkit.org>
551
552         Reviewed by hyatt.
553
554         Don't map attributes in namespaces other than null to CSS properties.
555         
556         Test: svg/custom/attribute-namespace-check.svg
557
558         * ksvg2/svg/SVGStyledElement.cpp:
559         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
560
561 2007-01-15  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
562
563         Reviewed by Darin.
564
565         - http://bugs.webkit.org/show_bug.cgi?id=11112
566           add a drop shadow to the hand cursor used for links
567
568         * Resources/linkCursor.png: Added a drop shadow.
569
570 2007-01-15  Darin Adler  <darin@apple.com>
571
572         Reviewed by Adam.
573
574         - fix http://bugs.webkit.org/show_bug.cgi?id=12190
575           REGRESSION: Placeholder text does not reflect dynamic updates
576
577         Test: fast/forms/placeholder-set-attribute.html
578
579         * html/HTMLTextFieldInnerElement.cpp:
580         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
581         Call onSearch on the element since I removed it from the renderer.
582
583         * rendering/RenderTextControl.h: Added explicit virtual keywords for overrides
584         of virtual functions. Removed the unneeded onSearch function. Made the inheritance
585         from PopupMenuClient be private, and made the overrides all private. Replaced the
586         showPlaceholderIfNeeded and hidePlaceholderIfNeeded functions with updatePlaceholder.
587         * rendering/RenderTextControl.cpp:
588         (WebCore::RenderTextControl::createResultsButtonStyle): Added an assertion.
589         (WebCore::RenderTextControl::updatePlaceholder): Added. Replaces the two
590         functions, showPlaceholderIfNeeded and hidePlaceholderIfNeeded.
591         (WebCore::RenderTextControl::updateFromElement): Added call to
592         updatePlaceholder before updating the value. Also improved the structure
593         of the function and corrected incorrect use of copy and replace.
594         (WebCore::RenderTextControl::updateCancelButtonVisibility): Added an
595         assertion and removed an unneeded local variable.
596         (WebCore::RenderTextControl::subtreeHasChanged): Removed an unneeded
597         null check and virtual function calls.
598         (WebCore::RenderTextControl::forwardEvent): Replaced calls to the old
599         functions with calls to updatePlaceholder.
600         (WebCore::RenderTextControl::selectionChanged): Changed code to dispatch
601         the select event directly -- I plan to remove the onSelect function, which
602         was only called here.
603         (WebCore::RenderTextControl::autosaveName): Removed too-specific cast and
604         local variable.
605         (WebCore::RenderTextControl::addSearchResult): Added assertion and changed
606         variable name for clarity.
607         (WebCore::RenderTextControl::valueChanged): Changed code to check for empty
608         autosave name instead of null for consistency with other call sites that
609         manage the autosave name. Also changed the code that dispatches an event
610         to call onSearch on the input element so we don't need our own function.
611
612 2007-01-15  Eric Seidel  <eric@webkit.org>
613
614         Reviewed by hyatt.
615
616         Fix SVGStyledElement::parseMappedAttribute to only map SVG-allowed CSS properties
617         (i.e. width is no longer mapped to CSS for SVG)
618         Add SVGStyledElement::mapToEntry to allow RenderStyle-sharing
619         http://bugs.webkit.org/show_bug.cgi?id=12060
620
621         * dom/MappedAttributeEntry.h:
622         (WebCore::):
623         * ksvg2/svg/SVGStyledElement.cpp:
624         (WebCore::cssPropertyIdForName): new helper
625         (WebCore::mapAttributeToCSSProperty): new helper
626         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): new helper
627         (WebCore::SVGStyledElement::mapToEntry): added.
628         (WebCore::SVGStyledElement::parseMappedAttribute): use cssPropertyIdForSVGAttributeName
629         * ksvg2/svg/SVGStyledElement.h:
630
631 2007-01-15  Eric Seidel  <eric@webkit.org>
632
633         Reviewed by bdash.
634
635         Update header guards to follow new style guidelines using new clean-header-guards script.
636
637         * bindings/js/JSHTMLElementWrapperFactory.h:
638         * bindings/js/JSHTMLInputElementBase.h:
639         * bindings/js/JSHTMLOptionElementConstructor.h:
640         * bindings/js/JSSVGElementWrapperFactory.h:
641         * bindings/js/JSSVGPODTypeWrapper.h:
642         * bindings/js/JSXMLHttpRequest.h:
643         * bindings/js/JSXSLTProcessor.h:
644         * bindings/js/kjs_binding.h:
645         * bindings/js/kjs_css.h:
646         * bindings/js/kjs_dom.h:
647         * bindings/js/kjs_domnode.h:
648         * bindings/js/kjs_events.h:
649         * bindings/js/kjs_html.h:
650         * bindings/js/kjs_navigator.h:
651         * bindings/js/kjs_proxy.h:
652         * bindings/js/kjs_traversal.h:
653         * bindings/js/kjs_window.h:
654         * bridge/EditorClient.h:
655         * bridge/History.h:
656         * css/CSSStyleSheet.h:
657         * css/CSSValue.h:
658         * css/CSSValueList.h:
659         * css/DashboardRegion.h:
660         * css/FontFamilyValue.h:
661         * css/FontValue.h:
662         * css/MediaFeatureNames.h:
663         * css/MediaList.h:
664         * css/Pair.h:
665         * css/RectImpl.h:
666         * css/ShadowValue.h:
667         * css/StyleBase.h:
668         * css/StyleList.h:
669         * css/StyleSheet.h:
670         * css/StyleSheetList.h:
671         * css/cssstyleselector.h:
672         * dom/BeforeTextInsertedEvent.h:
673         * dom/CDATASection.h:
674         * dom/CharacterData.h:
675         * dom/ChildNodeList.h:
676         * dom/Comment.h:
677         * dom/DOMImplementation.h:
678         * dom/DocPtr.h:
679         * dom/Document.h:
680         * dom/DocumentFragment.h:
681         * dom/DocumentMarker.h:
682         * dom/DocumentType.h:
683         * dom/EditingText.h:
684         * dom/Entity.h:
685         * dom/EntityReference.h:
686         * dom/EventNames.h:
687         * dom/EventTargetNode.h:
688         * dom/NameNodeList.h:
689         * dom/NamedNodeMap.h:
690         * dom/Node.h:
691         * dom/NodeList.h:
692         * dom/Notation.h:
693         * dom/Position.h:
694         * dom/ProcessingInstruction.h:
695         * dom/Range.h:
696         * dom/StyleElement.h:
697         * dom/Text.h:
698         * editing/AppendNodeCommand.h:
699         * editing/ApplyStyleCommand.h:
700         * editing/BreakBlockquoteCommand.h:
701         * editing/CommandByName.h:
702         * editing/CompositeEditCommand.h:
703         * editing/DeleteButton.h:
704         * editing/DeleteButtonController.h:
705         * editing/DeleteFromTextNodeCommand.h:
706         * editing/DeleteSelectionCommand.h:
707         * editing/InsertIntoTextNodeCommand.h:
708         * editing/InsertLineBreakCommand.h:
709         * editing/InsertNodeBeforeCommand.h:
710         * editing/InsertParagraphSeparatorCommand.h:
711         * editing/InsertTextCommand.h:
712         * editing/JoinTextNodesCommand.h:
713         * editing/MergeIdenticalElementsCommand.h:
714         * editing/ModifySelectionListLevel.h:
715         * editing/MoveSelectionCommand.h:
716         * editing/RemoveCSSPropertyCommand.h:
717         * editing/RemoveNodeAttributeCommand.h:
718         * editing/RemoveNodeCommand.h:
719         * editing/RemoveNodePreservingChildrenCommand.h:
720         * editing/ReplaceSelectionCommand.h:
721         * editing/SetNodeAttributeCommand.h:
722         * editing/SplitElementCommand.h:
723         * editing/SplitTextNodeCommand.h:
724         * editing/SplitTextNodeContainingElementCommand.h:
725         * editing/TextGranularity.h:
726         * editing/TypingCommand.h:
727         * editing/WrapContentsInDummySpanCommand.h:
728         * history/BackForwardList.h:
729         * history/HistoryItem.h:
730         * history/HistoryItemTimer.h:
731         * history/PageCache.h:
732         * html/CanvasGradient.h:
733         * html/CanvasPattern.h:
734         * html/CanvasRenderingContext2D.h:
735         * html/CanvasStyle.h:
736         * html/FormDataList.h:
737         * html/HTMLAnchorElement.h:
738         * html/HTMLAppletElement.h:
739         * html/HTMLAreaElement.h:
740         * html/HTMLBRElement.h:
741         * html/HTMLBaseElement.h:
742         * html/HTMLBaseFontElement.h:
743         * html/HTMLBlockquoteElement.h:
744         * html/HTMLBodyElement.h:
745         * html/HTMLButtonElement.h:
746         * html/HTMLCanvasElement.h:
747         * html/HTMLCollection.h:
748         * html/HTMLDListElement.h:
749         * html/HTMLDirectoryElement.h:
750         * html/HTMLDivElement.h:
751         * html/HTMLElement.h:
752         * html/HTMLElementFactory.h:
753         * html/HTMLEmbedElement.h:
754         * html/HTMLFieldSetElement.h:
755         * html/HTMLFontElement.h:
756         * html/HTMLFormCollection.h:
757         * html/HTMLFormElement.h:
758         * html/HTMLFrameSetElement.h:
759         * html/HTMLGenericFormElement.h:
760         * html/HTMLHRElement.h:
761         * html/HTMLHeadElement.h:
762         * html/HTMLHeadingElement.h:
763         * html/HTMLHtmlElement.h:
764         * html/HTMLImageElement.h:
765         * html/HTMLImageLoader.h:
766         * html/HTMLInputElement.h:
767         * html/HTMLIsIndexElement.h:
768         * html/HTMLKeygenElement.h:
769         * html/HTMLLIElement.h:
770         * html/HTMLLabelElement.h:
771         * html/HTMLLegendElement.h:
772         * html/HTMLLinkElement.h:
773         * html/HTMLMapElement.h:
774         * html/HTMLMarqueeElement.h:
775         * html/HTMLMenuElement.h:
776         * html/HTMLMetaElement.h:
777         * html/HTMLModElement.h:
778         * html/HTMLNameCollection.h:
779         * html/HTMLOListElement.h:
780         * html/HTMLObjectElement.h:
781         * html/HTMLOptGroupElement.h:
782         * html/HTMLOptionElement.h:
783         * html/HTMLOptionsCollection.h:
784         * html/HTMLParagraphElement.h:
785         * html/HTMLParamElement.h:
786         * html/HTMLParser.h:
787         * html/HTMLPlugInElement.h:
788         * html/HTMLPreElement.h:
789         * html/HTMLQuoteElement.h:
790         * html/HTMLScriptElement.h:
791         * html/HTMLSelectElement.h:
792         * html/HTMLStyleElement.h:
793         * html/HTMLTableCaptionElement.h:
794         * html/HTMLTableCellElement.h:
795         * html/HTMLTableColElement.h:
796         * html/HTMLTableElement.h:
797         * html/HTMLTablePartElement.h:
798         * html/HTMLTableRowElement.h:
799         * html/HTMLTableSectionElement.h:
800         * html/HTMLTextAreaElement.h:
801         * html/HTMLTextFieldInnerElement.h:
802         * html/HTMLTitleElement.h:
803         * html/HTMLUListElement.h:
804         * ksvg2/css/SVGRenderStyle.h:
805         * ksvg2/css/SVGRenderStyleDefs.h:
806         * ksvg2/events/JSSVGLazyEventListener.h:
807         * ksvg2/events/SVGZoomEvent.h:
808         * ksvg2/misc/KCanvasRenderingStyle.h:
809         * ksvg2/misc/PointerEventsHitRules.h:
810         * ksvg2/misc/SVGDocumentExtensions.h:
811         * ksvg2/misc/SVGImageLoader.h:
812         * ksvg2/misc/TimeScheduler.h:
813         * ksvg2/svg/GradientAttributes.h:
814         * ksvg2/svg/LinearGradientAttributes.h:
815         * ksvg2/svg/PatternAttributes.h:
816         * ksvg2/svg/RadialGradientAttributes.h:
817         * ksvg2/svg/SVGAElement.h:
818         * ksvg2/svg/SVGAngle.h:
819         * ksvg2/svg/SVGAnimateColorElement.h:
820         * ksvg2/svg/SVGAnimateElement.h:
821         * ksvg2/svg/SVGAnimateMotionElement.h:
822         * ksvg2/svg/SVGAnimateTransformElement.h:
823         * ksvg2/svg/SVGAnimatedPathData.h:
824         * ksvg2/svg/SVGAnimatedPoints.h:
825         * ksvg2/svg/SVGAnimatedTemplate.h:
826         * ksvg2/svg/SVGAnimationElement.h:
827         * ksvg2/svg/SVGCircleElement.h:
828         * ksvg2/svg/SVGClipPathElement.h:
829         * ksvg2/svg/SVGColor.h:
830         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
831         * ksvg2/svg/SVGCursorElement.h:
832         * ksvg2/svg/SVGDOMImplementation.h:
833         * ksvg2/svg/SVGDefsElement.h:
834         * ksvg2/svg/SVGDescElement.h:
835         * ksvg2/svg/SVGDocument.h:
836         * ksvg2/svg/SVGElement.h:
837         * ksvg2/svg/SVGElementInstance.h:
838         * ksvg2/svg/SVGElementInstanceList.h:
839         * ksvg2/svg/SVGEllipseElement.h:
840         * ksvg2/svg/SVGExternalResourcesRequired.h:
841         * ksvg2/svg/SVGFEBlendElement.h:
842         * ksvg2/svg/SVGFEColorMatrixElement.h:
843         * ksvg2/svg/SVGFEComponentTransferElement.h:
844         * ksvg2/svg/SVGFECompositeElement.h:
845         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
846         * ksvg2/svg/SVGFEDisplacementMapElement.h:
847         * ksvg2/svg/SVGFEDistantLightElement.h:
848         * ksvg2/svg/SVGFEFloodElement.h:
849         * ksvg2/svg/SVGFEFuncAElement.h:
850         * ksvg2/svg/SVGFEFuncBElement.h:
851         * ksvg2/svg/SVGFEFuncGElement.h:
852         * ksvg2/svg/SVGFEFuncRElement.h:
853         * ksvg2/svg/SVGFEGaussianBlurElement.h:
854         * ksvg2/svg/SVGFEImageElement.h:
855         * ksvg2/svg/SVGFELightElement.h:
856         * ksvg2/svg/SVGFEMergeElement.h:
857         * ksvg2/svg/SVGFEMergeNodeElement.h:
858         * ksvg2/svg/SVGFEOffsetElement.h:
859         * ksvg2/svg/SVGFEPointLightElement.h:
860         * ksvg2/svg/SVGFESpecularLightingElement.h:
861         * ksvg2/svg/SVGFESpotLightElement.h:
862         * ksvg2/svg/SVGFETileElement.h:
863         * ksvg2/svg/SVGFETurbulenceElement.h:
864         * ksvg2/svg/SVGFilterElement.h:
865         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
866         * ksvg2/svg/SVGFitToViewBox.h:
867         * ksvg2/svg/SVGForeignObjectElement.h:
868         * ksvg2/svg/SVGGElement.h:
869         * ksvg2/svg/SVGGradientElement.h:
870         * ksvg2/svg/SVGImageElement.h:
871         * ksvg2/svg/SVGLangSpace.h:
872         * ksvg2/svg/SVGLength.h:
873         * ksvg2/svg/SVGLengthList.h:
874         * ksvg2/svg/SVGLineElement.h:
875         * ksvg2/svg/SVGLinearGradientElement.h:
876         * ksvg2/svg/SVGList.h:
877         * ksvg2/svg/SVGListTraits.h:
878         * ksvg2/svg/SVGLocatable.h:
879         * ksvg2/svg/SVGMarkerElement.h:
880         * ksvg2/svg/SVGMaskElement.h:
881         * ksvg2/svg/SVGMetadataElement.h:
882         * ksvg2/svg/SVGNumberList.h:
883         * ksvg2/svg/SVGPaint.h:
884         * ksvg2/svg/SVGParserUtilities.h:
885         * ksvg2/svg/SVGPathElement.h:
886         * ksvg2/svg/SVGPathSeg.h:
887         * ksvg2/svg/SVGPathSegArc.h:
888         * ksvg2/svg/SVGPathSegClosePath.h:
889         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
890         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
891         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
892         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
893         * ksvg2/svg/SVGPathSegLineto.h:
894         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
895         * ksvg2/svg/SVGPathSegLinetoVertical.h:
896         * ksvg2/svg/SVGPathSegList.h:
897         * ksvg2/svg/SVGPathSegMoveto.h:
898         * ksvg2/svg/SVGPatternElement.h:
899         * ksvg2/svg/SVGPointList.h:
900         * ksvg2/svg/SVGPolyElement.h:
901         * ksvg2/svg/SVGPolygonElement.h:
902         * ksvg2/svg/SVGPolylineElement.h:
903         * ksvg2/svg/SVGPreserveAspectRatio.h:
904         * ksvg2/svg/SVGRadialGradientElement.h:
905         * ksvg2/svg/SVGRectElement.h:
906         * ksvg2/svg/SVGRenderingIntent.h:
907         * ksvg2/svg/SVGSVGElement.h:
908         * ksvg2/svg/SVGScriptElement.h:
909         * ksvg2/svg/SVGSetElement.h:
910         * ksvg2/svg/SVGStopElement.h:
911         * ksvg2/svg/SVGStringList.h:
912         * ksvg2/svg/SVGStylable.h:
913         * ksvg2/svg/SVGStyleElement.h:
914         * ksvg2/svg/SVGStyledElement.h:
915         * ksvg2/svg/SVGStyledLocatableElement.h:
916         * ksvg2/svg/SVGStyledTransformableElement.h:
917         * ksvg2/svg/SVGSwitchElement.h:
918         * ksvg2/svg/SVGSymbolElement.h:
919         * ksvg2/svg/SVGTRefElement.h:
920         * ksvg2/svg/SVGTSpanElement.h:
921         * ksvg2/svg/SVGTests.h:
922         * ksvg2/svg/SVGTextContentElement.h:
923         * ksvg2/svg/SVGTextElement.h:
924         * ksvg2/svg/SVGTextPositioningElement.h:
925         * ksvg2/svg/SVGTitleElement.h:
926         * ksvg2/svg/SVGTransform.h:
927         * ksvg2/svg/SVGTransformList.h:
928         * ksvg2/svg/SVGTransformable.h:
929         * ksvg2/svg/SVGURIReference.h:
930         * ksvg2/svg/SVGUnitTypes.h:
931         * ksvg2/svg/SVGUseElement.h:
932         * ksvg2/svg/SVGViewElement.h:
933         * ksvg2/svg/SVGZoomAndPan.h:
934         * loader/CachedCSSStyleSheet.h:
935         * loader/CachedImage.h:
936         * loader/CachedXSLStyleSheet.h:
937         * loader/DocumentLoader.h:
938         * loader/Request.h:
939         * loader/SubresourceLoader.h:
940         * loader/icon/IconDataCache.h:
941         * loader/icon/IconDatabase.h:
942         * loader/icon/IconLoader.h:
943         * loader/icon/SQLDatabase.h:
944         * loader/icon/SQLStatement.h:
945         * loader/icon/SQLTransaction.h:
946         * page/Frame.h:
947         * page/FrameLoadRequest.h:
948         * page/FrameTree.h:
949         * page/FrameView.h:
950         * page/PageState.h:
951         * page/Plugin.h:
952         * page/qt/FrameQt.h:
953         * page/qt/FrameQtClient.h:
954         * platform/Arena.h:
955         * platform/ArrayImpl.h:
956         * platform/Cursor.h:
957         * platform/DeprecatedArray.h:
958         * platform/DeprecatedCString.h:
959         * platform/FileChooser.h:
960         * platform/Font.h:
961         * platform/FontCache.h:
962         * platform/FontData.h:
963         * platform/FontDescription.h:
964         * platform/FontFamily.h:
965         * platform/GlyphBuffer.h:
966         * platform/GlyphMap.h:
967         * platform/GlyphWidthMap.h:
968         * platform/Logging.h:
969         * platform/Pasteboard.h:
970         * platform/PlatformString.h:
971         * platform/PlugInInfoStore.h:
972         * platform/PopupMenu.h:
973         * platform/PopupMenuClient.h:
974         * platform/ScrollBar.h:
975         * platform/ScrollView.h:
976         * platform/SearchPopupMenu.h:
977         * platform/Shared.h:
978         * platform/Sound.h:
979         * platform/SystemTime.h:
980         * platform/Timer.h:
981         * platform/Widget.h:
982         * platform/cf/RetainPtr.h:
983         * platform/gdk/ChromeClientGdk.h:
984         * platform/gdk/FontPlatformData.h:
985         * platform/gdk/FrameGdk.h:
986         * platform/gdk/KeyboardCodes.h:
987         * platform/gdk/RenderPopupMenuGdk.h:
988         * platform/gdk/RenderThemeGdk.h:
989         * platform/graphics/BitmapImage.h:
990         * platform/graphics/Color.h:
991         * platform/graphics/FloatPoint.h:
992         * platform/graphics/FloatPoint3D.h:
993         * platform/graphics/FloatRect.h:
994         * platform/graphics/Icon.h:
995         * platform/graphics/Image.h:
996         * platform/graphics/ImageAnimationObserver.h:
997         * platform/graphics/ImageBuffer.h:
998         * platform/graphics/ImageSource.h:
999         * platform/graphics/IntPoint.h:
1000         * platform/graphics/IntRect.h:
1001         * platform/graphics/IntSize.h:
1002         * platform/graphics/IntSizeHash.h:
1003         * platform/graphics/PathTraversalState.h:
1004         * platform/graphics/Pen.h:
1005         * platform/graphics/qt/ImageDecoderQt.h:
1006         * platform/graphics/svg/SVGImage.h:
1007         * platform/graphics/svg/SVGImageEmptyClients.h:
1008         * platform/graphics/svg/SVGPaintServer.h:
1009         * platform/graphics/svg/SVGPaintServerGradient.h:
1010         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
1011         * platform/graphics/svg/SVGPaintServerPattern.h:
1012         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
1013         * platform/graphics/svg/SVGPaintServerSolid.h:
1014         * platform/graphics/svg/SVGResource.h:
1015         * platform/graphics/svg/SVGResourceClipper.h:
1016         * platform/graphics/svg/SVGResourceFilter.h:
1017         * platform/graphics/svg/SVGResourceMarker.h:
1018         * platform/graphics/svg/SVGResourceMasker.h:
1019         * platform/graphics/svg/cg/CgSupport.h:
1020         * platform/graphics/svg/filters/SVGDistantLightSource.h:
1021         * platform/graphics/svg/filters/SVGFEBlend.h:
1022         * platform/graphics/svg/filters/SVGFEColorMatrix.h:
1023         * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
1024         * platform/graphics/svg/filters/SVGFEComposite.h:
1025         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
1026         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
1027         * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
1028         * platform/graphics/svg/filters/SVGFEFlood.h:
1029         * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
1030         * platform/graphics/svg/filters/SVGFEImage.h:
1031         * platform/graphics/svg/filters/SVGFEMerge.h:
1032         * platform/graphics/svg/filters/SVGFEMorphology.h:
1033         * platform/graphics/svg/filters/SVGFEOffset.h:
1034         * platform/graphics/svg/filters/SVGFESpecularLighting.h:
1035         * platform/graphics/svg/filters/SVGFETile.h:
1036         * platform/graphics/svg/filters/SVGFETurbulence.h:
1037         * platform/graphics/svg/filters/SVGFilterEffect.h:
1038         * platform/graphics/svg/filters/SVGLightSource.h:
1039         * platform/graphics/svg/filters/SVGPointLightSource.h:
1040         * platform/graphics/svg/filters/SVGSpotLightSource.h:
1041         * platform/mac/FontPlatformData.h:
1042         * platform/mac/PlatformScrollBar.h:
1043         * platform/network/AuthenticationChallenge.h:
1044         * platform/network/Credential.h:
1045         * platform/network/HTTPHeaderMap.h:
1046         * platform/network/ProtectionSpace.h:
1047         * platform/network/ResourceError.h:
1048         * platform/network/ResourceRequest.h:
1049         * platform/network/ResourceResponse.h:
1050         * platform/network/cf/FormDataStreamCFNet.h:
1051         * platform/network/cf/ResourceRequestCFNet.h:
1052         * platform/network/cf/ResourceResponseCFNet.h:
1053         * platform/network/gdk/ResourceHandleManager.h:
1054         * platform/network/mac/AuthenticationMac.h:
1055         * platform/network/mac/FormDataStreamMac.h:
1056         * platform/network/qt/ResourceHandleManagerKDE.h:
1057         * platform/network/qt/ResourceHandleManagerQt.h:
1058         * platform/network/win/ResourceHandleWin.h:
1059         * platform/qt/FontPlatformData.h:
1060         * platform/qt/KeyboardCodes.h:
1061         * platform/qt/PlatformScrollBar.h:
1062         * platform/qt/ScrollViewCanvasQt.h:
1063         * platform/qt/SharedTimerQt.h:
1064         * platform/win/FontPlatformData.h:
1065         * platform/win/PlatformScrollBar.h:
1066         * rendering/AutoTableLayout.h:
1067         * rendering/HitTestRequest.h:
1068         * rendering/HitTestResult.h:
1069         * rendering/InlineBox.h:
1070         * rendering/InlineFlowBox.h:
1071         * rendering/Length.h:
1072         * rendering/ListMarkerBox.h:
1073         * rendering/RenderBox.h:
1074         * rendering/RenderMenuList.h:
1075         * rendering/RenderPart.h:
1076         * rendering/RenderPartObject.h:
1077         * rendering/RenderPath.h:
1078         * rendering/RenderReplaced.h:
1079         * rendering/RenderSVGContainer.h:
1080         * rendering/RenderSVGImage.h:
1081         * rendering/RenderSVGInline.h:
1082         * rendering/RenderSVGInlineText.h:
1083         * rendering/RenderSVGTSpan.h:
1084         * rendering/RenderSVGText.h:
1085         * rendering/RenderStyle.h:
1086         * rendering/RenderTableCol.h:
1087         * rendering/RenderThemeWin.h:
1088         * rendering/bidi.h:
1089         * xml/DOMParser.h:
1090         * xml/XPathEvaluator.h:
1091         * xml/XPathExpression.h:
1092         * xml/XPathExpressionNode.h:
1093         * xml/XPathFunctions.h:
1094         * xml/XPathNSResolver.h:
1095         * xml/XPathNamespace.h:
1096         * xml/XPathParser.h:
1097         * xml/XPathPath.h:
1098         * xml/XPathPredicate.h:
1099         * xml/XPathResult.h:
1100         * xml/XPathStep.h:
1101         * xml/XPathUtil.h:
1102         * xml/XPathValue.h:
1103         * xml/XPathVariableReference.h:
1104         * xml/XSLImportRule.h:
1105         * xml/XSLStyleSheet.h:
1106         * xml/XSLTProcessor.h:
1107         * xml/xmlhttprequest.h:
1108
1109 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
1110
1111         Build fix.
1112         
1113         * loader/ProgressTracker.cpp:
1114
1115 2007-01-15  Lars Knoll <lars@trolltech.com>
1116
1117         Fix the Qt build
1118
1119         * WebCore.pro:
1120
1121 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
1122
1123         Reviewed by Darin.
1124
1125         * loader/ProgressTracker.cpp:
1126         Set finalProgressValue to its value explicitly instead of calculating it 
1127         (which causes a global initializer to be generated).
1128
1129 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
1130
1131         Reviewed by Darin and Adam.
1132
1133         Move progress tracking down to WebCore.
1134         
1135         * WebCore.exp:
1136         Add ProgressTracker::estimatedProgress() to be used by WebKit.
1137         
1138         * WebCore.xcodeproj/project.pbxproj:
1139         Add ProgressTracker.[cpp|h]
1140         
1141         * loader/FrameLoader.cpp:
1142         (WebCore::FrameLoader::prepareForLoadStart):
1143         (WebCore::FrameLoader::clearProvisionalLoad):
1144         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1145         (WebCore::FrameLoader::startLoading):
1146         (WebCore::FrameLoader::didReceiveResponse):
1147         (WebCore::FrameLoader::didReceiveData):
1148         (WebCore::FrameLoader::didFailToLoad):
1149         (WebCore::FrameLoader::requestFromDelegate):
1150         (WebCore::FrameLoader::didFinishLoad):
1151         Call directly to the progress tracker instead of through the frame loader client.
1152         
1153         * loader/FrameLoaderClient.h:
1154         Get rid of the old methods and add new methods for tracking progress.
1155         
1156         * loader/ProgressTracker.cpp: Added.
1157         (WebCore::ProgressItem::ProgressItem):
1158         (WebCore::ProgressTracker::ProgressTracker):
1159         (WebCore::ProgressTracker::~ProgressTracker):
1160         (WebCore::ProgressTracker::estimatedProgress):
1161         (WebCore::ProgressTracker::reset):
1162         (WebCore::ProgressTracker::progressStarted):
1163         (WebCore::ProgressTracker::progressCompleted):
1164         (WebCore::ProgressTracker::finalProgressComplete):
1165         (WebCore::ProgressTracker::incrementProgress):
1166         (WebCore::ProgressTracker::completeProgress):
1167         (WebCore::ProgressTracker::createUniqueIdentifier):
1168         * loader/ProgressTracker.h: Added.
1169         New per page class which tracks progress.
1170         
1171         * loader/ResourceLoader.cpp:
1172         (WebCore::ResourceLoader::willSendRequest):
1173         * page/Page.cpp:
1174         (WebCore::Page::Page):
1175         * page/Page.h:
1176         (WebCore::Page::progress):
1177         Move createUniqueIdentifier to ProgressTracker, add ProgressTracker object to Page.
1178         
1179         * platform/graphics/svg/SVGImageEmptyClients.h:
1180         (WebCore::SVGEmptyFrameLoaderClient::willChangeEstimatedProgress):
1181         (WebCore::SVGEmptyFrameLoaderClient::didChangeEstimatedProgress):
1182         (WebCore::SVGEmptyFrameLoaderClient::postProgressStartedNotification):
1183         (WebCore::SVGEmptyFrameLoaderClient::postProgressEstimateChangedNotification):
1184         (WebCore::SVGEmptyFrameLoaderClient::postProgressFinishedNotification):
1185         Add new methods, get rid of the old ones.
1186
1187 2007-01-15  Adam Roben  <aroben@apple.com>
1188
1189         Reviewed by Anders.
1190
1191         Fix comment.
1192
1193         * html/HTMLScriptElement.cpp:
1194         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
1195
1196 2007-01-15  John Sullivan  <sullivan@apple.com>
1197
1198         * platform/ContextMenu.cpp:
1199         (WebCore::ContextMenu::checkOrEnableIfNeeded):
1200         Leopard build fix; don't declare one of the case values twice
1201
1202 2007-01-15  Mitz Pettel  <mitz@webkit.org>
1203
1204         Reviewed by Darin.
1205
1206         - fix http://bugs.webkit.org/show_bug.cgi?id=8604
1207           rowspan does not work when set through javascript
1208
1209         Covered by existing tests.
1210
1211         * rendering/RenderTableCell.cpp:
1212         (WebCore::RenderTableCell::updateFromElement): Mark the section for grid recalc
1213         if row span or column span change.
1214
1215 2007-01-15  Adam Roben  <aroben@apple.com>
1216
1217         Reviewed by Darin.
1218
1219         Small context menu fixes.
1220
1221         * platform/ContextMenu.cpp:
1222         (WebCore::ContextMenu::populate): Fix typo.
1223         (WebCore::ContextMenu::checkOrEnableIfNeeded): Disabled "No Guesses
1224         Found", and added all enum values explicitly.
1225
1226 2007-01-15  Alexey Proskuryakov  <ap@webkit.org>
1227
1228         Reviewed by Darin.
1229
1230         http://bugs.webkit.org/show_bug.cgi?id=6272
1231         XMLHttpRequest freezes on getting a missing document with overridden Content-Length
1232
1233         http://bugs.webkit.org/show_bug.cgi?id=6212
1234         Investigate disallowing some XMLHttpRequest headers from being set via setRequestHeader.
1235
1236         Tests:
1237         - http/tests/xmlhttprequest/connection-error-sync.html
1238         - http/tests/xmlhttprequest/set-dangerous-headers.html
1239
1240         * bindings/js/kjs_binding.cpp:
1241         (KJS::):
1242         (KJS::setDOMException): Added support for NETWORK_ERR. Changed the temporary 
1243         PERMISSION_DENIED error into a special case.
1244
1245         * loader/FrameLoader.cpp:
1246         (WebCore::FrameLoader::loadResourceSynchronously):
1247         * loader/FrameLoader.h:
1248         Return the error object to the caller. Removed an extra local variable for error, 
1249         which shadowed the one from enclosing block.
1250
1251         * dom/XMLTokenizer.cpp:
1252         (WebCore::openFunc): 
1253         * xml/XSLTProcessor.cpp:
1254         (WebCore::docLoaderFunc): 
1255         Updated to pass an error object (currently ignored).
1256
1257         * xml/xmlhttprequest.cpp:
1258         (WebCore::canSetRequestHeader): Added. The headers to block include the ones from 
1259         the current XMLHttpRequest draft plus "Via", which is blocked by Firefox.
1260         (WebCore::XMLHttpRequest::send): Raise an exception if a sync request results in 
1261         an error.
1262         (WebCore::XMLHttpRequest::setRequestHeader): Call canSetRequestHeader().
1263         * xml/xmlhttprequest.h:
1264         (WebCore::): Added NETWORK_ERR and a comment about PERMISSION_DENIED.
1265
1266 2007-01-15  Zack Rusin  <zack@kde.org>
1267
1268         Optimizing rendering on the Qt platform. Mainly
1269         switching from client side QImage to QPixmap's.
1270         Also cleaning the the ScrollViewCanvasQt code
1271         quite a bit.
1272
1273         * platform/graphics/ImageSource.h: use QPixmap
1274         * platform/graphics/qt/GraphicsContextQt.cpp:
1275         (WebCore::TransparencyLayer::TransparencyLayer):
1276         (WebCore::GraphicsContext::clip): clip rects when you can
1277         * platform/graphics/qt/ImageDecoderQt.cpp:
1278         (WebCore::ImageDecoderQt::ImageData::ImageData):
1279         (WebCore::ImageDecoderQt::ReadContext::read):
1280         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
1281         (WebCore::ImageDecoderQt::imageAtIndex):
1282         * platform/graphics/qt/ImageDecoderQt.h: use QPixmap
1283         * platform/graphics/qt/ImageQt.cpp: QPixmap instead of QImage
1284         (WebCore::BitmapImage::draw):
1285         (WebCore::BitmapImage::drawTiled):
1286         * platform/graphics/qt/ImageSourceQt.cpp:
1287         (WebCore::):
1288         (WebCore::ImageSource::createFrameAtIndex):
1289         (WebCore::ImageSource::frameHasAlphaAtIndex):
1290         * platform/qt/ScrollViewCanvasQt.cpp: clean up
1291         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
1292         (WebCore::ScrollViewCanvasQt::updateFrameView):
1293         (WebCore::ScrollViewCanvasQt::paintEvent):
1294         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
1295         (WebCore::ScrollViewCanvasQt::mousePressEvent):
1296         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
1297         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
1298         * platform/qt/ScrollViewCanvasQt.h:
1299         * platform/qt/ScrollViewQt.cpp: remove hacks
1300         (WebCore::ScrollView::ScrollView):
1301         (WebCore::ScrollView::setParentWidget):
1302         (WebCore::ScrollView::updateContents):
1303
1304 2007-01-15  Lars Knoll <lars@trolltech.com>
1305
1306         Reviewed by Zack
1307
1308         Fix weird crashes when running the layout tests. The
1309         reason was that I used KURL (and thus DeprecatedString)
1310         in a thread. Unfortunately that class is not threadsafe
1311         at all.
1312
1313         * platform/network/qt/ResourceHandleManagerQt.cpp:
1314         (WebCore::RequestQt::RequestQt):
1315         (WebCore::RequestQt::setURL):
1316         (WebCore::ResourceHandleManager::add):
1317         (WebCore::ResourceHandleManager::cancel):
1318         (WebCore::ResourceHandleManager::receivedResponse):
1319         (WebCore::FileLoader::request):
1320         (WebCore::HostInfo::HostInfo):
1321         (WebCore::NetworkLoader::request):
1322         (WebCore::NetworkLoader::cancel):
1323         * platform/network/qt/ResourceHandleManagerQt.h:
1324         (WebCore::HostInfo::HostInfo):
1325         (WebCore::HostInfo::isLocalFile):
1326
1327 2007-01-15  Eric Seidel  <eric@webkit.org>
1328
1329         Reviewed by rwlbuis.
1330
1331         Make isValid check not malloc 3 SVGStringLists for every element.
1332         
1333         No test possible, performance fix only.
1334
1335         * ksvg2/svg/SVGTests.cpp:
1336         (WebCore::SVGTests::isValid):
1337
1338 2007-01-15  Rob Buis  <buis@kde.org>
1339
1340         Reviewed by Eric.
1341
1342         Remove unused member var.
1343
1344         * ksvg2/svg/SVGStyledElement.h:
1345
1346 2007-01-15  Rob Buis  <buis@kde.org>
1347
1348         Reviewed by Eric.
1349
1350         http://bugs.webkit.org/show_bug.cgi?id=12069
1351         Hit detection fails under some viewbox constraints
1352
1353         Do not take viewBox into account when hit testing svg container.
1354
1355         * rendering/RenderSVGContainer.cpp:
1356         (WebCore::RenderSVGContainer::nodeAtPoint):
1357
1358 2007-01-15  David Hyatt  <hyatt@apple.com>
1359
1360         Fix  for 12275, negative margins confuse page breaks.
1361
1362         Reviewed by Eric
1363
1364         * rendering/RenderBlock.cpp:
1365         (WebCore::RenderBlock::paintChildren):
1366
1367 2007-01-15  Eric Seidel  <eric@webkit.org>
1368
1369         Reviewed by mjs.
1370         
1371         SVG gradients do not notice stop additions
1372         http://bugs.webkit.org/show_bug.cgi?id=12192
1373
1374         Test: svg/custom/gradient-add-stops.svg
1375
1376         * ksvg2/svg/SVGGradientElement.cpp:
1377         (WebCore::SVGGradientElement::childrenChanged):
1378         * ksvg2/svg/SVGGradientElement.h:
1379
1380 2007-01-14  David Hyatt  <hyatt@apple.com>
1381
1382         Fix for bug 10356, positioning doesn't work with <svg> elements in XHTML.  Change the requiresLayer
1383         check to use the DOM, since the old check would fail if the parent block had no element.
1384
1385         Reviewed by Eric
1386
1387         Added svg/custom/relative-positioning.html (absolute/fixed too)
1388
1389         * rendering/RenderSVGContainer.cpp:
1390         (WebCore::RenderSVGContainer::requiresLayer):
1391
1392 2007-01-14  Eric Seidel  <eric@webkit.org>
1393
1394         Reviewed by hyatt.
1395         
1396         SVG does not correctly handle float: left
1397         http://bugs.webkit.org/show_bug.cgi?id=12210
1398
1399         Test: svg/custom/svg-float-border-padding.xml
1400
1401         * rendering/RenderSVGContainer.cpp:
1402         (WebCore::RenderSVGContainer::paint):
1403
1404 2007-01-14  David Hyatt  <hyatt@apple.com>
1405
1406         More work to fix 10145, regression where form elements don't break properly.  Make sure to really use
1407         the parent of the replaced element's whitespace value everywhere.
1408
1409         Reviewed by olliej
1410
1411         fast/replaced/three-selects-break.html
1412
1413         * rendering/bidi.cpp:
1414         (WebCore::RenderBlock::findNextLineBreak):
1415
1416 2007-01-14  Sam Weinig  <sam@webkit.org>
1417
1418         Reviewed by Darin and then by Mitz.
1419
1420         Patch for http://bugs.webkit.org/show_bug.cgi?id=12228
1421         Cleanup assorted CSS classes
1422
1423         * css/CSSBorderImageValue.cpp:
1424         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1425         (WebCore::CSSBorderImageValue::cssText):
1426         * css/CSSBorderImageValue.h:
1427         * css/CSSComputedStyleDeclaration.cpp:
1428         (WebCore::valueForLength):
1429         (WebCore::valueForBorderStyle):
1430         (WebCore::valueForTextAlign):
1431         (WebCore::valueForShadow):
1432         (WebCore::getPositionOffsetValue):
1433         (WebCore::CSSComputedStyleDeclaration::cssText):
1434         (WebCore::primitiveValueFromLength):
1435         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1436         (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
1437         (WebCore::CSSComputedStyleDeclaration::removeProperty):
1438         (WebCore::CSSComputedStyleDeclaration::setProperty):
1439         (WebCore::CSSComputedStyleDeclaration::length):
1440         (WebCore::CSSComputedStyleDeclaration::item):
1441         * css/CSSComputedStyleDeclaration.h:
1442         * css/CSSCursorImageValue.cpp:
1443         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
1444         * css/CSSCursorImageValue.h:
1445         * css/CSSGrammar.y:
1446         * css/CSSImageValue.cpp:
1447         * css/CSSImageValue.h:
1448         * css/CSSInheritedValue.cpp:
1449         * css/CSSInheritedValue.h:
1450         * css/CSSInitialValue.cpp:
1451         * css/CSSInitialValue.h:
1452         * css/CSSMutableStyleDeclaration.cpp:
1453         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1454         (WebCore::CSSMutableStyleDeclaration::operator=):
1455         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1456         (WebCore::CSSMutableStyleDeclaration::get4Values):
1457         (WebCore::CSSMutableStyleDeclaration::getShorthandValue):
1458         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1459         (WebCore::CSSMutableStyleDeclaration::removeProperty):
1460         (WebCore::CSSMutableStyleDeclaration::setChanged):
1461         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1462         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
1463         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
1464         (WebCore::CSSMutableStyleDeclaration::setProperty):
1465         (WebCore::CSSMutableStyleDeclaration::setImageProperty):
1466         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
1467         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1468         (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
1469         (WebCore::CSSMutableStyleDeclaration::cssText):
1470         (WebCore::CSSMutableStyleDeclaration::merge):
1471         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1472         * css/CSSMutableStyleDeclaration.h:
1473         (WebCore::CSSMutableStyleDeclaration::setProperty):
1474         (WebCore::CSSMutableStyleDeclaration::removeProperty):
1475         * css/CSSNamespace.h:
1476         (WebCore::CSSNamespace::CSSNamespace):
1477         * css/CSSPrimitiveValue.cpp:
1478         (WebCore::isCSSTokenizerIdentifier):
1479         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1480         (WebCore::CSSPrimitiveValue::cleanup):
1481         (WebCore::CSSPrimitiveValue::computeLengthInt):
1482         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
1483         (WebCore::CSSPrimitiveValue::computeLengthShort):
1484         (WebCore::CSSPrimitiveValue::computeLengthFloat):
1485         (WebCore::CSSPrimitiveValue::setFloatValue):
1486         (WebCore::scaleFactorForConversion):
1487         (WebCore::CSSPrimitiveValue::getFloatValue):
1488         (WebCore::CSSPrimitiveValue::setStringValue):
1489         (WebCore::CSSPrimitiveValue::getStringValue):
1490         (WebCore::CSSPrimitiveValue::parseString):
1491         (WebCore::CSSPrimitiveValue::getIdent):
1492         (WebCore::CSSPrimitiveValue::cssText):
1493         * css/CSSPrimitiveValue.h:
1494         (WebCore::CSSPrimitiveValue::getCounterValue):
1495         (WebCore::CSSPrimitiveValue::getRectValue):
1496         (WebCore::CSSPrimitiveValue::getRGBColorValue):
1497         (WebCore::CSSPrimitiveValue::getPairValue):
1498         (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
1499         * css/CSSProperty.cpp:
1500         (WebCore::operator==):
1501         * css/CSSProperty.h:
1502         (WebCore::CSSProperty::operator=):
1503         * css/CSSQuirkPrimitiveValue.h:
1504         (WebCore::CSSQuirkPrimitiveValue::CSSQuirkPrimitiveValue):
1505         * css/CSSRuleList.cpp:
1506         (WebCore::CSSRuleList::CSSRuleList):
1507         (WebCore::CSSRuleList::deleteRule):
1508         (WebCore::CSSRuleList::insertRule):
1509         * css/CSSRuleList.h:
1510         (WebCore::CSSRuleList::item):
1511         * css/CSSSelector.cpp:
1512         (WebCore::CSSSelector::print):
1513         (WebCore::CSSSelector::specificity):
1514         (WebCore::CSSSelector::extractPseudoType):
1515         (WebCore::CSSSelector::operator==):
1516         (WebCore::CSSSelector::selectorText):
1517         * css/CSSSelector.h:
1518         (WebCore::CSSSelector::CSSSelector):
1519         (WebCore::CSSSelector::~CSSSelector):
1520         (WebCore::CSSSelector::append):
1521         (WebCore::CSSSelector::next):
1522         (WebCore::CSSSelector::pseudoType):
1523         (WebCore::CSSSelector::hasTag):
1524         (WebCore::CSSSelector::hasAttribute):
1525         * css/CSSStyleDeclaration.cpp:
1526         (WebCore::propertyID):
1527         (WebCore::CSSStyleDeclaration::getPropertyPriority):
1528         (WebCore::CSSStyleDeclaration::getPropertyShorthand):
1529         (WebCore::CSSStyleDeclaration::isPropertyImplicit):
1530         (WebCore::CSSStyleDeclaration::setProperty):
1531         (WebCore::CSSStyleDeclaration::isPropertyName):
1532         (WebCore::CSSStyleDeclaration::parentRule):
1533         (WebCore::CSSStyleDeclaration::diff):
1534         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1535         * css/CSSStyleDeclaration.h:
1536         * css/Counter.h:
1537         (WebCore::Counter::Counter):
1538         (WebCore::Counter::listStyleNumber):
1539         * css/csshelper.cpp:
1540         (WebCore::parseURL):
1541         * css/csshelper.h:
1542         * css/cssparser.h:
1543         (WebCore::domString):
1544         (WebCore::atomicString):
1545         (WebCore::CSSParser::operator|):
1546         * css/cssstyleselector.cpp:
1547         (WebCore::CSSStyleSelector::matchRulesForList):
1548         (WebCore::CSSStyleSelector::checkSelector):
1549         (WebCore::CSSStyleSelector::checkOneSelector):
1550         (WebCore::CSSRuleSet::addRule):
1551
1552 2007-01-14  Mitz Pettel  <mitz@webkit.org>
1553
1554         Reviewed by Adam.
1555
1556         - fix http://bugs.webkit.org/show_bug.cgi?id=12264
1557           REGRESSION (r18843): Webkit crashes on 43Folders.com home page
1558
1559         Test: fast/tokenizer/ignore-tags-in-iframe.html
1560
1561         * html/HTMLParser.cpp:
1562         (WebCore::HTMLParser::reset): Removed unused inSelect member variable.
1563         (WebCore::HTMLParser::selectCreateErrorCheck): Ditto.
1564         (WebCore::HTMLParser::processCloseTag): Ditto.
1565         * html/HTMLParser.h: Ditto.
1566         * html/HTMLTokenizer.cpp:
1567         (WebCore::HTMLTokenizer::parseTag): Changed not to process <pre>, <listing>,
1568         <script>, <style>, <title>, <textarea> and <xmp> if the parser is in skip mode
1569         (waiting for a close tag of an element whose contents are not parsed,
1570         such as iframe).
1571         * html/HTMLTokenizer.h:
1572         (WebCore::HTMLTokenizer::State::setInStyle): Removed unused bit.
1573         (WebCore::HTMLTokenizer::State::): Ditto.
1574
1575 2007-01-14  Alexey Proskuryakov  <ap@webkit.org>
1576
1577         Reviewed by Darin.
1578
1579         http://bugs.webkit.org/show_bug.cgi?id=12258
1580         fast/tokenizer/002 test broken
1581
1582         * loader/FrameLoader.h: Added a flush parameter to write().
1583         * loader/FrameLoader.cpp:
1584         (WebCore::FrameLoader::write): Ditto.
1585         (WebCore::FrameLoader::endIfNotLoading): Instead of poorly duplicating the logic in write(),
1586         call it directly.
1587
1588 2007-01-14  Adam Roben  <aroben@apple.com>
1589
1590         Reviewed by Maciej.
1591
1592         Make sure our whitelisting of the type and language attributes of the
1593         <script> element is enforced in all HTMLTokenizer/HTMLScriptElement
1594         code paths.
1595
1596         All layout tests pass.
1597
1598         * html/HTMLScriptElement.cpp:
1599         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): New method to
1600         determine whether the script should be executed, given its type and
1601         language attributes.
1602         (WebCore::HTMLScriptElement::evaluateScript): Check type/language
1603         before executing.
1604         * html/HTMLScriptElement.h: Added new declarations.
1605         * html/HTMLTokenizer.cpp:
1606         (WebCore::HTMLTokenizer::begin): Made scriptSrc a String. 
1607         (WebCore::HTMLTokenizer::scriptHandler): Check
1608         shouldExecuteAsJavaScript before executing.
1609         (WebCore::HTMLTokenizer::notifyFinished): Ditto.
1610         (WebCore::HTMLTokenizer::parseTag): Moved type/language checking from
1611         here to HTMLScriptElement::shouldExecuteAsJavaScript.
1612         * html/HTMLTokenizer.h: Made scriptSrc a String, and removed the
1613         javascript member.
1614
1615 2007-01-14  David Hyatt  <hyatt@apple.com>
1616
1617         Make sure floats are avoided if you have non-auto column property values.  Fixes the crazy layout
1618         on http://weblogs.mozillazine.org/roc.
1619
1620         Reviewed by mitz
1621
1622         Added fast/multicol/float-avoidance.html
1623
1624         * rendering/RenderBlock.cpp:
1625         (WebCore::RenderBlock::avoidsFloats):
1626
1627 2007-01-14  David Hyatt  <hyatt@apple.com>
1628
1629         Fix for 10145, regression where line breaks are not being honored between adjacent replaced elements.
1630         When checking for break opportunities where replaced elements are involved, we ignore their white-space
1631         values and use their parents' instead.  The assumption/idea behind this change is that because the element
1632         is replaced, its white-space value is irrelevant except as a means of applying style to its interior.
1633
1634         The CSS spec does not cover this situation, so we're implementing this based off what other browsers seem to
1635         do.
1636
1637         Reviewed by aroben
1638
1639         * css/CSSComputedStyleDeclaration.cpp:
1640         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1641         * css/CSSValueKeywords.in:
1642         * css/cssparser.cpp:
1643         (WebCore::CSSParser::parseValue):
1644         * css/cssstyleselector.cpp:
1645         (WebCore::CSSStyleSelector::applyProperty):
1646         * page/EventHandler.cpp:
1647         (WebCore::EventHandler::EventHandler):
1648         (WebCore::EventHandler::clear):
1649         (WebCore::EventHandler::handleWheelEvent):
1650         * page/EventHandler.h:
1651         * rendering/RenderBox.cpp:
1652         (WebCore::RenderBox::calcHeight):
1653         * rendering/RenderLayer.cpp:
1654         (WebCore::Marquee::Marquee):
1655         (WebCore::Marquee::start):
1656         (WebCore::Marquee::updateMarqueePosition):
1657         (WebCore::Marquee::updateMarqueeStyle):
1658         (WebCore::Marquee::timerFired):
1659         * rendering/RenderLayer.h:
1660         * rendering/RenderPartObject.cpp:
1661         (WebCore::RenderPartObject::viewCleared):
1662         * rendering/RenderStyle.h:
1663         (WebCore::):
1664         * rendering/bidi.cpp:
1665         (WebCore::RenderBlock::findNextLineBreak):
1666
1667 2007-01-13  David Hyatt  <hyatt@apple.com>
1668
1669         While optimizing form controls and fixing their clipping, I caused this text zoom regression.  The layout
1670         of text is necessary because it needs to recalc minmaxwidth.  This is still a really unfortunate
1671         bit of code... since a lot of properties don't apply to text (e.g., borders), we're marking text renderers
1672         as dirty when we don't have to.
1673
1674         Reviewed by mitz
1675
1676         * rendering/RenderObject.cpp:
1677         (WebCore::RenderObject::setStyle):
1678
1679 2007-01-13  Lars Knoll <lars@trolltech.com>
1680
1681         Reviewed by Alexey
1682
1683         String::format() was relying on undefined behaviour, which
1684         happened to work on lots of systems (Mac and 32bit Linux at least)
1685         but broke badly on 64bit Linux.
1686         
1687         * platform/String.cpp:
1688         (WebCore::String::format):
1689
1690 2007-01-13  Martin Reddy  <reddy@pixar.com>
1691
1692         Fix for bug 11924: WebCore would crash on any HTML content
1693         with a non-empty <table> tag in it on a 64-bit machine. The
1694         size_t (64bit) vs int (32bit) cast is now fixed in ensureRows,
1695         and the clients of this function have been updated to check
1696         for a false return code.
1697
1698         Reviewed by Darin, landed by Lars
1699
1700         * rendering/RenderTableSection.cpp:
1701         (WebCore::RenderTableSection::addChild):
1702         (WebCore::RenderTableSection::ensureRows):
1703         (WebCore::RenderTableSection::recalcCells):
1704
1705 2007-01-13  Alexey Proskuryakov  <ap@webkit.org>
1706
1707         Reviewed by Darin.
1708
1709         http://bugs.webkit.org/show_bug.cgi?id=12165
1710         REGRESSION: text encoding problem at jn.sapo.pt
1711
1712         Test: fast/encoding/script-in-head.html
1713
1714         * loader/TextResourceDecoder.cpp:
1715         (WebCore::TextResourceDecoder::checkForHeadCharset):
1716         Ignore tags within <script> elements in head, just like we do for <title>.
1717
1718 2007-01-13  Lars Knoll <lars@trolltech.com>
1719
1720         Reviewed by Maciej
1721
1722         Don't crash when constructing a GraphicsContext with a 0
1723         PlatformGraphicsContext and don't do anything if painting
1724         is disabled.
1725
1726         * platform/graphics/qt/GraphicsContextQt.cpp:
1727         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1728         (WebCore::GraphicsContext::origin):
1729         (WebCore::GraphicsContext::setPlatformFont):
1730         (WebCore::GraphicsContext::setPlatformStrokeColor):
1731         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1732         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1733         (WebCore::GraphicsContext::setPlatformFillColor):
1734
1735 2007-01-13  Eric Seidel  <eric@webkit.org>
1736
1737         Reviewed by hyatt.
1738
1739         RichDraw demo does not live-update in Safari
1740         (SVG elements should ignore CSS position)
1741         http://bugs.webkit.org/show_bug.cgi?id=10364
1742
1743         * css/cssstyleselector.cpp:
1744         (WebCore::CSSStyleSelector::adjustRenderStyle): ignore position for everything but <svg>
1745         * ksvg2/svg/SVGStyledElement.cpp:
1746         (WebCore::SVGStyledElement::rebuildRenderer): move path generation into layout()
1747         * rendering/RenderContainer.cpp:
1748         (WebCore::RenderContainer::layout): ASSERT kids marked as having completed layout
1749         * rendering/RenderPath.cpp:
1750         (WebCore::RenderPath::layout): move path generation into layout()
1751         * rendering/RenderSVGContainer.cpp:
1752         (WebCore::RenderSVGContainer::layout): ASSERT kids marked as having completed layout
1753
1754 2007-01-12  David Hyatt  <hyatt@apple.com>
1755
1756         Add support for column rules.
1757
1758         Reviewed by bdash
1759
1760         fast/multicol/column-rules.html
1761
1762         * rendering/RenderBlock.cpp:
1763         (WebCore::RenderBlock::paintColumns):
1764         * rendering/RenderStyle.h:
1765         (WebCore::RenderStyle::columnRuleIsTransparent):
1766
1767 2007-01-12  David Hyatt  <hyatt@apple.com>
1768
1769         Make multicolumn layout work with floats.
1770
1771         Reviewed by andersca
1772
1773         Added fast/multicol/float-multicol.html
1774
1775         * rendering/RenderBlock.cpp:
1776         (WebCore::RenderBlock::layoutBlock):
1777         (WebCore::RenderBlock::paintColumns):
1778         (WebCore::RenderBlock::paintObject):
1779         * rendering/RenderBlock.h:
1780
1781 2007-01-12  David Kilzer  <ddkilzer@kilzer.net>
1782
1783         Reviewed by Maciej.
1784
1785         - fix http://bugs.webkit.org/show_bug.cgi?id=12239
1786           REGRESSION (r18816-r18818): Assertion failure in 
1787           WebCore::Length::Length[in-charge](int, WebCore::LengthType, bool)
1788
1789         Test: fast/css/line-height.html
1790
1791         * rendering/RenderTextControl.cpp:
1792         (WebCore::RenderTextControl::createInnerTextStyle): Use a float to create a percent Length.
1793
1794 2007-01-12  Anders Carlsson  <acarlsson@apple.com>
1795
1796         Reviewed by Darin.
1797
1798         Use unsigned long for identifiers instead of Objective-C objects.
1799         
1800         * loader/FrameLoader.cpp:
1801         (WebCore::FrameLoader::loadResourceSynchronously):
1802         (WebCore::FrameLoader::startLoadingMainResource):
1803         (WebCore::FrameLoader::startLoading):
1804         (WebCore::FrameLoader::assignIdentifierToInitialRequest):
1805         (WebCore::FrameLoader::opened):
1806         (WebCore::FrameLoader::sendRemainingDelegateMessages):
1807         (WebCore::FrameLoader::requestFromDelegate):
1808         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1809         * loader/FrameLoader.h:
1810         * loader/FrameLoaderClient.h:
1811         * loader/ResourceLoader.cpp:
1812         (WebCore::ResourceLoader::ResourceLoader):
1813         (WebCore::ResourceLoader::willSendRequest):
1814         * loader/ResourceLoader.h:
1815         (WebCore::ResourceLoader::setIdentifier):
1816         (WebCore::ResourceLoader::identifier):
1817         * page/Page.cpp:
1818         (WebCore::Page::Page):
1819         (WebCore::Page::createUniqueIdentifier):
1820         * page/Page.h:
1821         * platform/graphics/svg/SVGImageEmptyClients.h:
1822         (WebCore::SVGEmptyFrameLoaderClient::assignIdentifierToInitialRequest):
1823         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest):
1824         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
1825         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
1826         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse):
1827         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength):
1828         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading):
1829         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading):
1830         (WebCore::SVGEmptyFrameLoaderClient::incrementProgress):
1831         (WebCore::SVGEmptyFrameLoaderClient::completeProgress):
1832
1833 2007-01-12  Mitz Pettel  <mitz@webkit.org>
1834
1835         Reviewed by Darin.
1836
1837         - fix http://bugs.webkit.org/show_bug.cgi?id=12235
1838           REGRESSION (r18815): Marquees do not scroll
1839
1840         * css/cssstyleselector.cpp:
1841         (WebCore::CSSStyleSelector::applyProperty): Apply the '-webkit-marquee' value
1842         of 'overflow-x' and 'overflow-y'.
1843
1844 2007-01-12  Justin Garcia  <justin.garcia@apple.com>
1845
1846         Reviewed by hyatt
1847         
1848         <rdar://problem/4875425>
1849         EBay, GMail, and GoogleDocs RTEs font size popups don't work
1850
1851         Changed execCommand("FontSize", ...) to match the spec 
1852         and the behavior of other browsers.  It expects a number, 
1853         n, which, the spec says can be 1 through 7.  Other browsers 
1854         perform the font size change by creating a font element 
1855         wrapper with size="n".  We convert n into one of the absolute 
1856         size CSS keywords (x-small, medium, etc.).
1857
1858         * editing/JSEditor.cpp: Call cssValueFromFontSizeNumber.  If
1859         successful, perform the style change.
1860         * html/HTMLFontElement.cpp:
1861         (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):  Added.
1862         Moved this code from parsedMappedAttribute so that it could be
1863         called from the Editor.
1864         (WebCore::HTMLFontElement::parseMappedAttribute): Moved code into
1865         cssValueFromFontSizeNumber.
1866         * html/HTMLFontElement.h:
1867
1868 2007-01-12  David Hyatt  <hyatt@apple.com>
1869
1870         Fix for bug 11598, implement lightweight control clipping mechanism for
1871         buttons, list boxes, and dropdown lists.  Make sure list box respects
1872         scrollLeft/Top/Width/Height as well as clientWidth/Height.
1873
1874         Fix bugs in RenderStyle::diff.  CursorData was not being compared properly.
1875         vertical-align had a non-inline display check that was wrong (preventing
1876         dynamic changes to keyword-based vertical-align from working).
1877
1878         Reviewed by mitz
1879
1880         * page/EventHandler.cpp:
1881         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
1882         * rendering/RenderBlock.cpp:
1883         (WebCore::RenderBlock::layout):
1884         (WebCore::RenderBlock::layoutBlock):
1885         (WebCore::RenderBlock::determineHorizontalPosition):
1886         (WebCore::RenderBlock::layoutBlockChildren):
1887         (WebCore::RenderBlock::paint):
1888         (WebCore::RenderBlock::fillHorizontalSelectionGap):
1889         (WebCore::RenderBlock::nodeAtPoint):
1890         (WebCore::RenderBlock::layoutColumns):
1891         * rendering/RenderBox.cpp:
1892         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1893         * rendering/RenderBox.h:
1894         * rendering/RenderButton.cpp:
1895         (WebCore::RenderButton::setStyle):
1896         (WebCore::RenderButton::controlClipRect):
1897         * rendering/RenderButton.h:
1898         (WebCore::RenderButton::hasControlClip):
1899         * rendering/RenderFlexibleBox.cpp:
1900         (WebCore::RenderFlexibleBox::layoutBlock):
1901         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1902         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1903         * rendering/RenderFlow.cpp:
1904         (WebCore::RenderFlow::addFocusRingRects):
1905         * rendering/RenderListBox.cpp:
1906         (WebCore::RenderListBox::itemBoundingBoxRect):
1907         (WebCore::RenderListBox::paintObject):
1908         (WebCore::RenderListBox::itemHeight):
1909         (WebCore::RenderListBox::verticalScrollbarWidth):
1910         (WebCore::RenderListBox::scrollWidth):
1911         (WebCore::RenderListBox::scrollHeight):
1912         (WebCore::RenderListBox::scrollLeft):
1913         (WebCore::RenderListBox::setScrollLeft):
1914         (WebCore::RenderListBox::scrollTop):
1915         (WebCore::RenderListBox::setScrollTop):
1916         (WebCore::RenderListBox::controlClipRect):
1917         * rendering/RenderListBox.h:
1918         (WebCore::RenderListBox::hasControlClip):
1919         * rendering/RenderMenuList.cpp:
1920         (WebCore::RenderMenuList::setStyle):
1921         (WebCore::RenderMenuList::controlClipRect):
1922         * rendering/RenderMenuList.h:
1923         (WebCore::RenderMenuList::hasControlClip):
1924         * rendering/RenderObject.cpp:
1925         (WebCore::RenderObject::verticalScrollbarWidth):
1926         (WebCore::RenderObject::horizontalScrollbarHeight):
1927         (WebCore::RenderObject::clientWidth):
1928         (WebCore::RenderObject::clientHeight):
1929         (WebCore::RenderObject::setStyle):
1930         * rendering/RenderObject.h:
1931         (WebCore::RenderObject::hasControlClip):
1932         (WebCore::RenderObject::controlClipRect):
1933         (WebCore::RenderObject::contentWidth):
1934         (WebCore::RenderObject::contentHeight):
1935         * rendering/RenderStyle.cpp:
1936         (WebCore::StyleVisualData::StyleVisualData):
1937         (WebCore::cursorDataEqvuialent):
1938         (WebCore::StyleInheritedData::operator==):
1939         (WebCore::CursorList::operator==):
1940         (WebCore::RenderStyle::diff):
1941         * rendering/RenderStyle.h:
1942         (WebCore::LengthBox::operator!=):
1943         (WebCore::StyleVisualData::operator==):
1944         (WebCore::CursorData::operator==):
1945         (WebCore::CursorData::operator!=):
1946         (WebCore::CursorList::operator!=):
1947         (WebCore::RenderStyle::setTableLayout):
1948         * rendering/bidi.cpp:
1949         (WebCore::RenderBlock::layoutInlineChildren):
1950
1951 2007-01-12  David Hyatt  <hyatt@apple.com>
1952
1953         Fix for bug 9934, smaller line heights should not be allowed on
1954         text fields.
1955
1956         Reviewed by darin
1957
1958         * rendering/RenderTextControl.cpp:
1959         (WebCore::RenderTextControl::createInnerTextStyle):
1960
1961 2007-01-12  Mitz Pettel  <mitz@webkit.org>
1962
1963         Reviewed by Hyatt.
1964
1965         - http://bugs.webkit.org/show_bug.cgi?id=12215
1966           Treat 'overflow' and '-webkit-border-radius' as shorthands when parsing and
1967           when removing.
1968
1969         Test: fast/css/remove-shorthand.html (updated)
1970
1971         * css/CSSMutableStyleDeclaration.cpp:
1972         (WebCore::initShorthandMap):
1973         * css/cssparser.cpp:
1974         (WebCore::CSSParser::parseValue):
1975
1976 2007-01-12  Rob Buis  <buis@kde.org>
1977
1978         Reviewed by Mitz.
1979
1980         Do not mix up JSSVGPolygonElement and JSSVGPolylineElement.
1981
1982         * bindings/js/JSSVGElementWrapperFactory.cpp:
1983
1984 2007-01-12  Kevin Decker <kdecker@apple.com>
1985
1986         Reviewed by andersca.
1987
1988         Fixed: <rdar://problem/4701326>21.2 ms launch time regression spent in +[WebPluginDatabase installedPlugins]
1989
1990         * dom/DOMImplementation.cpp:
1991         (WebCore::DOMImplementation::createDocument): Added a guard clause for text/html which used to be in WebKit before a lot of the 
1992         loader plumbing was moved to WebCore.  Pinging the plug-in database to ask it if it supports a given mime type has the side 
1993         effect of reading from disk on first call, therefore such a check should be a last resort.  
1994
1995 2007-01-12  Mitz Pettel  <mitz@webkit.org>
1996
1997         Reviewed by Darin.
1998
1999         - fix http://bugs.webkit.org/show_bug.cgi?id=12223
2000           REGRESSION: Leaks under CSSStyleSelector::applyProperty
2001
2002         No test possible (no change to functionality).
2003
2004         * rendering/RenderObject.h: Removed unused forward declaration.
2005         * rendering/RenderStyle.cpp:
2006         (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
2007         Delete shadow data.
2008
2009 2007-01-12  Anders Carlsson  <acarlsson@apple.com>
2010
2011         Build fix.
2012         
2013         * WebCore.xcodeproj/project.pbxproj:
2014         Remove SubresourceLoaderMac.mm.
2015         
2016 2007-01-12  Lars Knoll <lars@trolltech.com>
2017
2018         Reviewed by Darin and Anders.
2019
2020         Make some more of the loader code platform independent.
2021
2022         * loader/FrameLoader.cpp:
2023         (WebCore::FrameLoader::clear):
2024         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2025         (WebCore::FrameLoader::urlSelected):
2026         (WebCore::FrameLoader::createEmptyDocument):
2027         (WebCore::FrameLoader::setTitle):
2028         (WebCore::FrameLoader::originalRequestURL):
2029         (WebCore::FrameLoader::referrer):
2030         * loader/SubresourceLoader.cpp:
2031         (WebCore::SubresourceLoader::SubresourceLoader):
2032         (WebCore::SubresourceLoader::load):
2033         (WebCore::SubresourceLoader::create):
2034         (WebCore::SubresourceLoader::willSendRequest):
2035         (WebCore::SubresourceLoader::didReceiveResponse):
2036         (WebCore::SubresourceLoader::didReceiveData):
2037         (WebCore::SubresourceLoader::didFinishLoading):
2038         (WebCore::SubresourceLoader::didFail):
2039         (WebCore::SubresourceLoader::didCancel):
2040         (WebCore::SubresourceLoader::stopLoading):
2041         * loader/SubresourceLoader.h:
2042         * loader/mac/FrameLoaderMac.mm:
2043         * loader/mac/SubresourceLoaderMac.mm: Removed.
2044         * loader/qt/FrameLoaderQt.cpp:
2045
2046 2007-01-12  Lars Knoll <lars@trolltech.com>
2047
2048         Reviewed by Zack
2049
2050         Valgrind reported uninitialized variable.
2051
2052         * platform/network/qt/ResourceHandleManagerQt.cpp:
2053         (WebCore::FileLoader::request):
2054
2055 2007-01-12  Mitz Pettel  <mitz@webkit.org>
2056
2057         Reviewed by rwlbuis.
2058
2059         - add missing null check in new fixed table layout code
2060
2061         * rendering/FixedTableLayout.cpp:
2062         (WebCore::FixedTableLayout::calcWidthArray):
2063
2064 2007-01-12  Lars Knoll <lars@trolltech.com>
2065
2066         Fix the Qt build after the Authenitcation changes.
2067
2068         * WebCore.pro:
2069         * platform/network/ResourceHandleInternal.h:
2070
2071 2007-01-12  David Hyatt  <hyatt@apple.com>
2072
2073         Fix for bug 9569.  Make sure the selection offset for selection roots excludes border and padding.
2074
2075         Reviewed by Eric
2076
2077         * rendering/RenderBlock.cpp:
2078         (WebCore::RenderBlock::leftSelectionOffset):
2079         (WebCore::RenderBlock::rightSelectionOffset):
2080
2081 2007-01-11  David Hyatt  <hyatt@apple.com>
2082
2083         Fix for bug 8705, readonly text fields should not get focus rings.  Add a rule to that effect to
2084         html4.css and then also add readonly as a special case for style sharing so that we can retain the
2085         performance boost from sharing styles on inputs.
2086
2087         Reviewed by bdash
2088
2089         * css/cssstyleselector.cpp:
2090         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2091         (WebCore::CSSStyleSelector::checkOneSelector):
2092         * css/html4.css:
2093
2094 2007-01-11  David Hyatt  <hyatt@apple.com>
2095
2096         Fix for bug 11595.  Autoscrolling of layers didn't really work at all unless the layer was coincidentally
2097         in the root layer's coordinate space.  The event point was an absolute position within the document, but
2098         the layer's rect was only local coords.  This patch makes sure to use absolute bounds for the layer
2099         when comparing it with the point.
2100
2101         This is covered by the scrollRevealButton test case already in the tree... the results change to be more
2102         correct.
2103
2104         Reviewed by ggaren
2105
2106         * rendering/RenderLayer.cpp:
2107         (WebCore::RenderLayer::scrollRectToVisible):
2108
2109 2007-01-11  Brady Eidson  <beidson@apple.com>
2110
2111         Reviewed by Oliver
2112
2113         -Move more HTTP Auth handling towards ResourceHandle, away from ResourceHandleClient
2114         -Make more of ResourceLoader cross-platform
2115
2116         * loader/ResourceLoader.cpp:
2117         (WebCore::ResourceLoader::ResourceLoader):
2118         (WebCore::ResourceLoader::releaseResources):
2119         (WebCore::ResourceLoader::didCancel):
2120         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2121         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2122         (WebCore::ResourceLoader::receivedCancellation):
2123         * loader/ResourceLoader.h:
2124         (WebCore::ResourceLoader::willStopBufferingData):
2125         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2126         (WebCore::ResourceLoader::willCacheResponse):
2127         * loader/mac/ResourceLoaderMac.mm:
2128         * platform/network/ResourceHandle.h:
2129         * platform/network/ResourceHandleClient.h:
2130         (WebCore::ResourceHandleClient::willStopBufferingData):
2131         * platform/network/ResourceHandleInternal.h:
2132         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2133         * platform/network/mac/ResourceHandleMac.mm:
2134         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2135         (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
2136         (WebCore::ResourceHandle::receivedCredential):
2137         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2138         (WebCore::ResourceHandle::receivedCancellation):
2139         (WebCore::ResourceHandle::clearAuthentication):
2140         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
2141         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
2142         (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
2143         (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
2144         (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
2145
2146 2007-01-11  David Hyatt  <hyatt@apple.com>
2147
2148         A hit test is returning a null renderer.  Make sure to null-check it in the autoscroll code.
2149         This really shouldn't happen, but I'm just going to bullet proof for now given that it's happening
2150         on the front page of yahoo.com!
2151
2152         Reviewed by mark
2153
2154         * rendering/RenderLayer.cpp:
2155         (WebCore::RenderLayer::autoscroll):
2156
2157 2007-01-11  David Hyatt  <hyatt@apple.com>
2158
2159         Force column-width to parse in strict mode so that there is no confusion when it is used in the columns
2160         shorthand (it can be mistaken for column-count otherwise).
2161
2162         Reviewed by Mark
2163
2164         fast/multicol/columns-shorthand-parsing.html
2165
2166         * css/cssparser.cpp:
2167         (WebCore::CSSParser::parseValue):
2168
2169 2007-01-11  Mitz Pettel  <mitz@webkit.org>
2170
2171         Reviewed by Hyatt.
2172
2173         - fix http://bugs.webkit.org/show_bug.cgi?id=12124
2174           RenderTable::section{Above,Below}() can return the wrong answer for the {footer,header}
2175
2176         * rendering/RenderTable.cpp:
2177         (WebCore::resetSectionPointerIfNotBefore): Added this function to help with
2178         checking if a section being inserted is the going to be the first of its kind.
2179         (WebCore::RenderTable::addChild): Changed to maintain the pointers to the
2180         header, the footer, the caption and the first table body properly when objects
2181         are inserted in the middle. Also changed to make the first caption win over
2182         any other captions. This matches Firefox and what already used to happen when a
2183         section recalc took place.
2184         (WebCore::RenderTable::layout): Changed to use sectionBelow() for iterating
2185         over the sections from top to bottom.
2186         (WebCore::RenderTable::calcBorderLeft): Changed to really find the section
2187         containing the first row.
2188         (WebCore::RenderTable::calcBorderRight): Ditto.
2189         (WebCore::RenderTable::sectionAbove): Fixed a bug when the last section was
2190         skipped if the input was the footer.
2191         (WebCore::RenderTable::sectionBelow): Ditto for "first" and "header"
2192         respectively.
2193
2194 2007-01-11  Mitz Pettel  <mitz@webkit.org>
2195
2196         Reviewed by Hyatt.
2197
2198         - fix http://bugs.webkit.org/show_bug.cgi?id=12115
2199           RTL text is jumbled on display
2200
2201         Fixed fixed table layout. Implemented an algorithm that matches the behavior
2202         of Firefox, up to rounding errors.
2203
2204         Fixes three existing table tests.
2205
2206         * rendering/FixedTableLayout.cpp:
2207         Undid accidental search-and-replace of "width" to "m_width" in the comments.
2208         Removed an outdated comment, since WebKit no longer honors table-layout:fixed
2209         for variable-width tables.
2210         (WebCore::FixedTableLayout::calcWidthArray): Fixed the logic that finds the
2211         first row. Changed to divide the width specified for a cell that spans multiple
2212         columns between the columns rather than assign its entire width to each column.
2213         (WebCore::FixedTableLayout::calcMinMaxWidth):
2214         (WebCore::FixedTableLayout::layout): Implemented the behavior observed in
2215         Firefox.
2216         * rendering/FixedTableLayout.h:
2217
2218 2007-01-11  Mitz Pettel  <mitz@webkit.org>
2219
2220         Reviewed by Hyatt.
2221
2222         - fix http://bugs.webkit.org/show_bug.cgi?id=8438
2223           iExploder(#460): Assertion failure in RenderObject::drawBorder()
2224
2225         Test: fast/block/basic/fieldset-stretch-to-legend.html
2226
2227         * rendering/RenderBox.cpp:
2228         (WebCore::RenderBox::calcWidth): Stretch to the minimum intrinsic
2229         width if the object requires it.
2230         (WebCore::RenderBox::calcHorizontalMargins): Some style cleanup.
2231         (WebCore::RenderBox::calcAbsoluteHorizontal): Stretch to the minimum
2232         intrinsic width if the object requires it.
2233         * rendering/RenderBox.h:
2234         (WebCore::RenderBox::stretchesToMinIntrinsicWidth): Added. Returns false.
2235         * rendering/RenderFieldset.cpp:
2236         (WebCore::RenderFieldset::calcMinMaxWidth): Overloaded RenderBlock's
2237         implementation to ensure that the legend's will fit in the fieldset's
2238         minimum intrinsic width.
2239         (WebCore::RenderFieldset::findLegend): Made const.
2240         (WebCore::RenderFieldset::paintBoxDecorations):
2241         (WebCore::RenderFieldset::paintBorderMinusLegend): Fixed the behavior when
2242         the legend does overflow the fieldset. This is the part of the fix that
2243         prevents the assertion failure. If the legend intersects with a corner of
2244         the fieldset's border, that corner will not be painted, even if it is not
2245         completely occluded. This edge case can be improved with clipping in the
2246         future. Added FIXME to implement border-radius.
2247         * rendering/RenderFieldset.h:
2248         (WebCore::RenderFieldset::stretchesToMinIntrinsicWidth): Overloaded to
2249         return true.
2250
2251 2007-01-11  Brady Eidson  <beidson@apple.com>
2252
2253         Reviewed by Build Fix Karma
2254
2255         I broke the release build (debug build passed)
2256
2257         * platform/network/mac/AuthenticationMac.mm:
2258         (WebCore::core):
2259
2260 2007-01-11  Brady Eidson  <beidson@apple.com>
2261
2262         Reviewed by Anders
2263
2264         Rewrites HTTP Authentication setting up a more platform-independent structure
2265
2266         * WebCore.exp:
2267         * WebCore.xcodeproj/project.pbxproj:
2268         * loader/FrameLoader.cpp:
2269         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
2270         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
2271         * loader/FrameLoader.h:
2272         * loader/FrameLoaderClient.h:
2273         * loader/ResourceLoader.cpp:
2274         (WebCore::ResourceLoader::ResourceLoader):
2275         (WebCore::ResourceLoader::didCancel):
2276         * loader/ResourceLoader.h:
2277         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2278         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2279         (WebCore::ResourceLoader::receivedCredential):
2280         (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
2281         (WebCore::ResourceLoader::receivedCancellation):
2282         * loader/mac/FrameLoaderMac.mm:
2283         * loader/mac/ResourceLoaderMac.mm:
2284         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2285         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2286         (WebCore::ResourceLoader::receivedCredential):
2287         (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
2288         (WebCore::ResourceLoader::receivedCancellation):
2289         * platform/graphics/svg/SVGImageEmptyClients.h:
2290         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2291         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2292         * platform/network/ResourceHandleClient.h:
2293         (WebCore::ResourceHandleClient::willSendRequest):
2294         (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
2295         (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
2296         (WebCore::ResourceHandleClient::receivedCredential):
2297         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
2298         (WebCore::ResourceHandleClient::receivedCancellation):
2299         (WebCore::ResourceHandleClient::willCacheResponse):
2300         * platform/network/ResourceResponse.h:
2301         (WebCore::operator!=):
2302         * platform/network/URLAuthenticationChallenge.cpp: Added.
2303         (WebCore::URLAuthenticationChallenge::URLAuthenticationChallenge):
2304         (WebCore::URLAuthenticationChallenge::previousFailureCount):
2305         (WebCore::URLAuthenticationChallenge::proposedCredential):
2306         (WebCore::URLAuthenticationChallenge::protectionSpace):
2307         (WebCore::URLAuthenticationChallenge::failureResponse):
2308         (WebCore::URLAuthenticationChallenge::error):
2309         (WebCore::URLAuthenticationChallenge::isNull):
2310         (WebCore::URLAuthenticationChallenge::nullify):
2311         (WebCore::operator==):
2312         (WebCore::operator!=):
2313         * platform/network/URLAuthenticationChallenge.h: Added.
2314         (WebCore::URLAuthenticationChallenge::sender):
2315         (WebCore::URLAuthenticationChallenge::nsURLAuthenticationChallenge):
2316         * platform/network/URLCredential.cpp: Added.
2317         (WebCore::URLCredential::URLCredential):
2318         (WebCore::URLCredential::user):
2319         (WebCore::URLCredential::password):
2320         (WebCore::URLCredential::hasPassword):
2321         (WebCore::URLCredential::persistence):
2322         (WebCore::operator==):
2323         * platform/network/URLCredential.h: Added.
2324         (WebCore::):
2325         (WebCore::operator!=):
2326         * platform/network/URLProtectionSpace.cpp: Added.
2327         (WebCore::URLProtectionSpace::URLProtectionSpace):
2328         (WebCore::URLProtectionSpace::host):
2329         (WebCore::URLProtectionSpace::port):
2330         (WebCore::URLProtectionSpace::serverType):
2331         (WebCore::URLProtectionSpace::realm):
2332         (WebCore::URLProtectionSpace::authenticationScheme):
2333         (WebCore::operator==):
2334         * platform/network/URLProtectionSpace.h: Added.
2335         (WebCore::):
2336         (WebCore::operator!=):
2337         * platform/network/mac/AuthenticationMac.h: Added.
2338         * platform/network/mac/AuthenticationMac.mm: Added.
2339         (WebCore::URLAuthenticationChallenge::URLAuthenticationChallenge):
2340         (WebCore::mac):
2341         (WebCore::core):
2342         * platform/network/mac/ResourceHandleMac.mm:
2343         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
2344         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
2345         (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
2346         (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
2347         (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
2348         * platform/network/mac/ResourceResponseMac.mm:
2349         (WebCore::operator==):
2350
2351 2007-01-11  Geoffrey Garen  <ggaren@apple.com>
2352
2353         Reviewed by Anders Carlsson.
2354         
2355         Even more cleanup in preparation for fixing <rdar://problem/4608404> 
2356         WebScriptObject's _executionContext lack of ownership policy causes 
2357         crashes (e.g., in Dashcode)
2358         
2359         Layout tests pass.
2360         
2361         Renames:
2362             findRootObjectForNativeHandleFunction => createRootObject
2363             FindRootObjectForNativeHandleFunctionPtr => createRootObjectFunction
2364             rootForView => createRootObject
2365             getInstanceForView => getPluginInstanceForWidget
2366
2367         * page/mac/FrameMac.mm:
2368         (WebCore::FrameMac::getAppletInstanceForWidget): Put the NSView * in a void*
2369         variable named "nativeHandle" to be more explicit about the fact that JavaScript's
2370         "nativeHandle" is just an NSView *.
2371
2372         (WebCore::getPluginInstanceForWidget): This function now does the NSView *
2373         fetching that its callers used to do.
2374         (WebCore::FrameMac::getEmbedInstanceForWidget): Updated for rename.
2375         (WebCore::FrameMac::getObjectInstanceForWidget): ditto
2376
2377         * page/mac/WebCoreFrameBridge.mm: Killed the WebCoreBridgeInternal category,
2378         which was really more of a shmategory.
2379         (createRootObject): Removed rootObjectForView, folding it into its only
2380         caller, the similarly named rootForView. Renamed the pair to "createRootObject"
2381         because that's what they do.
2382
2383         (-[WebCoreFrameBridge init]): Updated for renames
2384
2385 2007-01-11  Anders Carlsson  <acarlsson@apple.com>
2386
2387         Reviewed by Darin.
2388
2389         Fix crash on platforms that don't use the new loader yet.
2390         
2391         * loader/DocLoader.cpp:
2392         (WebCore::DocLoader::requestResource):
2393
2394 2007-01-11  Mitz Pettel  <mitz@webkit.org>
2395
2396         Reviewed by Adam.
2397
2398         - fix http://bugs.webkit.org/show_bug.cgi?id=11449
2399           Type-to-select in unopened popups doesn't work with Hebrew
2400
2401         Test: fast/forms/select-type-ahead-non-latin.html
2402
2403         * html/HTMLSelectElement.cpp:
2404         (WebCore::HTMLSelectElement::defaultEventHandler): Changed locale-specific
2405         isprint() condition to a Unicode isPrintableChar().
2406
2407 2007-01-09  Justin Garcia  <justin.garcia@apple.com>
2408
2409         Reviewed by geoff
2410         
2411         <rdar://problem/4889140>
2412         GMail Editor: List creation fails in new message
2413
2414         * editing/InsertListCommand.cpp:
2415         (WebCore::InsertListCommand::doApply): Inserting the list
2416         into an empty paragraph not held open by a br or a '\n', 
2417         will invalidate start and end.  Insert a placeholder and 
2418         then recompute start and end.
2419
2420 2007-01-11  Lars Knoll <lars@trolltech.com>
2421
2422         Rubberstamped by Anders
2423
2424         This one is not needed any longer neither.
2425
2426         * ChangeLog:
2427         * WebCore.pro:
2428         * loader/qt/NavigationActionQt.cpp: Removed.
2429
2430 2007-01-11  Lars Knoll <lars@trolltech.com>
2431
2432         Reviewed by Anders
2433
2434         Remove now unused file
2435
2436         * WebCore.pro:
2437         * loader/qt/LoaderFunctionsQt.cpp: Removed.
2438
2439 2007-01-11  David Kilzer  <ddkilzer@webkit.org>
2440
2441         Reviewed by NOBODY (build fix).
2442
2443         * loader/mac/FrameLoaderMac.mm:  Removed import of LoaderNSURLRequestExtras.h.
2444         * loader/mac/SubresourceLoaderMac.mm:  Ditto.
2445
2446 2007-01-11  George Staikos  <staikos@kde.org>
2447
2448         Fix compile.
2449
2450         * page/qt/FrameQtClient.cpp:
2451
2452 2007-01-11  Anders Carlsson  <acarlsson@apple.com>
2453
2454         Fix build.
2455         
2456         * dom/XMLTokenizer.cpp:
2457         * loader/CachedCSSStyleSheet.cpp:
2458         * loader/CachedImage.cpp:
2459         * loader/DocLoader.cpp:
2460         * loader/loader.cpp:
2461         * xml/XSLTProcessor.cpp:
2462         * xml/xmlhttprequest.cpp:
2463
2464 2007-01-11  Anders Carlsson  <acarlsson@apple.com>
2465
2466         Reviewed by Adam.
2467
2468         Loader cleanup, get rid of unused code.
2469         
2470         * WebCore.xcodeproj/project.pbxproj:
2471         * loader/CachedResource.h:
2472         * loader/DocLoader.cpp:
2473         (WebCore::DocLoader::requestResource):
2474         (WebCore::DocLoader::checkCacheObjectStatus):
2475         * loader/DocLoader.h:
2476         * loader/LoaderFunctions.h: Removed.
2477         * loader/mac/CachedResourceMac.mm: Removed.
2478         * loader/mac/LoaderFunctionsMac.mm: Removed.
2479         * loader/mac/LoaderNSURLRequestExtras.h: Removed.
2480         * loader/mac/LoaderNSURLRequestExtras.m: Removed.
2481         * loader/mac/SubresourceLoaderMac.mm:
2482         * page/mac/WebCoreFrameBridge.mm:
2483         * platform/network/ResourceHandle.cpp:
2484
2485 2007-01-11  Beth Dakin  <bdakin@apple.com>
2486
2487         Reviewed by Adam.
2488
2489         Fix for http://bugs.webkit.org/show_bug.cgi?id=12135 REGRESSION: 
2490         <input> and <textarea> not focused on right click (4908884 in 
2491         Radar)
2492
2493         * page/EventHandler.cpp:
2494         (WebCore::EventHandler::sendContextMenuEvent): Since WebcCore now 
2495         handles the context menu event, we want to ask if we *have* 
2496         swallowed the event instead of if we *haven't* when deciding to 
2497         perform a selection. In the past, WebKit handled the event, so 
2498         swallowEvent was false in the case where we want to pop up a menu. 
2499
2500 2007-01-11  Darin Adler  <darin@apple.com>
2501
2502         Reviewed by Anders.
2503
2504         - fix http://bugs.webkit.org/show_bug.cgi?id=12189
2505           REGRESSION(r18614-18640): Crash in WebCore::SharedBuffer::hasPlatformData()
2506
2507         * loader/mac/LoaderFunctionsMac.mm: (WebCore::CheckCacheObjectStatus):
2508         Added null check.
2509
2510 2007-01-11  Darin Adler  <darin@apple.com>
2511
2512         * platform/CharacterNames.h: Oops! horizontalEllipsis != zeroWidthSpace!
2513
2514 2007-01-11  Lars Knoll <lars@trolltech.com>
2515
2516         Reviewed by Darin.
2517
2518         Start using the loader in the Qt port.
2519
2520         * loader/FrameLoader.cpp:
2521         (WebCore::FrameLoader::clear):
2522         (WebCore::FrameLoader::URL):
2523         (WebCore::FrameLoader::createEmptyDocument):
2524         * loader/qt/FrameLoaderQt.cpp:
2525         (WebCore::FrameLoader::setTitle):
2526         (WebCore::FrameLoader::originalRequestURL):
2527         (WebCore::FrameLoader::referrer):
2528         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2529         * page/qt/FrameQtClient.cpp:
2530         (WebCore::FrameQtClient::openURL):
2531
2532 2007-01-11  Darin Adler  <darin@apple.com>
2533
2534         Reviewed by Hyatt.
2535
2536         - removed a couple Mac bridging classes; put the code in WebKit instead
2537
2538         * WebCore.exp: Updated for new WebKit uses.
2539
2540         * WebCore.xcodeproj/project.pbxproj: Removed files.
2541         * bridge/mac/WebCoreEncodings.h: Removed.
2542         * bridge/mac/WebCoreEncodings.mm: Removed.
2543         * bridge/mac/WebMimeTypeRegistryBridge.h: Removed.
2544         * bridge/mac/WebMimeTypeRegistryBridge.mm: Removed.
2545         * platform/mac/WebNSAttributedStringExtras.h: Removed.
2546         * platform/mac/WebNSAttributedStringExtras.mm: Removed.
2547
2548         * platform/mac/PasteboardMac.mm:
2549         (WebCore::stripAttachmentCharacters): Added. Moved code from
2550         WebNSAttributedStringExtras.mm, and fixed a garbage collection problem
2551         (a global with a plain old retain rather than HardRetain).
2552         (WebCore::Pasteboard::writeSelection): Updated to use stripAttachmentCharacters.
2553
2554         - removed some DeprecatedCString use
2555
2556         * loader/FrameLoader.cpp: Changed to use String more to eliminate use of
2557         DeprecatedCString here in the mailto form support. But maybe we can remove
2558         this entirely. Do we really care about mailto forms any more?
2559
2560         * platform/Pasteboard.h: Removed unneeded DeprecatedCString declaration.
2561
2562         * platform/PlatformString.h: Added replace that takes two strings.
2563         * platform/StringImpl.h: Ditto.
2564         * platform/StringImpl.cpp: (WebCore::StringImpl::replace): Ditto.
2565
2566         * platform/TextStream.h: Remove DeprecatedCString case.
2567         * platform/TextStream.cpp: Ditto.
2568
2569         - made a few more files use CharacterNames.h
2570
2571         * platform/CharacterNames.h: Added some more character names and
2572         sorted alphabetically.
2573
2574         * bridge/mac/WebCoreStringTruncator.mm:
2575         (centerTruncateToBuffer): Use character name from CharacterNames.h.
2576         (rightTruncateToBuffer): Ditto.
2577         (truncateString): Ditto.
2578         * platform/mac/FontMac.mm: (WebCore::addDirectionalOverride): Ditto.
2579         * rendering/RenderFlexibleBox.cpp:
2580         (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto.
2581         * rendering/bidi.cpp:
2582         (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto.
2583
2584 2007-01-11  David Hyatt  <hyatt@apple.com>
2585
2586         Fix two bugs in positionForCoordinates.  (Make it work when you have a margin in between your border and
2587         your first child block.)
2588
2589         Rewrite column rebalancing to have two modes: constrained and unconstrained.  In unconstrained mode,
2590         the system will dynamically rebalance as it loses space to breaks and compute a final intrinsic height
2591         for the overall block.  In constrained mode, columns flow into the fixed height block, and extra columns
2592         spill out horizontally in the appropriate direction (RTL/LTR).
2593
2594         Make columns work properly with both LTR and RTL overflow blocks.
2595
2596         Initial column test suite coming soon now that the basic layout is right.
2597
2598         Reviewed by darin
2599
2600         * rendering/RenderBlock.cpp:
2601         (WebCore:::RenderFlow):
2602         (WebCore::RenderBlock::layoutBlock):
2603         (WebCore::RenderBlock::paintColumns):
2604         (WebCore::RenderBlock::lowestPosition):
2605         (WebCore::RenderBlock::rightmostPosition):
2606         (WebCore::RenderBlock::leftmostPosition):
2607         (WebCore::RenderBlock::hitTestColumns):
2608         (WebCore::RenderBlock::positionForCoordinates):
2609         (WebCore::RenderBlock::availableWidth):
2610         (WebCore::RenderBlock::calcColumnWidth):
2611         (WebCore::RenderBlock::layoutColumns):
2612         (WebCore::RenderBlock::adjustPointToColumnContents):
2613         * rendering/RenderBlock.h:
2614         (WebCore::RenderBlock::hasColumns):
2615
2616 2007-01-10  Rob Buis  <buis@kde.org>
2617
2618         Reviewed by Eric.
2619
2620         http://bugs.webkit.org/show_bug.cgi?id=12201
2621         Fix image dragging issues with http://www.carto.net/papers/svg/gui/scrollbar/index.svg
2622
2623         Fix calculation of absolute transform so that viewport x,y
2624         translation is always done, also when viewBox is set.     
2625
2626         * rendering/RenderSVGContainer.cpp:
2627         (WebCore::RenderSVGContainer::paint):
2628         (WebCore::RenderSVGContainer::viewportTransform):
2629         (WebCore::RenderSVGContainer::absoluteTransform):
2630
2631 2007-01-10  David Hyatt  <hyatt@apple.com>
2632
2633         Rework positionForCoordinates to be more efficient and to handle multi-column content.  This entailed
2634         adding a new field to HitTestResult called localPoint that cached the mouse coordinate in the coordinate
2635         space of the renderer.
2636
2637         positionForCoordinates now takes local coordinates and so no longer needs to waste time recomputing
2638         absolute positions over and over again.
2639
2640         Reviewed by darin
2641
2642         * bridge/mac/WebCoreAXObject.mm:
2643         (-[WebCoreAXObject value]):
2644         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
2645         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
2646         * dom/Document.cpp:
2647         (WebCore::Document::prepareMouseEvent):
2648         * editing/SelectionController.cpp:
2649         (WebCore::SelectionController::contains):
2650         * editing/visible_units.cpp:
2651         (WebCore::previousLinePosition):
2652         (WebCore::nextLinePosition):
2653         * page/EventHandler.cpp:
2654         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
2655         (WebCore::EventHandler::handleMousePressEventDoubleClick):
2656         (WebCore::EventHandler::handleMousePressEventTripleClick):
2657         (WebCore::EventHandler::handleMousePressEventSingleClick):
2658         (WebCore::EventHandler::handleMouseMoveEvent):
2659         (WebCore::EventHandler::handleMouseReleaseEvent):
2660         (WebCore::EventHandler::sendContextMenuEvent):
2661         * page/EventHandler.h:
2662         * page/MouseEventWithHitTestResults.cpp:
2663         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2664         * page/MouseEventWithHitTestResults.h:
2665         (WebCore::MouseEventWithHitTestResults::localPoint):
2666         * page/mac/WebCoreFrameBridge.mm:
2667         (-[WebCoreFrameBridge _visiblePositionForPoint:]):
2668         * rendering/EllipsisBox.cpp:
2669         (WebCore::EllipsisBox::nodeAtPoint):
2670         * rendering/HitTestResult.h:
2671         (WebCore::HitTestResult::localPoint):
2672         (WebCore::HitTestResult::setLocalPoint):
2673         * rendering/InlineFlowBox.cpp:
2674         (WebCore::InlineFlowBox::nodeAtPoint):
2675         * rendering/InlineTextBox.cpp:
2676         (WebCore::InlineTextBox::nodeAtPoint):
2677         * rendering/RenderBlock.cpp:
2678         (WebCore::RenderBlock::nodeAtPoint):
2679         (WebCore::RenderBlock::hitTestContents):
2680         (WebCore::RenderBlock::positionForCoordinates):
2681         * rendering/RenderBox.cpp:
2682         (WebCore::RenderBox::nodeAtPoint):
2683         * rendering/RenderContainer.cpp:
2684         (WebCore::RenderContainer::positionForCoordinates):
2685         * rendering/RenderFlow.cpp:
2686         (WebCore::RenderFlow::hitTestLines):
2687         * rendering/RenderInline.cpp:
2688         (WebCore::RenderInline::positionForCoordinates):
2689         * rendering/RenderLayer.cpp:
2690         (WebCore::RenderLayer::autoscroll):
2691         (WebCore::RenderLayer::hitTestLayer):
2692         * rendering/RenderObject.cpp:
2693         (WebCore::RenderObject::updateHitTestResult):
2694         * rendering/RenderObject.h:
2695         * rendering/RenderPath.cpp:
2696         (WebCore::RenderPath::nodeAtPoint):
2697         * rendering/RenderReplaced.cpp:
2698         (WebCore::RenderReplaced::positionForCoordinates):
2699         * rendering/RenderTableRow.cpp:
2700         (WebCore::RenderTableRow::nodeAtPoint):
2701         * rendering/RenderTableSection.cpp:
2702         (WebCore::RenderTableSection::nodeAtPoint):
2703         * rendering/RenderText.cpp:
2704         (WebCore::RenderText::positionForCoordinates):
2705         * rendering/RootInlineBox.cpp:
2706         (WebCore::RootInlineBox::nodeAtPoint):
2707         (WebCore::RootInlineBox::closestLeafChildForXPos):
2708         * rendering/RootInlineBox.h:
2709
2710 2007-01-11  George Staikos  <staikos@kde.org>
2711
2712         Reviewed by Maciej.
2713
2714         Fix Qt Build.
2715
2716         * loader/qt/DocumentLoaderQt.cpp:
2717         (WebCore::DocumentLoader::getResponseModifiedHeader):
2718
2719 2007-01-10  Kirby White  <KWhiteRight@gmail.com>
2720
2721         Reviewed by Darin.
2722
2723         Fixes for http://bugs.webkit.org/show_bug.cgi?id=11841
2724
2725         Set image size to fit alt text when image or input-image element
2726         has no src attribute, so that those images show their alt text instead
2727         of showing nothing at all.
2728
2729         * html/HTMLImageElement.cpp:
2730         (WebCore::HTMLImageElement::attach):
2731         * html/HTMLInputElement.cpp:
2732         (WebCore::HTMLInputElement::attach):
2733         * rendering/RenderImage.cpp:
2734         (WebCore::RenderImage::setImageSizeForAltText):
2735         (WebCore::RenderImage::imageChanged):
2736         * rendering/RenderImage.h:
2737
2738 2007-01-11  Mark Rowe  <mrowe@apple.com>
2739
2740         Build fix.
2741
2742         * rendering/RenderView.cpp:
2743         (WebCore::RenderView::printing):
2744
2745 2007-01-10  Mitz Pettel  <mitz@webkit.org>
2746
2747         Reviewed by Darin.
2748
2749         - fix http://bugs.webkit.org/show_bug.cgi?id=9284
2750           Quirksmode (CSS1): Removing inline border styles is impossible
2751
2752         Test: fast/css/remove-shorthand.html
2753
2754         * css/CSSMutableStyleDeclaration.cpp:
2755         (WebCore::PropertyLonghand::PropertyLonghand): Added this structure
2756         containing a pointer to an array if properties and the array's length.
2757         (WebCore::PropertyLonghand::properties):
2758         (WebCore::PropertyLonghand::length):
2759         (WebCore::initShorthandMap): Initialize the mapping from shorthand
2760         properties to their dependent properties.
2761         (WebCore::CSSMutableStyleDeclaration::removeProperty): Changed to check
2762         if the property being removed is a shorthand, and if so, to remove all
2763         of its dependent properties.
2764         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): Added a
2765         'notifyChanged' boolean parameter which controls whether this method
2766         calls setChanged() if it actually removes any property.
2767         * css/CSSMutableStyleDeclaration.h:
2768
2769 2007-01-10  Steve Falkenburg  <sfalken@apple.com>
2770
2771         Reviewed by Kevin.
2772
2773         Removed unnecessary printing state
2774
2775         * page/FrameView.cpp:
2776         (WebCore::FrameView::layout):
2777         * page/mac/WebCoreFrameBridge.mm:
2778         (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]):
2779         (-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
2780         (-[WebCoreFrameBridge drawRect:]):
2781         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
2782         (-[WebCoreFrameBridge adjustPageHeightNew:top:bottom:limit:]):
2783         * rendering/RenderLayer.cpp:
2784         (WebCore::RenderLayer::updateLayerPositions):
2785         * rendering/RenderObject.cpp:
2786         (WebCore::RenderObject::repaint):
2787         (WebCore::RenderObject::repaintRectangle):
2788         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2789         * rendering/RenderView.cpp:
2790         (WebCore::RenderView::RenderView):
2791         (WebCore::RenderView::calcHeight):
2792         (WebCore::RenderView::calcWidth):
2793         (WebCore::RenderView::layout):
2794         (WebCore::RenderView::paint):
2795         (WebCore::RenderView::repaintViewRectangle):
2796         (WebCore::RenderView::computeAbsoluteRepaintRect):
2797         (WebCore::RenderView::printing):
2798         (WebCore::RenderView::viewRect):
2799         (WebCore::RenderView::docHeight):
2800         (WebCore::RenderView::docWidth):
2801         * rendering/RenderView.h:
2802         * rendering/RenderWidget.cpp:
2803         (WebCore::RenderWidget::updateWidgetPosition):
2804         * rendering/bidi.cpp:
2805         (WebCore::RenderBlock::layoutInlineChildren):
2806
2807 2007-01-10  Anders Carlsson  <acarlsson@apple.com>
2808
2809         Reviewed by Maciej.
2810
2811         Get the Refresh header directly from the ResourceResponse.
2812         
2813         * loader/DocumentLoader.h:
2814         * loader/FrameLoader.cpp:
2815         (WebCore::FrameLoader::commitProvisionalLoad):
2816         * loader/mac/DocumentLoaderMac.mm:
2817         (WebCore::DocumentLoader::getResponseModifiedHeader):
2818
2819 2007-01-10  Beth Dakin  <bdakin@apple.com>
2820
2821         Reviewed by John.
2822
2823         Fix for <rdar://problem/4914258> REGRESSION: Search in Google now 
2824         operates on the current WebView instead of invoking Safari's 
2825         service
2826
2827         * page/ContextMenuClient.h: New call to the client to search in 
2828         google.
2829         * page/ContextMenuController.cpp:
2830         (WebCore::ContextMenuController::contextMenuItemSelected): Call 
2831         into the client instead of forming a new url string and loading it.
2832         * platform/graphics/svg/SVGImageEmptyClients.h:
2833         (WebCore::SVGEmptyContextMenuClient::searchWithGoogle): New call.
2834
2835 2007-01-10  Adam Roben  <aroben@apple.com>
2836
2837         Rubberstamped by Darin.
2838
2839         * page/ContextMenuController.cpp:
2840         (WebCore::ContextMenuController::contextMenuItemSelected): Pass 0
2841         instead of an empty Event to FrameLoader::load and
2842         FrameLoader::urlSelected.
2843
2844 2007-01-10  Anders Carlsson  <acarlsson@apple.com>
2845
2846         * loader/ResourceLoader.cpp:
2847         (WebCore::ResourceLoader::~ResourceLoader):
2848         Disable assertion (I forgot to do this even though I added the comment!)
2849
2850 2007-01-10  Ross Burton  <ross@burtonini.com>
2851
2852         Reviewed and landed by Anders.
2853
2854         Fix case in vcproj file (the GTK+ port uses the vcproj file).
2855
2856         * WebCore.vcproj/WebCore/WebCore.vcproj:
2857
2858 2007-01-10  Lars Knoll  <lars@trolltech.com>
2859
2860         Make the Qt build compile again after 
2861         the ResourceLoader was made platform
2862         independent. 
2863
2864         * WebCore.pro:
2865         * loader/FrameLoader.cpp:
2866         (WebCore::FrameLoader::didFirstLayout):
2867         * loader/qt/FrameLoaderQt.cpp:
2868         * loader/qt/MainResourceLoaderQt.cpp: Removed.
2869         * loader/qt/ResourceLoaderQt.cpp: Removed.
2870         * page/qt/FrameQtClient.cpp:
2871         (WebCore::FrameQtClient::openURL):
2872         * platform/network/qt/ResourceHandleQt.cpp:
2873         (WebCore::ResourceHandle::setDefersLoading):
2874
2875 2007-01-10  Anders Carlsson  <acarlsson@apple.com>
2876
2877         Rubber-stamped by Maciej.
2878         
2879         Move most of ResourceLoader and MainResourceLoader into the platform-independent files.
2880         
2881         * WebCore.xcodeproj/project.pbxproj:
2882         * loader/FrameLoader.cpp:
2883         (WebCore::FrameLoader::didFinishLoad):
2884         * loader/MainResourceLoader.cpp:
2885         (WebCore::MainResourceLoader::MainResourceLoader):
2886         (WebCore::MainResourceLoader::~MainResourceLoader):
2887         (WebCore::MainResourceLoader::create):
2888         (WebCore::MainResourceLoader::receivedError):
2889         (WebCore::MainResourceLoader::didCancel):
2890         (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
2891         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
2892         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
2893         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
2894         (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
2895         (WebCore::MainResourceLoader::addData):
2896         (WebCore::MainResourceLoader::willSendRequest):
2897         (WebCore::shouldLoadAsEmptyDocument):
2898         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2899         (WebCore::MainResourceLoader::callContinueAfterContentPolicy):
2900         (WebCore::MainResourceLoader::didReceiveResponse):
2901         (WebCore::MainResourceLoader::didReceiveData):
2902         (WebCore::MainResourceLoader::didFinishLoading):
2903         (WebCore::MainResourceLoader::didFail):
2904         (WebCore::MainResourceLoader::loadNow):
2905         (WebCore::MainResourceLoader::load):
2906         (WebCore::MainResourceLoader::setDefersLoading):
2907         * loader/MainResourceLoader.h:
2908         * loader/ResourceLoader.cpp:
2909         (WebCore::ResourceLoader::ResourceLoader):
2910         (WebCore::ResourceLoader::~ResourceLoader):
2911         (WebCore::ResourceLoader::releaseResources):
2912         (WebCore::ResourceLoader::load):
2913         (WebCore::ResourceLoader::setDefersLoading):
2914         (WebCore::ResourceLoader::frameLoader):
2915         (WebCore::ResourceLoader::addData):
2916         (WebCore::ResourceLoader::clearResourceData):
2917         (WebCore::ResourceLoader::willSendRequest):
2918         (WebCore::ResourceLoader::didReceiveResponse):
2919         (WebCore::ResourceLoader::didReceiveData):
2920         (WebCore::ResourceLoader::willStopBufferingData):
2921         (WebCore::ResourceLoader::didFinishLoading):
2922         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2923         (WebCore::ResourceLoader::didFail):
2924         (WebCore::ResourceLoader::didCancel):
2925         (WebCore::ResourceLoader::cancel):
2926         (WebCore::ResourceLoader::response):
2927         (WebCore::ResourceLoader::cancelledError):
2928         * loader/ResourceLoader.h:
2929         (WebCore::ResourceLoader::willStopBufferingData):
2930         (WebCore::ResourceLoader::setRequest):
2931         * loader/mac/FrameLoaderMac.mm:
2932         * loader/mac/MainResourceLoaderMac.mm: Removed.
2933         * loader/mac/ResourceLoaderMac.mm:
2934
2935 2007-01-10  Lars Knoll <lars@trolltech.com>
2936
2937         Move files to the correct location,
2938         and remove a few unused methods from 
2939         LoaderFunctionsQt.cpp
2940
2941         * WebCore.pro:
2942         * loader/qt/LoaderFunctionsQt.cpp: Added.
2943         (WebCore::CheckCacheObjectStatus):
2944         * page/qt/FrameQt.cpp: Added.
2945         (WebCore::doScroll):
2946         (WebCore::FrameQt::FrameQt):
2947         (WebCore::FrameQt::~FrameQt):
2948         (WebCore::FrameQt::passMouseDownEventToWidget):
2949         (WebCore::FrameQt::isLoadTypeReload):
2950         (WebCore::FrameQt::markedTextRange):
2951         (WebCore::FrameQt::mimeTypeForFileName):
2952         (WebCore::FrameQt::unfocusWindow):
2953         (WebCore::FrameQt::focusWindow):
2954         (WebCore::FrameQt::getEmbedInstanceForWidget):
2955         (WebCore::FrameQt::getObjectInstanceForWidget):
2956         (WebCore::FrameQt::getAppletInstanceForWidget):
2957         (WebCore::FrameQt::issueCutCommand):
2958         (WebCore::FrameQt::issueCopyCommand):
2959         (WebCore::FrameQt::issuePasteCommand):
2960         (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
2961         (WebCore::FrameQt::issueTransposeCommand):
2962         (WebCore::FrameQt::respondToChangedSelection):
2963         (WebCore::FrameQt::shouldChangeSelection):
2964         (WebCore::FrameQt::print):
2965         (WebCore::FrameQt::shouldInterruptJavaScript):
2966         (WebCore::FrameQt::keyEvent):
2967         (WebCore::FrameQt::setFrameGeometry):
2968         (WebCore::FrameQt::client):
2969         (WebCore::FrameQt::createNewWindow):
2970         (WebCore::FrameQt::goBackOrForward):
2971         (WebCore::FrameQt::historyURL):
2972         (WebCore::FrameQt::runJavaScriptAlert):
2973         (WebCore::FrameQt::runJavaScriptConfirm):
2974         (WebCore::FrameQt::runJavaScriptPrompt):
2975         (WebCore::FrameQt::bindingRootObject):
2976         (WebCore::FrameQt::addPluginRootObject):
2977         * page/qt/FrameQt.h: Added.
2978         (WebCore::QtFrame):
2979         * page/qt/FrameQtClient.cpp: Added.
2980         (WebCore::FrameQtClient::FrameQtClient):
2981         (WebCore::FrameQtClient::~FrameQtClient):
2982         (WebCore::FrameQtClient::setFrame):
2983         (WebCore::FrameQtClient::openURL):
2984         (WebCore::FrameQtClient::submitForm):
2985         (WebCore::FrameQtClient::didReceiveResponse):
2986         (WebCore::FrameQtClient::didFinishLoading):
2987         (WebCore::FrameQtClient::didFail):
2988         (WebCore::FrameQtClient::didReceiveData):
2989         (WebCore::FrameQtClient::traverseNextFrameStayWithin):
2990         (WebCore::numRequests):
2991         (WebCore::FrameQtClient::numPendingOrLoadingRequests):
2992         * page/qt/FrameQtClient.h: Added.
2993         * platform/qt/FrameQt.cpp: Removed.
2994         * platform/qt/FrameQt.h: Removed.
2995         * platform/qt/FrameQtClient.cpp: Removed.
2996         * platform/qt/FrameQtClient.h: Removed.
2997         * platform/qt/LoaderFunctionsQt.cpp: Removed.
2998
2999 2007-01-10  Adam Roben  <aroben@apple.com>
3000
3001         Reviewed by Geoff.
3002
3003         Fix: <rdar://problem/4917054> ContextMenuController leaks Events
3004
3005         No layout tests possible.
3006
3007         * page/ContextMenuController.cpp:
3008         (WebCore::ContextMenuController::contextMenuItemSelected): Use RefPtr
3009         to manage the lifetime of Shared objects.
3010
3011 2007-01-10  Rob Buis  <buis@kde.org>
3012
3013         Reviewed by Sam.
3014
3015         http://bugs.webkit.org/show_bug.cgi?id=12196
3016         SVGPatternElement should not be locatable
3017
3018         Replace SVGStyledLocatableElement derivation with
3019         SVGStyledElement.
3020
3021         * ksvg2/svg/SVGPatternElement.cpp:
3022         (WebCore::SVGPatternElement::SVGPatternElement):
3023         * ksvg2/svg/SVGPatternElement.h:
3024
3025 2007-01-10  Nikolas Zimmermann  <zimmermann@kde.org>
3026
3027         Build fix, not reviewed.
3028
3029         * rendering/RenderSVGText.cpp: Use correct method name.
3030         (WebCore::RenderSVGText::relativeBBox):
3031
3032 2007-01-10  Nikolas Zimmermann  <zimmermann@kde.org>
3033
3034         Reviewed by Eric.
3035
3036         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10262 (SVG fails to redraw top 20 pixels)
3037         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10263 (SVG seems to repaint way too many times during load)
3038         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10404 (Invalidation issues with text skew)
3039         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10407 (bad SVG text invalidation issues on mouseover/mouseout)
3040         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10806 (failing manual-tests/svg-repaint-group.svg)
3041         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10913 (SVG charts from plotkit fail to render unless you scroll them offscreen)
3042         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10964 (inclusion of svg into svg leave a ghost invisible rectangle)
3043         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11680 (DojoKit SVG test chart fails to render (clipping issue?))
3044         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11883 (SVG Text has updating/repainting issues)
3045         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11907 (RenderSVGContainer does not mark itself for repaint after setting viewBox, slice or align) 
3046         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11913 (Invalidation issues in SVG javascript-based animation example)
3047         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11979 (SVG text does not respect font-size scaling in bbox calculation)
3048         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11984 (SVG <text> does not calculate the correct absoluteRepaintRect)
3049         Partly fixes: http://bugs.webkit.org/show_bug.cgi?id=10745 (SVG layout needs to move out of DOM and into rendering tree during layout() call)
3050
3051         Fixes text redrawing issues seen in svg/carto.net (when actually playing with those files, manually)
3052         Fixes svg/carto.net/window.svg (moving "Navigation Window" caused artefacts)
3053         Fixes svg/W3C-SVG-1.1/types-basicDOM-01-b.svg (bbox calculations had one pixel offset)
3054
3055         Large SVG dynamic update rework/optimization. Also fixes SVG printing.
3056
3057         Rename updateCanvasItem() to rebuildRenderer(), as this is what it really does.
3058
3059         Do NOT call rebuildRenderer() in notifyAttributeChange() anymore,
3060         but override notifyAttributeChange() in SVGPathElement/SVGCircleElement/etc..
3061         (as only primitives using RenderPath as rendering object need this logic!)
3062
3063         This should clarify what really happens, as discussed with Eric.
3064
3065         Remove the invocations of notifyAttributeChange() in SVGLength. It's already
3066         handled by the JS bindings, and we do double updating work. Fixed.
3067
3068         Because SVG dynamic updates have been flaky in the past, there was a hack introduced
3069         in RenderPath causing the updateCanvasItem() function to be called _on every layout_ (!!!).
3070         Finally this hack is gone. Offer RenderSVGContainer::absoluteRects() function to be able
3071         to use WebInspector for <g> elements (very handy!).
3072
3073         Remove the unneeded "m_updateVectorial" bool from SVGStyledElement.
3074         Remove computeAbsoluteRepaintRect() from RenderSVGContainer/RenderSVGImage/RenderSVGText,
3075         as dicussed with David (we only need to reimplement getAbsoluteRepaintRect there).
3076
3077         Make RenderSVGText::absoluteRects just use the getAbsoluteRepaintRect() function, instead of
3078         code duplication. Remove unneeded RenderSVGImage::layout() function (RenderImage does the same).
3079
3080         Add new function SVGStyledElement::renderStyleForElement, which centralizes the manual style
3081         resolving needed for gradient stops.
3082
3083         * ksvg2/svg/SVGCircleElement.cpp:
3084         (WebCore::SVGCircleElement::notifyAttributeChange):
3085         (WebCore::SVGCircleElement::hasRelativeValues):
3086         * ksvg2/svg/SVGCircleElement.h:
3087         * ksvg2/svg/SVGEllipseElement.cpp:
3088         (WebCore::SVGEllipseElement::notifyAttributeChange):
3089         (WebCore::SVGEllipseElement::hasRelativeValues):
3090         * ksvg2/svg/SVGEllipseElement.h:
3091         * ksvg2/svg/SVGImageElement.cpp:
3092         (WebCore::SVGImageElement::notifyAttributeChange):
3093         * ksvg2/svg/SVGImageElement.h:
3094         * ksvg2/svg/SVGLength.cpp:
3095         (WebCore::SVGLength::setValue):
3096         (WebCore::SVGLength::setValueInSpecifiedUnits):
3097         * ksvg2/svg/SVGLength.h:
3098         (WebCore::SVGLength::isRelative):
3099         * ksvg2/svg/SVGLineElement.cpp:
3100         (WebCore::SVGLineElement::notifyAttributeChange):
3101         (WebCore::SVGLineElement::hasRelativeValues):
3102         * ksvg2/svg/SVGLineElement.h:
3103         * ksvg2/svg/SVGLocatable.cpp:
3104         (WebCore::SVGLocatable::getBBox):
3105         * ksvg2/svg/SVGPathElement.cpp:
3106         (WebCore::SVGPathElement::notifyAttributeChange):
3107         * ksvg2/svg/SVGPathElement.h:
3108         * ksvg2/svg/SVGPolyElement.cpp:
3109         (WebCore::SVGPolyElement::notifyAttributeChange):
3110         * ksvg2/svg/SVGPolyElement.h:
3111         (WebCore::SVGPolyElement::rendererIsNeeded):
3112         * ksvg2/svg/SVGRectElement.cpp:
3113         (WebCore::SVGRectElement::notifyAttributeChange):
3114         (WebCore::SVGRectElement::hasRelativeValues):
3115         * ksvg2/svg/SVGRectElement.h:
3116         * ksvg2/svg/SVGSVGElement.cpp:
3117         (WebCore::SVGSVGElement::hasRelativeValues):
3118         * ksvg2/svg/SVGSVGElement.h:
3119         * ksvg2/svg/SVGStyledElement.cpp:
3120         (WebCore::SVGStyledElement::SVGStyledElement):
3121         (WebCore::SVGStyledElement::createRenderer):
3122         (WebCore::SVGStyledElement::notifyAttributeChange):
3123         (WebCore::SVGStyledElement::rebuildRenderer):
3124         * ksvg2/svg/SVGStyledElement.h:
3125         (WebCore::SVGStyledElement::hasRelativeValues):
3126         * rendering/RenderPath.cpp:
3127         (WebCore::RenderPath::setLocalTransform):
3128         (WebCore::RenderPath::fillContains):
3129         (WebCore::RenderPath::relativeBBox):
3130         (WebCore::RenderPath::layout):
3131         (WebCore::RenderPath::getAbsoluteRepaintRect):
3132         (WebCore::RenderPath::paint):
3133         (WebCore::RenderPath::nodeAtPoint):
3134         (WebCore::drawMarkerWithData):
3135         (WebCore::updateMarkerDataForElement):
3136         (WebCore::drawStartAndMidMarkers):
3137         (WebCore::RenderPath::drawMarkersIfNeeded):
3138         (WebCore::RenderPath::hasRelativeValues):
3139         * rendering/RenderPath.h:
3140         * rendering/RenderSVGContainer.cpp:
3141         (WebCore::RenderSVGContainer::layout):
3142         (WebCore::RenderSVGContainer::paint):
3143         (WebCore::RenderSVGContainer::calcViewport):
3144         (WebCore::RenderSVGContainer::setViewBox):
3145         (WebCore::RenderSVGContainer::setAlign):
3146         (WebCore::RenderSVGContainer::viewportTransform):
3147         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
3148         (WebCore::RenderSVGContainer::absoluteRects):
3149         (WebCore::RenderSVGContainer::fillContains):
3150         (WebCore::RenderSVGContainer::strokeContains):
3151         (WebCore::RenderSVGContainer::relativeBBox):
3152         (WebCore::RenderSVGContainer::setSlice):
3153         * rendering/RenderSVGContainer.h:
3154         * rendering/RenderSVGImage.cpp:
3155         (WebCore::RenderSVGImage::RenderSVGImage):
3156         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
3157         (WebCore::RenderSVGImage::relativeBBox):
3158         (WebCore::RenderSVGImage::imageChanged):
3159         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
3160         (WebCore::RenderSVGImage::absoluteRects):
3161         * rendering/RenderSVGImage.h:
3162         * rendering/RenderSVGText.cpp:
3163         (WebCore::RenderSVGText::getAbsoluteRepaintRect):
3164         (WebCore::RenderSVGText::layout):
3165         (WebCore::RenderSVGText::createInlineBox):
3166         (WebCore::RenderSVGText::absoluteRects):
3167         (WebCore::RenderSVGText::relativeBBox):
3168         * rendering/RenderSVGText.h:
3169         * rendering/SVGInlineFlowBox.cpp:
3170         (WebCore::placePositionedBoxesHorizontally):
3171
3172 2007-01-10  David Hyatt  <hyatt@apple.com>
3173
3174         Make the selectionRect() method of RenderText better by reusing computeAbsoluteRepaintRect.  This enables
3175         the method to be multi-column aware and also to understand when the selection is clipped out by overflow.
3176
3177         Reviewed by bdash
3178
3179         * rendering/RenderText.cpp:
3180         (WebCore::RenderText::selectionRect):
3181
3182 2007-01-10  David Hyatt  <hyatt@apple.com>
3183
3184         Make the absolutePosition method multi-column aware.  Note that there is now a real problem with the
3185         absoluteRects method, since an object can split across multiple columns and break into multiple rects.
3186         absolutePosition just returns the top-left corner of the element's box in the first column in which it
3187         appears.
3188
3189         Reviewed by bdash
3190
3191         * rendering/RenderBlock.cpp:
3192         (WebCore::RenderBlock::adjustRectForColumns):
3193         * rendering/RenderBlock.h:
3194         * rendering/RenderBox.cpp:
3195         (WebCore::RenderBox::absolutePosition):
3196         (WebCore::RenderBox::computeAbsoluteRepaintRect):
3197         * rendering/RenderFlow.cpp:
3198         (WebCore::RenderFlow::getAbsoluteRepaintRect):
3199
3200 2007-01-09  David Hyatt  <hyatt@apple.com>
3201
3202         Avoid crashing when repainting multiple columns... make sure to use the current vector's size and
3203         not the newly-computed column count.
3204
3205         * rendering/RenderBlock.cpp:
3206         (WebCore::RenderBlock::layoutColumns):
3207         (WebCore::RenderBlock::adjustRepaintRectForColumns):
3208
3209 2007-01-09  David Hyatt  <hyatt@apple.com>
3210
3211         Break up painting and hit testing of children into helper methods and add multi-column versions for both.
3212         
3213         Make incremental repainting able to invalidate the right spot in multiple column layouts so that e.g., link
3214         hover works.
3215
3216         Turn off selection gap filling in columns for now until it can be made to work correctly.
3217
3218         Improve the column balancing heuristic by adding in the block's lineHeight/2 to each column initially to
3219         account for column break adjustments that shrink the columns slightly.  Avoid clipping of the last column's
3220         contents by ensuring it gets all the remaining available height.
3221
3222         Reviewed by mitz
3223
3224         * rendering/RenderBlock.cpp:
3225         (WebCore::RenderBlock::paintColumns):
3226         (WebCore::RenderBlock::paintContents):
3227         (WebCore::RenderBlock::paintObject):
3228         (WebCore::RenderBlock::fillSelectionGaps):
3229         (WebCore::RenderBlock::nodeAtPoint):
3230         (WebCore::RenderBlock::hitTestColumns):
3231         (WebCore::RenderBlock::layoutColumns):
3232         (WebCore::RenderBlock::adjustRepaintRectForColumns):
3233         * rendering/RenderBlock.h:
3234         * rendering/RenderBox.cpp:
3235         (WebCore::RenderBox::computeAbsoluteRepaintRect):
3236         * rendering/RenderFlow.cpp:
3237         (WebCore::RenderFlow::getAbsoluteRepaintRect):
3238
3239 2007-01-09  Remi Zara  <remi_zara@mac.com>
3240
3241         Reviewed by Darin and Eric.
3242
3243         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12150
3244
3245         Don't use memset to set float to 0
3246
3247         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3248         (WebCore::cgGradientCallback):
3249
3250 2007-01-09  Anders Carlsson  <acarlsson@apple.com>
3251
3252         Reviewed by Brady.
3253
3254         Add default constructor to SharedBuffer.
3255
3256         * platform/SharedBuffer.cpp:
3257         (WebCore::SharedBuffer::SharedBuffer):
3258         * platform/SharedBuffer.h:
3259
3260 2007-01-09  David Hyatt  <hyatt@apple.com>
3261
3262         This patch gets rudimentary column layout working.  Normal flow content only gets laid out into
3263         columns properly and painted correctly initially.  What doesn't work: hit testing, incremental repainting,
3264         column rule painting, child layers.
3265
3266         Some work needs to be done on the render tree dumper before column tests will be
3267         meaningful.
3268
3269         Also reworked overflow and fixed a bunch of bugs with the computation of overflow.  These include an error
3270         in the height calculations caused by not adding in the horizontal scrollbar height and other errors caused
3271         by not checking overflow in lowest/rightmostPosition.  Existing tests improve their rendering to match
3272         Firefox with this change.
3273
3274         Fixed a bug where a table cell incorrectly expanded to encompass floats inside an overflow:auto block.
3275         This should not have happened.  Covered by new test fast/overflow/table-overflow-float.html.
3276
3277         Reviewed by mitz
3278
3279         * page/Frame.cpp:
3280         * rendering/RenderBlock.cpp:
3281         (WebCore:::RenderFlow):
3282         (WebCore::RenderBlock::layoutBlock):
3283         (WebCore::RenderBlock::paintContents):
3284         (WebCore::RenderBlock::paintChildren):
3285         (WebCore::RenderBlock::paintObject):
3286         (WebCore::RenderBlock::lowestPosition):
3287         (WebCore::RenderBlock::rightmostPosition):
3288         (WebCore::RenderBlock::leftmostPosition):
3289         (WebCore::RenderBlock::avoidsFloats):
3290         (WebCore::RenderBlock::nodeAtPoint):
3291         (WebCore::RenderBlock::hitTestContents):
3292         (WebCore::RenderBlock::layoutColumns):
3293         * rendering/RenderBlock.h:
3294         (WebCore::RenderBlock::hasOverhangingFloats):
3295         (WebCore::RenderBlock::hasColumns):
3296         * rendering/RenderFlexibleBox.cpp:
3297         (WebCore::RenderFlexibleBox::layoutBlock):
3298         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3299         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3300         * rendering/RenderFlow.cpp:
3301         (WebCore::RenderFlow::paintLines):
3302         (WebCore::RenderFlow::lowestPosition):
3303         (WebCore::RenderFlow::rightmostPosition):
3304         (WebCore::RenderFlow::leftmostPosition):
3305         * rendering/RenderFlow.h:
3306         (WebCore::RenderFlow::hasColumns):
3307         * rendering/RenderListMarker.cpp:
3308         (WebCore::RenderListMarker::paint):
3309         * rendering/RenderObject.h:
3310         (WebCore::RenderObject::expandsToEncloseOverflow):
3311         * rendering/RenderTableCell.h:
3312         (WebCore::RenderTableCell::expandsToEncloseOverflow):
3313         * rendering/RenderView.cpp:
3314         (WebCore::RenderView::paint):
3315
3316 2007-01-09  Darin Adler  <darin@apple.com>
3317
3318         - update all 2007 Apple copyrights for the new company name
3319
3320         * css/cssstyleselector.cpp:
3321         * html/HTMLLIElement.cpp:
3322         * platform/CharacterNames.h:
3323         * platform/TextBreakIterator.h:
3324         * platform/TextBreakIteratorICU.cpp:
3325         * platform/graphics/ImageBuffer.h:
3326         * rendering/CounterNode.cpp:
3327         * rendering/CounterNode.h:
3328         * rendering/RenderBox.h:
3329         * rendering/RenderContainer.cpp:
3330         * rendering/RenderCounter.cpp:
3331         * rendering/RenderCounter.h:
3332         * rendering/RenderImage.h:
3333         * rendering/RenderListItem.h:
3334         * rendering/RenderListMarker.h:
3335         * rendering/RenderObject.cpp:
3336         * rendering/RenderObject.h:
3337         * rendering/RenderStyle.cpp:
3338         * rendering/RenderStyle.h:
3339         * rendering/RenderTable.cpp:
3340         * rendering/RenderTableCell.cpp:
3341         * rendering/RenderTableCell.h:
3342         * rendering/RenderText.cpp:
3343         * rendering/RenderText.h:
3344         * rendering/RenderTreeAsText.cpp:
3345         * rendering/SVGRenderTreeAsText.cpp:
3346         * rendering/break_lines.cpp:
3347
3348 2007-01-09  Justin Garcia  <justin.garcia@apple.com>
3349
3350         Reviewed by john
3351
3352         <rdar://problem/4840662>
3353         REGRESSION: Mail crash when dragging text into a link
3354         
3355         moveParagraphs fails to move content into a display:block 
3356         anchor because of code in positionAvoidingSpecialElementBoundary,
3357         and so it infinitely recurs.
3358         
3359         * editing/htmlediting.cpp:
3360         (WebCore::positionAvoidingSpecialElementBoundary): Don't avoid anchors
3361         that have display:block so that content is inserted in the expected
3362         paragraph.  This fixes the bug and weird behavior when typing before/after
3363         anchors with display:block.
3364
3365 2007-01-09  Rob Buis  <buis@kde.org>
3366
3367         Reviewed by Darin.
3368
3369         http://bugs.webkit.org/show_bug.cgi?id=12145
3370         Color parsing is too relaxed in strict mode
3371         http://bugs.webkit.org/show_bug.cgi?id=12166
3372         REGRESSION (r18480): "336633" is not parsed as a color
3373
3374         Fix a regression by using String::format return value.
3375         Also make strict mode more strict for cases where hexcolors
3376         lack a #.
3377
3378         * css/cssparser.cpp:
3379         (WebCore::CSSParser::parseColor):
3380         (WebCore::CSSParser::parseColorFromValue):
3381         * css/cssparser.h:
3382
3383 2007-01-09  Darin Adler  <darin@apple.com>
3384
3385         Reviewed by Maciej.
3386
3387         - fixed regression where redirects did not have user-agent any more
3388
3389         Showed up as a failure in one of the http tests, so no new test needed.
3390
3391         * loader/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::willSendRequest):
3392         Don't use a copy of the ResourceRequest; pass the original so it can be modified.
3393
3394 2007-01-09  Mitz Pettel  <mitz@webkit.org>
3395
3396         Reviewed by Darin.
3397
3398         - fix http://bugs.webkit.org/show_bug.cgi?id=11078
3399           Forms Don't Submit (ASP Pages)
3400
3401         Test: fast/dom/collection-namedItem-via-item.html
3402
3403         * bindings/js/kjs_html.cpp:
3404         (KJS::JSHTMLCollectionProtoFunc::callAsFunction): Changed item() to fall back
3405         to namedItem() if its argument does not convert to a number.
3406
3407 2007-01-09  Darin Adler  <darin@apple.com>
3408
3409         Reviewed by Maciej.
3410
3411         - fix http://bugs.webkit.org/show_bug.cgi?id=12174
3412           improve Unicode use (less WTF::Unicode:: prefix, centralized character names)
3413
3414         - got rid of namespace prefixes from most uses of WTF::Unicode
3415
3416         - updated for removal of WTF::Unicode::memcmp
3417         - updated for renaming of WTF::Unicode::strcasecmp to umemcasecmp.
3418
3419         - unified constants for special Unicode characters in a new
3420           CharacterNames.h header
3421
3422         * WebCore.xcodeproj/project.pbxproj:
3423         * css/cssparser.cpp:
3424         (WebCore::ParseString::lower):
3425         * dom/Document.cpp:
3426         (WebCore::isValidNameStart):
3427         (WebCore::isValidNamePart):
3428         * dom/Position.cpp:
3429         (WebCore::Position::leadingWhitespacePosition):
3430         (WebCore::Position::trailingWhitespacePosition):
3431         * editing/CompositeEditCommand.cpp:
3432         (WebCore::isWhitespace):
3433         * editing/HTMLInterchange.cpp:
3434         * editing/TextIterator.cpp:
3435         (WebCore::CircularSearchBuffer::CircularSearchBuffer):
3436         (WebCore::CircularSearchBuffer::append):
3437         * editing/htmlediting.cpp:
3438         (WebCore::stringWithRebalancedWhitespace):
3439         (WebCore::nonBreakingSpaceString):
3440         * editing/htmlediting.h:
3441         * html/HTMLFontElement.cpp:
3442         (WebCore::parseFontSizeNumber):
3443         * html/HTMLParser.cpp:
3444         (WebCore::HTMLParser::handleError):
3445         * html/HTMLSelectElement.cpp:
3446         (WebCore::stripLeadingWhiteSpace):
3447         * platform/Font.cpp:
3448         (WebCore::WidthIterator::advance):
3449         (WebCore::WidthIterator::normalizeVoicingMarks):
3450         * platform/GlyphMap.cpp:
3451         (WebCore::GlyphMap::locatePage):
3452         * platform/MimeTypeRegistry.h:
3453         * platform/StringHash.h:
3454         * platform/StringImpl.cpp:
3455         (WebCore::isSpace):
3456         (WebCore::StringImpl::append):
3457         (WebCore::StringImpl::insert):
3458         (WebCore::StringImpl::truncate):
3459         (WebCore::StringImpl::remove):
3460         (WebCore::parseLength):
3461         (WebCore::StringImpl::isLower):
3462         (WebCore::StringImpl::lower):
3463         (WebCore::StringImpl::upper):
3464         (WebCore::StringImpl::secure):
3465         (WebCore::StringImpl::foldCase):
3466         (WebCore::StringImpl::capitalize):t
3467         (WebCore::StringImpl::toInt):
3468         (WebCore::equalIgnoringCase):
3469         (WebCore::StringImpl::find):
3470         * platform/TextBoundaries.h:
3471         * platform/TextCodec.h:
3472         * platform/TextCodecLatin1.cpp:
3473         * platform/TextEncoding.h:
3474         * platform/TextEncodingRegistry.h:
3475         * platform/mac/PasteboardMac.mm:
3476         (WebCore::Pasteboard::writeSelection):
3477         * platform/mac/TextCodecMac.cpp:
3478         (WebCore::TextCodecMac::decode):
3479         * rendering/RenderBlock.cpp:
3480         (WebCore::RenderBlock::updateFirstLetter):
3481         * rendering/RenderListMarker.cpp:
3482         (WebCore::listMarkerText):
3483         (WebCore::RenderListMarker::paint):
3484         * rendering/RenderText.cpp:
3485         (WebCore::RenderText::widthFromCache):
3486         (WebCore::isSpaceAccordingToStyle):
3487         (WebCore::RenderText::setInternalString):
3488         * rendering/RenderTreeAsText.cpp:
3489         (WebCore::quoteAndEscapeNonPrintables):
3490         (WebCore::operator<<):
3491         * rendering/bidi.cpp:
3492         (WebCore::BidiState::BidiState):
3493         (WebCore::BidiContext::BidiContext):
3494         (WebCore::bidiNext):
3495         (WebCore::bidiFirst):
3496         (WebCore::BidiIterator::direction):
3497         (WebCore::appendRun):
3498         (WebCore::embed):
3499         (WebCore::RenderBlock::bidiReorderLine):
3500         (WebCore::RenderBlock::layoutInlineChildren):
3501         (WebCore::skipNonBreakingSpace):
3502         (WebCore::RenderBlock::findNextLineBreak):
3503         * rendering/break_lines.cpp:
3504         (WebCore::nextBreakablePosition):
3505         * rendering/break_lines.h:
3506         * xml/XPathParser.cpp:
3507         (WebCore::XPath::charCat):
3508
3509 2007-01-09  Dex Deacon  <occupant4@gmail.com>
3510
3511         Reviewed by Darin.
3512
3513         - fix http://bugs.webkit.org/show_bug.cgi?id=12170
3514           RenderView holds dangling reference to RenderObjects as selection markers
3515
3516         This fixes the crash seen on Windows -- the underlying problem
3517         may still exist.
3518
3519         * rendering/RenderText.h:
3520         (WebCore::RenderText::selectionState):
3521         Change the m_selectionState enum-bitfield to an unsigned-bitfield,
3522         because enums on Windows are signed, which caused it to become
3523         negative (whereas the valid values are all positive).
3524
3525 2007-01-09  Darin Adler  <darin@apple.com>
3526
3527         Reviewed by Hyatt.
3528
3529         - http://bugs.webkit.org/show_bug.cgi?id=12175
3530           port break_lines.cpp to be platform independent
3531
3532         * platform/TextBreakIterator.h: Added lineBreakIterator.
3533         Removed ICU-specific stuff from the header.
3534
3535         * platform/TextBreakIteratorICU.cpp:
3536         (WebCore::setUpIterator): Added helper to be shared by the three different
3537         creation functions.
3538         (WebCore::characterBreakIterator): Changed to use setUpIterator.
3539         (WebCore::wordBreakIterator): Ditto.
3540         (WebCore::lineBreakIterator): Added.
3541
3542         * platform/qt/TextBreakIteratorQt.cpp:
3543         (WebCore::lineBreakIterator): Added a stub.
3544
3545         * rendering/break_lines.cpp:
3546         (WebCore::isBreakableSpace): Added.
3547         (WebCore::shouldBreakAfter): Added.
3548         (WebCore::needsAdvancedBreakAnalysis): Added.
3549         (WebCore::nextBreakablePosition): Changed to use TextBreakIterator on platforms
3550         other than Mac.
3551
3552 2007-01-09  Maciej Stachowiak  <mjs@apple.com>
3553
3554         Reviewed by Darin.
3555
3556         - move WebDataProtocol load handling from ResourceLoader to MainResourceLoader
3557         
3558         (it's only ever used for main resources)
3559
3560         * loader/ResourceLoader.h:
3561         (WebCore::ResourceLoader::setRequest):
3562         * loader/mac/MainResourceLoaderMac.mm:
3563         (WebCore::MainResourceLoader::willSendRequest):
3564         (WebCore::MainResourceLoader::continueAfterContentPolicy):
3565         * loader/mac/ResourceLoaderMac.mm:
3566         (WebCore::ResourceLoader::willSendRequest):
3567         (WebCore::ResourceLoader::didReceiveResponse):
3568
3569 2007-01-09  Rob Buis  <buis@kde.org>
3570
3571         Reviewed by Eric.
3572
3573         http://bugs.webkit.org/show_bug.cgi?id=12129
3574         repaint issue after setting viewBox attribute with ECMAScript
3575
3576         Make sure RenderSVGContainer updates after setting viewBox from js.
3577
3578         * ksvg2/svg/SVGSVGElement.cpp:
3579         (WebCore::SVGSVGElement::parseMappedAttribute):
3580         * rendering/RenderSVGContainer.cpp:
3581         (WebCore::RenderSVGContainer::setViewBox):
3582
3583 2007-01-09  Lars Knoll <lars@trolltech.com>
3584
3585         Make the Qt build compile... again!
3586
3587         * WebCore.pro:
3588         * loader/qt/FrameLoaderQt.cpp:
3589         * platform/graphics/qt/GraphicsContextQt.cpp:
3590         * platform/graphics/qt/ImageBufferQt.cpp:
3591         (WebCore::ImageBuffer::create):
3592         * platform/qt/WidgetQt.cpp:
3593         (WebCore::Widget::focusPolicy):
3594
3595 2007-01-09  David Hyatt  <hyatt@apple.com>
3596
3597         Fix for background: inherit bug where background-color wasn't getting properly overridden.  This was a
3598         regression from Safari 1.3 to 2.0.
3599
3600         Reviewed by bdash
3601
3602         fast/backgrounds/background-color-inherit-bug.html
3603
3604         * css/cssstyleselector.cpp:
3605         (WebCore::CSSStyleSelector::applyProperty):
3606
3607 2007-01-08  Brady Eidson <beidson@apple.com>
3608
3609         Reviewed by Brian Dash
3610
3611         <rdar://problem/4895178> 
3612         WebCore::BackForwardList vector should be backed by a HashSet to remove
3613         the potential expense in frequently calling BackForwardList::containsItem()
3614
3615         * history/BackForwardList.cpp:
3616         (WebCore::BackForwardList::addItem): Maintain HashSet as well as Vector
3617         (WebCore::BackForwardList::setCapacity): Ditto
3618         (WebCore::BackForwardList::close): Ditto
3619         (WebCore::BackForwardList::removeItem): Ditto
3620         (WebCore::BackForwardList::containsItem): Make a hash lookup instead of iterate 
3621         through the Vector
3622         * history/BackForwardList.h:
3623
3624 2007-01-08  David Hyatt  <hyatt@apple.com>
3625
3626         Fix a regression where layout is triggering on all recalcStyles, due to a bad comparison
3627         in the multicol assignment operator.
3628
3629         * rendering/RenderStyle.cpp:
3630         (WebCore::StyleMultiColData::operator==):
3631
3632 2007-01-08  Darin Adler  <darin@apple.com>
3633
3634         - rolled out Beth's RenderFlow::destroy change, which broke 5 editing tests
3635
3636         * rendering/InlineBox.cpp: (WebCore::InlineBox::root):
3637         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy):
3638         Used svn merge to roll the change out.
3639
3640 2007-01-09  Mark Rowe  <mrowe@apple.com>
3641
3642         Reviewed by Tim H.
3643
3644         Build fix for 64-bit platforms.
3645
3646         * platform/graphics/svg/SVGPaintServerGradient.h:
3647         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3648         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
3649
3650 2007-01-08  Anders Carlsson  <acarlsson@apple.com>
3651
3652         Reviewed by Brady.
3653
3654         Move some history related functions off the bridge and into FrameLoader directly.
3655
3656         * loader/FrameLoader.cpp:
3657         (WebCore::FrameLoader::canGoBackOrForward):
3658         (WebCore::FrameLoader::getHistoryLength):
3659         (WebCore::FrameLoader::historyURL):
3660         * loader/mac/FrameLoaderMac.mm:
3661         * page/mac/WebCoreFrameBridge.h:
3662
3663 2007-01-08  Sam Weinig  <sam@webkit.org>
3664
3665         Reviewed by Mark.
3666
3667         Adds outline-color to list of computable styles.
3668
3669         * css/CSSComputedStyleDeclaration.cpp:
3670         (WebCore::):
3671
3672 2007-01-08  Beth Dakin  <bdakin@apple.com>
3673
3674         Reviewed by Hyatt.
3675
3676         Fix for a bug that Adam, Hyatt, and I noticed when debugging 
3677         another problem.
3678
3679         * rendering/InlineBox.cpp:
3680         (WebCore::InlineBox::root): Added assertion. If we are casting to a 
3681         root, we should make sure we are root.
3682         * rendering/RenderFlow.cpp:
3683         (WebCore::RenderFlow::destroy): It is not enough to remove the 
3684         child boxes for anonymous blocks. We need to be more thorough when 
3685         cleaning these up. Adam's test case illustrates the problem well.
3686
3687 2007-01-08  John Sullivan  <sullivan@apple.com>
3688
3689         Tweak to previous checkin
3690
3691         * page/ContextMenuController.cpp:
3692         (WebCore::ContextMenuController::contextMenuItemSelected):
3693         Adam suggested I should nil-check frame->page()
3694
3695 2007-01-08  John Sullivan  <sullivan@apple.com>
3696
3697         Reviewed by Brady and Beth
3698         
3699         - fixed <rdar://problem/4912541> GMAIL: With selected text in a rich text message, choosing 
3700         "Search in Google" displays search results in the message body field
3701
3702         * page/ContextMenuController.cpp:
3703         (WebCore::ContextMenuController::contextMenuItemSelected):
3704         Visit google URL in main frame rather than in current frame
3705
3706 2007-01-08  David Hyatt  <hyatt@apple.com>
3707
3708         Fix computed style errors for color properties that had invalid colors.
3709         They should return the value of the 'color' property when their colors
3710         are not valid.
3711
3712         Fixed the computed style value for border-top-color (a typo was causing it to
3713         use border-left-color instead).
3714
3715         Implement outline-color computed style.
3716
3717         Reviewed by harrison
3718
3719         * css/CSSComputedStyleDeclaration.cpp:
3720         (WebCore::currentColorOrValidColor):
3721         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3722
3723 2007-01-08  Remi Zara  <remi_zara@mac.com>
3724
3725         Reviewed by Darin and Eric.
3726
3727         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12150
3728         Handle correctly cases where no stops are defined, cases where a
3729         stop offset value is less than previous stops offset value, and cases
3730         where a stop offset value is greater than 1.0.
3731         
3732         * platform/graphics/svg/SVGPaintServerGradient.cpp:
3733         (WebCore::SVGPaintServerGradient::setGradientStops): Don't sort stops
3734         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3735         (WebCore::cgGradientCallback): When there are no stops, use a transparent
3736         fill
3737         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
3738         a stop offset must always be considered at greater or equal to all
3739         preceding stop offsets, but no more than 1.0
3740
3741 2007-01-08  Timothy Hatcher  <timothy@apple.com>
3742
3743         Reviewed by Geoff.
3744
3745         <rdar://problem/4865325> please re-add auto font activation support in WebKit
3746
3747         * platform/mac/WebFontCache.mm:
3748         (+[WebFontCache fontWithFamily:traits:size:]):
3749
3750 2007-01-08  Darin Adler  <darin@apple.com>
3751
3752         Reviewed by Adam.
3753
3754         - http://bugs.webkit.org/show_bug.cgi?id=12143
3755           remove Widget code unneeded now that form elements do not use Widget
3756
3757         * bindings/objc/DOMHTML.mm: (-[DOMHTMLSelectElement _activateItemAtIndex:]):
3758         Removed useless implementation that would only work with NSView-based
3759         <select> elements, and added a FIXME about the fact that this function
3760         doesn't do anything any more. I think it's used by Safari forms auto-fill.
3761
3762         * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject rendererForView:]):
3763         Removed code that depends on elementForView:, since that always returns
3764         nil now.
3765
3766         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::~HTMLFormElement):
3767         Use a formDestroyed() function rather than clearing m_form directly so that
3768         this class doesn't have to be a friend of HTMLGenericFormElement.
3769
3770         * html/HTMLGenericFormElement.h: Removed now-unneeded friend declaration
3771         for HTMLFormElement. Moved definition of supportsFocus into the .cpp file.
3772         Added a public formDestroyed function for use by HTMLFormElement.
3773         * html/HTMLGenericFormElement.cpp:
3774         (WebCore::HTMLGenericFormElement::attach): Removed widget-specific code.
3775         (WebCore::HTMLGenericFormElement::isKeyboardFocusable): Ditto.
3776         (WebCore::HTMLGenericFormElement::isMouseFocusable): Ditto.
3777         (WebCore::HTMLGenericFormElement::supportsFocus): Added this here; it was
3778         in the header file before, for no good reason.
3779
3780         * page/EventHandler.h: Removed unused Mac-specific
3781         currentEventIsMouseDownInWidget.
3782         * page/mac/EventHandlerMac.mm: Ditto.
3783
3784         * page/Frame.cpp: (WebCore::Frame::frameForWidget): Changed to use
3785         RenderWidget to find the frame rather than the WigetClient element()
3786         function.
3787
3788         * page/mac/FrameMac.h: Removed unused bridgeForWidget.
3789         * page/mac/FrameMac.mm: Ditto.
3790
3791         * page/mac/WebCoreFrameBridge.h: Removed elementForView.
3792         * page/mac/WebCoreFrameBridge.mm: Ditto. While the scroll bar still did
3793         implement WebCoreWidgetHolder, it does not correspond to a DOM element,
3794         so this method was always returning nil.
3795
3796         * platform/Widget.h: Moved unused types and functions that are still
3797         in the platform-specific implementations into a "to be deleted" section:
3798         FocusPolicy, NoFocus, TabFocus, ClickFocus, StrongFocus, WheelFocus,
3799         lockDrawingFocus, font, focusPolicy, hasFocus, clearFocus, setFont,
3800         disableFlushDrawing, enableFlushDrawing, unlockDrawingFocus.
3801         Removed unused functions that are not in platform-specific implementations:
3802         sizeHint, baselinePosition, checksDescendantsForFocus.
3803         * platform/Widget.cpp: Removed functions.
3804
3805         * platform/WidgetClient.h: Emptied out the class. Soon we can delete it.
3806
3807         * platform/mac/PlatformScrollBarMac.mm: (-[WebCoreScrollBar mouseDown:]):
3808         Got rid of unneeded includes, removed use of the WebCoreWidgetHolder
3809         protocol and the one method in it, and changed the calls to beforeMouseDown
3810         and afterMouseDown to pass the widget pointer in.
3811
3812         * platform/mac/WebCoreWidgetHolder.h: Emptied out the file -- to be deleted
3813         later.
3814
3815         * platform/mac/WidgetMac.mm:
3816         (WebCore::Widget::~Widget): Removed code to manage deferredFirstResponder.
3817         (WebCore::Widget::hasFocus): Removed body of function and replaced with
3818         an assertion that it's never called. Later we'll remove it.
3819         (WebCore::Widget::setFocus): Tweaked a bit to work given changes to the
3820         FrameMac class. Also added a FIXME. Given how this works, it does not
3821         belong in the platform layer.
3822         (WebCore::Widget::clearFocus): Removed body of function and replaced with
3823         an assertion that it's never called. Later we'll remove it.
3824         (WebCore::Widget::focusPolicy): Ditto.
3825         (WebCore::Widget::font): Ditto.
3826         (WebCore::Widget::setFont): Ditto.
3827         (WebCore::Widget::lockDrawingFocus): Ditto.
3828         (WebCore::Widget::unlockDrawingFocus): Ditto.
3829         (WebCore::Widget::disableFlushDrawing): Ditto.
3830         (WebCore::Widget::enableFlushDrawing): Ditto.
3831         (WebCore::Widget::paint): Removed obsolete comment.
3832         (WebCore::Widget::sendConsumedMouseUp): Removed body of function and replaced with
3833         an assertion that it's never called. Later we'll remove it.
3834         (WebCore::Widget::setIsSelected): Tweaked a bit to work given changes to the
3835         FrameMac class. Also added a FIXME. Given how this works, it does not
3836         belong in the platform layer.
3837         (WebCore::Widget::beforeMouseDown): Changed to take an explicit Widget parameter.
3838         (WebCore::Widget::afterMouseDown): Ditto.
3839
3840         * rendering/RenderApplet.cpp:
3841         (WebCore::RenderApplet::intrinsicWidth): Changed to not call sizeHint() any more.
3842         I didn't change the values returned by the function, but they make no sense and
3843         this should probably be fixed later.
3844         (WebCore::RenderApplet::intrinsicHeight): Ditto.
3845
3846         * rendering/RenderWidget.h: Removed unneeded WidgetClient.h include. Changed
3847         RenderWidget to no longer inherit from WidgetClient. Added a find function to find
3848         a RenderWidget given a Widget. Removed all the virtual functions that override
3849         WidgetClient hooks.
3850         * rendering/RenderWidget.cpp: Removed all the WidgetClient functions.
3851         (WebCore::widgetRendererMap): Added. Map that gives the RenderWidget for each
3852         Widget that is owned by a RenderWidget.
3853         (WebCore::RenderWidget::destroy): Removed the setClient call and added a call to
3854         remove the widget from the widgetRendererMap.
3855         (WebCore::RenderWidget::setWidget): Ditto.
3856         (WebCore::RenderWidget::setStyle): Removed the call to Widget::setFont.
3857         (WebCore::RenderWidget::find): Added. Returns the RenderWidget for a Widget, if any.
3858
3859         - other changes
3860
3861         * dom/Node.cpp:
3862         (WebCore::Node::dump): Removed unnecessary use of DeprecatedString.
3863         (WebCore::appendAttributeDesc): Ditto.
3864         (WebCore::Node::showNode): Ditto.
3865         (WebCore::Node::formatForDebugger): Ditto.
3866
3867         * loader/CachedImage.cpp: (WebCore::CachedImage::createImage): Cleaned up
3868         conditional compilation so adding more MIME types here doesn't make the
3869         function more and more difficult to read.
3870
3871         * page/Frame.h: Removed unneeded includes and declarations.
3872         Tweaked formatting.
3873         * page/Page.h: Removed unneeded declarations.
3874         * platform/ScrollView.h: Removed unneeded includes.
3875
3876         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::renderName): Tweaked formatting.
3877
3878 2007-01-08  Mitz Pettel  <mitz@webkit.org>
3879
3880         Reviewed by Darin.
3881
3882         - fix http://bugs.webkit.org/show_bug.cgi?id=12162
3883           The inheritableProperties array is duplicated
3884
3885         No test possible (no change to functionality).
3886
3887         * css/CSSComputedStyleDeclaration.cpp:
3888         (WebCore::CSSComputedStyleDeclaration::removeComputedInheritablePropertiesFrom): Added.
3889         Removes the inheritable properties that CSSComputedStyleDeclaration knows how to compute
3890         from the given mutable declaration.
3891         * css/CSSComputedStyleDeclaration.h:
3892         * css/CSSMutableStyleDeclaration.cpp: Removed one copy of the inheritableProperties array.
3893         * css/CSSMutableStyleDeclaration.h:
3894         * editing/ReplaceSelectionCommand.cpp:
3895         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Changed to call
3896         CSSComputedStyleDeclaration::removeComputedInheritablePropertiesFrom.
3897
3898 2007-01-08  Alexey Proskuryakov  <ap@webkit.org>
3899
3900         Reviewed by Darin.
3901
3902         http://bugs.webkit.org/show_bug.cgi?id=12099
3903         XMLHttpRequest shouldn't honor a charset specified via setRequestHeader
3904
3905         Test: http/tests/xmlhttprequest/request-encoding.html
3906
3907         * xml/xmlhttprequest.cpp:
3908         (WebCore::XMLHttpRequest::send): Don't try to get the charset from Content-Type. Keep checking 
3909         for unknown charsets, because that will be needed again when we start using document.xmlEncoding.
3910
3911 2007-01-08  Alexey Proskuryakov  <ap@webkit.org>
3912
3913         Reviewed by Darin.
3914
3915         http://bugs.webkit.org/show_bug.cgi?id=7640
3916         Menu items are displayed as "undefined"
3917
3918         * bindings/js/kjs_dom.cpp:
3919         (KJS::DOMNodeProtoFunc::callAsFunction):
3920         * bindings/js/kjs_domnode.h:
3921         (KJS::DOMNode::):
3922         Removed Node::item. No idea why it was there in the first place.
3923
3924         * bindings/js/kjs_html.cpp:
3925         (KJS::HTMLElementFunction::callAsFunction):
3926         * bindings/js/kjs_html.h:
3927         (KJS::JSHTMLElement::):
3928         Added HTMLSelectElement::item. It is not in DOM2 IDL, but the spec seems to mentions it anyway:
3929         "The contained options can be directly accessed through the select element as a collection."
3930
3931         * html/HTMLSelectElement.cpp:
3932         (WebCore::HTMLSelectElement::namedItem):
3933         (WebCore::HTMLSelectElement::item):
3934         * html/HTMLSelectElement.h:
3935         * html/HTMLSelectElement.idl:
3936         Added this method to DOM and IDL, too. Made namedItem() non-virtual.
3937
3938 2007-01-08  Beth Dakin  <bdakin@apple.com>
3939
3940         Reviewed by Maciej.
3941
3942         Fix for <rdar://problem/4912254> REGRESSION: After copying text to 
3943         the clipboard, the paste contextual remains dimmed when it should
3944         be active
3945
3946         No layout test for context menu problems.
3947
3948         * platform/ContextMenu.cpp:
3949         (WebCore::ContextMenu::checkOrEnableIfNeeded): Remove check to see 
3950         if the content is richly editable; it only has to be regular 
3951         editable and the call to canPaste() takes care of that.
3952
3953 2007-01-08  Sam Weinig  <sam@webkit.org>
3954
3955         Reviewed by Mitz.
3956
3957         Attempt to fix build for buildbots.
3958
3959         * rendering/RenderBlock.cpp:
3960         (WebCore::RenderBlock::columnGap):
3961         (WebCore::RenderBlock::calcColumnWidth):
3962
3963 2007-01-08  Darin Adler  <darin@apple.com>
3964
3965         Reviewed by Maciej.
3966
3967         - fix http://bugs.webkit.org/show_bug.cgi?id=3232
3968           CSS2: Web Kit does not support all list style types
3969
3970         Test case showed problems in cjk-ideographic and hebrew
3971         Test: fast/lists/w3-list-styles.html
3972
3973         * rendering/RenderListMarker.cpp:
3974         (WebCore::toCJKIdeographic): Fix the algorithm so it doesn't include leading zeroes.
3975         I had misread the part that says you start with the decimal form of the number.
3976         Fix an assertion that was too stringent. Fix the code to collapse consecutive zeroes
3977         so that it doesn't get confused by intervening "noChar" characters.
3978         (WebCore::RenderListMarker::paint): Reverse the text before painting if the first character's
3979         direction is right to left.
3980
3981 2007-01-08  Darin Adler  <darin@apple.com>
3982
3983         Reviewed by Beth.
3984
3985         - http://bugs.webkit.org/show_bug.cgi?id=12142
3986           render tree dump for test results should include the value of list markers
3987
3988         * rendering/RenderTreeAsText.cpp:
3989         (WebCore::getTagName): Changed to use String instead of DeprecatedString.
3990         (WebCore::quoteAndEscapeNonPrintables): Ditto. Also moved up so it can be used
3991         in the operator below.
3992         (WebCore::operator<<): Added clause for RenderListMarker that dumps the value
3993         of the list marker's text.
3994         (WebCore::nodePosition): Changed to use String instead of DeprecatedString.
3995         * rendering/SVGRenderTreeAsText.cpp:
3996         (WebCore::TextStreamSeparator::TextStreamSeparator): Changed to use String
3997         instead of DeprecatedString.
3998         (WebCore::getTagName): Ditto.
3999         (WebCore::write): Ditto.
4000
4001 2007-01-08  Sam Weinig  <sam@webkit.org>
4002
4003         Reviewed by ap and the rubber stamp of Maciej.
4004
4005         Patch for http://bugs.webkit.org/show_bug.cgi?id=12164
4006         Cleanup Tokenizers
4007
4008         - Moves Tokenizer class into its own file.
4009         - Move XMLTokenizer declaration from XMLTokenizer.cpp to XMLTokenizer.h
4010         - Fixup #includes.
4011
4012         * WebCore.xcodeproj/project.pbxproj:
4013         * dom/Document.cpp:
4014         (WebCore::Document::createTokenizer):
4015         * dom/Tokenizer.h: Added.
4016         (WebCore::Tokenizer::Tokenizer):
4017         (WebCore::Tokenizer::~Tokenizer):
4018         (WebCore::Tokenizer::stopParsing):
4019         (WebCore::Tokenizer::processingData):
4020         (WebCore::Tokenizer::executingScript):
4021         (WebCore::Tokenizer::wantsRawData):
4022         (WebCore::Tokenizer::writeRawData):
4023         (WebCore::Tokenizer::inViewSourceMode):
4024         (WebCore::Tokenizer::setInViewSourceMode):
4025         (WebCore::Tokenizer::wellFormed):
4026         (WebCore::Tokenizer::lineNumber):
4027         (WebCore::Tokenizer::columnNumber):
4028         * dom/XMLTokenizer.cpp:
4029         * dom/XMLTokenizer.h:
4030         (WebCore::XMLTokenizer::):
4031         (WebCore::XMLTokenizer::setIsXHTMLDocument):
4032         (WebCore::XMLTokenizer::isXHTMLDocument):
4033         (WebCore::XMLTokenizer::wellFormed):
4034         * html/HTMLElement.cpp:
4035         * html/HTMLTokenizer.h:
4036         (WebCore::Token::reset):
4037         (WebCore::HTMLTokenizer::checkBuffer):
4038         (WebCore::HTMLTokenizer::checkScriptBuffer):
4039         (WebCore::HTMLTokenizer::State::State):
4040         (WebCore::HTMLTokenizer::State::setBit):
4041         * xml/XSLTProcessor.cpp:
4042
4043 2007-01-08  Sam Weinig  <sam@webkit.org>
4044
4045         Reviewed by Tim H.
4046
4047         Adds -webkit-box-shadow to list of computable styles.
4048
4049         * css/CSSComputedStyleDeclaration.cpp:
4050         (WebCore::):
4051
4052 2007-01-08  Rob Buis  <buis@kde.org>
4053
4054         Reviewed by bdash.
4055
4056         Initialize the member vars, fixes testcases
4057         pointer-events-path.svg and pointer-events-text.svg
4058         on the PPC build.
4059
4060         * ksvg2/misc/PointerEventsHitRules.cpp:
4061         (WebCore::PointerEventsHitRules::PointerEventsHitRules):
4062
4063 2007-01-08  David Hyatt  <hyatt@apple.com>
4064
4065         This patch computes the correct column width and column count.  It ensures that content lays out constrained
4066         to the column width in one long strip.  It does not yet balance the long strip into multiple columns.
4067
4068         Reviewed by Mark
4069
4070         * rendering/RenderBlock.cpp:
4071         (WebCore:::RenderFlow):
4072         (WebCore::RenderBlock::layoutBlock):
4073         (WebCore::RenderBlock::rightOffset):
4074         (WebCore::RenderBlock::availableWidth):
4075         (WebCore::RenderBlock::columnGap):
4076         (WebCore::RenderBlock::calcColumnWidth):
4077         * rendering/RenderBlock.h:
4078         * rendering/RenderStyle.h:
4079         (WebCore::RenderStyle::setColumnWidth):
4080
4081 2007-01-08  David Hyatt  <hyatt@apple.com>
4082
4083         Fix column-count so that it supports auto just like column-width does.
4084
4085         Add a new function, availableWidth(), that will be used to return the width available to content placed inside
4086         a block.  For now it still returns contentWidth(), so no behavioral change has occurred yet.
4087
4088         Subclass calcWidth() in RenderBlock, but don't change anything yet.  This is where RenderBlock will calc the
4089         correct column width.
4090
4091         Reviewed by mark
4092
4093         * css/CSSComputedStyleDeclaration.cpp:
4094         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4095         * css/cssstyleselector.cpp:
4096         (WebCore::CSSStyleSelector::applyProperty):
4097         * rendering/RenderBlock.cpp:
4098         (WebCore::RenderBlock::leftRelOffset):
4099         (WebCore::RenderBlock::rightRelOffset):
4100         (WebCore::RenderBlock::getClearDelta):
4101         (WebCore::RenderBlock::availableWidth):
4102         (WebCore::RenderBlock::calcWidth):
4103         * rendering/RenderBlock.h:
4104         * rendering/RenderBox.cpp:
4105         (WebCore::RenderBox::containingBlockWidth):
4106         * rendering/RenderObject.cpp:
4107         (WebCore::RenderObject::containingBlockWidth):
4108         (WebCore::RenderObject::paddingTop):
4109         (WebCore::RenderObject::paddingBottom):
4110         (WebCore::RenderObject::paddingLeft):
4111         (WebCore::RenderObject::paddingRight):
4112         * rendering/RenderObject.h:
4113         (WebCore::RenderObject::availableWidth):
4114         * rendering/RenderStyle.cpp:
4115         (WebCore::StyleMultiColData::StyleMultiColData):
4116         (WebCore::StyleMultiColData::operator==):
4117         * rendering/RenderStyle.h:
4118         (WebCore::RenderStyle::hasAutoColumnCount):
4119         (WebCore::RenderStyle::setColumnCount):
4120         (WebCore::RenderStyle::setHasAutoColumnCount):
4121         * rendering/RenderTable.cpp:
4122         (WebCore::RenderTable::calcWidth):
4123
4124 2007-01-08  David Hyatt  <hyatt@apple.com>
4125
4126         Fix z-index:inherit so that it works properly when inheriting from z-index:auto.
4127
4128         Reviewed by eric
4129
4130         fast/layers/zindex-inherit.html
4131
4132         * css/cssstyleselector.cpp:
4133         (WebCore::CSSStyleSelector::applyProperty):
4134
4135 2007-01-08  David Hyatt  <hyatt@apple.com>
4136
4137         Add support for all of the CSS3 multi-column properties in preparation for implementing the
4138         feature.
4139
4140         Reviewed by eric
4141
4142         * css/CSSComputedStyleDeclaration.cpp:
4143         (WebCore::):
4144         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4145         * css/CSSMutableStyleDeclaration.cpp:
4146         (WebCore::):
4147         * css/CSSPropertyNames.in:
4148         * css/cssparser.cpp:
4149         (WebCore::CSSParser::parseValue):
4150         * css/cssstyleselector.cpp:
4151         (WebCore::CSSStyleSelector::applyProperty):
4152         * rendering/RenderStyle.cpp:
4153         (WebCore::StyleMultiColData::StyleMultiColData):
4154         (WebCore::StyleMultiColData::operator==):
4155         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
4156         (WebCore::StyleRareNonInheritedData::operator==):
4157         (WebCore::RenderStyle::RenderStyle):
4158         (WebCore::RenderStyle::diff):
4159         * rendering/RenderStyle.h:
4160         (WebCore::StyleMultiColData::operator!=):
4161         (WebCore::StyleMultiColData::ruleWidth):
4162         (WebCore::RenderStyle::columnWidth):
4163         (WebCore::RenderStyle::hasAutoColumnWidth):
4164         (WebCore::RenderStyle::columnCount):
4165         (WebCore::RenderStyle::columnGap):
4166         (WebCore::RenderStyle::hasAutoColumnGap):
4167         (WebCore::RenderStyle::columnRuleColor):
4168         (WebCore::RenderStyle::columnRuleStyle):
4169         (WebCore::RenderStyle::columnRuleWidth):
4170         (WebCore::RenderStyle::columnBreakBefore):
4171         (WebCore::RenderStyle::columnBreakInside):
4172         (WebCore::RenderStyle::columnBreakAfter):
4173         (WebCore::RenderStyle::setColumnWidth):
4174         (WebCore::RenderStyle::setHasAutoColumnWidth):
4175         (WebCore::RenderStyle::setColumnCount):
4176         (WebCore::RenderStyle::setColumnGap):
4177         (WebCore::RenderStyle::setHasAutoColumnGap):
4178         (WebCore::RenderStyle::setColumnRuleColor):
4179         (WebCore::RenderStyle::setColumnRuleStyle):
4180         (WebCore::RenderStyle::setColumnRuleWidth):
4181         (WebCore::RenderStyle::resetColumnRule):
4182         (WebCore::RenderStyle::setColumnBreakBefore):
4183         (WebCore::RenderStyle::setColumnBreakInside):
4184         (WebCore::RenderStyle::setColumnBreakAfter):
4185         (WebCore::RenderStyle::initialColumnCount):
4186         (WebCore::RenderStyle::initialColumnWidth):
4187
4188 2007-01-07  Rob Buis  <buis@kde.org>
4189
4190         Reviewed by Eric.
4191
4192         http://bugzilla.opendarwin.org/show_bug.cgi?id=10587
4193         pointer-events is not implemented for RenderSVGImage or RenderSVGText
4194
4195         Implement pointer-events for raster images and svg text.
4196
4197         * WebCore.xcodeproj/project.pbxproj:
4198         * ksvg2/misc/PointerEventsHitRules.cpp: Added.
4199         (WebCore::PointerEventsHitRules::PointerEventsHitRules):
4200         * ksvg2/misc/PointerEventsHitRules.h: Added.
4201         (WebCore::PointerEventsHitRules::):
4202         * rendering/RenderPath.cpp:
4203         (WebCore::RenderPath::nodeAtPoint):
4204         * rendering/RenderPath.h:
4205         * rendering/RenderSVGImage.cpp:
4206         (WebCore::RenderSVGImage::nodeAtPoint):
4207         * rendering/RenderSVGImage.h:
4208         * rendering/RenderSVGText.cpp:
4209         (WebCore::RenderSVGText::nodeAtPoint):
4210         * rendering/RenderSVGText.h:
4211
4212 2007-01-07  David Hyatt  <hyatt@apple.com>
4213
4214         Fix a regression where border-radius was not clipping the background when border was set to none.
4215         Fix multi-line inline flow painting to properly apply border-radius to the background only at the
4216         beginning of the first line and end of the last line.
4217
4218         Reviewed by eric
4219
4220         * rendering/InlineFlowBox.cpp:
4221         (WebCore::InlineFlowBox::paintBackground):
4222         * rendering/RenderBox.cpp:
4223         (WebCore::RenderBox::paintBackground):
4224         (WebCore::RenderBox::paintBackgroundExtended):
4225         * rendering/RenderBox.h:
4226         * rendering/RenderObject.h:
4227         (WebCore::RenderObject::paintBackgroundExtended):
4228
4229 2007-01-07  David Hyatt  <hyatt@apple.com>
4230
4231         Add support for the CSS3 box-shadow property.
4232
4233         Reviewed by olliej
4234
4235         fast/box-shadow/ contains the tests for this feature.
4236
4237         * platform/graphics/GraphicsContext.cpp:
4238         (WebCore::GraphicsContext::clipOutRoundedRect):
4239         * platform/graphics/GraphicsContext.h:
4240         * platform/graphics/cg/GraphicsContextCG.cpp:
4241         (WebCore::GraphicsContext::fillRoundedRect):