63fea78dc45038d068fffdae42249f0daa36ba05
[WebKit-https.git] / WebCore / ChangeLog
1 2006-12-18  Alice Liu  <alice.liu@apple.com>
2
3         Reviewed by Adam.
4
5         Fixed <rdar://problem/4766174> REGRESSION(r16081): Aspect eWFM: Unable to log in
6
7         * loader/FrameLoader.cpp:
8         (WebCore::FrameLoader::didExplicitOpen):
9
10 2006-12-18  David Hyatt  <hyatt@apple.com>
11
12         Add save/restore calls around the painting of text areas on Mac, since the methods in question
13         alter the current fill color in CG destructively.
14
15         Reviewed by olliej
16
17         * rendering/RenderThemeMac.mm:
18         (WebCore::RenderThemeMac::paintButton):
19         (WebCore::RenderThemeMac::paintTextField):
20         (WebCore::RenderThemeMac::paintTextArea):
21         (WebCore::RenderThemeMac::paintSliderTrack):
22         (WebCore::RenderThemeMac::paintSliderThumb):
23
24 2006-12-18  David Hyatt  <hyatt@apple.com>
25
26         Fix list markers to properly stroke and fill.  I screwed this up when changing how text draws.
27
28         Reviewed by olliej
29
30         * rendering/RenderListMarker.cpp:
31         (WebCore::RenderListMarker::paint):
32
33 2006-12-18  David Hyatt  <hyatt@apple.com>
34
35         Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the
36         stroke color.  This also makes it easier for us to push only stroke color through into CG synchronously
37         while leaving the others alone.
38
39         Reviewed by olliej
40
41         * platform/graphics/GraphicsContext.cpp:
42         (WebCore::GraphicsContextState::GraphicsContextState):
43         (WebCore::GraphicsContext::setStrokeThickness):
44         (WebCore::GraphicsContext::setStrokeStyle):
45         (WebCore::GraphicsContext::setStrokeColor):
46         (WebCore::GraphicsContext::strokeThickness):
47         (WebCore::GraphicsContext::strokeStyle):
48         (WebCore::GraphicsContext::strokeColor):
49         (WebCore::GraphicsContext::setPlatformStrokeStyle):
50         (WebCore::GraphicsContext::setPlatformStrokeThickness):
51         * platform/graphics/GraphicsContext.h:
52         (WebCore::):
53         * platform/graphics/cg/GraphicsContextCG.cpp:
54         (WebCore::GraphicsContext::drawRect):
55         (WebCore::GraphicsContext::drawLine):
56         (WebCore::GraphicsContext::drawEllipse):
57         (WebCore::GraphicsContext::drawArc):
58         (WebCore::GraphicsContext::drawConvexPolygon):
59         (WebCore::GraphicsContext::drawLineForText):
60         (WebCore::GraphicsContext::setPlatformStrokeColor):
61         * platform/graphics/qt/GraphicsContextQt.cpp:
62         (WebCore::toQPenStyle):
63         (WebCore::GraphicsContext::setPlatformStrokeColor):
64         (WebCore::GraphicsContext::setPlatformStrokeStyle):
65         (WebCore::GraphicsContext::setPlatformStrokeThickness):
66         * platform/mac/FontMac.mm:
67         (WebCore::Font::drawComplexText):
68         (WebCore::Font::drawGlyphs):
69         * rendering/InlineFlowBox.cpp:
70         (WebCore::InlineFlowBox::paintDecorations):
71         * rendering/InlineTextBox.cpp:
72         (WebCore::updateTextColor):
73         (WebCore::InlineTextBox::paint):
74         (WebCore::InlineTextBox::paintDecoration):
75         (WebCore::InlineTextBox::paintMarkedTextUnderline):
76         * rendering/RenderBlock.cpp:
77         (WebCore::RenderBlock::paintObject):
78         * rendering/RenderBox.cpp:
79         * rendering/RenderBox.h:
80         * rendering/RenderFrameSet.cpp:
81         (WebCore::RenderFrameSet::userResize):
82         * rendering/RenderImage.cpp:
83         (WebCore::RenderImage::paint):
84         * rendering/RenderObject.cpp:
85         (WebCore::RenderObject::drawBorderArc):
86         (WebCore::RenderObject::drawBorder):
87         * rendering/RenderTable.cpp:
88         (WebCore::RenderTable::paint):
89         * rendering/RenderTableCell.cpp:
90         (WebCore::RenderTableCell::paint):
91         * rendering/RenderText.cpp:
92         * rendering/RenderThemeMac.mm:
93         (WebCore::RenderThemeMac::paintMenuListButton):
94
95 2006-12-18  Darin Adler  <darin@apple.com>
96
97         Reviewed by Adele.
98
99         - fix <rdar://problem/4889565> REGRESSION (r17597): Command-clicking a submit
100           button does not submit in a new tab/window
101           http://bugs.webkit.org/show_bug.cgi?id=11858
102
103         - change DOMActivate events to be created as a part of default handling of
104           click events instead of having the sender of the click event also send
105           a DOMActivate event
106
107         - fixed some edge cases in the slider thumb element handler; since this is
108           inside a shadow DOM, it's likely none of these can arise in practice
109
110         No easy way to test the command-click part since the behavior is in Safari.
111         To make a test we'd have to provide JavaScript access to the modifiers passed
112         to the policy delegate or have some way to query the underlying event from
113         JavaScript.
114
115         * dom/EventTargetNode.cpp: Change all assert to ASSERT.
116         (WebCore::EventTargetNode::dispatchMouseEvent): Renamed some local variables
117         for clarity. Added a RefPtr for relatedTarget since it might be deallocated
118         by the handlers for the click event and is used in the code that creates the
119         dblclick event. Removed the code to create a DOMActivate event, since that's
120         now done in the default event handler for the click event.
121         (WebCore::EventTargetNode::defaultEventHandler): Added code to check for a
122         click event and dispatch a DOMActivate event using the click event as the
123         underlying event. The part of this that fixes the bug is that we use the
124         click event as the underlying event; the old code used the same underlying
125         event as for the click event, not the click event itself. The underlying event
126         for the click event is usually 0, since we propagate the key state to the click
127         event instead of using an underlying event in the common case.
128
129         * dom/Document.cpp: (WebCore::Document::defaultEventHandler): Added call
130         to the base class's defaultEventHandler function, except in the case where
131         the event is already handled.
132
133         * html/HTMLInputElement.h: Removed clickX() and clickY().
134         * html/HTMLInputElement.cpp:
135         (WebCore::HTMLInputElement::appendFormData): Use xPos and yPos directly,
136         so we can remove clickX() and clickY().
137         (WebCore::HTMLInputElement::defaultEventHandler): Removed code that calls
138         setDefaultHandled for click events since we are just recording the x and y
139         coordinates of the events; that's not "handling" an event, and setting
140         the flag prevents us from calling the base class's default event handler,
141         which is now needed to submmit the form.
142
143         * rendering/RenderSlider.cpp:
144         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
145         Added some missing isMouseEvent checks in code that casts to a MouseEvent.
146         Added check document()->frame() in code that manipulates the frame so that
147         fake events, which might happen when there's no frame, can't cause a crash.
148         Added an m_inDragMode check so we don't try to handle mouseup events when
149         we are not handling a drag. Remove the setDefaultHandled call from the
150         mousemove case, because mousemove events are observed, and not "handled"
151         in the "nobody else should look at this event" sense. Added a call to the
152         base class's default event handler, and some return statements so that we
153         won't call it when the event has been handled.
154
155         * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
156         Removed an unneeded "return" for a function that has no return value.
157
158 2006-12-18  Beth Dakin  <bdakin@apple.com>
159
160         Reviewed by Adele.
161
162         Fix for <rdar://problem/4749770> WebCore crashes on a blog website 
163         in WebCore::InlineBox::root() + 6
164
165         We null-check inlineBoxWrapper everywhere else in the code except 
166         for these 3 spots. This patch adds them in. Only one of the checks 
167         is required to fix the crash. What we render for the test case now 
168         matches shipping Safari, but still seems wrong because we do not 
169         match Firefox. I will file a follow-up about the rendering problem.
170
171         * rendering/RenderListItem.cpp:
172         (WebCore::RenderListItem::positionListMarker): This is the required 
173         null-check. 
174         * rendering/RenderListMarker.cpp:
175         (WebCore::RenderListMarker::setSelectionState): Null-check for 
176         safety. 
177         (WebCore::RenderListMarker::selectionRect): Same.
178
179 2006-12-18  David Hyatt  <hyatt@apple.com>
180
181         Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing
182         call on Mac.  Fix is rather involved:
183
184         (1) Fill color is now updated in CG synchronously.  There is no more delay in the push.  I used the model that
185         Qt added for this, setPlatformFillColor, so we're the same now.
186
187         (2) Text was being drawn using the pen color, which is tantamount to using the stroke color.  Since text in HTML
188         is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead
189         of the pen.
190
191         (3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip.
192         Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText
193         method on their Font class to get the new functionality.
194
195         (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.
196
197         (5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object
198         as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color.
199
200         Reviewed by olliej
201
202         * platform/graphics/GraphicsContext.cpp:
203         (WebCore::GraphicsContextState::GraphicsContextState):
204         (WebCore::GraphicsContext::textDrawingMode):
205         (WebCore::GraphicsContext::setTextDrawingMode):
206         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
207         (WebCore::GraphicsContext::setPlatformPen):
208         * platform/graphics/GraphicsContext.h:
209         * platform/graphics/cg/GraphicsContextCG.cpp:
210         (WebCore::GraphicsContext::fillRect):
211         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
212         (WebCore::GraphicsContext::setPlatformFillColor):
213         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
214         (WebCore::SVGPaintServerGradient::teardown):
215         (WebCore::SVGPaintServerGradient::setup):
216         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
217         (WebCore::SVGPaintServerPattern::setup):
218         (WebCore::SVGPaintServerPattern::teardown):
219         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
220         (WebCore::SVGPaintServerSolid::setup):
221         * platform/mac/FontMac.mm:
222         (WebCore::Font::drawComplexText):
223         (WebCore::Font::drawGlyphs):
224         * platform/mac/WebCoreTextRenderer.mm:
225         (WebCoreDrawTextAtPoint):
226         * rendering/EllipsisBox.cpp:
227         (WebCore::EllipsisBox::paint):
228         * rendering/InlineTextBox.cpp:
229         (WebCore::correctedTextColor):
230         (WebCore::updateTextColor):
231         (WebCore::InlineTextBox::paint):
232         (WebCore::InlineTextBox::paintSelection):
233         (WebCore::InlineTextBox::paintMarkedTextBackground):
234         (WebCore::InlineTextBox::paintTextMatchMarker):
235         * rendering/RenderFileUploadControl.cpp:
236         (WebCore::RenderFileUploadControl::paintObject):
237         * rendering/RenderListBox.cpp:
238         (WebCore::RenderListBox::paintItemForeground):
239         * rendering/RenderListMarker.cpp:
240         (WebCore::RenderListMarker::paint):
241
242 2006-12-18  Dex Deacon  <occupant4@gmail.com>
243
244         Reviewed by Maciej.
245
246         Bug 11760: Animated GIFs with offsets crash WebKit
247         http://bugs.webkit.org/show_bug.cgi?id=11760
248
249         * platform/image-decoders/gif/GIFImageDecoder.cpp:
250         ensure we don't write past the end of the image buffer when the offset
251         is nonzero.  also fix the way we composite frames when animating.
252         (WebCore::GIFImageDecoder::initFrameBuffer):
253         (WebCore::GIFImageDecoder::haveDecodedRow):
254
255 2006-12-18  Kirby White  <KWhiteRight@gmail.com>
256
257         Reviewed by Darin.
258
259         Changed hidden input controls to reset to their initial values
260         when the form is reset.  Also added layout tests for resetting
261         other input controls.
262
263         Fixes http://bugs.webkit.org/show_bug.cgi?id=11866
264
265         * html/HTMLInputElement.cpp:
266         (WebCore::HTMLInputElement::setValue):
267         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
268
269 2006-12-18  Alice Liu  <alice.liu@apple.com>
270
271         Oops forgot a file. 
272
273         * editing/EditorDeleteAction.h: Added.
274         (WebCore::):
275
276 2006-12-18  Alice Liu  <alice.liu@apple.com>
277
278         Reviewed by Adam.
279
280         Have the Editor handle deletion instead of WebHTMLView
281
282         * WebCore.exp:
283         Exposed Editor::deleteWithDirection and ::deleteRange()
284
285         * WebCore.xcodeproj/project.pbxproj:
286         Added EditorDeleteAction.h
287
288         * editing/Editor.cpp:
289         (WebCore::Editor::deleteRange):
290         (WebCore::Editor::deleteWithDirection):
291         Implemented
292
293         (WebCore::Editor::deleteSelectionWithSmartDelete):
294         Overloaded to take no params, in which case canSmartCopyOrDelete is called
295
296         (WebCore::execCopy):
297         (WebCore::execCut):
298         (WebCore::execDelete):
299         (WebCore::execPaste):
300         Call the editor instead of asking frame to cut/copy/paste/delete
301
302         (WebCore::execBackwardDelete):
303         (WebCore::execForwardDelete):
304         Call deleteWithDirection instead of just executing a TypingCommand
305
306         (WebCore::CommandEntry::):
307         distinguished delete (which deletes selection) from backwards delete (single character, no selection)
308
309         (WebCore::Editor::cut):
310         (WebCore::Editor::performDelete):
311         Trivial changes
312
313         * editing/Editor.h:
314         Added some functons.
315         (WebCore::Editor::setStartNewKillRingSequence):
316         (WebCore::Editor::propogateDOMException):
317         (WebCore::Editor::addToKillRing):
318         * editing/mac/EditorMac.mm:
319         Factored out support for Kill Rings to this file
320
321         * platform/mac/PasteboardMac.mm:
322         Trivial change
323
324 2006-12-18  Kevin McCullough  <KMcCullough@apple.com>
325
326         Reviewed by Oliver.
327
328         - Removed CG header include
329
330         * platform/graphics/ImageSource.h:
331
332 2006-12-18  John Sullivan  <sullivan@apple.com>
333
334         Reviewed by Tim Hatcher
335
336         - fixed <rdar://problem/4887764> GMAIL: Crash occurs at WebCore::Range::cloneRange() 
337           when I ctrl-click in a empty list item
338
339         * editing/mac/EditorMac.mm:
340         (WebCore::isRangeUngrammatical):
341         bail out immediately for nil range (which selectionController()->toRange().get()
342         can return). Also save some work by bailing out immediately for collapsed ranges.
343
344 2006-12-18  Alice Liu  <alice.liu@apple.com>
345
346         Leopard build fix.
347
348         * platform/ContextMenu.cpp:
349         (WebCore::ContextMenu::checkOrEnableIfNeeded):
350
351 2006-12-17  Zack Rusin  <zack@kde.org>
352
353         Fix compilation after the const changes.
354
355         * platform/qt/ContextMenuItemQt.cpp:
356         (WebCore::ContextMenuItem::type):
357         (WebCore::ContextMenuItem::setTitle):
358         (WebCore::ContextMenuItem::setChecked):
359         (WebCore::ContextMenuItem::setEnabled):
360
361 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
362
363         Reviewed by Eric.
364
365         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10956
366
367         Long standing regression. The old code in FontMac.mm, used set the fill/stroke
368         color "[nsColor(graphicsContext->pen().color()) set];", and current code only
369         sets the fill color. Reverting to old behaviour fixes gradient-on-stroke-of-text.
370
371         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
372         (WebCore::SVGPaintServerGradient::setup):
373         * platform/mac/FontMac.mm:
374         (WebCore::Font::drawComplexText):
375         (WebCore::Font::drawGlyphs):
376
377 2006-12-17  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
378
379         Reviewed, tweaked and landed by Alexey.
380
381         http://bugs.webkit.org/show_bug.cgi?id=11798
382         [CSS 3] missing cursor support for 'none'
383
384         * Resources/noneCursor.png: Added.
385         * WebCore.xcodeproj/project.pbxproj:
386         * css/CSSComputedStyleDeclaration.cpp:
387         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
388         * css/CSSValueKeywords.in:
389         * css/cssparser.cpp: Also fixed previously broken -webkit-background-composite: copy.
390         * manual-tests/cursor.html:
391         * page/EventHandler.cpp:
392         (WebCore::selectCursor):
393         * platform/Cursor.h:
394         * platform/gdk/CursorGdk.cpp:
395         (WebCore::noneCursor):
396         * platform/mac/CursorMac.mm:
397         (WebCore::noneCursor):
398         * platform/qt/CursorQt.cpp:
399         (WebCore::noneCursor):
400         * platform/win/CursorWin.cpp:
401         (WebCore::noneCursor):
402         * rendering/RenderStyle.h:
403         (WebCore::):
404
405 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
406
407         Build fix, not reviewed.
408
409         This should hopefully fix Qt build.
410
411         * ksvg2/svg/SVGLength.cpp: Include math.h for Qt/Linux build.
412
413 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
414
415         Reviewed by Rob.
416
417         Remove SVGHelper class. Move the last static function "parseSeparatedList"
418         to the only place using it: SVGAnimationElement. Update all build files.
419
420         Remove any lazy_create macro usage, by what it does - cleaner.
421
422         * CMakeLists.txt:
423         * WebCore.pro:
424         * WebCore.xcodeproj/project.pbxproj:
425         * ksvg2/misc/KCanvasRenderingStyle.cpp:
426         * ksvg2/svg/SVGAElement.cpp:
427         * ksvg2/svg/SVGAnimationElement.cpp:
428         (WebCore::parseSeparatedList):
429         (WebCore::SVGAnimationElement::parseMappedAttribute):
430         * ksvg2/svg/SVGCircleElement.cpp:
431         * ksvg2/svg/SVGClipPathElement.cpp:
432         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
433         * ksvg2/svg/SVGCursorElement.cpp:
434         * ksvg2/svg/SVGEllipseElement.cpp:
435         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
436         * ksvg2/svg/SVGFEBlendElement.cpp:
437         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
438         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
439         * ksvg2/svg/SVGFECompositeElement.cpp:
440         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
441         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
442         * ksvg2/svg/SVGFEFloodElement.cpp:
443         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
444         * ksvg2/svg/SVGFEImageElement.cpp:
445         * ksvg2/svg/SVGFELightElement.cpp:
446         * ksvg2/svg/SVGFEMergeElement.cpp:
447         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
448         * ksvg2/svg/SVGFEOffsetElement.cpp:
449         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
450         * ksvg2/svg/SVGFETileElement.cpp:
451         * ksvg2/svg/SVGFilterElement.cpp:
452         * ksvg2/svg/SVGForeignObjectElement.cpp:
453         * ksvg2/svg/SVGGradientElement.cpp:
454         * ksvg2/svg/SVGHelper.cpp: Removed.
455         * ksvg2/svg/SVGHelper.h: Removed.
456         * ksvg2/svg/SVGImageElement.cpp:
457         * ksvg2/svg/SVGLength.cpp:
458         * ksvg2/svg/SVGLineElement.cpp:
459         * ksvg2/svg/SVGLinearGradientElement.cpp:
460         * ksvg2/svg/SVGMarkerElement.cpp:
461         * ksvg2/svg/SVGMaskElement.cpp:
462         * ksvg2/svg/SVGPathElement.cpp:
463         * ksvg2/svg/SVGPatternElement.cpp:
464         * ksvg2/svg/SVGPolyElement.cpp:
465         * ksvg2/svg/SVGRadialGradientElement.cpp:
466         * ksvg2/svg/SVGRectElement.cpp:
467         * ksvg2/svg/SVGStopElement.cpp:
468         * ksvg2/svg/SVGStyledElement.cpp:
469         * ksvg2/svg/SVGStyledTransformableElement.cpp:
470         * ksvg2/svg/SVGSymbolElement.cpp:
471         * ksvg2/svg/SVGTests.cpp:
472         * ksvg2/svg/SVGTextContentElement.cpp:
473         * ksvg2/svg/SVGTextElement.cpp:
474         * ksvg2/svg/SVGTextPositioningElement.cpp:
475         * ksvg2/svg/SVGTransformable.cpp:
476         * ksvg2/svg/SVGURIReference.cpp:
477         * ksvg2/svg/SVGUseElement.cpp:
478         * ksvg2/svg/SVGViewElement.cpp:
479         * ksvg2/svg/SVGZoomAndPan.cpp:
480
481 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
482
483         Reviewed by Rob.
484
485         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11813
486
487         Pass SVGLength around by value, remove any SVGLength* usage.
488         Bindings work fine, as the SVG POD JS Wrapper stuff is already in svn.
489
490         No new regressions, none fixed. But the code itself is much cleaner.
491         And some problems with width-full-percentage.svg have been fixed, viewport
492         clipping works in any case now, also for percentual width/height values set on <svg>.
493
494         * bindings/scripts/CodeGenerator.pm:
495         * bindings/scripts/CodeGeneratorJS.pm:
496         * ksvg2/misc/KCanvasRenderingStyle.cpp:
497         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
498         * ksvg2/svg/SVGAnimatedTemplate.h:
499         * ksvg2/svg/SVGCircleElement.cpp:
500         (WebCore::SVGCircleElement::SVGCircleElement):
501         (WebCore::SVGCircleElement::parseMappedAttribute):
502         (WebCore::SVGCircleElement::toPathData):
503         * ksvg2/svg/SVGCircleElement.h:
504         * ksvg2/svg/SVGCursorElement.cpp:
505         (WebCore::SVGCursorElement::SVGCursorElement):
506         (WebCore::SVGCursorElement::parseMappedAttribute):
507         * ksvg2/svg/SVGCursorElement.h:
508         * ksvg2/svg/SVGElement.cpp:
509         * ksvg2/svg/SVGEllipseElement.cpp:
510         (WebCore::SVGEllipseElement::SVGEllipseElement):
511         (WebCore::SVGEllipseElement::parseMappedAttribute):
512         (WebCore::SVGEllipseElement::toPathData):
513         * ksvg2/svg/SVGEllipseElement.h:
514         * ksvg2/svg/SVGFilterElement.cpp:
515         (WebCore::SVGFilterElement::SVGFilterElement):
516         (WebCore::SVGFilterElement::parseMappedAttribute):
517         (WebCore::SVGFilterElement::canvasResource):
518         * ksvg2/svg/SVGFilterElement.h:
519         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
520         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
521         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
522         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
523         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
524         * ksvg2/svg/SVGFitToViewBox.cpp:
525         (WebCore::SVGFitToViewBox::parseViewBox):
526         * ksvg2/svg/SVGForeignObjectElement.cpp:
527         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
528         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
529         (WebCore::SVGForeignObjectElement::createRenderer):
530         (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
531         * ksvg2/svg/SVGForeignObjectElement.h:
532         * ksvg2/svg/SVGHelper.cpp:
533         (WebCore::SVGHelper::parseSeparatedList):
534         * ksvg2/svg/SVGHelper.h:
535         * ksvg2/svg/SVGImageElement.cpp:
536         (WebCore::SVGImageElement::SVGImageElement):
537         (WebCore::SVGImageElement::parseMappedAttribute):
538         * ksvg2/svg/SVGImageElement.h:
539         * ksvg2/svg/SVGLength.cpp:
540         (WebCore::storeUnit):
541         (WebCore::extractMode):
542         (WebCore::extractType):
543         (WebCore::lengthTypeToString):
544         (WebCore::stringToLengthType):
545         (WebCore::SVGLength::SVGLength):
546         (WebCore::SVGLength::unitType):
547         (WebCore::SVGLength::value):
548         (WebCore::SVGLength::setValue):
549         (WebCore::SVGLength::setValueInSpecifiedUnits):
550         (WebCore::SVGLength::setValueAsString):
551         (WebCore::SVGLength::valueAsString):
552         (WebCore::SVGLength::newValueSpecifiedUnits):
553         (WebCore::SVGLength::convertToSpecifiedUnits):
554         (WebCore::SVGLength::isFraction):
555         (WebCore::SVGLength::dpi):
556         (WebCore::SVGLength::PercentageOfViewport):
557         * ksvg2/svg/SVGLength.h:
558         (WebCore::):
559         (WebCore::SVGLength::):
560         * ksvg2/svg/SVGLength.idl:
561         * ksvg2/svg/SVGLengthList.cpp:
562         (WebCore::SVGLengthList::SVGLengthList):
563         (WebCore::SVGLengthList::parse):
564         * ksvg2/svg/SVGLengthList.h:
565         * ksvg2/svg/SVGLineElement.cpp:
566         (WebCore::SVGLineElement::SVGLineElement):
567         (WebCore::SVGLineElement::parseMappedAttribute):
568         (WebCore::SVGLineElement::toPathData):
569         * ksvg2/svg/SVGLineElement.h:
570         * ksvg2/svg/SVGLinearGradientElement.cpp:
571         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
572         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
573         (WebCore::SVGLinearGradientElement::buildGradient):
574         * ksvg2/svg/SVGLinearGradientElement.h:
575         * ksvg2/svg/SVGMarkerElement.cpp:
576         (WebCore::SVGMarkerElement::SVGMarkerElement):
577         (WebCore::SVGMarkerElement::parseMappedAttribute):
578         (WebCore::SVGMarkerElement::canvasResource):
579         * ksvg2/svg/SVGMarkerElement.h:
580         * ksvg2/svg/SVGMaskElement.cpp:
581         (WebCore::SVGMaskElement::SVGMaskElement):
582         (WebCore::SVGMaskElement::attributeChanged):
583         (WebCore::SVGMaskElement::parseMappedAttribute):
584         (WebCore::SVGMaskElement::drawMaskerContent):
585         * ksvg2/svg/SVGMaskElement.h:
586         * ksvg2/svg/SVGPatternElement.cpp:
587         (WebCore::SVGPatternElement::SVGPatternElement):
588         (WebCore::SVGPatternElement::parseMappedAttribute):
589         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
590         (WebCore::SVGPatternElement::notifyAttributeChange):
591         (WebCore::SVGPatternElement::getCTM):
592         * ksvg2/svg/SVGPatternElement.h:
593         * ksvg2/svg/SVGRadialGradientElement.cpp:
594         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
595         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
596         (WebCore::SVGRadialGradientElement::buildGradient):
597         * ksvg2/svg/SVGRadialGradientElement.h:
598         * ksvg2/svg/SVGRectElement.cpp:
599         (WebCore::SVGRectElement::SVGRectElement):
600         (WebCore::SVGRectElement::parseMappedAttribute):
601         (WebCore::SVGRectElement::toPathData):
602         * ksvg2/svg/SVGRectElement.h:
603         * ksvg2/svg/SVGSVGElement.cpp:
604         (WebCore::SVGSVGElement::SVGSVGElement):
605         (WebCore::SVGSVGElement::viewport):
606         (WebCore::SVGSVGElement::parseMappedAttribute):
607         (WebCore::SVGSVGElement::createSVGLength):
608         (WebCore::SVGSVGElement::getCTM):
609         (WebCore::SVGSVGElement::getScreenCTM):
610         * ksvg2/svg/SVGSVGElement.h:
611         * ksvg2/svg/SVGStyledElement.cpp:
612         * ksvg2/svg/SVGStyledElement.h:
613         * ksvg2/svg/SVGTextContentElement.cpp:
614         (WebCore::SVGTextContentElement::SVGTextContentElement):
615         (WebCore::SVGTextContentElement::parseMappedAttribute):
616         * ksvg2/svg/SVGTextContentElement.h:
617         * ksvg2/svg/SVGTextElement.cpp:
618         * ksvg2/svg/SVGTextPositioningElement.cpp:
619         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
620         * ksvg2/svg/SVGUseElement.cpp:
621         (WebCore::SVGUseElement::SVGUseElement):
622         (WebCore::SVGUseElement::parseMappedAttribute):
623         (WebCore::SVGUseElement::closeRenderer):
624         * ksvg2/svg/SVGUseElement.h:
625         * page/EventHandler.cpp:
626         (WebCore::selectCursor):
627         * rendering/RenderForeignObject.cpp:
628         (WebCore::RenderForeignObject::translationForAttributes):
629         * rendering/RenderPath.cpp:
630         * rendering/RenderPath.h:
631         * rendering/RenderSVGContainer.cpp:
632         (WebCore::RenderSVGContainer::layout):
633         (WebCore::RenderSVGContainer::calcViewport):
634         * rendering/RenderSVGImage.cpp:
635         (WebCore::RenderSVGImage::relativeBBox):
636         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
637         (WebCore::RenderSVGImage::translationForAttributes):
638         * rendering/RenderSVGText.cpp:
639         (WebCore::RenderSVGText::layout):
640         * rendering/SVGInlineFlowBox.cpp:
641         (WebCore::translateBox):
642         (WebCore::placePositionedBoxesHorizontally):
643         (WebCore::placeBoxesVerticallyWithAbsBaseline):
644
645 2006-12-16  Sam Weinig  <sam@webkit.org>
646
647         Reviewed by Maciej.
648
649         Patch for http://bugs.webkit.org/show_bug.cgi?id=11856
650         Update renderName() methods to return current class names.
651
652         * rendering/RenderPath.h:
653         (WebCore::RenderPath::renderName): Returns "RenderPath" instead of "KCanvasItem".
654         * rendering/RenderSVGContainer.h:
655         (WebCore::RenderSVGContainer::renderName): Returns "RenderSVGContainer" instead of "KCanvasContainer".
656         * rendering/RenderTextControl.h:
657         (WebCore::RenderTextControl::renderName): Returns "RenderTextControl" instead of "RenderTextField".
658
659 2006-12-16  Sam Weinig  <sam@webkit.org>
660
661         Reviewed by Mitz.
662
663         Patch for http://bugs.webkit.org/show_bug.cgi?id=11844
664         Code Cleanup for more of the rendering code
665
666         * WebCore.xcodeproj/project.pbxproj:
667         * rendering/RenderCounter.cpp:
668         (WebCore::RenderCounter::calcMinMaxWidth):
669         * rendering/RenderText.cpp:
670         (WebCore::RenderText::RenderText):
671         (WebCore::RenderText::setStyle):
672         (WebCore::RenderText::destroy):
673         (WebCore::RenderText::attachTextBox):
674         (WebCore::RenderText::findNextInlineTextBox):
675         (WebCore::RenderText::positionForCoordinates):
676         (WebCore::firstRendererOnNextLine):
677         (WebCore::lastRendererOnPrevLine):
678         (WebCore::RenderText::caretRect):
679         (WebCore::RenderText::posOfChar):
680         (WebCore::RenderText::allAscii):
681         (WebCore::RenderText::shouldUseMonospaceCache):
682         (WebCore::RenderText::cacheWidths):
683         (WebCore::RenderText::widthFromCache):
684         (WebCore::RenderText::trimmedMinMaxWidth):
685         (WebCore::RenderText::calcMinMaxWidth):
686         (WebCore::isSpaceAccordingToStyle):
687         (WebCore::RenderText::containsOnlyWhitespace):
688         (WebCore::RenderText::minXPos):
689         (WebCore::RenderText::setSelectionState):
690         (WebCore::RenderText::setTextWithOffset):
691         (WebCore::RenderText::setText):
692         (WebCore::RenderText::position):
693         (WebCore::RenderText::width):
694         (WebCore::RenderText::getAbsoluteRepaintRect):
695         (WebCore::RenderText::selectionRect):
696         (WebCore::RenderText::verticalPositionHint):
697         (WebCore::RenderText::font):
698         (WebCore::RenderText::caretMinOffset):
699         (WebCore::RenderText::caretMaxOffset):
700         (WebCore::RenderText::previousOffset):
701         (WebCore::RenderText::nextOffset):
702         (WebCore::RenderText::inlineBox):
703         * rendering/RenderText.h:
704         (WebCore::RenderText::isTextFragment):
705         (WebCore::RenderText::data):
706         (WebCore::RenderText::string):
707         (WebCore::RenderText::paint):
708         (WebCore::RenderText::layout):
709         (WebCore::RenderText::nodeAtPoint):
710         (WebCore::RenderText::length):
711         (WebCore::RenderText::text):
712         (WebCore::RenderText::stringLength):
713         * rendering/RenderTextControl.cpp:
714         (WebCore::RenderTextControl::setStyle):
715         (WebCore::disabledTextColor):
716         (WebCore::RenderTextControl::createInnerBlockStyle):
717         (WebCore::RenderTextControl::createInnerTextStyle):
718         (WebCore::RenderTextControl::createResultsButtonStyle):
719         (WebCore::RenderTextControl::createCancelButtonStyle):
720         (WebCore::RenderTextControl::showPlaceholderIfNeeded):
721         (WebCore::RenderTextControl::hidePlaceholderIfNeeded):
722         (WebCore::RenderTextControl::createSubtreeIfNeeded):
723         (WebCore::RenderTextControl::updateFromElement):
724         (WebCore::RenderTextControl::selectionStart):
725         (WebCore::RenderTextControl::setSelectionRange):
726         (WebCore::RenderTextControl::visiblePositionForIndex):
727         (WebCore::RenderTextControl::subtreeHasChanged):
728         (WebCore::RenderTextControl::textWithHardLineBreaks):
729         (WebCore::RenderTextControl::calcHeight):
730         (WebCore::RenderTextControl::nodeAtPoint):
731         (WebCore::RenderTextControl::layout):
732         (WebCore::RenderTextControl::calcMinMaxWidth):
733         (WebCore::RenderTextControl::addSearchResult):
734         (WebCore::RenderTextControl::showPopup):
735         (WebCore::RenderTextControl::itemText):
736         (WebCore::RenderTextControl::itemIsEnabled):
737         (WebCore::RenderTextControl::listSize):
738         (WebCore::RenderTextControl::scroll):
739         * rendering/RenderTextControl.h:
740         (WebCore::RenderTextControl::renderName):
741         (WebCore::RenderTextControl::removeLeftoverAnonymousBoxes):
742         * rendering/RenderTextFragment.cpp:
743         (WebCore::RenderTextFragment::RenderTextFragment):
744         (WebCore::RenderTextFragment::originalString):
745         * rendering/RenderTextFragment.h:
746         (WebCore::RenderTextFragment::isTextFragment):
747         * rendering/RenderTheme.cpp:
748         (WebCore::RenderTheme::adjustStyle):
749         (WebCore::RenderTheme::isControlStyled):
750         (WebCore::RenderTheme::stateChanged):
751         (WebCore::RenderTheme::adjustCheckboxStyle):
752         (WebCore::RenderTheme::adjustRadioStyle):
753         * rendering/RenderTheme.h:
754         (WebCore::):
755         * rendering/RenderThemeMac.h:
756         * rendering/RenderThemeMac.mm:
757         (WebCore::RenderThemeMac::RenderThemeMac):
758         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
759         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
760         (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
761         (WebCore::RenderThemeMac::systemFont):
762         (WebCore::RenderThemeMac::isControlStyled):
763         (WebCore::RenderThemeMac::adjustRepaintRect):
764         (WebCore::RenderThemeMac::updateCheckedState):
765         (WebCore::RenderThemeMac::controlSupportsTints):
766         (WebCore::RenderThemeMac::setFontFromControlSize):
767         (WebCore::RenderThemeMac::paintCheckbox):
768         (WebCore::RenderThemeMac::checkboxMargins):
769         (WebCore::RenderThemeMac::setCheckboxCellState):
770         (WebCore::RenderThemeMac::setCheckboxSize):
771         (WebCore::RenderThemeMac::paintRadio):
772         (WebCore::RenderThemeMac::radioMargins):
773         (WebCore::RenderThemeMac::setRadioCellState):
774         (WebCore::RenderThemeMac::setRadioSize):
775         (WebCore::RenderThemeMac::adjustButtonStyle):
776         (WebCore::RenderThemeMac::buttonMargins):
777         (WebCore::RenderThemeMac::setButtonSize):
778         (WebCore::RenderThemeMac::setButtonCellState):
779         (WebCore::RenderThemeMac::adjustTextFieldStyle):
780         (WebCore::RenderThemeMac::adjustTextAreaStyle):
781         (WebCore::RenderThemeMac::popupButtonMargins):
782         (WebCore::RenderThemeMac::popupButtonPadding):
783         (WebCore::TopGradientInterpolate):
784         (WebCore::BottomGradientInterpolate):
785         (WebCore::MainGradientInterpolate):
786         (WebCore::TrackGradientInterpolate):
787         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
788         (WebCore::RenderThemeMac::paintMenuListButton):
789         (WebCore::RenderThemeMac::adjustMenuListStyle):
790         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
791         (WebCore::RenderThemeMac::paintSliderTrack):
792         (WebCore::RenderThemeMac::paintSliderThumb):
793         (WebCore::RenderThemeMac::paintSearchField):
794         (WebCore::RenderThemeMac::setSearchCellState):
795         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
796         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
797         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
798         * rendering/RenderTreeAsText.cpp:
799         (WebCore::operator<<):
800         (WebCore::writeIndent):
801         (WebCore::printBorderStyle):
802         (WebCore::getTagName):
803         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
804         (WebCore::writeTextRun):
805         (WebCore::write):
806         (WebCore::writeLayers):
807         (WebCore::nodePosition):
808         (WebCore::writeSelection):
809         * rendering/RenderTreeAsText.h:
810         * rendering/RenderView.cpp:
811         (WebCore::RenderView::RenderView):
812         (WebCore::RenderView::calcMinMaxWidth):
813         (WebCore::RenderView::layout):
814         (WebCore::RenderView::absolutePosition):
815         (WebCore::RenderView::paint):
816         (WebCore::RenderView::repaintViewRectangle):
817         (WebCore::rendererAfterPosition):
818         (WebCore::RenderView::selectionRect):
819         (WebCore::RenderView::setSelection):
820         (WebCore::RenderView::selectionStartEnd):
821         (WebCore::RenderView::updateWidgetPositions):
822         (WebCore::RenderView::addWidget):
823         (WebCore::RenderView::removeWidget):
824         (WebCore::RenderView::viewRect):
825         (WebCore::RenderView::docHeight):
826         (WebCore::RenderView::docWidth):
827         (WebCore::RenderView::setBestTruncatedAt):
828         * rendering/RenderView.h:
829         (WebCore::RenderView::renderName):
830         (WebCore::RenderView::selectionStart):
831         (WebCore::RenderView::selectionEnd):
832         * rendering/RenderWidget.cpp:
833         (WebCore::RenderWidget::destroy):
834         (WebCore::RenderWidget::resizeWidget):
835         (WebCore::RenderWidget::setStyle):
836         (WebCore::RenderWidget::paint):
837         (WebCore::RenderWidget::updateWidgetPosition):
838         (WebCore::RenderWidget::setSelectionState):
839         * rendering/RootInlineBox.cpp:
840         (WebCore::RootInlineBox::placeEllipsis):
841         (WebCore::RootInlineBox::fillLineSelectionGap):
842         (WebCore::RootInlineBox::selectionState):
843         (WebCore::RootInlineBox::firstSelectedBox):
844         (WebCore::RootInlineBox::lastSelectedBox):
845         (WebCore::RootInlineBox::selectionTop):
846         (WebCore::RootInlineBox::closestLeafChildForXPos):
847         * rendering/RootInlineBox.h:
848         (WebCore::RootInlineBox::isRootInlineBox):
849         (WebCore::RootInlineBox::setVerticalOverflowPositions):
850         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
851         (WebCore::RootInlineBox::setVerticalSelectionPositions):
852         (WebCore::RootInlineBox::lineBreakObj):
853         (WebCore::RootInlineBox::lineBreakPos):
854         (WebCore::RootInlineBox::setLineBreakPos):
855         (WebCore::RootInlineBox::blockHeight):
856         (WebCore::RootInlineBox::setBlockHeight):
857         (WebCore::RootInlineBox::endsWithBreak):
858         (WebCore::RootInlineBox::setEndsWithBreak):
859         * rendering/SVGInlineFlowBox.cpp:
860         (WebCore::SVGInlineFlowBox::paint):
861         (WebCore::paintSVGInlineFlow):
862         (WebCore::translateBox):
863         (WebCore::placePositionedBoxesHorizontally):
864         (WebCore::placeBoxesVerticallyWithAbsBaseline):
865         (WebCore::placeSVGFlowVertically):
866         * rendering/SVGInlineFlowBox.h:
867         * rendering/SVGRenderTreeAsText.cpp:
868         (WebCore::TextStreamSeparator::TextStreamSeparator):
869         (WebCore::operator<<):
870         (WebCore::hasFractions):
871         (WebCore::writeIndent):
872         (WebCore::writeStyle):
873         (WebCore::getTagName):
874         (WebCore::write):
875         (WebCore::writeRenderResources):
876         * rendering/SVGRenderTreeAsText.h:
877         (WebCore::operator<<):
878         * rendering/SVGRootInlineBox.cpp:
879         (WebCore::SVGRootInlineBox::paint):
880         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
881         * rendering/SVGRootInlineBox.h:
882         * rendering/TableLayout.h:
883
884 2006-12-16  Adam Roben  <aroben@apple.com>
885
886         Build fixes.
887
888         * platform/ContextMenuItem.h: Fixed const declarations.
889         * platform/mac/ContextMenuItemMac.mm: Dito.
890         (WebCore::ContextMenuItem::type):
891         (WebCore::ContextMenuItem::setTitle):
892         (WebCore::ContextMenuItem::setChecked):
893         (WebCore::ContextMenuItem::setEnabled):
894
895 2006-12-16  Adele Peterson  <adele@apple.com>
896
897         Reviewed by Maciej.
898
899         Fix for http://bugs.webkit.org/show_bug.cgi?id=11189
900         <rdar://problem/4770249> REGRESSION (NativeListBox): When a list box has focus, pressing command- A (select all) doesn't selected all items in list
901
902         Test: fast/forms/listbox-select-all.html
903
904         * dom/Node.h: We should try to find a more appropriate place to put these methods.
905         (WebCore::Node::canSelectAll): Added.
906         (WebCore::Node::selectAll): Added.
907         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Before selecting editable content, give the focused node
908           a chance to select its content.
909         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::selectAll): Selects all items in a multi-select list box.  Single-select
910           list boxes will just do nothing, but we still want the select to handle this case when it has focus, rather than selecting other content.
911         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canSelectAll): Returns true for list boxes.
912
913 2006-12-16  Zack Rusin  <zack@kde.org>
914
915         Add a stub for SearchPopupMenu for Qt code.
916
917         * platform/qt/SearchPopupMenuQt.cpp: Added.
918         (WebCore::SearchPopupMenu::SearchPopupMenu):
919         (WebCore::SearchPopupMenu::saveRecentSearches):
920         (WebCore::SearchPopupMenu::loadRecentSearches):
921
922 2006-12-16  Zack Rusin  <zack@kde.org>
923
924         Make it compile after last nights changes.
925
926         * WebCore.pro:
927         * loader/qt/DocumentLoaderQt.cpp:
928         (WebCore::DocumentLoader::stopLoading):
929         (WebCore::DocumentLoader::prepareForLoadStart):
930         * platform/qt/ContextMenuItemQt.cpp:
931         (WebCore::ContextMenuItem::ContextMenuItem):
932         (WebCore::ContextMenuItem::releasePlatformDescription):
933         (WebCore::ContextMenuItem::type):
934         (WebCore::ContextMenuItem::setType):
935         (WebCore::ContextMenuItem::action):
936         (WebCore::ContextMenuItem::setAction):
937         (WebCore::ContextMenuItem::setTitle):
938         (WebCore::ContextMenuItem::platformSubMenu):
939         (WebCore::ContextMenuItem::setSubMenu):
940         (WebCore::ContextMenuItem::setChecked):
941         (WebCore::ContextMenuItem::setEnabled):
942         * platform/qt/ContextMenuQt.cpp:
943         (WebCore::ContextMenu::appendItem):
944         (WebCore::ContextMenu::insertItem):
945         * platform/qt/TemporaryLinkStubs.cpp:
946
947 2006-12-16  Adele Peterson  <adele@apple.com>
948
949         One more...
950
951         * editing/ReplaceSelectionCommand.cpp:
952         (WebCore::ReplacementFragment::ReplacementFragment):
953
954 2006-12-16  Adele Peterson  <adele@apple.com>
955
956         Missed one instance of isNonWidgetTextField.
957
958         * editing/DeleteSelectionCommand.cpp:
959         (WebCore::DeleteSelectionCommand::doApply):
960
961 2006-12-16  Hunter L. Williams <hlwebkit@gmail.com>
962
963         Reviewed by Adele.
964
965         Fix mouse wheel scrolling in <textarea> controls.
966
967         * rendering/RenderTextControl.cpp:
968         * rendering/RenderTextControl.h:
969         Override |scroll| on RenderTextControl to forward the call to the RenderObject of the 
970         inner m_innerText, which has a layer that can be scrolled.
971
972 2006-12-16  Adele Peterson  <adele@apple.com>
973
974         RS by Adam.
975
976         Removed RenderLineEdit, TextField, WebCoreTextField classes, and use of isNonWidgetTextField,
977
978         * WebCore.xcodeproj/project.pbxproj:
979         * html/HTMLInputElement.cpp:
980         (WebCore::HTMLInputElement::isKeyboardFocusable):
981         (WebCore::HTMLInputElement::isMouseFocusable):
982         (WebCore::HTMLInputElement::focus):
983         (WebCore::HTMLInputElement::updateFocusAppearance):
984         (WebCore::HTMLInputElement::aboutToUnload):
985         (WebCore::HTMLInputElement::dispatchFocusEvent):
986         (WebCore::HTMLInputElement::dispatchBlurEvent):
987         (WebCore::HTMLInputElement::setValue):
988         (WebCore::HTMLInputElement::defaultEventHandler):
989         * html/HTMLInputElement.h:
990         (WebCore::HTMLInputElement::isTextField):
991         * html/HTMLTextFieldInnerElement.cpp:
992         (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler):
993         * platform/TextField.h: Removed.
994         * platform/mac/TextFieldMac.mm: Removed.
995         * platform/mac/WebCoreTextField.h: Removed.
996         * platform/mac/WebCoreTextField.mm: Removed.
997         * rendering/RenderLineEdit.cpp: Removed.
998         * rendering/RenderLineEdit.h: Removed.
999
1000 2006-12-16  Adele Peterson  <adele@apple.com>
1001
1002         Two more files I forgot to svn add for search fields.
1003
1004         * platform/SearchPopupMenu.h: Added.
1005         (WebCore::SearchPopupMenu::create):
1006         * platform/mac/SearchPopupMenuMac.mm: Added.
1007         (WebCore::SearchPopupMenu::SearchPopupMenu):
1008         (WebCore::autosaveKey):
1009         (WebCore::SearchPopupMenu::saveRecentSearches):
1010         (WebCore::SearchPopupMenu::loadRecentSearches):
1011
1012 2006-12-16  Adele Peterson  <adele@apple.com>
1013
1014         Reviewed by Adam.
1015
1016         * platform/PopupMenuClient.h: Added. Broken out of PopupMenu class.
1017         (WebCore::PopupMenuClient::~PopupMenuClient):
1018
1019 2006-12-16  Adele Peterson  <adele@apple.com>
1020
1021         Reviewed by Adam.
1022
1023         WebCore part of fix for:
1024         <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
1025
1026         * WebCore.xcodeproj/project.pbxproj: Added SearchPopupMenu.h, SearchPopupMenuMac.mm, and PopupMenuClient.h.
1027
1028         Added pseudo classes and corresponding values for -webkit appearance for the cancel button and for the three types of "decoration" that 
1029         correspond to the different functions of the magnifier glass in the search field.  One for the button that will show and hide the
1030         recent searches menu.  One for decoration when the results attribute is set, but no results are saved.  And one for decoration
1031         when no results attribute is set.  We added these different pseudo elements so that RenderTextControl can decide which pseudo class
1032         is appropriate, and each theme can decide for itself which kind of image is appropriate for each function.
1033         
1034         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
1035         * css/CSSSelector.h: (WebCore::CSSSelector::): Added to PseudoType enum.
1036         * css/CSSValueKeywords.in: Added searchfield-decoration, searchfield-results-decoration, searchfield-results-button, searchfield-cancel-button values.
1037         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): Added cases for -webkit-search-cancel-button, 
1038           -webkit-search-decoration, -webkit-search-results-decoration, -webkit-search-results-button
1039         * rendering/RenderStyle.cpp: Addes new pseudoBits for matching pseudoIds.
1040         (WebCore::):
1041         (WebCore::pseudoBit):
1042         * rendering/RenderStyle.h: Added new appearance values and pseudoIds.
1043         (WebCore::):
1044         (WebCore::RenderStyle::):
1045         * css/html4.css: Added style for input[type=search], and the new pseudo elements.
1046
1047         The structure of the shadow DOM for new search field adds an intermediate block that contains 3 inline-blocks for the magnifier, text element, and cancel button.
1048         Since the tree has become deeper, some editing and event code that used to check for a shadowParent, really needs to check the shadowAncestorNode.
1049
1050         * editing/Editor.cpp: (WebCore::Editor::dispatchCPPEvent): Check shadowAncestorNode instead of shadowParentNode.
1051         * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): ditto.
1052         * editing/htmlediting.cpp:
1053         (WebCore::firstEditablePositionAfterPositionInRoot): ditto.
1054         (WebCore::lastEditablePositionBeforePositionInRoot): ditto.
1055         * editing/ReplaceSelectionCommand.cpp:
1056         (WebCore::ReplacementFragment::ReplacementFragment): ditto.
1057         (WebCore::ReplaceSelectionCommand::shouldMerge): Nil check enclosingBlock call.  I ran into this while testing search fields in mixed editability.
1058         (WebCore::ReplaceSelectionCommand::doApply): ditto.
1059
1060         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Remove use of RenderLineEdit.
1061         * html/HTMLInputElement.cpp:
1062         (WebCore::HTMLInputElement::selectionStart): ditto.
1063         (WebCore::HTMLInputElement::selectionEnd): ditto.
1064         (WebCore::HTMLInputElement::setSelectionStart): ditto.
1065         (WebCore::HTMLInputElement::setSelectionEnd): ditto.
1066         (WebCore::HTMLInputElement::select): ditto.
1067         (WebCore::HTMLInputElement::setSelectionRange): ditto.
1068         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
1069         (WebCore::HTMLInputElement::createRenderer): ditto.
1070         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
1071         (WebCore::HTMLInputElement::addSearchResult): Added. Calls addSearchResult on the renderer.
1072         * html/HTMLInputElement.h:
1073         (WebCore::HTMLInputElement::isNonWidgetTextField): Added case for search field.
1074         (WebCore::HTMLInputElement::isSearchField): Added.
1075
1076         * platform/PopupMenu.h: Broke PopupMenuClient out into a separate file.
1077         * platform/PopupMenuClient.h: Added.
1078         (WebCore::PopupMenuClient::~PopupMenuClient):
1079         * platform/graphics/Icon.h:
1080
1081         * platform/SearchPopupMenu.h: Added. Saves and loads recent search vector.
1082         (WebCore::SearchPopupMenu::create):
1083         * platform/mac/SearchPopupMenuMac.mm: Added.
1084         (WebCore::SearchPopupMenu::SearchPopupMenu):
1085         (WebCore::autosaveKey):
1086         (WebCore::SearchPopupMenu::saveRecentSearches):
1087         (WebCore::SearchPopupMenu::loadRecentSearches):
1088
1089         * html/HTMLTextFieldInnerElement.h: Reorganized this class.
1090           Added subclasses HTMLTextFieldInnerTextElement, HTMLSearchFieldResultsButtonElement, HTMLSearchFieldCancelButtonElement
1091         (WebCore::HTMLTextFieldInnerElement::isMouseFocusable): Added.  Returns false so setFocusNodeIfNeeded 
1092          will try to focus the input element instead of nodes in the shadow tree.
1093         (WebCore::HTMLTextFieldInnerElement::isShadowNode): Now returns whether or not a shadowParent has been specified.
1094          * html/HTMLTextFieldInnerElement.cpp:
1095         (WebCore::HTMLTextFieldInnerTextElement::HTMLTextFieldInnerTextElement):
1096         (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler): Moved this from the old HTMLTextFieldInnerElement class.
1097         (WebCore::HTMLSearchFieldResultsButtonElement::HTMLSearchFieldResultsButtonElement):
1098         (WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): Shows and hides recent searches menu.
1099         (WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement):
1100         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): On mouse up, clears the value from the text field.
1101
1102        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::listSize): Changed return type to unsigned.
1103         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::valueShouldChangeOnHotTrack): Added.
1104         
1105         * WebCore.exp: Export _wkDrawTextFieldCellFocusRing.
1106         * platform/mac/WebCoreSystemInterface.h: Added wkDrawTextFieldCellFocusRing
1107         * platform/mac/WebCoreSystemInterface.mm: ditto.
1108
1109         * rendering/RenderTextControl.h:
1110         (WebCore::RenderTextControl::popupIsVisible): Added so HTMLSearchFieldResultsButtonElement knows whether or not the menu is already up.
1111         (WebCore::RenderTextControl::shouldPopOver): Added as a PopupClient method so the results menu shows up under the control instead of over.
1112         (WebCore::RenderTextControl::valueShouldChangeOnHotTrack):
1113         * rendering/RenderTextControl.cpp:
1114         (WebCore::RenderTextControl::RenderTextControl): Initialize m_placeholderIsVisible, m_searchPopup, and m_searchPopupIsVisible.
1115         (WebCore::RenderTextControl::~RenderTextControl): Detach the node at the top of the shadow tree (m_innerBlock for search fields, and m_innerText for other text controls).
1116         (WebCore::RenderTextControl::setStyle): Sets style on new elements.
1117         (WebCore::disabledTextColor): Added so this can be used in setPlaceholder.
1118         (WebCore::RenderTextControl::createInnerBlockStyle): Added.
1119         (WebCore::RenderTextControl::createInnerTextStyle): Added.
1120         (WebCore::RenderTextControl::createResultsButtonStyle): Added.
1121         (WebCore::RenderTextControl::createCancelButtonStyle): Added.
1122         (WebCore::RenderTextControl::showPlaceholderIfNeeded): Added. Shows the placeholder if there's no value and the field doesn't have focus.
1123         (WebCore::RenderTextControl::hidePlaceholderIfNeeded): Added. Clears the placeholder if there's a value or the field has focus. 
1124         (WebCore::RenderTextControl::createSubtreeIfNeeded): Added. Creates all of the shadow tree elements.
1125         (WebCore::RenderTextControl::updateFromElement): Calls showPlaceholderIfNeeded.
1126         (WebCore::RenderTextControl::visiblePositionForIndex): Renaming (m_div to m_innerText).
1127         (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
1128         (WebCore::RenderTextControl::updateCancelButtonVisibility): Shows and hides cancel button based on the value of the control.
1129         (WebCore::RenderTextControl::subtreeHasChanged): Fires onSearch if the incremental attribute is set.
1130         (WebCore::RenderTextControl::text): Renaming.
1131         (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
1132         (WebCore::RenderTextControl::calcHeight): Take the size of the results button and cancel button into account when calculating height.
1133         (WebCore::RenderTextControl::nodeAtPoint): Act as if we've hit the shadow tree elements based on the x coordinate of the mouse event.
1134         (WebCore::RenderTextControl::layout): Set the height and width of the text block taking the other shadow tree elements into account.
1135         (WebCore::RenderTextControl::calcMinMaxWidth): Take new shadow tree elements into account when calculating width.
1136         (WebCore::RenderTextControl::forwardEvent): Forward events to appropriate shadow nodes.
1137         (WebCore::RenderTextControl::scrollWidth): Renaming.
1138         (WebCore::RenderTextControl::scrollHeight): ditto.
1139         (WebCore::RenderTextControl::scrollLeft): ditto.
1140         (WebCore::RenderTextControl::scrollTop): ditto.
1141         (WebCore::RenderTextControl::setScrollLeft): ditto.
1142         (WebCore::RenderTextControl::setScrollTop): ditto.
1143         (WebCore::RenderTextControl::autosaveName): ditto.
1144         (WebCore::RenderTextControl::addSearchResult): Added. Saves value to search result list.
1145         (WebCore::RenderTextControl::onSearch): Added. Dispatches search event.
1146         (WebCore::RenderTextControl::showPopup): Added. Loads searches, and displays menu.
1147         (WebCore::RenderTextControl::hidePopup): Added PopupClient method.
1148         (WebCore::RenderTextControl::valueChanged): Added PopupClient method. Interprets the selected menu item index, and either sets the value and 
1149          fires onSearch, or clears all recent searches for this autosave name.
1150         (WebCore::RenderTextControl::itemText): Added PopupClient method.
1151         (WebCore::RenderTextControl::itemIsEnabled): Added PopupClient method.
1152         (WebCore::RenderTextControl::itemStyle): ditto.
1153         (WebCore::RenderTextControl::clientStyle): ditto.
1154         (WebCore::RenderTextControl::clientDocument): ditto.
1155         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
1156         (WebCore::RenderTextControl::clientPaddingRight): ditto.
1157         (WebCore::RenderTextControl::listSize): ditto.
1158         (WebCore::RenderTextControl::selectedIndex): ditto.
1159         (WebCore::RenderTextControl::itemIsSeparator): ditto.
1160         (WebCore::RenderTextControl::itemIsLabel): ditto.
1161         (WebCore::RenderTextControl::itemIsSelected): ditto.
1162         (WebCore::RenderTextControl::setTextFromItem): ditto.
1163
1164         * rendering/RenderTheme.cpp: Added search field theme.
1165         (WebCore::RenderTheme::adjustStyle):
1166         (WebCore::RenderTheme::paint):
1167         (WebCore::RenderTheme::paintBorderOnly):
1168         (WebCore::RenderTheme::paintDecorations):
1169         (WebCore::RenderTheme::isControlStyled): Returns false for search fields, until we've worked out the kinks.
1170         (WebCore::RenderTheme::adjustSearchFieldStyle):
1171         (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
1172         (WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
1173         (WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
1174         (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
1175         * rendering/RenderTheme.h:
1176         (WebCore::RenderTheme::paintSearchField):
1177         (WebCore::RenderTheme::paintSearchFieldCancelButton):
1178         (WebCore::RenderTheme::paintSearchFieldDecoration):
1179         (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
1180         (WebCore::RenderTheme::paintSearchFieldResultsButton):
1181         * rendering/RenderThemeMac.h:
1182         * rendering/RenderThemeMac.mm:
1183         (WebCore::RenderThemeMac::RenderThemeMac):
1184         (WebCore::RenderThemeMac::sizeForSystemFont): Added.  Compares style's font to systemFontSizeForControlSize to determine
1185          what controlSize to use after a style's font has already been initially adjusted.
1186         (WebCore::RenderThemeMac::controlSizeForSystemFont): Added. ditto.
1187         (WebCore::RenderThemeMac::paintCheckbox):
1188         (WebCore::RenderThemeMac::paintRadio):
1189         (WebCore::RenderThemeMac::menuListSizes): 
1190         (WebCore::RenderThemeMac::minimumMenuListSize): Uses sizeForSystemFont instead of hardcoded adjusted font sizes.
1191         (WebCore::RenderThemeMac::paintSearchField):
1192         (WebCore::RenderThemeMac::setSearchCellState):
1193         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
1194         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1195         (WebCore::RenderThemeMac::cancelButtonSizes):
1196         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
1197         (WebCore::RenderThemeMac::resultsButtonSizes):
1198         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
1199         (WebCore::RenderThemeMac::paintSearchFieldDecoration):
1200         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
1201         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1202         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
1203         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1204
1205 2006-12-16  Beth Dakin  <bdakin@apple.com>
1206
1207         Reviewed by Adam (and partially Geoff).
1208
1209         Primarily, this patch gives WebCore context menus the ability to
1210         enable/disable and set state. It does a few other things along the
1211         way, though. Some of the more noticeable things:
1212                -Re-architects the ContextMenuItem class a bit so that the
1213                 ownership model is a bit less confusing. ContextMenuItem is
1214                 now *purely* a wrapper for the platformDescription. There
1215                 are no other member variables. If you ever need the
1216                 platformDescription outside of the MenuItem class, you have
1217                 to call releasePlatformDescription(), which transfers
1218                 ownership of the platformDescription to the caller.
1219                -Moves fontForSelection() from FrameMac into Editor.cpp.
1220                 Turns out I don't need to use this function for my patch
1221                 after all, but it doesn't seem like a terrible idea to move
1222                 it anyway since we seem to be moving things from FrameMac
1223                 into Editor these days anyway.
1224
1225         * WebCore.exp:
1226         * editing/Editor.cpp:
1227         (WebCore::Editor::fontForSelection): Moved in from FrameMac.
1228         * editing/Editor.h: Same, and name change.
1229         * editing/mac/EditorMac.mm: Name change.
1230         * page/ContextMenuClient.h: contextMenuItemSelected() has to take a
1231         pointer to the parent context menu since ContextMenuItem no longer
1232         holds on to it.
1233         * page/ContextMenuController.cpp: Same.
1234         (WebCore::ContextMenuController::contextMenuItemSelected): Same.
1235         * page/mac/FrameMac.h: Move fontForSelection to Editor
1236         * page/mac/FrameMac.mm: Same.
1237         * page/mac/WebCoreFrameBridge.mm:
1238         (-[WebCoreFrameBridge fontForSelection:]): Account for above.
1239         * platform/ContextMenu.cpp:
1240         (WebCore::separatorItem): Can't be const because appendItem now
1241         expects a non-const menu item.
1242         (WebCore::createAndAppendFontSubMenu): Change name for clarity.
1243         (WebCore::createAndAppendSpellingAndGrammarSubMenu): Same.
1244         (WebCore::createAndAppendSpellingSubMenu): Same.
1245         (WebCore::createAndAppendSpeechSubMenu): Same.
1246         (WebCore::createAndAppendWritingDirectionSubMenu): Same.
1247         (WebCore::ContextMenu::populate): Account for above.
1248         (WebCore::triStateToBool): New helper.
1249         (WebCore::ContextMenu::checkOrEnableIfNeeded): Transfers
1250         logic from WebHTMLView into WebCore to determine if menu items are
1251         enabled or disabled and to determine if they require a check.
1252         * platform/ContextMenu.h:
1253         * platform/ContextMenuItem.h: Re-factored stuff so that our only
1254         member variable is the platform description.
1255         (WebCore::): Get rid of if-def.
1256         * platform/cf/RetainPtr.h: Add releaseRef like in PassRefPtr.
1257         (WebCore::RetainPtr::releaseRef):
1258         * platform/mac/ContextMenuItemMac.mm: Same as .h
1259         (WebCore::ContextMenuItem::ContextMenuItem): Same.
1260         (WebCore::ContextMenuItem::releasePlatformDescription): Same.
1261         (WebCore::ContextMenuItem::type): Same.
1262         (WebCore::ContextMenuItem::platformSubMenu): Same.
1263         (WebCore::ContextMenuItem::setType): Same.
1264         (WebCore::ContextMenuItem::setTitle): Same.
1265         (WebCore::ContextMenuItem::setSubMenu): Same.
1266         (WebCore::ContextMenuItem::setChecked): Same.
1267         (WebCore::ContextMenuItem::setEnabled): Same.
1268         * platform/mac/ContextMenuMac.mm:
1269         (-[WebCoreMenuTarget forwardContextMenuAction:]): Don't set the
1270         parent menu.
1271         (WebCore::setMenuItemTarget):
1272         (WebCore::ContextMenu::appendItem): Call releasePlatformDescription
1273         (WebCore::ContextMenu::insertItem): Same.
1274
1275 2006-12-15  MorganL  <morganl.webkit@yahoo.com>
1276
1277         Reviewed by Oliver.
1278
1279         Allow images to load into frames again.  Tidy up code a bit and
1280         add some much needed documentation.
1281
1282         * platform/MimeTypeRegistry.cpp:
1283         (WebCore::initialiseSupportedImageMIMETypes):
1284         (WebCore::initialiseSupportedNonImageMimeTypes):
1285         * platform/MimeTypeRegistry.h:
1286
1287 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1288
1289         Fix build.
1290
1291         * loader/DocumentLoader.cpp:
1292         (WebCore::DocumentLoader::response):
1293         (WebCore::DocumentLoader::setResponse):
1294         (WebCore::DocumentLoader::isStopping):
1295         (WebCore::DocumentLoader::mainDocumentError):
1296         * loader/DocumentLoader.h:
1297
1298 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1299
1300         Reviewed by Geoff.
1301
1302         More loader cleanup.
1303
1304         * loader/DocumentLoader.h:
1305         (WebCore::DocumentLoader::isStopping):
1306         (WebCore::DocumentLoader::response):
1307         (WebCore::DocumentLoader::mainDocumentError):
1308         (WebCore::DocumentLoader::setResponse):
1309         * loader/FrameLoader.h:
1310         * loader/FrameLoaderClient.h:
1311         * loader/mac/DocumentLoaderMac.mm:
1312         (WebCore::DocumentLoader::DocumentLoader):
1313         (WebCore::DocumentLoader::stopLoading):
1314         (WebCore::DocumentLoader::receivedData):
1315         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1316         (WebCore::DocumentLoader::prepareForLoadStart):
1317         * loader/mac/FrameLoaderMac.mm:
1318         (WebCore::FrameLoader::commitProvisionalLoad):
1319         (WebCore::FrameLoader::setResponse):
1320         * loader/mac/ImageDocumentMac.mm:
1321         (WebCore::finishImageLoad):
1322
1323 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1324
1325         * loader/DocumentLoader.h:
1326         Whoops, didn't mean to commit this.
1327         
1328 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1329
1330         Reviewed by Darin and Brady (in no particular order).
1331         
1332         More loader cleanup.
1333         
1334         * loader/FrameLoader.h:
1335         * loader/mac/FrameLoaderMac.mm:
1336         (WebCore::FrameLoader::cancelledError):
1337         (WebCore::FrameLoader::fileDoesNotExistError):
1338         (WebCore::FrameLoader::cannotShowMIMEType):
1339         (WebCore::FrameLoader::interruptionForPolicyChangeError):
1340         * loader/mac/MainResourceLoaderMac.mm:
1341         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
1342
1343 2006-12-16  Alexey Proskuryakov  <ap@webkit.org>
1344
1345         Try to fix Windows buid.
1346
1347         * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTarget.{h,cpp}
1348
1349 2006-12-15  Alexey Proskuryakov  <ap@webkit.org>
1350
1351         Reviewed by Darin.
1352
1353         http://bugs.webkit.org/show_bug.cgi?id=11610
1354         XMLHttpRequest.onreadystatechange doesn't provide access to the request object
1355
1356         Created a separate EventTarget class, now that EventTargetNode isn't the only kind.
1357
1358         Test: http/tests/xmlhttprequest/event-target.html
1359
1360         * WebCore.xcodeproj/project.pbxproj: Added EventTarget.{h,cpp}
1361
1362         * bindings/js/kjs_dom.cpp:
1363         (KJS::toJS): Added an EventTarget variant.
1364         * bindings/js/kjs_dom.h: Added toJS() for EventTarget; some minor style fixes.
1365
1366         * bindings/objc/DOM.mm:
1367         (+[DOMNode _eventTargetWith:WebCore::]):
1368         * bindings/scripts/CodeGeneratorObjC.pm:
1369         Added an EventTarget->DOMEventTarget converter in DOMNode (WebCoreInternal). 
1370         It only works for nodes, since we don't have an ObjC binding for XMLHttpRequest.
1371         Corrected spelling of internalHeaderContent.
1372
1373         * dom/Event.cpp:
1374         (WebCore::Event::setTarget):
1375         * dom/Event.h:
1376         (WebCore::Event::target):
1377         (WebCore::Event::currentTarget):
1378         (WebCore::Event::setCurrentTarget):
1379         These methods now work with EventTargets instead of Nodes.
1380
1381         * dom/EventTarget.cpp: Added.
1382         (WebCore::EventTarget::~EventTarget):
1383         (WebCore::EventTarget::toNode):
1384         (WebCore::EventTarget::toXMLHttpRequest):
1385         * dom/EventTarget.h: Added.
1386         (WebCore::EventTarget::ref):
1387         (WebCore::EventTarget::deref):
1388         Originally, my intention was to share much of the implementation between 
1389         EventTargetNode and XHR, but now I don't see anything substantial worth sharing.
1390
1391         * dom/EventTargetNode.cpp:
1392         (WebCore::EventTargetNode::dispatchGenericEvent): Cast Node to EventTargetNode.
1393
1394         * dom/EventTargetNode.h: Made EventTarget methods virtual.
1395         (WebCore::EventTargetNode::toNode): Added poor man's RTTI to upcast from EventTarget.
1396         (WebCore::EventTargetNode::refEventTarget):
1397         (WebCore::EventTargetNode::derefEventTarget):
1398
1399         * dom/MouseEvent.cpp:
1400         (WebCore::MouseEvent::toElement):
1401         (WebCore::MouseEvent::fromElement):
1402         * dom/MouseRelatedEvent.cpp:
1403         (WebCore::MouseRelatedEvent::receivedTarget):
1404         * html/HTMLAnchorElement.cpp:
1405         (WebCore::HTMLAnchorElement::defaultEventHandler):
1406         * html/HTMLLabelElement.cpp:
1407         (WebCore::HTMLLabelElement::defaultEventHandler):
1408         * page/ContextMenuController.cpp:
1409         (WebCore::ContextMenuController::handleContextMenuEvent):
1410         * rendering/RenderSlider.cpp:
1411         (WebCore::RenderSlider::mouseEventIsInThumb):
1412         Cast from EventTarget to Node as appropriate.
1413
1414         * xml/xmlhttprequest.cpp:
1415         (WebCore::XMLHttpRequest::dispatchEvent):
1416         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1417         Set target and currentTarget before dispatching.
1418
1419         * xml/xmlhttprequest.h: Made EventTarget methods virtual, added a bool tempEvent parameter
1420         to match EventTargetNode.
1421         (WebCore::XMLHttpRequest::toXMLHttpRequest): Added poor man's RTTI to upcast from EventTarget.
1422         (WebCore::XMLHttpRequest::refEventTarget):
1423         (WebCore::XMLHttpRequest::derefEventTarget):
1424
1425 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1426
1427         Reviewed by Darin.
1428
1429         More loader cleanup, use KURL instead of NSURL in a couple of places.
1430
1431         * loader/DocumentLoader.h:
1432         * loader/FrameLoader.h:
1433         * loader/FrameLoaderClient.h:
1434         * loader/ResourceLoader.h:
1435         * loader/mac/DocumentLoaderMac.mm:
1436         (WebCore::DocumentLoader::DocumentLoader):
1437         (WebCore::DocumentLoader::prepareForLoadStart):
1438         * loader/mac/FrameLoaderMac.mm:
1439         (WebCore::FrameLoader::willUseArchive):
1440         * loader/mac/ResourceLoaderMac.mm:
1441         (WebCore::ResourceLoader::load):
1442
1443 2006-12-15  Marvin Decker  <marv.decker@gmail.com>
1444
1445         Reviewed by Darin and Alexey.
1446
1447         Fix the Windows build, move various Client implementations out of
1448         WebCore and into WebKit.
1449
1450         * WebCore.vcproj/WebCore/WebCore.vcproj:
1451         * bridge/win/ChromeClientWin.h: Removed.
1452         * bridge/win/ContextMenuClientWin.h: Removed.
1453         * bridge/win/EditorClientWin.h: Removed.
1454         * bridge/win/FrameWin.cpp:
1455         (WebCore::FrameWin::FrameWin):
1456         * bridge/win/FrameWin.h:
1457         * loader/win/FrameLoaderClientWin.cpp: Removed.
1458         * loader/win/FrameLoaderClientWin.h: Removed.
1459         * platform/network/win/ResourceHandleWin.cpp:
1460         (WebCore::ResourceHandle::start):
1461         * platform/win/TemporaryLinkStubs.cpp:
1462         (WebCore::DocumentLoader::URL):
1463         (WebCore::FrameLoader::load):
1464         (WebCore::FrameLoader::createFrame):
1465         (WebCore::FrameLoader::loadResourceSynchronously):
1466         (WebCore::Pasteboard::writeSelection):
1467         (WebCore::Pasteboard::writeURL):
1468         (WebCore::Pasteboard::clear):
1469         (WebCore::Pasteboard::~Pasteboard):
1470         (WebCore::PolicyCheck::call):
1471         (WebCore::PopupMenu::PopupMenu):
1472         (WebCore::ResourceHandle::loadsBlocked):
1473         (WebCore::ResourceLoader::cancel):
1474
1475 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1476
1477         Reviewed by Maciej.
1478
1479         http://bugs.webkit.org/show_bug.cgi?id=11842
1480         REGRESSION: Using Safari's snippet editor leaves applewebdata: URLs in history
1481         
1482         * loader/mac/DocumentLoaderMac.mm:
1483         (WebCore::DocumentLoader::URLForHistory):
1484         Don't return appleweburls without an unreachable url.
1485
1486 2006-12-15  Anders Carlsson  <acarlsson@apple.com>
1487
1488         Reviewed by Darin.
1489
1490         Replace more instances of NSError with ResourceError.
1491         
1492         Also remove a check for a selector that was added pre-Tiger.
1493         
1494         * WebCore.exp:
1495         * loader/DocumentLoader.h:
1496         * loader/FrameLoader.h:
1497         * loader/ResourceLoader.h:
1498         * loader/mac/DocumentLoaderMac.mm:
1499         (WebCore::DocumentLoader::setMainDocumentError):
1500         (WebCore::DocumentLoader::mainDocumentError):
1501         (WebCore::DocumentLoader::clearErrors):
1502         (WebCore::DocumentLoader::mainReceivedError):
1503         * loader/mac/FrameLoaderMac.mm:
1504         (WebCore::FrameLoader::cancelMainResourceLoad):
1505         (WebCore::FrameLoader::opened):
1506         (WebCore::FrameLoader::mainReceivedError):
1507         (WebCore::FrameLoader::cancelledError):
1508         (WebCore::FrameLoader::fileDoesNotExistError):
1509         (WebCore::FrameLoader::handleUnimplementablePolicy):
1510         (WebCore::FrameLoader::setMainDocumentError):
1511         (WebCore::FrameLoader::mainReceivedCompleteError):
1512         (WebCore::FrameLoader::sendRemainingDelegateMessages):
1513         (WebCore::FrameLoader::requestFromDelegate):
1514         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
1515         (WebCore::FrameLoader::loadResourceSynchronously):
1516         * loader/mac/ResourceLoaderMac.mm:
1517         (WebCore::ResourceLoader::willSendRequest):
1518         (WebCore::ResourceLoader::didCancel):
1519         (WebCore::ResourceLoader::cancel):
1520         (WebCore::ResourceLoader::cancelledError):
1521         * loader/mac/SubresourceLoaderMac.mm:
1522         (WebCore::SubresourceLoader::didCancel):
1523
1524 2006-12-15  Rob Buis  <buis@kde.org>
1525
1526         Reviewed by Darin.
1527
1528         http://bugs.webkit.org/show_bug.cgi?id=11824
1529         CSSStyleSheet.title property is always null
1530
1531         Set title on the stylesheet just after creating it, for the HTML
1532         elements <link> and <style>.
1533
1534         * css/StyleSheet.h:
1535         (WebCore::StyleSheet::setTitle):
1536         * dom/Element.cpp:
1537         (WebCore::Element::title):
1538         * dom/Element.h:
1539         * dom/StyleElement.cpp:
1540         (WebCore::StyleElement::childrenChanged):
1541         * dom/StyleElement.h:
1542         * html/HTMLElement.cpp:
1543         * html/HTMLElement.h:
1544         * html/HTMLLinkElement.cpp:
1545         (WebCore::HTMLLinkElement::parseMappedAttribute):
1546         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1547         * html/HTMLStyleElement.cpp:
1548         (WebCore::HTMLStyleElement::parseMappedAttribute):
1549         * ksvg2/svg/SVGStyleElement.cpp:
1550         (WebCore::SVGStyleElement::setTitle):
1551         (WebCore::SVGStyleElement::parseMappedAttribute):
1552         * ksvg2/svg/SVGStyleElement.h:
1553
1554 2006-12-15  Lars Knoll  <lars@trolltech.com>
1555
1556         Reviewed by Zack
1557
1558         Fix compilation.
1559
1560         * loader/SubresourceLoader.h:
1561         * platform/qt/PopupMenuQt.cpp:
1562         (WebCore::PopupMenu::PopupMenu):
1563
1564 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
1565
1566         Reviewed by Maciej.
1567
1568         Use char* pointer + length instead of NSData in a bunch of places.
1569
1570         * loader/DocumentLoader.h:
1571         * loader/FrameLoader.h:
1572         * loader/FrameLoaderClient.h:
1573         * loader/MainResourceLoader.h:
1574         * loader/NetscapePlugInStreamLoader.h:
1575         * loader/ResourceLoader.h:
1576         (WebCore::ResourceLoader::willStopBufferingData):
1577         * loader/SubresourceLoader.h:
1578         * loader/mac/DocumentLoaderMac.mm:
1579         (WebCore::DocumentLoader::commitLoad):
1580         (WebCore::DocumentLoader::receivedData):
1581         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1582         * loader/mac/FrameLoaderMac.mm:
1583         (WebCore::FrameLoader::didReceiveData):
1584         (WebCore::FrameLoader::receivedData):
1585         (WebCore::FrameLoader::committedLoad):
1586         * loader/mac/MainResourceLoaderMac.mm:
1587         (WebCore::MainResourceLoader::addData):
1588         (WebCore::MainResourceLoader::didReceiveData):
1589         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
1590         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
1591         * loader/mac/ResourceLoaderMac.mm:
1592         (WebCore::ResourceLoader::addData):
1593         (WebCore::ResourceLoader::didReceiveData):
1594         (WebCore::ResourceLoader::willStopBufferingData):
1595         * loader/mac/SubresourceLoaderMac.mm:
1596         (WebCore::SubresourceLoader::didReceiveData):
1597         * platform/network/ResourceHandleClient.h:
1598         (WebCore::ResourceHandleClient::willStopBufferingData):
1599         * platform/network/mac/ResourceHandleMac.mm:
1600         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
1601
1602 2006-12-14  Adele Peterson  <adele@apple.com>
1603
1604         Reviewed by Adam. 
1605
1606         Added PopupMenuClient class so the PopupMenu class no longer needs to know
1607         about the RenderMenuList or the DOM.
1608
1609         * platform/PopupMenu.h:
1610         (WebCore::PopupMenuClient::~PopupMenuClient):
1611         (WebCore::PopupMenu::create): Made this protected so PopupMenu can be subclassed.
1612         (WebCore::PopupMenu::disconnectClient): Renamed from disconnectMenuList.
1613         (WebCore::PopupMenu::client): Added.
1614         * platform/mac/PopupMenuMac.mm:
1615         (WebCore::PopupMenu::PopupMenu): Created using PopupMenuClient instead of RenderMenuList.
1616         (WebCore::PopupMenu::populate): Asks the client for info about the list items instead of looking at the DOM or the renderer. 
1617         (WebCore::PopupMenu::show): ditto.
1618         (WebCore::PopupMenu::hide): ditto.
1619         * rendering/RenderMenuList.h: Now also inherits from PopupMenuClient.
1620         (WebCore::RenderMenuList::shouldPopOver): Added.  Tells the popup whether the menu should pop over the client, or under.
1621         * rendering/RenderMenuList.cpp:
1622         (WebCore::RenderMenuList::~RenderMenuList): Calls disconnectClient().
1623         (WebCore::RenderMenuList::calcMinMaxWidth): Removed unnecessary (and harmful) call to updateFromElement. updateFromElmeent
1624          can add children, and you don't want to do that in the middle of calculating width.
1625         (WebCore::RenderMenuList::itemText): Added PopupClient method to provide information about the items in the menu list.
1626         (WebCore::RenderMenuList::itemIsEnabled): ditto.
1627         (WebCore::RenderMenuList::itemStyle): ditto.
1628         (WebCore::RenderMenuList::clientStyle): ditto.
1629         (WebCore::RenderMenuList::clientDocument): ditto.
1630         (WebCore::RenderMenuList::clientPaddingLeft): ditto.
1631         (WebCore::RenderMenuList::clientPaddingRight): ditto.
1632         (WebCore::RenderMenuList::listSize): ditto.
1633         (WebCore::RenderMenuList::selectedIndex): ditto.
1634         (WebCore::RenderMenuList::itemIsSeparator): ditto.
1635         (WebCore::RenderMenuList::itemIsLabel): ditto.
1636         (WebCore::RenderMenuList::itemIsSelected): ditto.
1637         (WebCore::RenderMenuList::setTextFromItem): ditto.
1638
1639 2006-12-14  Geoffrey Garen  <ggaren@apple.com>
1640
1641         Fixed <rdar://problem/4882713> GMAIL (REGRESSION): Can't apply font style, 
1642         foreground or background to selected text
1643         
1644         Also <rdar://problem/4883751> REGRESSION: Caret fails to insert itself 
1645         automatically in a new note window
1646         
1647         I'm rolling out my change to move focus to the page level because it caused
1648         too many unexpected and bizarre regressions. Our code relies on focus
1649         being per-document so that it can make focus changes that are effectively
1650         no-ops, and so that it can conflate focus and selection in some cases (a bad 
1651         idea, since they're not the same).
1652         
1653         Hopefully we can revisit this, along with hover and active, in the future.
1654
1655         * dom/Document.cpp:
1656         (WebCore::widgetForNode):
1657         (WebCore::relinquishesEditingFocus):
1658         (WebCore::acceptsEditingFocus):
1659         (WebCore::clearSelectionIfNeeded):
1660         (WebCore::Document::removedLastRef):
1661         (WebCore::Document::detach):
1662         (WebCore::Document::focusedNodeDetached):
1663         (WebCore::Document::setFocusedNode):
1664         * dom/Document.h:
1665         (WebCore::Document::focusedNode):
1666         * page/FocusController.cpp:
1667         * page/FocusController.h:
1668
1669 2006-12-14  Maciej Stachowiak  <mjs@apple.com>
1670
1671         Reviewed by Geoff.
1672
1673         - fix failing drag & drop layout tests
1674
1675         * platform/mac/KURLMac.mm:
1676         (WebCore::KURL::getNSURL): Turn empty KURL into empty NSURL, but null KURL into
1677         nil.
1678
1679 2006-12-14  Steve Falkenburg  <sfalken@apple.com>
1680
1681         Build fix.
1682
1683         * loader/MainResourceLoader.h:
1684
1685 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
1686
1687         Reviewed by John.
1688
1689         Convert a bunch of NSErrors to ResourceError.
1690         
1691         Make the ResourceError accessor functions const.
1692         
1693         * WebCore.exp:
1694         * WebCore.xcodeproj/project.pbxproj:
1695         * loader/FrameLoader.h:
1696         * loader/FrameLoaderClient.h:
1697         * loader/MainResourceLoader.h:
1698         * loader/NetscapePlugInStreamLoader.h:
1699         * loader/ResourceLoader.h:
1700         * loader/SubresourceLoader.h:
1701         * loader/mac/FrameLoaderMac.mm:
1702         (WebCore::FrameLoader::didFailToLoad):
1703         (WebCore::FrameLoader::receivedMainResourceError):
1704         (WebCore::FrameLoader::interruptionForPolicyChangeError):
1705         * loader/mac/MainResourceLoaderMac.mm:
1706         (WebCore::MainResourceLoader::receivedError):
1707         (WebCore::MainResourceLoader::didCancel):
1708         (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
1709         (WebCore::MainResourceLoader::didFail):
1710         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
1711         (WebCore::NetscapePlugInStreamLoader::didFail):
1712         (WebCore::NetscapePlugInStreamLoader::didCancel):
1713         * loader/mac/ResourceLoaderMac.mm:
1714         (WebCore::ResourceLoader::didFail):
1715         (WebCore::ResourceLoader::didCancel):
1716         * loader/mac/SubresourceLoaderMac.mm:
1717         (WebCore::SubresourceLoader::didFail):
1718         (WebCore::SubresourceLoader::didCancel):
1719         * platform/network/ResourceError.h:
1720         (WebCore::ResourceError::domain):
1721         (WebCore::ResourceError::errorCode):
1722         (WebCore::ResourceError::failingURL):
1723         (WebCore::ResourceError::localizedDescription):
1724         (WebCore::ResourceError::unpackPlatformErrorIfNeeded):
1725
1726 2006-12-14  George Staikos  <staikos@kde.org>
1727
1728         Link, after the last loader changes.  Please update this directory with stubs when modifying the loader.
1729
1730         * loader/qt/FrameLoaderQt.cpp:
1731         (WebCore::FrameLoader::loadResourceSynchronously):
1732
1733 2006-12-14  Justin Garcia  <justin.garcia@apple.com>
1734
1735         Reviewed by harrison
1736
1737         <rdar://problem/4866671>
1738         CrashTracer: 1 crashes in Mail after deleting a list item at WebCore::DeleteSelectionCommand::doApply()
1739         
1740         Don't allow VisiblePositions inside -webkit-user-select:none regions.
1741         Renamed inRenderedContent to isCandidate.
1742
1743         * dom/Document.cpp:
1744         (WebCore::Document::updateSelection):
1745         * dom/Position.cpp:
1746         (WebCore::Position::previousCharacterPosition):
1747         (WebCore::Position::nextCharacterPosition):
1748         (WebCore::nodeIsUserSelectNone):
1749         (WebCore::Position::isCandidate):
1750         (WebCore::Position::rendersInDifferentPosition):
1751         * dom/Position.h:
1752         * editing/InsertParagraphSeparatorCommand.cpp:
1753         (WebCore::InsertParagraphSeparatorCommand::doApply):
1754         * editing/InsertTextCommand.cpp:
1755         (WebCore::InsertTextCommand::input):
1756         * editing/VisiblePosition.cpp:
1757         (WebCore::VisiblePosition::canonicalPosition):
1758         * editing/htmlediting.cpp:
1759         (WebCore::nextCandidate):
1760         (WebCore::nextVisuallyDistinctCandidate):
1761         (WebCore::previousCandidate):
1762         (WebCore::previousVisuallyDistinctCandidate):
1763         * editing/visible_units.cpp:
1764         (WebCore::previousLinePosition):
1765         (WebCore::nextLinePosition):
1766         (WebCore::startOfParagraph):
1767         * page/Frame.cpp:
1768         (WebCore::Frame::styleForSelectionStart):
1769
1770 2006-12-14  David Hyatt  <hyatt@apple.com>
1771
1772         Get rid of the containsStart check and just rely on the selectionState
1773         bits.  This allows selection gap filling to behave properly in the presence
1774         of inline blocks and inline tables on lines when the selection originates
1775         inside the inline block.
1776
1777         Reviewed by ggaren
1778
1779         * rendering/RenderBlock.cpp:
1780         (WebCore::RenderBlock::fillInlineSelectionGaps):
1781
1782 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
1783
1784         Reviewed by John.
1785         
1786         General loader cleanup, convert NSURLResponse to ResourceResponse in some places.
1787         
1788         * loader/DocumentLoader.h:
1789         * loader/SubresourceLoader.h:
1790         * loader/mac/DocumentLoaderMac.mm:
1791         (WebCore::DocumentLoader::addResponse):
1792         * loader/mac/FrameLoaderMac.mm:
1793         (WebCore::FrameLoader::opened):
1794         * loader/mac/SubresourceLoaderMac.mm:
1795         (WebCore::SubresourceLoader::create):
1796
1797 2006-12-14  Anders Carlsson  <acarlsson@apple.com>
1798
1799         Reviewed by Darin.
1800
1801         Add loadResourceSynchronously to ResourceHandle and have FrameLoader use it instead of
1802         calling NSURLConnection directly.
1803
1804         Add an isNull flag to ResourceError so we can convert correctly between nil NSErrors and ResourceErrors.
1805
1806         Get rid of ServeSynchronousRequest and use the loader instead.
1807         
1808         * WebCore.exp:
1809         * dom/XMLTokenizer.cpp:
1810         (WebCore::openFunc):
1811         * loader/FrameLoader.h:
1812         * loader/LoaderFunctions.h:
1813         * loader/mac/FrameLoaderMac.mm:
1814         (WebCore::FrameLoader::canLoad):
1815         (WebCore::FrameLoader::loadResourceSynchronously):
1816         * loader/mac/LoaderFunctionsMac.mm:
1817         * platform/network/ResourceError.h:
1818         (WebCore::ResourceError::ResourceError):
1819         (WebCore::ResourceError::isNull):
1820         * platform/network/ResourceHandle.h:
1821         * platform/network/ResourceRequest.cpp:
1822         (WebCore::ResourceRequest::isConditional):
1823         * platform/network/ResourceRequest.h:
1824         * platform/network/mac/ResourceErrorMac.mm:
1825         (-[NSError WebCore]):
1826         * platform/network/mac/ResourceHandleMac.mm:
1827         (WebCore::ResourceHandle::loadResourceSynchronously):
1828         * xml/XSLTProcessor.cpp:
1829         (WebCore::docLoaderFunc):
1830         * xml/xmlhttprequest.cpp:
1831         (WebCore::XMLHttpRequest::send):
1832
1833 2006-12-14  Nikolas Zimmermann  <zimmermann@kde.org>
1834
1835         Reviewed by Darin.
1836
1837         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11830
1838
1839         Fix fundamental problems with JS SVG POD types.
1840         (currently: FloatPoint/FloatRect/AffineTransform)
1841
1842         This doesn't affect any testcase, but when I wrote my SVGLength* -> SVGLength
1843         the problem got visible (aka. baseVal-animVal-equality.svg broke and more)
1844         With that patch applied first, none breaks - so SVG POD JS wrappers do work now.
1845
1846         In detail:
1847         - Fix setBaseValue() confusion. ONLY use the hash map in SVGDocumentExtension
1848           when we're animating a property. Add "start##Property" / "stop##Property" methods
1849           which take care, of moving "animVal" -> "baseVal" hash, and back after animation stopped.
1850
1851           These new methods are not yet used anywhere, but finally the "animated property" system is complete.
1852
1853         - Offer a new JSSVGPODTypeWrapper class, wrapping around non-pointer POD types like FloatPoint etc.
1854           to be used in the generated JS bindings. Currently if you modified ie the "x" property of a SVGPoint
1855           from JS, you only actually modified the "m_x" object stored in the JSSVGPoint wrapper.
1856
1857           If you take SVGLength as example (more frequently used in the JS SVG bindings, that's why I'm using it)
1858           "document.rootElement.width.baseVal.value = 100;" only modified the "SVGLength m_impl" object stored in
1859           JSSVGLength, but the "SVGSVGElement" didn't notice it width got changed. The new commitChanges() logic
1860           fixes these problems.
1861
1862         It's quite hard too describe the actual changes, if one is not familiar with the code. This is the result
1863         of endless discussions with Eric Seidel, and we hope this is a decent solution adressing all issues.
1864
1865         * WebCore.xcodeproj/project.pbxproj:
1866         * bindings/js/JSSVGMatrixCustom.cpp:
1867         (WebCore::JSSVGMatrix::inverse):
1868         (WebCore::JSSVGMatrix::rotateFromVector):
1869         * bindings/js/JSSVGPODTypeWrapper.h: Added.
1870         (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
1871         (WebCore::JSSVGPODTypeWrapper::~JSSVGPODTypeWrapper):
1872         (WebCore::JSSVGPODTypeWrapper::operator PODType&):
1873         (WebCore::JSSVGPODTypeWrapper::commitChange):
1874         (WebCore::JSSVGPODTypeWrapperCreator::JSSVGPODTypeWrapperCreator):
1875         (WebCore::JSSVGPODTypeWrapperCreator::~JSSVGPODTypeWrapperCreator):
1876         (WebCore::JSSVGPODTypeWrapperCreator::commitChange):
1877         * bindings/scripts/CodeGeneratorJS.pm:
1878         * ksvg2/misc/SVGDocumentExtensions.h:
1879         (WebCore::SVGDocumentExtensions::removeBaseValue):
1880         * ksvg2/svg/SVGElement.h:
1881
1882 2006-12-14  Alexey Proskuryakov  <ap@webkit.org>
1883
1884         Reviewed by Darin.
1885
1886         http://bugs.webkit.org/show_bug.cgi?id=11828
1887         Fix a leak of NSURLRequest on each update - RetainPtr retains the object itself.
1888
1889         * platform/network/mac/ResourceRequestMac.mm:
1890         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1891
1892 2006-12-14  Simon Hausmann  <hausmann@kde.org>
1893
1894         Reviewed by Zack Rusin.
1895
1896         * WebCore.pro: Clean up the xpath grammar generation rule.
1897
1898 2006-12-14  Zack Rusin  <zack@kde.org>
1899
1900         Make it link with temporary stubs.
1901
1902         * loader/qt/DocumentLoaderQt.cpp:
1903         (WebCore::DocumentLoader::originalRequest):
1904         (WebCore::DocumentLoader::originalRequestCopy):
1905         (WebCore::DocumentLoader::request):
1906         (WebCore::DocumentLoader::initialRequest):
1907         (WebCore::DocumentLoader::actualRequest):
1908         (WebCore::DocumentLoader::URL):
1909
1910 2006-12-14  Zack Rusin  <zack@kde.org>
1911
1912         Compilation fixes for the Qt port after last nights
1913         changes.
1914
1915         * loader/qt/DocumentLoaderQt.cpp:
1916         (WebCore::DocumentLoader::URL):
1917         (WebCore::DocumentLoader::unreachableURL):
1918         * loader/qt/FrameLoaderQt.cpp:
1919         (WebCore::PolicyCheck::call):
1920         * platform/network/ResourceRequest.h:
1921         (WebCore::ResourceRequest::setHTTPReferrer):
1922
1923 2006-12-14  Rob Buis  <buis@kde.org>
1924
1925         Reviewed by Oliver.
1926
1927         http://bugs.webkit.org/show_bug.cgi?id=11726
1928         SVG Image do not take into account clip/overflow when hit testing
1929
1930         Take into account the overflowRect when hit-testing <svg> container.
1931
1932         * rendering/RenderSVGContainer.cpp:
1933         (WebCore::RenderSVGContainer::viewportTransform):
1934         (WebCore::RenderSVGContainer::nodeAtPoint):
1935         * rendering/RenderSVGContainer.h:
1936
1937 2006-12-13  David Hyatt  <hyatt@apple.com>
1938
1939         Fix for bug 11825, dragging elements via -khtml-user-drag is broken (affects Dashboard).  Make sure
1940         to clear the paintingRoot properly when recurring into children.  It would be nice to find a design
1941         that prevented this mistake from being made and didn't require explicit clearing of the root.
1942
1943         Reviewed by olliej
1944
1945         * rendering/InlineFlowBox.cpp:
1946         (WebCore::InlineFlowBox::paint):
1947         * rendering/RenderBlock.cpp:
1948         (WebCore::RenderBlock::paintChildren):
1949         * rendering/RenderBox.cpp:
1950         (WebCore::RenderBox::paint):
1951         * rendering/RenderTable.cpp:
1952         (WebCore::RenderTable::paint):
1953
1954 2006-12-13  Anders Carlsson  <acarlsson@apple.com>
1955
1956         * loader/FrameLoader.h:
1957         id is mac-only.
1958         
1959 2006-12-13  Brady Eidson  <beidson@apple.com>
1960
1961         Implicitly reviewed by Darin, Hyatt, Maciej, and others!
1962
1963         Fixes a document tear down crash.
1964         Changes a few long standing assertions to our new style
1965
1966         * dom/Document.cpp:
1967         (WebCore::Document::~Document):
1968         (WebCore::Document::topDocument):
1969
1970 2006-12-13  Maciej Stachowiak  <mjs@apple.com>
1971
1972         Reviewed by Anders.
1973
1974         - converted many places to use ResourceRequest instead of NSURLRequest
1975
1976         * WebCore.exp:
1977         * loader/DocumentLoader.h:
1978         * loader/FrameLoader.cpp:
1979         (WebCore::FrameLoader::stopPolicyCheck):
1980         * loader/FrameLoader.h:
1981         (WebCore::PolicyCheck::request):
1982         * loader/FrameLoaderClient.h:
1983         * loader/MainResourceLoader.h:
1984         * loader/mac/DocumentLoaderMac.mm:
1985         (WebCore::DocumentLoader::DocumentLoader):
1986         (WebCore::DocumentLoader::originalRequest):
1987         (WebCore::DocumentLoader::originalRequestCopy):
1988         (WebCore::DocumentLoader::request):
1989         (WebCore::DocumentLoader::initialRequest):
1990         (WebCore::DocumentLoader::actualRequest):
1991         (WebCore::DocumentLoader::URL):
1992         (WebCore::DocumentLoader::unreachableURL):
1993         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1994         (WebCore::DocumentLoader::setRequest):
1995         (WebCore::DocumentLoader::stopLoading):
1996         (WebCore::DocumentLoader::setLastCheckedRequest):
1997         (WebCore::DocumentLoader::lastCheckedRequest):
1998         (WebCore::DocumentLoader::URLForHistory):
1999         * loader/mac/FrameLoaderMac.mm:
2000         (WebCore::FrameLoader::load):
2001         (WebCore::FrameLoader::startLoadingMainResource):
2002         (WebCore::FrameLoader::applyUserAgent):
2003         (WebCore::FrameLoader::originalRequest):
2004         (WebCore::FrameLoader::receivedMainResourceError):
2005         (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
2006         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2007         (WebCore::FrameLoader::commitProvisionalLoad):
2008         (WebCore::FrameLoader::initialRequest):
2009         (WebCore::FrameLoader::setRequest):
2010         (WebCore::FrameLoader::checkNavigationPolicy):
2011         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
2012         (WebCore::FrameLoader::reloadAllowingStaleData):
2013         (WebCore::FrameLoader::reload):
2014         (WebCore::FrameLoader::checkNewWindowPolicy):
2015         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
2016         (WebCore::FrameLoader::continueAfterNavigationPolicy):
2017         (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
2018         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2019         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2020         (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
2021         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2022         (WebCore::FrameLoader::post):
2023         (WebCore::FrameLoader::addExtraFieldsToRequest):
2024         (WebCore::FrameLoader::isReloading):
2025         (WebCore::FrameLoader::referrer):
2026         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2027         (WebCore::FrameLoader::loadResourceSynchronously):
2028         (WebCore::FrameLoader::originalRequestURL):
2029         (WebCore::PolicyCheck::set):
2030         (WebCore::PolicyCheck::call):
2031         (WebCore::PolicyCheck::clearRequest):
2032         * loader/mac/MainResourceLoaderMac.mm:
2033         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
2034         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
2035         (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
2036         * loader/mac/SubresourceLoaderMac.mm:
2037         (WebCore::SubresourceLoader::create):
2038         * loader/mac/WebDataProtocol.h:
2039         * loader/mac/WebDataProtocol.mm:
2040         * platform/KURL.cpp:
2041         (WebCore::operator!=):
2042         * platform/KURL.h:
2043         * platform/mac/KURLMac.mm:
2044         (WebCore::KURL::getNSURL):
2045         * platform/network/FormData.h:
2046         (WebCore::operator==):
2047         (WebCore::operator!=):
2048         * platform/network/ResourceRequest.cpp:
2049         (WebCore::operator==):
2050         * platform/network/ResourceRequest.h:
2051         * platform/network/mac/ResourceRequestMac.mm:
2052         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2053
2054 2006-12-13  Geoffrey Garen  <ggaren@apple.com>
2055
2056         Reviewed by Darin Adler, Dave Hyatt.
2057         
2058         Beefed up FocusController to handle frame focus. Changed implementors to
2059         use FocusController, rather than the widget hierarchy, to focus frames.
2060
2061         (WebCore::FocusController::focusedNode): Made a minor change to focus a frame
2062         before focusing the element inside of it. This matches FF.
2063         (WebCore::FocusController::focusedFrame):
2064         * platform/Widget.h:
2065
2066 2006-12-13  Justin Garcia  <justin.garcia@apple.com>
2067
2068         Reviewed by adele
2069
2070         <rdar://problem/4818145>
2071         Cannot setSelectedDOMRange to non-editable island unless it has editable content on both sides
2072         
2073         There are editable positions before/after a "non-editable island" if its 
2074         a table, but the code in canonicalPosition was not using 
2075         editableRootForPosition to find root editable elements.
2076         
2077         * editing/VisiblePosition.cpp:
2078         (WebCore::VisiblePosition::canonicalPosition): Use editableRootForPosition
2079         to fix the table case.
2080
2081 2006-12-13  Steve Falkenburg  <sfalken@apple.com>
2082
2083         Reviewed by Adam.
2084
2085         Added missing forwarding headers.        
2086
2087         * ForwardingHeaders/kjs/value.h: Added.
2088         * ForwardingHeaders/wtf/HashTable.h: Added.
2089
2090 2006-12-13  Lars Knoll <lars@trolltech.com>
2091
2092         Reviewed by Maciej, Zack.
2093
2094         Make the Qt cbuild compile again.
2095
2096         * WebCore.pro:
2097         * loader/qt/ResourceLoaderQt.cpp:
2098         * platform/network/qt/ResourceHandleQt.cpp:
2099         (WebCore::ResourceHandle::start):
2100         (WebCore::ResourceHandle::loadsBlocked):
2101         * platform/qt/FrameQtClient.cpp:
2102         (WebCore::FrameQtClient::openURL):
2103         (WebCore::FrameQtClient::submitForm):
2104
2105 2006-12-12  Adam Roben  <aroben@apple.com>
2106
2107         Reviewed by Anders.
2108
2109         Changed #import to #include to match the rest of our ForwardingHeaders.
2110
2111         * ForwardingHeaders/wtf/StringExtras.h:
2112
2113 2006-12-12  Justin Garcia  <justin.garcia@apple.com>
2114
2115         Reviewed by harrison
2116         
2117         <rdar://problem/4757667>
2118         GoogleDocs: Style menu does not open
2119
2120         * bindings/js/kjs_window.cpp:
2121         (KJS::Selection::getValueProperty): Added rangeCount.
2122         * bindings/js/kjs_window.h:
2123         (KJS::Selection::):
2124         * editing/SelectionController.h:
2125         (WebCore::SelectionController::rangeCount): Added.
2126
2127 2006-12-12  Alice Liu  <alice.liu@apple.com>
2128
2129         Reviewed by Oliver.
2130
2131         * bindings/js/JSSVGMatrixCustom.cpp:
2132         added #ifdef SVG_SUPPORT
2133
2134 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
2135
2136         Suggested by Darin.
2137
2138         * loader/ResourceLoader.cpp:
2139         Move down include of ResourceHandle.h.
2140
2141 2006-12-12  Geoffrey Garen  <ggaren@apple.com>
2142
2143         Reviewed by Adam Roben, Dave Hyatt, Darin Adler.
2144         
2145         Factored focus control into a FocusController class. I inted to use this
2146         class for handling window active state and the focused frame, as well.
2147
2148         Layout tests pass.
2149
2150         * WebCore.xcodeproj/project.pbxproj:
2151         * dom/Document.cpp:
2152         (WebCore::Document::view):
2153         (WebCore::Document::page): New helper function.
2154         * dom/Document.h: Moved setters before getters.
2155         (WebCore::Document::hoverNode):
2156         (WebCore::Document::activeNode):
2157         * dom/Node.cpp:
2158         (WebCore::Node::detach): Use the FocusController.
2159         * page/FocusController.cpp: Added.
2160         (WebCore::shouldFocus): renamed and refactored this helper function.
2161         (WebCore::shouldUnfocus): ditto.
2162         * page/FocusController.h: Added.
2163
2164 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
2165
2166         Rubber Stamped by Geoff.
2167
2168         * platform/Base64.cpp:
2169         * platform/Base64.h:
2170         Put functions inside of the WebCore namespace.
2171
2172 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
2173
2174         Try fixing the non-Mac builds.
2175         
2176         * loader/ResourceLoader.cpp:
2177         (WebCore::ResourceLoader::willSendRequest):
2178         (WebCore::ResourceLoader::didReceiveResponse):
2179         (WebCore::ResourceLoader::didReceiveData):
2180         (WebCore::ResourceLoader::didFinishLoading):
2181         (WebCore::ResourceLoader::didFail):
2182         * loader/SubresourceLoader.cpp:
2183         (WebCore::SubresourceLoader::create):
2184         * loader/SubresourceLoader.h:
2185
2186 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
2187
2188         Reviewed by Darin.
2189
2190         Turn ResourceLoader into a ResourceHandleClient and stop using NSURLConnection in the loader.
2191
2192         * WebCore.exp:
2193         Add new methods needed by WebKit.
2194         
2195         * WebCore.xcodeproj/project.pbxproj:
2196         Make ResourceHandle.h a private header.
2197         
2198         * loader/FrameLoaderClient.h:
2199         Change the download method to take a ResourceHandle instead of an NSURLConnection.
2200         
2201         * loader/MainResourceLoader.h:
2202         Get rid of the proxy instance variable, that's handled by ResourceHandlw now.
2203         
2204         * loader/ResourceLoader.h:
2205         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2206         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2207         (WebCore::ResourceLoader::willStopBufferingData):
2208         (WebCore::ResourceLoader::willCacheResponse):
2209         (WebCore::ResourceLoader::receivedCredential):
2210         (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
2211         (WebCore::ResourceLoader::receivedCancellation):
2212         (WebCore::ResourceLoader::handle):
2213         * loader/SubresourceLoader.h:
2214         Make ResourceLoader a ResourceHandleClient, moving the methods from SubresourceLoader.
2215         
2216         * loader/mac/MainResourceLoaderMac.mm:
2217         (WebCore::MainResourceLoader::MainResourceLoader):
2218         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2219         (WebCore::MainResourceLoader::loadNow):
2220         (WebCore::MainResourceLoader::load):
2221         Use a ResourceHandle instead of an NSURLConnection.
2222         
2223         * loader/mac/ResourceLoaderMac.mm:
2224         (WebCore::ResourceLoader::~ResourceLoader):
2225         (WebCore::ResourceLoader::releaseResources):
2226         (WebCore::ResourceLoader::load):
2227         (WebCore::ResourceLoader::setDefersLoading):
2228         (WebCore::ResourceLoader::resourceData):
2229         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2230         (WebCore::ResourceLoader::didCancel):
2231         (WebCore::ResourceLoader::willSendRequest):
2232         (WebCore::ResourceLoader::didReceiveResponse):
2233         (WebCore::ResourceLoader::didReceiveData):
2234         (WebCore::ResourceLoader::didFinishLoading):
2235         (WebCore::ResourceLoader::didFail):
2236         Remove the WebCoreResourceLoaderAsDelegate class, use a ResourceHandle instead of an NSURLConnection.
2237         
2238         * loader/mac/SubresourceLoaderMac.mm:
2239         Remove ResourceHandleClient methods.
2240         
2241         * platform/network/ResourceHandle.cpp:
2242         (WebCore::ResourceHandle::ResourceHandle):
2243         (WebCore::ResourceHandle::create):
2244         * platform/network/ResourceHandle.h:
2245         * platform/network/ResourceHandleInternal.h:
2246         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2247         Add an extra argument denoting whether this ResourceHandle can possibly be "converted" into one used for downloads.
2248         
2249         * platform/network/mac/ResourceHandleMac.mm:
2250         (WebCore::ResourceHandle::~ResourceHandle):
2251         (WebCore::ResourceHandle::start):
2252         (WebCore::ResourceHandle::releaseProxy):
2253         (WebCore::ResourceHandle::connection):
2254         New methods for creating a NSURLConnectionDelegateProxy which is used when creating a NSURLDownload from an existing
2255         connection.
2256
2257 2006-12-12  Anders Carlsson  <acarlsson@apple.com>
2258
2259         Reviewed by Geoff.
2260
2261         * loader/mac/SubresourceLoaderMac.mm:
2262         (WebCore::SubresourceLoader::load):
2263         * platform/network/mac/ResourceHandleMac.mm:
2264         (WebCore::ResourceHandle::start):
2265         Move the didTellBridgeAboutLoad call to SubresourceLoader in preparation for getting rid of
2266         the DocLoader parameter to ResourceHandle::create.
2267
2268 2006-12-12  George Staikos  <staikos@kde.org>
2269
2270         Make the last checkin compile.
2271
2272         * WebCore.pro:
2273         * ksvg2/svg/SVGTransform.cpp:
2274
2275 2006-12-12  Nikolas Zimmermann  <zimmermann@kde.org>
2276
2277         Reviewed by Sam Weinig & Rob Buis.
2278
2279         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11797
2280
2281         Remove SVGMatrix, replace it by AffineTransform usage everywhere.
2282         Changed AffineTransform API to be able to be used within generation
2283         (m11() -> a(), m12() -> b(), ...). Add some methods needed for SVG.
2284
2285         The actual SVGMatrix -> AffineTransformation patch has been created
2286         by Rob - I just adapted it to the autogenerated POD style.
2287
2288         * WebCore.xcodeproj/project.pbxproj:
2289         * bindings/js/JSSVGMatrixCustom.cpp: Added.
2290         (WebCore::JSSVGMatrix::inverse):
2291         (WebCore::JSSVGMatrix::rotateFromVector):
2292         * bindings/objc/DOMInternal.h:
2293         * bindings/scripts/CodeGeneratorJS.pm:
2294         * bindings/scripts/CodeGeneratorObjC.pm:
2295         * ksvg2/misc/KSVGTimeScheduler.cpp:
2296         * ksvg2/misc/SVGImageLoader.cpp:
2297         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2298         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
2299         (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
2300         (WebCore::SVGAnimateTransformElement::initialMatrix):
2301         (WebCore::SVGAnimateTransformElement::transformMatrix):
2302         * ksvg2/svg/SVGAnimateTransformElement.h:
2303         * ksvg2/svg/SVGClipPathElement.cpp:
2304         (WebCore::SVGClipPathElement::canvasResource):
2305         * ksvg2/svg/SVGFitToViewBox.cpp:
2306         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
2307         * ksvg2/svg/SVGFitToViewBox.h:
2308         * ksvg2/svg/SVGLengthList.cpp:
2309         * ksvg2/svg/SVGLinearGradientElement.cpp:
2310         (WebCore::SVGLinearGradientElement::buildGradient):
2311         * ksvg2/svg/SVGLocatable.cpp:
2312         (WebCore::SVGLocatable::getCTM):
2313         (WebCore::SVGLocatable::getScreenCTM):
2314         (WebCore::SVGLocatable::getTransformToElement):
2315         * ksvg2/svg/SVGLocatable.h:
2316         * ksvg2/svg/SVGMarkerElement.cpp:
2317         * ksvg2/svg/SVGMatrix.cpp: Removed.
2318         * ksvg2/svg/SVGMatrix.h: Removed.
2319         * ksvg2/svg/SVGMatrix.idl:
2320         * ksvg2/svg/SVGNumberList.cpp:
2321         * ksvg2/svg/SVGPatternElement.cpp:
2322         (WebCore::SVGPatternElement::notifyAttributeChange):
2323         (WebCore::SVGPatternElement::getCTM):
2324         * ksvg2/svg/SVGPatternElement.h:
2325         * ksvg2/svg/SVGPoint.idl:
2326         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
2327         (WebCore::SVGPreserveAspectRatio::getCTM):
2328         * ksvg2/svg/SVGPreserveAspectRatio.h:
2329         * ksvg2/svg/SVGRadialGradientElement.cpp:
2330         (WebCore::SVGRadialGradientElement::buildGradient):
2331         * ksvg2/svg/SVGSVGElement.cpp:
2332         (WebCore::SVGSVGElement::viewport):
2333         (WebCore::SVGSVGElement::createSVGMatrix):
2334         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
2335         (WebCore::SVGSVGElement::getCTM):
2336         (WebCore::SVGSVGElement::getScreenCTM):
2337         * ksvg2/svg/SVGSVGElement.h:
2338         * ksvg2/svg/SVGStyledElement.cpp:
2339         * ksvg2/svg/SVGStyledLocatableElement.cpp:
2340         (WebCore::SVGStyledLocatableElement::getCTM):
2341         (WebCore::SVGStyledLocatableElement::getScreenCTM):
2342         * ksvg2/svg/SVGStyledLocatableElement.h:
2343         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2344         (WebCore::SVGStyledTransformableElement::localMatrix):
2345         (WebCore::SVGStyledTransformableElement::getCTM):
2346         (WebCore::SVGStyledTransformableElement::getScreenCTM):
2347         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
2348         (WebCore::SVGStyledTransformableElement::attach):
2349         * ksvg2/svg/SVGStyledTransformableElement.h:
2350         * ksvg2/svg/SVGTextElement.cpp:
2351         (WebCore::SVGTextElement::localMatrix):
2352         (WebCore::SVGTextElement::updateLocalTransform):
2353         (WebCore::SVGTextElement::attach):
2354         (WebCore::SVGTextElement::getScreenCTM):
2355         (WebCore::SVGTextElement::getCTM):
2356         * ksvg2/svg/SVGTextElement.h:
2357         * ksvg2/svg/SVGTransform.cpp:
2358         (SVGTransform::SVGTransform):
2359         (SVGTransform::matrix):
2360         (SVGTransform::setMatrix):
2361         (SVGTransform::setTranslate):
2362         (SVGTransform::setScale):
2363         (SVGTransform::setRotate):
2364         (SVGTransform::setSkewX):
2365         (SVGTransform::setSkewY):
2366         * ksvg2/svg/SVGTransform.h:
2367         * ksvg2/svg/SVGTransformList.cpp:
2368         (SVGTransformList::createSVGTransformFromMatrix):
2369         (SVGTransformList::concatenate):
2370         * ksvg2/svg/SVGTransformList.h:
2371         * ksvg2/svg/SVGTransformable.cpp:
2372         (WebCore::SVGTransformable::getCTM):
2373         (WebCore::SVGTransformable::getScreenCTM):
2374         (WebCore::SVGTransformable::parseTransformAttribute):
2375         * ksvg2/svg/SVGTransformable.h:
2376         * platform/graphics/AffineTransform.cpp:
2377         (WebCore::AffineTransform::multiply):
2378         (WebCore::AffineTransform::scale):
2379         (WebCore::AffineTransform::scaleNonUniform):
2380         (WebCore::AffineTransform::rotateFromVector):
2381         (WebCore::AffineTransform::flipX):
2382         (WebCore::AffineTransform::flipY):
2383         (WebCore::AffineTransform::skewX):
2384         (WebCore::AffineTransform::skewY):
2385         * platform/graphics/AffineTransform.h:
2386         * platform/graphics/cairo/AffineTransformCairo.cpp:
2387         (WebCore::AffineTransform::a):
2388         (WebCore::AffineTransform::setA):
2389         (WebCore::AffineTransform::b):
2390         (WebCore::AffineTransform::setB):
2391         (WebCore::AffineTransform::c):
2392         (WebCore::AffineTransform::setC):
2393         (WebCore::AffineTransform::d):
2394         (WebCore::AffineTransform::setD):
2395         (WebCore::AffineTransform::e):
2396         (WebCore::AffineTransform::setE):
2397         (WebCore::AffineTransform::f):
2398         (WebCore::AffineTransform::setF):
2399         (WebCore::AffineTransform::inverse):
2400         * platform/graphics/cg/AffineTransformCG.cpp:
2401         (WebCore::AffineTransform::a):
2402         (WebCore::AffineTransform::setA):
2403         (WebCore::AffineTransform::b):
2404         (WebCore::AffineTransform::setB):
2405         (WebCore::AffineTransform::c):
2406         (WebCore::AffineTransform::setC):
2407         (WebCore::AffineTransform::d):
2408         (WebCore::AffineTransform::setD):
2409         (WebCore::AffineTransform::e):
2410         (WebCore::AffineTransform::setE):
2411         (WebCore::AffineTransform::f):
2412         (WebCore::AffineTransform::setF):
2413         (WebCore::AffineTransform::inverse):
2414         * platform/graphics/qt/AffineTransformQt.cpp:
2415         (WebCore::AffineTransform::a):
2416         (WebCore::AffineTransform::setA):
2417         (WebCore::AffineTransform::b):
2418         (WebCore::AffineTransform::setB):
2419         (WebCore::AffineTransform::c):
2420         (WebCore::AffineTransform::setC):
2421         (WebCore::AffineTransform::d):
2422         (WebCore::AffineTransform::setD):
2423         (WebCore::AffineTransform::e):
2424         (WebCore::AffineTransform::setE):
2425         (WebCore::AffineTransform::f):
2426         (WebCore::AffineTransform::setF):
2427         (WebCore::AffineTransform::inverse):
2428         * rendering/RenderForeignObject.cpp:
2429         (WebCore::RenderForeignObject::paint):
2430         (WebCore::RenderForeignObject::nodeAtPoint):
2431         * rendering/RenderPath.cpp:
2432         (WebCore::RenderPath::mapAbsolutePointToLocal):
2433         * rendering/RenderSVGImage.cpp:
2434         (WebCore::RenderSVGImage::paint):
2435         (WebCore::RenderSVGImage::nodeAtPoint):
2436         * rendering/RenderSVGText.cpp:
2437         (WebCore::RenderSVGText::computeAbsoluteRepaintRect):
2438         (WebCore::RenderSVGText::nodeAtPoint):
2439         (WebCore::RenderSVGText::paint):
2440         * rendering/SVGInlineFlowBox.cpp:
2441         (WebCore::paintSVGInlineFlow):
2442         * rendering/SVGRenderTreeAsText.cpp:
2443         (WebCore::operator<<):
2444
2445 2006-12-12  George Staikos  <staikos@kde.org>
2446
2447         Reviewed by Alexey.
2448
2449         Fix the Qt build again.
2450
2451         * WebCore.pro:
2452         * loader/qt/FrameLoaderQt.cpp:
2453         (WebCore::FrameLoader::createFrame):
2454         (WebCore::FrameLoader::load):
2455         * platform/qt/PasteboardQt.cpp:
2456         (WebCore::Pasteboard::writeSelection):
2457         (WebCore::Pasteboard::writeURL):
2458         (WebCore::Pasteboard::clear):
2459
2460 2006-12-12  Geoffrey Garen  <ggaren@apple.com>
2461
2462         Reviewed by Beth Dakin.
2463         
2464         Moved focus control to the page level. Fixed a minor bug where a node
2465         would retain keyboard focus even when removed from the document.
2466         
2467         We should probably move this, along with hover and active, into a separate
2468         FocusController. But I'm too tired right now.
2469
2470         * dom/Document.cpp: Migrated code to Page
2471         (WebCore::Document::removedLastRef):
2472         (WebCore::Document::detach):
2473         (WebCore::Document::setFocusedNode):
2474         (WebCore::Document::focusedNode):
2475         * dom/Document.h:
2476         * dom/Node.cpp:
2477         (WebCore::Node::detach): Clear ourselves from keyboard focus. This fixes
2478         the minor bug and was also necessary to prevent regressions caused by hanging
2479         on to a focused node after the document was replaced.
2480         * dom/Node.h:
2481         (WebCore::Node::inDetach):
2482         * page/Page.cpp: Migrated code from Document
2483         (WebCore::shouldAcquireEditingFocus):
2484         (WebCore::shouldRelinquishEditingFocus):
2485         (WebCore::clearSelectionIfNeeded):
2486         (WebCore::widgetForNode):
2487         (WebCore::Page::setFocusedNode):
2488         * page/Page.h:
2489         (WebCore::Page::focusedNode):
2490
2491 2006-12-11  Alexey Proskuryakov  <ap@webkit.org>
2492
2493         Reviewed by Darin.
2494
2495         http://bugs.webkit.org/show_bug.cgi?id=11053
2496         XMLHttpRequest should be an EventTarget
2497
2498         Test: http/tests/xmlhttprequest/event-target.html
2499
2500         * bindings/js/JSXMLHttpRequest.cpp:
2501         (KJS::JSXMLHttpRequest::mark):
2502         (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
2503         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
2504         * bindings/js/JSXMLHttpRequest.h:
2505         (KJS::JSXMLHttpRequest::):
2506         * xml/xmlhttprequest.cpp:
2507         (WebCore::XMLHttpRequest::addEventListener):
2508         (WebCore::XMLHttpRequest::removeEventListener):
2509         (WebCore::XMLHttpRequest::dispatchEvent):
2510         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2511         * xml/xmlhttprequest.h:
2512         (WebCore::XMLHttpRequest::eventListeners):
2513         Implement EventTarget methods (except for NS variations, which Firefox doesn't have either).
2514
2515 2006-12-11  Darin Adler  <darin@apple.com>
2516
2517         Reviewed by Geoff.
2518
2519         - fix http://bugs.webkit.org/show_bug.cgi?id=11809
2520           fast/dom/gc-8.html crash in alternate-thread marking code in ScriptInterpreter
2521
2522         DocumentType objects were getting filed under the wrong document in the
2523         DOM objects structure.
2524
2525         * bindings/js/kjs_binding.h: Added a destructor for debugging purposes only.
2526         * bindings/js/kjs_binding.cpp:
2527         (KJS::wrapperSet): Added. Set of outstanding wrappers for debugging.
2528         (KJS::addWrapper): Added.
2529         (KJS::removeWrapper): Added.
2530         (KJS::removeWrappers): Added.
2531         (KJS::DOMObject::~DOMObject): Added. Asserts that there is no outstanding reference
2532         to this wrapper since it's being destroyed.
2533         (KJS::ScriptInterpreter::putDOMObject): Added a call to ADD_WRAPPER.
2534         (KJS::ScriptInterpreter::forgetDOMObject): Added a call to REMOVE_WRAPPER.
2535         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Added a call to REMOVE_WRAPPER.
2536         (KJS::ScriptInterpreter::putDOMNodeForDocument): Added a call to ADD_WRAPPER.
2537         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Added a call to REMOVE_WRAPPERS.
2538         (KJS::ScriptInterpreter::updateDOMNodeDocument): Added calls to REMOVE_WRAPPER and
2539         ADD_WRAPPER so the out-of-order transaction doesn't upset the assertions in the functions
2540         we're calling. Another solution would be to reorder the two, but I think that would
2541         create a race where another thread could garbage collect after the forget but before the put.
2542         (KJS::ScriptInterpreter::wasRunByUserGesture): Tweaked formatting.
2543
2544         * dom/Document.cpp: (WebCore::Document::adoptNode): Removed call to updateDOMNodeDocument
2545         since setDocument now takes care of that.
2546         * dom/Node.cpp:
2547         (WebCore::Node::setDocument): Added call to updateDOMNodeDocument here.
2548         (WebCore::Node::checkAddChild): Removed call to updateDOMNodeDocument since setDocument
2549         now takes care of that.
2550
2551 2006-12-11  Alexey Proskuryakov  <ap@nypop.com>
2552
2553         Reviewed by Darin.
2554
2555         http://bugs.webkit.org/show_bug.cgi?id=9673
2556         Add support for window.atob() and window.btoa()
2557
2558         * WebCore.xcodeproj/project.pbxproj: Added Base64.{h,cpp}
2559         * bindings/js/kjs_window.cpp:
2560         (KJS::WindowFunc::callAsFunction):
2561         * bindings/js/kjs_window.h:
2562         (KJS::Window::):
2563         * platform/Base64.cpp: Added.
2564         (base64Encode):
2565         (base64Decode):
2566         * platform/Base64.h: Added.
2567         * ForwardingHeaders/wtf/StringExtras.h: Added.
2568         * platform/DeprecatedString.cpp: Use strncasecmp from StringExtras.
2569
2570 2006-12-11  Darin Adler  <darin@apple.com>
2571
2572         Reviewed by Brady.
2573
2574         - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
2575
2576         * WebCore.xcodeproj/project.pbxproj: Updated project for file moves.
2577
2578         * bridge/mac/FrameMac.h: Moved to page/mac.
2579         * bridge/mac/FrameMac.mm: Ditto.
2580         * bridge/mac/WebCoreFrameBridge.h: Ditto.
2581         * bridge/mac/WebCoreFrameBridge.mm: Ditto.
2582         * bridge/mac/WebCoreFrameView.h: Ditto.
2583         * bridge/mac/WebCoreViewFactory.h: Ditto.
2584         * bridge/mac/WebCoreViewFactory.m: Ditto.
2585         * bridge/mac/WebDashboardRegion.h: Ditto.
2586         * bridge/mac/WebDashboardRegion.m: Ditto.
2587
2588         * bridge/mac/WebCoreKeyboardAccess.h: Moved to page/mac,
2589         renamed WebCoreKeyboardUIMode.h, and made a C++ header.
2590
2591         * page/EventHandler.h: Updated for change to WebCoreKeyboardAccess.
2592         * page/mac/EventHandlerMac.mm:
2593         (WebCore::EventHandler::tabsToLinks): Ditto.
2594         (WebCore::EventHandler::tabsToAllControls): Ditto.
2595         (WebCore::EventHandler::keyboardUIMode): Ditto.
2596
2597 2006-12-11  Beth Dakin  <bdakin@apple.com>
2598
2599         Reviewed by Adam.
2600
2601         Primarily, this patch implements/hooks-up actions for the sub-menu
2602         items in WebCore context menus. I fixed a few other things along
2603         the way too:
2604                 -Made BUILDING_ON_TIGER ifdef work within C++ as well as
2605                  Obj-C
2606                 -Fixed bug where we would throw and Obj-C exception and
2607                  fail to pop up menus with more than one separator item.
2608                 -Re-named some of the spelling/grammar tags since Tiger and
2609                  Leopard share more of the actions than initially
2610                  anticipated.
2611
2612         * WebCorePrefix.h: Make BUILDING_ON_TIGER available to C++
2613         * bridge/EditorClient.h: New functions to toggle
2614         spelling/grammar checking.
2615         * editing/Editor.cpp:
2616         (WebCore::Editor::toggleContinuousSpellChecking): Call into client.
2617         (WebCore::Editor::toggleGrammarChecking): Same.
2618         (WebCore::Editor::toggleBold): call execToggleBold()
2619         (WebCore::Editor::toggleUnderline): Create appropriate underline
2620         style and apply to selection.
2621         (WebCore::Editor::setBaseWritingDirection): Create appropriate
2622         writing direction and apply to selection.
2623         * editing/Editor.h:
2624         * editing/mac/EditorMac.mm: New functions to show spelling guesses,
2625         fonts, styles, and color panels.
2626         * page/ContextMenuClient.h: New functions for the speech sub-menu.
2627         * page/ContextMenuController.cpp:
2628         (WebCore::ContextMenuController::contextMenuItemSelected): Fill in
2629         editing sub-menu actions.
2630         * platform/ContextMenu.cpp:
2631         (WebCore::separatorItem): Helper function to create a separator 
2632         item.
2633         (WebCore::createFontSubMenu): Put very mac-specific things within a
2634         platform ifdef.
2635         (WebCore::createSpellingAndGrammarSubMenu): Re-named some of the
2636         spelling sub-menu tags.
2637         (WebCore::createSpellingSubMenu): Same.
2638         (WebCore::ContextMenu::populate): We can't share the separator
2639         item. When we do, menus with more than one separator throw and obj-
2640         c exception and fail to pop-up.
2641         * platform/ContextMenuItem.h:
2642         (WebCore::): Re-named some of the spelling sub-menu tags.
2643
2644 2006-12-11  Alice Liu  <alice.liu@apple.com>
2645
2646         Reviewed by Geoff, Adam.
2647
2648         Switch to use the Editor for copying URLs.  Also some Pasteboard and PlatformMouseEvent cleanup.
2649
2650         All layout tests pass as they would without this patch. 
2651
2652         * WebCore.exp:
2653         added Editor::copyURL to be called from WebKit
2654         
2655         * editing/Editor.cpp:
2656         (WebCore::Editor::tryDHTMLCopy):
2657         (WebCore::Editor::tryDHTMLCut):
2658         Pasteboard::clearTypes() changed to clear()
2659
2660         (WebCore::Editor::writeSelectionToPasteboard):        
2661         (WebCore::Editor::cut):
2662         (WebCore::Editor::copy):
2663         Changed signature of writeSelection to take raw pointer instead of PassRefPtr
2664
2665         (WebCore::Editor::copyURL):
2666         * editing/Editor.h:
2667         Added copyURL.
2668         
2669         * page/ContextMenuClient.h:
2670         * page/ContextMenuController.cpp:
2671         (WebCore::ContextMenuController::contextMenuItemSelected):
2672         Removed copyLinkToClipboard
2673         
2674         * platform/KURL.cpp:
2675         (WebCore::KURL::lastPathComponent):
2676         * platform/KURL.h:
2677         Added lastPathComponent. 
2678         
2679         * platform/Pasteboard.h:
2680         Changed some function names.
2681         Moved some functions out of class to static.
2682         
2683         * platform/PlatformMouseEvent.h:
2684         (WebCore::):
2685         Removed MouseEventType enum, added NoButton to MouseButton without disturbing other button values.
2686         
2687         * platform/mac/PasteboardMac.mm:
2688         Added writeURL, and moved some things around
2689         
2690         * platform/mac/WebCoreSystemInterface.h:
2691         * platform/mac/WebCoreSystemInterface.mm:
2692         Add some calls necessary for Pasteboard::writeURL to work
2693
2694 2006-12-11  Darin Adler  <darin@apple.com>
2695
2696         Reviewed by Brady.
2697
2698         - http://bugs.webkit.org/show_bug.cgi?id=11794
2699           fix lifetime problems affecting Frame's ownerElement pointer
2700
2701         * CMakeLists.txt:
2702         * WebCore.vcproj/WebCore/WebCore.vcproj:
2703         * WebCore.xcodeproj/project.pbxproj:
2704         * WebCoreSources.bkl:
2705         Updated for new source files.
2706
2707         * WebCore.exp: Updated for changes to entry point names.
2708
2709         * bridge/mac/FrameMac.h:
2710         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
2711         * bridge/win/FrameWin.h:
2712         * bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin):
2713         * platform/qt/FrameQt.h:
2714         * platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt):
2715         Updated owner element type to HTMLFrameOwnerElement.
2716
2717         * bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
2718         use that any more. Updated owner element type to HTMLFrameOwnerElement.
2719
2720         * dom/Document.cpp: Added include so that the ownerElement function can
2721         compile (since it downcasts an HTMLFrameOwnerElement to an Element).
2722
2723         * html/HTMLFrameElement.cpp:
2724         (WebCore::containingFrameSetElement): Moved this function in here; it
2725         doesn't need to be a member function.
2726         (WebCore::HTMLFrameElement::attach): Updated to call this.
2727
2728         * html/HTMLFrameElementBase.h:
2729         * html/HTMLFrameElementBase.cpp:
2730         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Inherit from
2731         HTMLFrameOwnerElement. Removed contentFrame, contentDocument, and
2732         containingFrameSetElement. Removed friend classes.
2733
2734         * html/HTMLFrameOwnerElement.h: Added.
2735         * html/HTMLFrameOwnerElement.cpp: Added.
2736
2737         * html/HTMLEmbedElement.h:
2738         * html/HTMLEmbedElement.cpp:
2739         * html/HTMLObjectElement.h:
2740         * html/HTMLObjectElement.cpp:
2741         Remove now-unneeded contentDocument functions.
2742
2743         * html/HTMLPlugInElement.h:
2744         * html/HTMLPlugInElement.cpp:
2745         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
2746         HTMLFrameOwnerElement.
2747
2748         * loader/FormState.h:
2749         * loader/FormState.cpp: Use HTMLFormElement instead of just Element.
2750
2751         * loader/FrameLoader.h:
2752         * loader/FrameLoader.cpp:
2753         (WebCore::FrameLoader::requestFrame): Use HTMLFormElement.
2754         (WebCore::FrameLoader::loadSubframe): Ditto.
2755         (WebCore::FrameLoader::requestObject): Don't pass an element parameter
2756         to shouldUsePlugin, and remove now-unneeded type casts.
2757         (WebCore::FrameLoader::shouldUsePlugin): Removed unneeded element parameter.
2758         (WebCore::FrameLoader::handleFallbackContent): Use HTMLFrameOwnerElement.
2759         (WebCore::FrameLoader::updateBaseURLForEmptyDocument): Ditto.
2760         (WebCore::FrameLoader::isHostedByObjectElement): Ditto.
2761         * loader/mac/FrameLoaderMac.mm:
2762         (WebCore::FrameLoader::load): Use HTMLFormElement.
2763         (WebCore::FrameLoader::post): Ditto.
2764         (WebCore::FrameLoader::createFrame): Use HTMLFrameOwnerElement.
2765
2766         * page/Frame.h:
2767         * page/FramePrivate.h:
2768         * page/Frame.cpp:
2769         (WebCore::parentFromOwnerElement): Use HTMLFrameOwnerElement.
2770         (WebCore::Frame::Frame): Ditto. Also set m_contentFrame on the owner element.
2771         (WebCore::Frame::ownerElement): Ditto.
2772         (WebCore::Frame::ownerRenderer): Ditto.
2773         (WebCore::Frame::disconnectOwnerElement): Clear m_contentFrame on the owner
2774         element before disconnecting it.
2775         (WebCore::FramePrivate::FramePrivate): Use HTMLFrameOwnerElement.
2776
2777         * page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
2778         the code here will compile (no code changes needed).
2779
2780         * rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
2781         Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.
2782
2783         * rendering/RenderPart.h:
2784         * rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
2785         Use HTMLFrameOwnerElement.
2786
2787         * rendering/RenderPartObject.h:
2788         * rendering/RenderPartObject.cpp:
2789         (WebCore::RenderPartObject::RenderPartObject): Use HTMLFrameOwnerElement.
2790         (WebCore::RenderPartObject::viewCleared): Updated so that RenderFrame doesn't
2791         need to be a friend of HTMLFrameElementBase.
2792
2793         - other changes
2794
2795         * platform/network/ResourceHandleInternal.h: Added Noncopyable and
2796         fixed indentation.
2797
2798 2006-12-11  David Hyatt  <hyatt@apple.com>
2799
2800         Fix failing layout test.  Remove WTF::Unicode::isSpace and just revert
2801         the caller to the old behavior.
2802
2803         Reviewed by darin
2804
2805         * platform/StringImpl.cpp:
2806         (WebCore::isSpace):
2807
2808 2006-12-11  Alexey Proskuryakov  <ap@webkit.org>
2809
2810         Reviewed by Adam.
2811
2812         http://bugs.webkit.org/show_bug.cgi?id=11807
2813         Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
2814
2815         * page/EventHandler.cpp:
2816         (WebCore::EventHandler::EventHandler):
2817         (WebCore::EventHandler::handleMousePressEvent):
2818         (WebCore::EventHandler::handleMouseMoveEvent):
2819         (WebCore::EventHandler::handleMouseReleaseEvent):
2820         (WebCore::EventHandler::autoscrollTimerFired):
2821         * page/EventHandler.h:
2822         * page/mac/EventHandlerMac.mm:
2823         (WebCore::EventHandler::handleDrag):
2824         (WebCore::EventHandler::mouseMoved):
2825         Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
2826
2827         (WebCore::EventHandler::lastEventIsMouseUp):
2828         Check that the "new" event is newer than the "old" one - that's not always the case 
2829         when running in DRT, as [NSApp currentEvent] isn't updated by eventSender.
2830
2831 2006-12-11  Nikolas Zimmermann  <zimmermann@kde.org>
2832
2833         Reviewed by Sam Weinig.
2834
2835         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11801
2836
2837         Autogenerate POD types for ObjC/JS.
2838
2839         This removes the need for the hand-written JSSVG*, DOMSVG* wrappers
2840         in bindings/js, bindings/objc. Makes it much easier to convert more
2841         SVG types to POD types (ie. SVGMatrix* -> AffineTransform etc.)
2842
2843         Affected test: svg/custom/SVGPoint-matrixTransform.svg
2844
2845         It's failing with this patch, as the SVGPoint matrixTransform() function
2846         got disabled, until the SVGMatrix -> AffineTransform transition patch
2847         is landed. Otherwhise we'd need to add special cases to both CodeGeneratorJS/ObjC.pm
2848         which would be a waste of time, as SVGMatrix is about to die.
2849
2850         Temporarily updating layout test result, as suggested by John Sullivan, so
2851         no-one notices that SVGPoint-matrixTransform.svg actually fails right now.
2852
2853         Expect that to be fixed again in the next hour(s).
2854
2855         * DerivedSources.make:
2856         * WebCore.xcodeproj/project.pbxproj:
2857         * bindings/js/JSSVGNumber.cpp: Removed.
2858         * bindings/js/JSSVGNumber.h: Removed.
2859         * bindings/js/JSSVGPoint.cpp: Removed.
2860         * bindings/js/JSSVGPoint.h: Removed.
2861         * bindings/js/JSSVGRect.cpp: Removed.
2862         * bindings/js/JSSVGRect.h: Removed.
2863         * bindings/objc/DOMSVGNumber.mm: Removed.
2864         * bindings/objc/DOMSVGPoint.mm: Removed.
2865         * bindings/objc/DOMSVGRect.mm: Removed.
2866         * bindings/scripts/CodeGeneratorJS.pm:
2867         * bindings/scripts/CodeGeneratorObjC.pm:
2868         * ksvg2/svg/SVGNumber.idl:
2869         * ksvg2/svg/SVGPoint.idl:
2870         * ksvg2/svg/SVGRect.idl:
2871
2872 2006-12-10  Lars Knoll <lars@trolltech.com>
2873
2874         Reviewed by Zack
2875
2876         Fix another issue with frame loading
2877
2878         * platform/network/qt/ResourceHandleManagerQt.cpp:
2879         (WebCore::ResourceHandleManager::cancel):
2880         (WebCore::ResourceHandleManager::receivedData):
2881         (WebCore::ResourceHandleManager::receivedFinished):
2882         (WebCore::FileLoader::request):
2883         * platform/qt/FrameQtClient.cpp:
2884         (WebCore::FrameQtClient::openURL):
2885
2886 2006-12-10  George Staikos  <staikos@kde.org>
2887
2888         Reviewed by Zack.
2889
2890         Make the xpath grammar hack more specific (and work on OS X) until
2891         it's cleaned up.
2892
2893         * WebCore.pro:
2894
2895 2006-12-10  Zack Rusin  <zack@kde.org>
2896
2897         Set the widgetclient correctly. This code
2898         should be platform independent!
2899
2900         * platform/qt/WidgetQt.cpp:
2901         (WebCore::WidgetPrivate::WidgetPrivate):
2902         (WebCore::Widget::setClient):
2903         (WebCore::Widget::client):
2904         (WebCore::Widget::focusPolicy):
2905
2906 2006-12-11  Lars Knoll <lars@trolltech.com>
2907
2908         Reviewed by Zack
2909
2910         Fix loading of local files.
2911
2912         * platform/network/qt/ResourceHandleManagerQt.cpp:
2913         (WebCore::FileLoader::request):
2914
2915 2006-12-10  Zack Rusin  <zack@kde.org>
2916
2917        Don't use my QTransform magic, affine QMatrix is fine for
2918        SVG so use setMatrix.
2919
2920         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
2921         (WebCore::SVGPaintServerLinearGradient::setup):
2922         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
2923         (WebCore::setup):
2924
2925 2006-12-10  Lars Knoll <lars@trolltech.com>
2926
2927         Reviewed by Zack
2928
2929         Make sure we call checkCompleted() on the FrameLoader
2930         to get the regression tests running.
2931
2932         * WebCore.pro:
2933         * loader/qt/FrameLoaderQt.cpp:
2934         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2935         (WebCore::FrameLoader::saveDocumentState):
2936         * page/qt/EventHandlerQt.cpp:
2937         (WebCore::EventHandler::handleDrag):
2938         * platform/qt/FrameQtClient.cpp:
2939         (WebCore::FrameQtClient::openURL):
2940         (WebCore::FrameQtClient::didReceiveResponse):
2941         (WebCore::FrameQtClient::didFinishLoading):
2942         (WebCore::FrameQtClient::didFail):
2943         * platform/qt/FrameQtClient.h:
2944
2945 2006-12-10  Zack Rusin  <zack@kde.org>
2946
2947         Enable the SVG build by default and make it build.
2948
2949         * WebCore.pro:
2950         * loader/qt/FrameLoaderQt.cpp: Output the method name
2951
2952 2006-12-10  Zack Rusin  <zack@kde.org>
2953
2954         Move the client classes to WebKitQt/WebCoreSupport.
2955
2956         * WebCore.pro:
2957         * loader/qt/FrameLoaderClientQt.cpp: Removed.
2958         * loader/qt/FrameLoaderClientQt.h: Removed.
2959         * platform/qt/ChromeClientQt.cpp: Removed.
2960         * platform/qt/ChromeClientQt.h: Removed.
2961         * platform/qt/ContextMenuClientQt.cpp: Removed.
2962         * platform/qt/ContextMenuClientQt.h: Removed.
2963         * platform/qt/EditorClientQt.cpp: Removed.
2964         * platform/qt/EditorClientQt.h: Removed.
2965
2966 2006-12-10  Lars Knoll <lars@trolltech.com>
2967
2968         Reviewed by Zack.
2969
2970         Add some stubs required to link.
2971
2972         * platform/qt/FrameQt.cpp:
2973         (WebCore::FrameQt::runJavaScriptAlert):
2974         (WebCore::FrameQt::runJavaScriptConfirm):
2975         (WebCore::FrameQt::runJavaScriptPrompt):
2976         (WebCore::FrameQt::bindingRootObject):
2977
2978 2006-12-10  Rob Buis  <buis@kde.org>
2979
2980         Reviewed by Darin.
2981
2982         http://bugs.webkit.org/show_bug.cgi?id=10996
2983         WebKit needs (possibly private) XML/SVG innerText support (for DumpRenderTree)
2984
2985         Create an internal method to create innerText functionality for non-HTML
2986         nodes. When called from DRT this omits CDATA nodes.
2987
2988         * dom/Element.cpp:
2989         (WebCore::Element::innerText):
2990         (WebCore::Element::outerText):
2991         * dom/Element.h:
2992         * dom/Element.idl:
2993         * html/HTMLElement.cpp:
2994         * html/HTMLElement.h:
2995
2996 2006-12-10  MorganL  <morganl.webkit@yahoo.com>
2997
2998         Reviewed by Maciej.
2999
3000         Fixes http://bugs.webkit.org/show_bug.cgi?id=11790
3001         No way to initialize ResourceResponse::m_httpHeaderFields
3002
3003         * platform/network/ResourceResponse.cpp: impl setHTTPHeaderField
3004         (WebCore::ResourceResponse::setHTTPHeaderField):
3005         * platform/network/ResourceResponse.h: decl setHTTPHeaderField
3006
3007 2006-12-10  Zack Rusin  <zack@kde.org>
3008
3009         Cleaning up the code after removals.
3010
3011         * platform/qt/FrameQt.cpp:
3012         * platform/qt/FrameQt.h: Remove virtual methods
3013         which have been moved to different objects
3014
3015 2006-12-10  Zack Rusin  <zack@kde.org>
3016
3017         Cleanup the FrameQtClient a little bit more. Remove
3018         unused methods.
3019
3020         * platform/qt/FrameQtClient.cpp:
3021         * platform/qt/FrameQtClient.h:
3022
3023 2006-12-09  Adam Roben  <aroben@apple.com>
3024
3025         Build fix.
3026
3027         * xml/XPathParser.cpp:
3028         (WebCore::XPath::charCat): Use C++ unsigned instead of uint.
3029
3030 2006-12-09  George Staikos  <staikos@kde.org>
3031
3032         Reviewed by Zack.
3033
3034         Make it not crash, and make it set the title on Qt platform.
3035
3036         * loader/qt/FrameLoaderClientQt.cpp:
3037         (WebCore::FrameLoaderClientQt::hasWebView):
3038         (WebCore::FrameLoaderClientQt::hasFrameView):
3039         (WebCore::FrameLoaderClientQt::didChangeTitle):
3040         * loader/qt/FrameLoaderQt.cpp:
3041         (WebCore::FrameLoader::setTitle):
3042         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3043
3044 2006-12-10  Zack Rusin  <zack@kde.org>
3045
3046         Renaming FrameQtClientDefault to FrameQtClient.
3047         Removing FrameQtClient. Adding FrameLoaderClient
3048         as an argument. Clenaing up the code a bit.
3049
3050         * platform/qt/FrameQt.cpp:
3051         (WebCore::FrameQt::FrameQt):
3052         * platform/qt/FrameQt.h:
3053         * platform/qt/FrameQtClient.cpp:
3054         (WebCore::FrameQtClient::FrameQtClient):
3055         (WebCore::FrameQtClient::~FrameQtClient):
3056         (WebCore::FrameQtClient::setFrame):
3057         (WebCore::FrameQtClient::openURL):
3058         (WebCore::FrameQtClient::submitForm):
3059         (WebCore::FrameQtClient::checkLoaded):
3060         (WebCore::FrameQtClient::runJavaScriptAlert):
3061         (WebCore::FrameQtClient::runJavaScriptConfirm):
3062         (WebCore::FrameQtClient::runJavaScriptPrompt):
3063         (WebCore::FrameQtClient::menubarVisible):
3064         (WebCore::FrameQtClient::toolbarVisible):
3065         (WebCore::FrameQtClient::statusbarVisible):
3066         (WebCore::FrameQtClient::personalbarVisible):
3067         (WebCore::FrameQtClient::locationbarVisible):
3068         (WebCore::FrameQtClient::loadFinished):
3069         (WebCore::FrameQtClient::didReceiveResponse):
3070         (WebCore::FrameQtClient::didFinishLoading):
3071         (WebCore::FrameQtClient::didFail):
3072         (WebCore::FrameQtClient::didReceiveData):
3073         (WebCore::FrameQtClient::traverseNextFrameStayWithin):
3074         (WebCore::FrameQtClient::numPendingOrLoadingRequests):
3075         (WebCore::FrameQtClient::receivedAllData):
3076         (WebCore::FrameQtClient::setTitle):
3077         * platform/qt/FrameQtClient.h:
3078
3079 2006-12-10  Zack Rusin  <zack@kde.org>
3080
3081         Fixes compilation after the last removals.
3082
3083         * WebCore.pro:
3084
3085 2006-12-10  Lars Knoll <lars@trolltech.com>
3086
3087         Reviewed by Zack.
3088
3089         Implement a decent network loader using QHttp.
3090
3091         * loader/qt/FrameLoaderQt.cpp:
3092         (WebCore::FrameLoader::load):
3093         * platform/network/ResourceHandle.cpp:
3094         (WebCore::ResourceHandle::request):
3095         * platform/network/ResourceHandle.h:
3096         * platform/network/ResourceHandleInternal.h:
3097         * platform/network/qt/ResourceHandleManager.cpp: Removed.
3098         * platform/network/qt/ResourceHandleManager.h: Removed.
3099         * platform/network/qt/ResourceHandleManagerKDE.cpp: Added.
3100         (WebCore::ResourceHandleManager::self):
3101         (WebCore::ResourceHandleManager::ResourceHandleManager):
3102         (WebCore::ResourceHandleManager::~ResourceHandleManager):
3103         (WebCore::ResourceHandleManager::slotData):
3104         (WebCore::ResourceHandleManager::slotMimetype):
3105         (WebCore::ResourceHandleManager::slotResult):
3106         (WebCore::ResourceHandleManager::remove):
3107         (WebCore::ResourceHandleManager::add):
3108         (WebCore::ResourceHandleManager::cancel):
3109         * platform/network/qt/ResourceHandleManagerKDE.h: Added.
3110         * platform/network/qt/ResourceHandleManagerQt.cpp: Added.
3111         (WebCore::ResourceHandleManager::ResourceHandleManager):
3112         (WebCore::ResourceHandleManager::~ResourceHandleManager):
3113         (WebCore::ResourceHandleManager::self):
3114         (WebCore::RequestQt::RequestQt):
3115         (WebCore::ResourceHandleManager::add):
3116         (WebCore::ResourceHandleManager::cancel):
3117         (WebCore::ResourceHandleManager::receivedResponse):
3118         (WebCore::ResourceHandleManager::receivedData):
3119         (WebCore::ResourceHandleManager::receivedFinished):
3120         (WebCore::LoaderThread::LoaderThread):
3121         (WebCore::LoaderThread::run):
3122         (WebCore::FileLoader::FileLoader):
3123         (WebCore::FileLoader::request):
3124         (WebCore::FileLoader::cancel):
3125         (WebCore::WebCoreHttp::WebCoreHttp):
3126         (WebCore::WebCoreHttp::~WebCoreHttp):
3127         (WebCore::WebCoreHttp::request):
3128         (WebCore::WebCoreHttp::scheduleNextRequest):
3129         (WebCore::WebCoreHttp::getConnection):
3130         (WebCore::WebCoreHttp::onResponseHeaderReceived):
3131         (WebCore::WebCoreHttp::onReadyRead):
3132         (WebCore::WebCoreHttp::onRequestFinished):
3133         (WebCore::WebCoreHttp::onStateChanged):
3134         (WebCore::WebCoreHttp::cancel):
3135         (WebCore::qHash):
3136         (WebCore::operator==):
3137         (WebCore::HostInfo::HostInfo):
3138         (WebCore::NetworkLoader::NetworkLoader):
3139         (WebCore::NetworkLoader::~NetworkLoader):
3140         (WebCore::NetworkLoader::request):
3141         (WebCore::NetworkLoader::connectionClosed):
3142         (WebCore::NetworkLoader::cancel):
3143         * platform/network/qt/ResourceHandleManagerQt.h: Added.
3144         (WebCore::LoaderThread::):
3145         (WebCore::LoaderThread::waitForSetup):
3146         * platform/network/qt/ResourceHandleQt.cpp:
3147         (WebCore::ResourceHandle::start):
3148         * platform/qt/FrameQt.cpp:
3149         (WebCore::FrameQt::FrameQt):
3150         (WebCore::FrameQt::keyEvent):
3151         * platform/qt/FrameQt.h:
3152         * platform/qt/FrameQtClient.cpp:
3153         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
3154         (WebCore::FrameQtClientDefault::openURL):
3155         (WebCore::FrameQtClientDefault::submitForm):
3156         (WebCore::FrameQtClientDefault::didReceiveResponse):
3157         (WebCore::FrameQtClientDefault::didFinishLoading):
3158         (WebCore::FrameQtClientDefault::didFail):
3159         (WebCore::FrameQtClientDefault::didReceiveData):
3160         (WebCore::FrameQtClientDefault::receivedAllData):
3161         (WebCore::FrameQtClientDefault::setTitle):
3162         * platform/qt/FrameQtClient.h:
3163
3164 2006-12-09  George Staikos  <staikos@kde.org>
3165
3166         Reviewed by Zack.
3167
3168         Fix bison again on qmake build.
3169
3170         * WebCore.pro:
3171
3172 2006-12-09  Zack Rusin  <zack@kde.org>
3173
3174         Reviewed by Zack.
3175
3176         Use the correct filename.
3177
3178         * WebCore.pro: it's PasteboardQt.cpp
3179
3180 2006-12-09  Zack Rusin  <zack@kde.org>
3181
3182         Reviewed by Lars.
3183
3184         Correctly set the font on widgets.
3185
3186         * platform/qt/WidgetQt.cpp:
3187         (WebCore::Widget::setFont):
3188
3189 2006-12-09  Adam Treat  <treat@kde.org>
3190
3191         Reviewed by Zack
3192
3193         No more nil renderer warnings
3194
3195         * platform/qt/ScrollViewCanvasQt.cpp:
3196         (WebCore::ScrollViewCanvasQt::paintEvent):
3197
3198 2006-12-09  Friedemann Kleint  <fkleint@trolltech.com>
3199
3200         Reviewed by Zack
3201
3202         Removed compiler warnings about rounding issues
3203
3204         * platform/qt/FontPlatformDataQt.cpp:
3205         (WebCore::FontPlatformData::FontPlatformData):
3206         * platform/qt/FontQt.cpp:
3207         (WebCore::Font::drawComplexText):
3208
3209 2006-12-09  George Staikos  <staikos@kde.org>
3210
3211         Reviewed by Zack.
3212
3213         Qt 4.1 (especially Qtopia) build fixes
3214
3215         * platform/qt/FrameQtClient.cpp:
3216         * platform/qt/GraphicsContextQt.cpp:
3217         * platform/qt/PlatformKeyboardEventQt.cpp:
3218         * platform/qt/CursorQt.cpp:
3219         * platform/qt/WidgetQt.cpp:
3220         * platform/Cursor.h:
3221         * platform/Arena.h:
3222
3223 2006-12-09  Lars Knoll <lars@trolltech.com>
3224
3225         Reviewed by Zack
3226
3227         Make it possible to build WebKit with qmake.
3228
3229         * WebCore.pro: Added.
3230         * platform/graphics/qt/GraphicsContextQt.cpp:
3231
3232 2006-12-10  Lars Knoll <lars@trolltech.com>
3233
3234         Reviewed by Zack.
3235
3236         Compile after latest WebKit changes and don't depend
3237         on deprecated methods in Qt.
3238
3239         * platform/network/qt/ResourceHandleManager.cpp:
3240         (WebCore::ResourceHandleManager::remove):
3241         (WebCore::ResourceHandleManager::deliverJobData):
3242         * platform/network/qt/ResourceHandleQt.cpp:
3243         (WebCore::ResourceHandle::extractCharsetFromHeaders):
3244         * platform/qt/PlatformKeyboardEventQt.cpp:
3245         (WebCore::windowsKeyCodeForKeyEvent):
3246
3247 2006-12-10  Lars Knoll <lars@trolltech.com>
3248
3249         Reviewed by Zack.
3250
3251         Use the Qt image loading framework.
3252
3253         * CMakeLists.txt:
3254         * platform/graphics/ImageSource.h:
3255         * platform/graphics/qt/GraphicsContextQt.cpp:
3256         * platform/graphics/qt/ImageDecoderQt.cpp: Added.
3257         (WebCore::ImageDecoderQt::ImageData::ImageData):
3258         (WebCore::ImageDecoderQt::ReadContext::):
3259         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
3260         (WebCore::ImageDecoderQt::ReadContext::read):
3261         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
3262         (WebCore::ImageDecoderQt::ImageDecoderQt):
3263         (WebCore::ImageDecoderQt::~ImageDecoderQt):
3264         (WebCore::ImageDecoderQt::hasFirstImageHeader):
3265         (WebCore::ImageDecoderQt::reset):
3266         (WebCore::ImageDecoderQt::setData):
3267         (WebCore::ImageDecoderQt::isSizeAvailable):
3268         (WebCore::ImageDecoderQt::frameCount):
3269         (WebCore::ImageDecoderQt::repetitionCount):
3270         (WebCore::ImageDecoderQt::ImageDecoderQt::supportsAlpha):
3271         (WebCore::ImageDecoderQt::duration):
3272         (WebCore::ImageDecoderQt::frameBufferAtIndex):
3273         (WebCore::ImageDecoderQt::imageAtIndex):
3274         * platform/graphics/qt/ImageDecoderQt.h: Added.
3275         (WebCore::ImageDecoderQt::):
3276         * platform/graphics/qt/ImageSourceQt.cpp:
3277         (WebCore::):
3278         (WebCore::detectImageFormat):
3279         (WebCore::createDecoder):
3280         (WebCore::ImageSource::setData):
3281         (WebCore::ImageSource::createFrameAtIndex):
3282         (WebCore::ImageSource::frameDurationAtIndex):
3283         (WebCore::ImageSource::frameHasAlphaAtIndex):
3284
3285 2006-12-09  Lars Knoll  <lars@trolltech.com>
3286
3287         Reviewed by Maciej.
3288
3289         Remove an explicit ICU dependency.
3290
3291         * xml/XPathParser.cpp:
3292         (WebCore::XPath::charCat):
3293
3294 2006-12-09  Zack Rusin  <zack@kde.org>
3295
3296         Adjusting the build after the icu changes.
3297
3298         * CMakeLists.txt:
3299
3300 2006-12-09  Adam Roben  <aroben@apple.com>
3301
3302         Reviewed by Darin.
3303
3304         Changed all ForwardingHeaders to use #include instead of #import.
3305
3306         * ForwardingHeaders/kjs/JSLock.h:
3307         * ForwardingHeaders/kjs/SavedBuiltins.h:
3308         * ForwardingHeaders/kjs/collector.h:
3309         * ForwardingHeaders/kjs/dtoa.h:
3310         * ForwardingHeaders/kjs/internal.h:
3311         * ForwardingHeaders/kjs/interpreter.h:
3312         * ForwardingHeaders/kjs/lookup.h:
3313         * ForwardingHeaders/kjs/object.h:
3314         * ForwardingHeaders/kjs/property_map.h:
3315         * ForwardingHeaders/kjs/protect.h:
3316         * ForwardingHeaders/wtf/AlwaysInline.h:
3317         * ForwardingHeaders/wtf/Assertions.h:
3318         * ForwardingHeaders/wtf/FastMalloc.h:
3319         * ForwardingHeaders/wtf/GetPtr.h:
3320         * ForwardingHeaders/wtf/HashCountedSet.h:
3321         * ForwardingHeaders/wtf/HashMap.h:
3322         * ForwardingHeaders/wtf/HashSet.h:
3323         * ForwardingHeaders/wtf/HashTraits.h:
3324         * ForwardingHeaders/wtf/MathExtras.h:
3325         * ForwardingHeaders/wtf/Noncopyable.h:
3326         * ForwardingHeaders/wtf/OwnArrayPtr.h:
3327         * ForwardingHeaders/wtf/OwnPtr.h:
3328         * ForwardingHeaders/wtf/PassRefPtr.h:
3329         * ForwardingHeaders/wtf/Platform.h:
3330         * ForwardingHeaders/wtf/RefPtr.h:
3331         * ForwardingHeaders/wtf/Vector.h:
3332
3333 2006-12-09  Rob Buis  <buis@kde.org>
3334
3335         Reviewed by Darin.
3336
3337         http://bugs.webkit.org/show_bug.cgi?id=11625
3338         Investigate possibility to share code between HTMLStyleElement and SVGStyleElement
3339
3340         Add a class shared by both HTMLStyleElement and SVGStyleElement that
3341         encapsulates the common logic.
3342
3343         * CMakeLists.txt:
3344         * WebCore.xcodeproj/project.pbxproj:
3345         * dom/Document.cpp:
3346         (WebCore::Document::recalcStyleSelector):
3347         Generalize stylesheet processing of svg and html.
3348
3349         * dom/StyleElement.cpp: Added.
3350         (WebCore::StyleElement::StyleElement):
3351         (WebCore::StyleElement::sheet):
3352         (WebCore::StyleElement::insertedIntoDocument):
3353         (WebCore::StyleElement::removedFromDocument):
3354         (WebCore::StyleElement::childrenChanged):
3355         * dom/StyleElement.h: Added.
3356         (WebCore::StyleElement::~StyleElement):
3357         (WebCore::StyleElement::isLoading):
3358         Common base class for SVGStyleElement and HTMLStyleElement.
3359
3360         * html/HTMLStyleElement.cpp:
3361         (WebCore::HTMLStyleElement::HTMLStyleElement):
3362         (WebCore::HTMLStyleElement::parseMappedAttribute):
3363         (WebCore::HTMLStyleElement::insertedIntoDocument):
3364         (WebCore::HTMLStyleElement::removedFromDocument):
3365         (WebCore::HTMLStyleElement::childrenChanged):
3366         (WebCore::HTMLStyleElement::media):
3367         (WebCore::HTMLStyleElement::setMedia):
3368         (WebCore::HTMLStyleElement::type):
3369         (WebCore::HTMLStyleElement::setType):
3370         * html/HTMLStyleElement.h:
3371         Use new common class.
3372
3373         * ksvg2/svg/SVGElement.cpp:
3374         * ksvg2/svg/SVGElement.h:
3375         * ksvg2/svg/SVGSVGElement.cpp:
3376         (WebCore::SVGSVGElement::contentScriptType):
3377         (WebCore::SVGSVGElement::contentStyleType):
3378         * ksvg2/svg/SVGSVGElement.h:
3379         Do not use tryGetAttribute(NS) anymore.
3380
3381         * ksvg2/svg/SVGStyleElement.cpp:
3382         (WebCore::SVGStyleElement::SVGStyleElement):
3383         (WebCore::SVGStyleElement::xmlspace):
3384         (WebCore::SVGStyleElement::type):
3385         (WebCore::SVGStyleElement::media):
3386         (WebCore::SVGStyleElement::title):
3387         (WebCore::SVGStyleElement::insertedIntoDocument):
3388         (WebCore::SVGStyleElement::removedFromDocument):
3389         (WebCore::SVGStyleElement::childrenChanged):
3390         * ksvg2/svg/SVGStyleElement.h:
3391         Use new common class.
3392
3393 2006-12-08  David Hyatt  <hyatt@apple.com>
3394
3395         Land the new ICU abstraction layer (WTF::Unicode).  Patch
3396         by Lars with a couple of fixes thrown in by me.
3397
3398         Reviewed by hyatt
3399
3400         * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
3401         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
3402         * WebCore.xcodeproj/project.pbxproj:
3403         * css/cssparser.cpp:
3404         (WebCore::ParseString::lower):
3405         * dom/Document.cpp:
3406         (WebCore::isValidNameStart):
3407         (WebCore::isValidNamePart):
3408         * editing/TextIterator.cpp:
3409         (WebCore::CircularSearchBuffer::append):
3410         * html/HTMLFontElement.cpp:
3411         (WebCore::parseFontSizeNumber):
3412         * html/HTMLInputElement.cpp:
3413         (WebCore::numGraphemeClusters):
3414         (WebCore::numCharactersInGraphemeClusters):
3415         * html/HTMLSelectElement.cpp:
3416         (WebCore::stripLeadingWhiteSpace):
3417         * page/Frame.h:
3418         * platform/DeprecatedString.h:
3419         (WebCore::DeprecatedChar::isSpace):
3420         (WebCore::DeprecatedChar::lower):
3421         (WebCore::DeprecatedChar::upper):
3422         * platform/Font.cpp:
3423         (WebCore::WidthIterator::advance):
3424         (WebCore::WidthIterator::normalizeVoicingMarks):
3425         * platform/FontCache.h:
3426         * platform/FontData.h:
3427         * platform/GlyphMap.cpp:
3428         * platform/GlyphMap.h:
3429         * platform/GlyphWidthMap.h:
3430         * platform/KURL.cpp:
3431         (WebCore::encodeHostname):
3432         * platform/StringHash.h:
3433         (WTF::):
3434         * platform/StringImpl.cpp:
3435         (WebCore::isSpace):
3436         (WebCore::parseLength):
3437         (WebCore::StringImpl::isLower):
3438         (WebCore::StringImpl::lower):
3439         (WebCore::StringImpl::upper):
3440         (WebCore::StringImpl::secure):
3441         (WebCore::StringImpl::foldCase):
3442         (WebCore::StringImpl::capitalize):
3443         (WebCore::StringImpl::toInt):
3444         (WebCore::equalIgnoringCase):
3445         (WebCore::StringImpl::find):
3446         * platform/StringImpl.h:
3447         * platform/TextBoundaries.h:
3448         * platform/TextBreakIterator.h: Added.
3449         (WebCore::):
3450         * platform/TextBreakIteratorICU.cpp: Added.
3451         (WebCore::wordBreakIterator):
3452         (WebCore::characterBreakIterator):
3453         (WebCore::textBreakFirst):
3454         (WebCore::textBreakNext):
3455         (WebCore::textBreakPreceding):
3456         (WebCore::textBreakFollowing):
3457         (WebCore::textBreakCurrent):
3458         * platform/TextCodec.h:
3459         * platform/TextCodecLatin1.cpp:
3460         * platform/TextEncoding.cpp:
3461         (WebCore::TextEncoding::encode):
3462         * platform/TextEncoding.h:
3463         * platform/TextEncodingRegistry.cpp:
3464         (WebCore::buildTextEncodingNameMap):
3465         (WebCore::buildTextCodecMap):
3466         * platform/TextEncodingRegistry.h:
3467         * platform/UChar.h: Removed.
3468         * platform/graphics/GraphicsContext.h:
3469         * platform/qt/GlyphMapQt.cpp:
3470         * platform/qt/TextBreakIteratorQt.cpp: Added.
3471         (WebCore::TextBreakIterator::following):
3472         (WebCore::TextBreakIterator::preceding):
3473         (WebCore::WordBreakIteratorQt::first):
3474         (WebCore::WordBreakIteratorQt::next):
3475         (WebCore::WordBreakIteratorQt::previous):
3476         (WebCore::CharBreakIteratorQt::first):
3477         (WebCore::CharBreakIteratorQt::next):
3478         (WebCore::CharBreakIteratorQt::previous):
3479         (WebCore::wordBreakIterator):
3480         (WebCore::characterBreakIterator):
3481         (WebCore::textBreakFirst):
3482         (WebCore::textBreakNext):
3483         (WebCore::textBreakPreceding):
3484         (WebCore::textBreakFollowing):
3485         (WebCore::textBreakCurrent):
3486         * platform/qt/TextCodecQt.cpp: Added.
3487         (WebCore::getAtomicName):
3488         (WebCore::TextCodecQt::registerEncodingNames):
3489         (WebCore::newTextCodecQt):
3490         (WebCore::TextCodecQt::registerCodecs):
3491         (WebCore::TextCodecQt::TextCodecQt):
3492         (WebCore::TextCodecQt::~TextCodecQt):
3493         (WebCore::TextCodecQt::decode):
3494         (WebCore::TextCodecQt::encode):
3495         * platform/qt/TextCodecQt.h: Added.
3496         * rendering/RenderBlock.cpp:
3497         (WebCore::RenderBlock::updateFirstLetter):
3498         * rendering/RenderText.cpp:
3499         (WebCore::RenderText::previousOffset):
3500         (WebCore::RenderText::nextOffset):
3501         (WebCore::RenderText::widthFromCache):
3502         * rendering/RenderText.h:
3503         * rendering/bidi.cpp:
3504         (WebCore::BidiState::BidiState):
3505         (WebCore::BidiContext::BidiContext):
3506         (WebCore::bidiNext):
3507         (WebCore::bidiFirst):
3508         (WebCore::BidiIterator::direction):
3509         (WebCore::appendRun):
3510         (WebCore::embed):
3511         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3512         (WebCore::RenderBlock::bidiReorderLine):
3513         (WebCore::RenderBlock::layoutInlineChildren):
3514         * rendering/bidi.h:
3515         (WebCore::BidiStatus::BidiStatus):
3516         (WebCore::BidiContext::dir):
3517         (WebCore::BidiContext::basicDir):
3518         (WebCore::BidiRun::BidiRun):
3519         * rendering/break_lines.h:
3520
3521 2006-12-08  Adam Roben  <aroben@apple.com>
3522
3523         Rolling out r17865 because it caused a performance regression.
3524
3525         * loader/TextResourceDecoder.cpp:
3526         (WebCore::findXMLEncoding):
3527         * platform/CString.cpp:
3528         (WebCore::CString::data):
3529         * platform/CString.h:
3530         * platform/TextStream.cpp:
3531         (WebCore::TextStream::operator<<):
3532         * platform/TextStream.h:
3533
3534 2006-12-08  Zack Rusin  <zack@kde.org>
3535
3536         Reviewed by Maciej.
3537
3538         Fix the Qt/KDE build after all the API changes.
3539
3540         * CMakeLists.txt:
3541         * editing/qt/EditorQt.cpp: Added.
3542         (WebCore::Editor::newGeneralClipboard):
3543         (WebCore::Editor::ignoreSpelling):
3544         (WebCore::Editor::learnSpelling):
3545         (WebCore::Editor::advanceToNextMisspelling):
3546         (WebCore::Editor::isSelectionMisspelled):
3547         (WebCore::Editor::isSelectionUngrammatical):
3548         (WebCore::Editor::guessesForUngrammaticalSelection):
3549         (WebCore::Editor::guessesForMisspelledSelection):
3550         (WebCore::Editor::markMisspellingsInAdjacentWords):
3551         (WebCore::Editor::markMisspellings):
3552         * loader/NavigationAction.h:
3553         * loader/qt/FrameLoaderClientQt.cpp:
3554         (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
3555         (WebCore::FrameLoaderClientQt::canHandleRequest):
3556         * loader/qt/FrameLoaderClientQt.h:
3557         * loader/qt/FrameLoaderQt.cpp:
3558         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3559         (WebCore::FrameLoader::load):
3560         * loader/qt/ResourceLoaderQt.cpp:
3561         * platform/ContextMenu.h:
3562         * platform/graphics/qt/GraphicsContextQt.cpp:
3563         * platform/graphics/qt/PathQt.cpp:
3564         (WebCore::Path::addArc):
3565         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
3566         (WebCore::SVGPaintServerLinearGradient::setup):
3567         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
3568         (WebCore::setup):
3569         * platform/network/ResourceHandle.h:
3570         (WebCore::ResourceHandle::getInternal):
3571         * platform/network/ResourceHandleInternal.h:
3572         * platform/network/qt/ResourceHandleManager.cpp:
3573         (WebCore::ResourceHandleManager::slotData):
3574         (WebCore::ResourceHandleManager::remove):
3575         * platform/network/qt/ResourceHandleQt.cpp:
3576         (WebCore::ResourceHandle::~ResourceHandle):
3577         (WebCore::ResourceHandle::start):
3578         * platform/qt/ChromeClientQt.cpp:
3579         (WebCore::ChromeClientQt::addMessageToConsole):
3580         (WebCore::ChromeClientQt::chromeDestroyed):
3581         * platform/qt/ChromeClientQt.h:
3582         * platform/qt/ContextMenuClientQt.cpp:
3583         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
3584         (WebCore::ContextMenuClientQt::downloadURL):
3585         (WebCore::ContextMenuClientQt::copyImageToClipboard):
3586         (WebCore::ContextMenuClientQt::contextMenuDestroyed):
3587         (WebCore::ContextMenuClientQt::contextMenuItemSelected):
3588         * platform/qt/ContextMenuClientQt.h:
3589         * platform/qt/ContextMenuItemQt.cpp: Added.
3590         (WebCore::ContextMenuItem::ContextMenuItem):
3591         (WebCore::ContextMenuItem::~ContextMenuItem):
3592         (WebCore::ContextMenuItem::platformDescription):
3593         (WebCore::ContextMenuItem::action):
3594         (WebCore::ContextMenuItem::title):
3595         (WebCore::ContextMenuItem::setAction):
3596         (WebCore::ContextMenuItem::setTitle):
3597         (WebCore::ContextMenuItem::setSubMenu):
3598         * platform/qt/ContextMenuQt.cpp:
3599         (WebCore::ContextMenu::ContextMenu):
3600         (WebCore::ContextMenu::~ContextMenu):
3601         (WebCore::ContextMenu::appendItem):
3602         (WebCore::ContextMenu::itemCount):
3603         (WebCore::ContextMenu::insertItem):
3604         (WebCore::ContextMenu::setPlatformDescription):
3605         * platform/qt/CursorQt.cpp:
3606         (WebCore::copyCursor):
3607         * platform/qt/EditorClientQt.cpp:
3608         (WebCore::EditorClientQt::shouldInsertNode):
3609         (WebCore::WebCore::EditorClientQt::pageDestroyed):
3610         (WebCore::EditorClientQt::smartInsertDeleteEnabled):
3611         * platform/qt/EditorClientQt.h:
3612         * platform/qt/FrameQt.cpp:
3613         (WebCore::FrameQt::FrameQt):
3614         (WebCore::FrameQt::keyEvent):
3615         * platform/qt/FrameQt.h:
3616         * platform/qt/FrameQtClient.cpp:
3617         (WebCore::FrameQtClientDefault::openURL):
3618         (WebCore::FrameQtClientDefault::submitForm):
3619         * platform/qt/LoaderFunctionsQt.cpp:
3620         * platform/qt/PasteboardQt.cpp: Added.
3621         (WebCore::Pasteboard::Pasteboard):
3622         (WebCore::Pasteboard::generalPasteboard):
3623         (WebCore::Pasteboard::clearTypes):
3624         (WebCore::Pasteboard::writeSelection):
3625         (WebCore::Pasteboard::canSmartReplace):
3626         (WebCore::Pasteboard::plainText):
3627         (WebCore::Pasteboard::documentFragment):
3628
3629 === Safari-521.32 ===
3630
3631 2006-12-08  Rob Buis  <buis@kde.org>
3632
3633         Reviewed by Maciej.
3634
3635         http://bugs.webkit.org/show_bug.cgi?id=10188
3636         Form elements added via appendChild() are not accessible via form.element
3637
3638         Make sure looking up form elements works when the form is not appended
3639         to the document.
3640
3641         * html/HTMLFormElement.cpp:
3642         (WebCore::HTMLFormElement::registerFormElement):
3643
3644 2006-12-08  Rob Buis  <buis@kde.org>
3645
3646         Reviewed by Adele.
3647
3648         http://bugs.webkit.org/show_bug.cgi?id=11765
3649         REGRESSION: Clicking on a select with size other than 1 and no children results in a crash
3650
3651         Make sure returned value is -1 for selects without children.
3652
3653         * rendering/RenderListBox.cpp:
3654         (WebCore::RenderListBox::listIndexAtOffset):
3655
3656 2006-12-08  Adam Roben  <aroben@apple.com>
3657
3658         Reviewed by Anders.
3659
3660         This is a mo' better fix for ensuring we don't use macro definitions
3661         of min/max.
3662
3663         * config.h:
3664
3665 2006-12-08  Don Gibson  <dgibson77@gmail.com>
3666
3667         Reviewed and landed by Alexey.
3668
3669         http://bugs.webkit.org/show_bug.cgi?id=11759:
3670         Windows build bustage
3671
3672         * WebCore.vcproj/WebCore/WebCore.vcproj:
3673         * bridge/win/ContextMenuClientWin.h:
3674         * bridge/win/FrameWin.h:
3675         * loader/win/FrameLoaderWin.cpp:
3676         (WebCore::FrameLoader::submitForm):
3677         * platform/network/win/ResourceHandleWin.cpp:
3678         (WebCore::ResourceHandle::onRequestComplete):
3679         (WebCore::ResourceHandle::fileLoadTimer):
3680         (WebCore::ResourceHandle::cancel):
3681         * platform/win/MouseEventWin.cpp:
3682         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3683         * platform/win/TemporaryLinkStubs.cpp:
3684         (WebCore::fileButtonChooseFileLabel):
3685         (WebCore::inputElementAltText):
3686         (WebCore::copyCursor):
3687         (WebCore::resetButtonDefaultLabel):
3688         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
3689         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
3690         (WebCore::ContextMenuClientWin::downloadURL):
3691         (WebCore::ContextMenuClientWin::copyImageToClipboard):
3692         (WebCore::Editor::ignoreSpelling):
3693         (WebCore::Editor::learnSpelling):
3694         (WebCore::Editor::isSelectionUngrammatical):
3695         (WebCore::Editor::isSelectionMisspelled):
3696         (WebCore::Editor::guessesForMisspelledSelection):
3697         (WebCore::Editor::guessesForUngrammaticalSelection):
3698         (WebCore::Editor::markMisspellingsInAdjacentWords):
3699         (WebCore::FrameLoader::load):
3700         (WebCore::FrameWin::scheduleClose):
3701         (WebCore::FrameWin::respondToChangedSelection):
3702
3703 2006-12-08  Sam Weinig  <sam@webkit.org>
3704
3705         Reviewed by Geoff.
3706
3707         Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
3708         Crash when using XMLSerializer.serializeToString() on
3709         documentless, DocumentType nodes.
3710
3711         Test: fast/dom/XMLSerializer-doctype.html
3712         Test: fast/dom/XMLSerializer-doctype2.html
3713
3714         * dom/DOMImplementation.cpp:
3715         (WebCore::DOMImplementation::createDocument): set the document of the 
3716         DocumentType node to the new document.
3717         * xml/XMLSerializer.cpp: Cleanup.
3718         (WebCore::XMLSerializer::serializeToString): now throws an exception
3719         for documentless nodes. 
3720         * xml/XMLSerializer.h: cleanup
3721         * xml/XMLSerializer.idl: add exception
3722
3723 2006-12-07  Justin Garcia  <justin.garcia@apple.com>
3724
3725         Reviewed by john
3726
3727         <rdar://problem/4836287>
3728         Cannot expand selection out of editable element when containing element is non-editable.
3729
3730         * editing/Selection.cpp:
3731         (WebCore::Selection::adjustForEditableContent): Restrict the selection endpoints
3732         to the same *highest* editable root.  This bug only happened when creating selections
3733         based in an editable region and extending into a higher editable root, so this change 
3734         doesn't expose any new kinds of deletions, but we should start thinking about how
3735         those deletions should behave.
3736         * editing/SelectionController.cpp:
3737         (WebCore::SelectionController::selectAll): Ditto.
3738
3739 2006-12-08  Beth Dakin  <bdakin@apple.com>
3740
3741         Reviewed by Maciej.
3742
3743         Add a new member variable to ContextMenuItem to hold on to the sub-
3744         menu. The new member variable is an OwnPtr<ContextMenu>
3745
3746         * platform/ContextMenu.cpp: Because of the OwnPtr in
3747         ContextMenuItem, we have to separate the declaration of
3748         ContextMenuItems away from the calls to appendItem(). Not doing so
3749         causes a build failure because OwnPtr inherits from Noncopyable.
3750         (WebCore::createFontSubMenu): Same.
3751         (WebCore::createSpellingAndGrammarSubMenu): Same.
3752         (WebCore::createSpellingSubMenu): Same.
3753         (WebCore::createSpeechSubMenu): Same.
3754         (WebCore::createWritingDirectionSubMenu): Same.
3755         (WebCore::ContextMenu::populate): Same.
3756         * platform/ContextMenuItem.h:  New member variable m_subMenu.
3757         * platform/mac/ContextMenuItemMac.mm: Take care of setting
3758         m_subMenu in addition to setting the submenu of the NSMenuItem when
3759         we have a sub-menu.
3760         (WebCore::menuToArray):
3761         (WebCore::ContextMenuItem::ContextMenuItem): Same.
3762         (WebCore::ContextMenuItem::platformSubMenu): Same.
3763         (WebCore::ContextMenuItem::setSubMenu): Same.
3764
3765 2006-12-08  MorganL  <morganl.webkit@yahoo.com>
3766
3767         Reviewed by Darin.
3768
3769         http://bugs.webkit.org/show_bug.cgi?id=11778
3770         CString::data() should be documented as returning a null terminated char array
3771
3772         * platform/CString.h:
3773         Add some basic documentation to CString.h
3774
3775 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
3776
3777         Reviewed by Geoff.
3778
3779         http://bugs.webkit.org/show_bug.cgi?id=11718
3780         REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
3781         continues to scroll automatically.
3782
3783         Test: manual-tests/autoscroll.html
3784
3785         * manual-tests/autoscroll.html: Added.
3786
3787         * page/EventHandler.cpp:
3788         (WebCore::EventHandler::handleMousePressEvent):
3789         Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
3790         Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
3791         was only defined if the event was passed down to a widget or a subframe.
3792
3793         (WebCore::EventHandler::stopAutoscrollTimer):
3794         If the mouse down event was in a subframe, stop the subframe's timer.
3795
3796 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
3797
3798         Reviewed by Geoff.
3799
3800         http://bugs.webkit.org/show_bug.cgi?id=6275
3801         XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
3802
3803         * bindings/js/JSXMLHttpRequest.cpp:
3804         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
3805         Convert null getResponseHeader strings to JS null, rather than undefined.
3806
3807 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
3808
3809         Reviewed by Darin.
3810
3811         http://bugs.webkit.org/show_bug.cgi?id=9854
3812         HTTP Refresh header with quotes is parsed incorrectly
3813
3814         Test: http/tests/misc/redirect-with-quotes.php
3815
3816         * WebCore.xcodeproj/project.pbxproj:
3817         Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
3818
3819         * dom/Document.cpp:
3820         (WebCore::Document::processHttpEquiv):
3821         * loader/FrameLoader.cpp:
3822         (WebCore::FrameLoader::receivedFirstData):
3823         Use the new implementation in HTTPHeaders.
3824
3825         * platform/network/HTTPParsers.cpp: Added.
3826         (WebCore::skipWhiteSpace):
3827         (WebCore::parseHTTPRefresh):
3828         * platform/network/HTTPParsers.h: Added.
3829         Merged and rewrote existing implementations for better Firefox compatibility.
3830
3831 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
3832
3833         Reviewed by Tim H.
3834
3835         http://bugs.webkit.org/show_bug.cgi?id=11772
3836         REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
3837
3838         Test: fast/dom/serialize-cdata.html
3839
3840         * editing/markup.cpp:
3841         (WebCore::startMarkup): Dump CDATA sections, too.
3842
3843 2006-12-08  Mitz Pettel  <mitz@webkit.org>
3844
3845         Reviewed by hyatt.
3846
3847         Deleted misplaced comment.
3848
3849         * rendering/RenderWidget.cpp:
3850
3851 2006-12-08  Rob Buis  <buis@kde.org>
3852
3853         Reviewed by Darin.
3854
3855         http://bugs.webkit.org/show_bug.cgi?id=6074
3856         WebKit+SVG and FireFox disagree on invalid "transform" handling
3857
3858         Test for parsing failure on transform attribute and clear the transform
3859         list upon failure to match FF behaviour.
3860
3861         * ksvg2/svg/SVGGradientElement.cpp:
3862         (WebCore::SVGGradientElement::parseMappedAttribute):
3863         * ksvg2/svg/SVGPatternElement.cpp:
3864         (WebCore::SVGPatternElement::parseMappedAttribute):
3865         * ksvg2/svg/SVGStyledTransformableElement.cpp:
3866         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
3867         * ksvg2/svg/SVGTextElement.cpp:
3868         (WebCore::SVGTextElement::parseMappedAttribute):
3869         * ksvg2/svg/SVGTransformable.cpp:
3870         (WebCore::SVGTransformable::parseTransformAttribute):
3871         * ksvg2/svg/SVGTransformable.h:
3872
3873 2006-12-07  Geoffrey Garen  <ggaren@apple.com>
3874
3875         Reviewed by Beth Dakin.
3876
3877         Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer 
3878         dispatches onchange event in response to enter key
3879         
3880         To match our old behavior and FF, we need to dispatch onchange in response to the
3881         ENTER key. The strategy here is just to dispatch a blur event, since that's how
3882         the search field always worked, and the DOM spec says onchange only fires
3883         as a precursor to blur.
3884
3885         * ChangeLog:
3886         * html/HTMLInputElement.cpp:
3887         (WebCore::HTMLInputElement::defaultEventHandler):
3888
3889 2006-12-07  Adam Roben  <aroben@apple.com>
3890
3891         Reviewed by Oliver.
3892
3893         Some small context menu-related fixes.
3894
3895         * html/HTMLFrameSetElement.cpp:
3896         (WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
3897         resize on a contextmenuEvent.
3898         * html/HTMLInputElement.cpp:
3899         (WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
3900         off to HTMLGenericFormElement if we haven't handled it.
3901
3902 2006-12-07  Anders Carlsson  <acarlsson@apple.com>
3903
3904         Reviewed by Darin.
3905
3906         <rdar://problem/4838778>
3907         Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
3908         
3909         * loader/SubresourceLoader.cpp:
3910         (WebCore::SubresourceLoader::stopLoading):
3911         * loader/SubresourceLoader.h:
3912         Add stopLoading method which currently just clears the client. This isn't the ideal fix,
3913         since it doesn't actually stop the load.
3914         
3915         * loader/mac/SubresourceLoaderMac.mm:
3916         (WebCore::SubresourceLoader::willSendRequest):
3917         (WebCore::SubresourceLoader::didReceiveResponse):
3918         (WebCore::SubresourceLoader::didReceiveData):
3919         (WebCore::SubresourceLoader::didFinishLoading):
3920         (WebCore::SubresourceLoader::didFail):
3921         (WebCore::SubresourceLoader::didCancel):
3922         Add null-checks.
3923         
3924         * xml/xmlhttprequest.cpp:
3925         (WebCore::XMLHttpRequest::abort):
3926         Call stopLoading.
3927
3928 2006-12-07  Kevin McCullough  <kmccullough@apple.com>
3929
3930         Reviewed by Geof.
3931
3932         - added the ability to set the auto repeating variable to force a keyPressed
3933         event from a keyDown event.
3934
3935         * platform/PlatformKeyboardEvent.h:
3936         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
3937
3938 2006-12-07  Don Gibson  <dgibson77@gmail.com>
3939
3940         Reviewed by Darin.
3941
3942         http://bugs.webkit.org/show_bug.cgi?id=11749
3943         Don't call updateThumbProportion() unnecessarily.
3944
3945         * platform/ScrollBar.cpp:
3946         (WebCore::Scrollbar::setProportion):
3947
3948 2006-12-07  Beth Dakin  <bdakin@apple.com>
3949
3950         Reviewed by Brady.
3951
3952         Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't 
3953         doing anything before, and now it works! Also some formatting 
3954         changes, etc.
3955
3956         * page/ContextMenuClient.h: Several of the parameters to several of 
3957         the functions here should be const or const references. And now 
3958         they are!
3959         * page/ContextMenuController.cpp:
3960         (WebCore::openNewWindow): Moved the open new window functionality 
3961         into a helper function since it is used by several menu item tags. 
3962         Now after calling chrome()->createWindow() we call chrome()->show() 
3963         on the new window, and so it appears!
3964         (WebCore::ContextMenuController::contextMenuItemSelected): Call new 
3965         openNewWindow function to do the right thing. Shift some 
3966         formatting, use local variable for HitTestResult. Implement action 
3967         for ContextMenuItemTagOpenLink.
3968
3969 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
3970
3971         Reviewed by.
3972
3973         - Removed a conflict marker
3974
3975         * ChangeLog:
3976
3977 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
3978
3979         Reviewed by darin
3980         
3981         <rdar://problem/4818134>
3982         Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
3983
3984         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
3985         * editing/visible_units.cpp:
3986         (WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
3987         RootInlineBoxes, like empty editable blocks and bordered blocks.
3988         (WebCore::endOfLine): Ditto.
3989         
3990 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
3991
3992         Reviewed by.
3993
3994         - Removed a conflict marker
3995
3996         * ChangeLog:
3997
3998 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
3999
4000         Reviewed by john
4001         
4002         <rdar://problem/4854869>
4003         Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts
4004
4005         * editing/htmlediting.cpp:
4006         (WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
4007         from editable content.
4008         * editing/markup.cpp:
4009         (WebCore::createMarkup): A null commonAncestorBlock will happen
4010         if commonAncestor is inside an inline editable root that doesn't
4011         contain any blocks.  Removed an early return for this case: the 
4012         code below the early return can and must handle it.
4013
4014 2006-12-06  Timothy Hatcher  <timothy@apple.com>
4015
4016         Reviewed by Mark Rowe.
4017
4018         <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
4019
4020         Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
4021         This new file will have 64-bit only symbols we need to export.
4022
4023         * WebCore.LP64.exp: Added.
4024         * WebCore.xcodeproj/project.pbxproj:
4025
4026 2006-12-06  Anders Carlsson  <acarlsson@apple.com>
4027
4028         Reviewed by Maciej.
4029         
4030         Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
4031         
4032         * loader/ResourceLoader.h:
4033         * loader/SubresourceLoader.cpp:
4034         (WebCore::SubresourceLoader::create):
4035         (WebCore::SubresourceLoader::didReceiveData):
4036         (WebCore::SubresourceLoader::didFinishLoading):
4037         (WebCore::SubresourceLoader::didFail):
4038         * loader/SubresourceLoader.h:
4039         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
4040         (WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
4041         (WebCore::SubresourceLoader::willStopBufferingData):
4042         (WebCore::SubresourceLoader::willCacheResponse):
4043         (WebCore::SubresourceLoader::receivedCredential):
4044         (WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
4045         (WebCore::SubresourceLoader::receivedCancellation):
4046         * loader/SubresourceLoaderClient.h:
4047         (WebCore::SubresourceLoaderClient::didFail):
4048         * loader/icon/IconLoader.cpp:
4049         (WebCore::IconLoader::didFail):
4050         * loader/icon/IconLoader.h:
4051         * loader/loader.cpp:
4052         (WebCore::Loader::didFail):
4053         * loader/loader.h:
4054         * loader/mac/ResourceLoaderMac.mm:
4055         (WebCore::ResourceLoader::ResourceLoader):
4056         (WebCore::ResourceLoader::addData):
4057         (WebCore::ResourceLoader::resourceData):
4058         * loader/mac/SubresourceLoaderMac.mm:
4059         (WebCore::SubresourceLoader::SubresourceLoader):
4060         (WebCore::SubresourceLoader::setDefersLoading):
4061         (WebCore::SubresourceLoader::resourceData):
4062         (WebCore::SubresourceLoader::load):
4063         (WebCore::SubresourceLoader::create):
4064         (WebCore::SubresourceLoader::willSendRequest):
4065         (WebCore::SubresourceLoader::didReceiveResponse):
4066         (WebCore::SubresourceLoader::didReceiveData):
4067         (WebCore::SubresourceLoader::didFinishLoading):
4068         (WebCore::SubresourceLoader::didFail):
4069         (WebCore::SubresourceLoader::didCancel):
4070         * platform/network/ResourceHandle.cpp:
4071         (WebCore::ResourceHandle::ResourceHandle):
4072         (WebCore::ResourceHandle::create):
4073         * platform/network/ResourceHandle.h:
4074         * platform/network/ResourceHandleClient.h:
4075         (WebCore::ResourceHandleClient::didReceiveData):
4076         (WebCore::ResourceHandleClient::didFail):
4077         (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
4078         (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
4079         (WebCore::ResourceHandleClient::willStopBufferingData):
4080         (WebCore::ResourceHandleClient::willCacheResponse):
4081         (WebCore::ResourceHandleClient::receivedCredential):
4082         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
4083         (WebCore::ResourceHandleClient::receivedCancellation):
4084         * platform/network/ResourceHandleInternal.h:
4085         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
4086         * platform/network/mac/ResourceHandleMac.mm:
4087         (WebCore::ResourceHandle::~ResourceHandle):
4088         (WebCore::ResourceHandle::start):
4089         (WebCore::ResourceHandle::cancel):
4090         (WebCore::ResourceHandle::setDefersLoading):
4091         (WebCore::ResourceHandle::delegate):
4092         (WebCore::ResourceHandle::releaseDelegate):
4093         (WebCore::ResourceHandle::supportsBufferedData):
4094         (WebCore::ResourceHandle::bufferedData):
4095         (-[WebCoreResourceHandleAsDelegate initWithHandle:]):
4096         (-[WebCoreResourceHandleAsDelegate detachHandle]):
4097         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
4098         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
4099         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
4100         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
4101         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
4102         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
4103         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
4104         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
4105         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
4106         (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
4107         (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
4108         (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
4109         * xml/xmlhttprequest.cpp:
4110         (WebCore::XMLHttpRequest::didFail):
4111         * xml/xmlhttprequest.h:
4112
4113 2006-12-06  Beth Dakin  <bdakin@apple.com>
4114
4115         Reviewed by Adam.
4116
4117         There are two bugs with WebCore ContextMenus due to the static 
4118         ContextMenuItems. One bug is that we often crashed in 
4119         NSAutoreleasePool upon quitting the browser. The other bug is that 
4120         we were adding static NSMenuItems to multiple NSMenus, which is 
4121         disallowed. To fix these bugs, the MenuItems are no longer static. 
4122         This is in line with the current design in WebKit anyway. I made 
4123         some re-arrangements in the code because I also removed the macro 
4124         that was used to create the menu items since it was a bit 
4125         confusing.
4126
4127         * platform/ContextMenu.cpp:
4128         (WebCore::createFontSubMenu):
4129         (WebCore::createSpellingAndGrammarSubMenu):
4130         (WebCore::createSpellingSubMenu):
4131         (WebCore::createSpeechSubMenu):
4132         (WebCore::createWritingDirectionSubMenu):
4133         (WebCore::ContextMenu::populate):
4134         * platform/ContextMenuItem.h:
4135         * platform/mac/ContextMenuItemMac.mm:
4136         (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem 
4137         global separator item if we have SeparatorType.
4138         * platform/mac/ContextMenuMac.mm:
4139         (WebCore::setMenuItemTarget):  Change name of getNSMenuItem since 
4140         that is no longer accurate.
4141         (WebCore::ContextMenu::appendItem): Above name change.
4142         (WebCore::ContextMenu::insertItem): Same.
4143
4144 2006-12-06  Kevin McCullough  <kmccullough@apple.com>
4145
4146         Reviewed by Geof.
4147
4148         - Returned the semantic meaning of the mask to be the actual repeat count,
4149         and changed auto_repeat to correctly differnetiate between keypressed and keydown.
4150
4151         * platform/win/KeyEventWin.cpp:
4152         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
4153
4154 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
4155
4156         Reviewed by harrison
4157         
4158         <rdar://problem/4753545>
4159         REGRESSION: Edited whitespace sequences are all nbsps (10636)
4160
4161         * WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
4162         * editing/CompositeEditCommand.cpp:
4163         (WebCore::isWhitespace): Moved from htmlediting.
4164         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
4165         once done in its own command here.  
4166         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
4167         whitespace around a position from collapsing when it's pushed apart during Paste.
4168         This function can eventually be deployed to eliminate the need for leading/trailing 
4169         whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
4170         (WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
4171         * editing/CompositeEditCommand.h:
4172         * editing/DeleteSelectionCommand.cpp:
4173         (WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
4174         saving the typing style, because whitespace rebalancing is no longer it's own
4175         command that claims to preserve the typing style.
4176         * editing/RebalanceWhitespaceCommand.cpp: Removed.
4177         * editing/RebalanceWhitespaceCommand.h: Removed.
4178         * editing/ReplaceSelectionCommand.cpp:
4179         (WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
4180         arond a position for being pushed aparat to its own method.
4181         * editing/htmlediting.cpp:
4182         (WebCore::stringWithRebalancedWhitespace): Added.  Returns a rebalanced string.
4183         Takes in whether or not the beginning of that string will be at the start of
4184         a paragraph, because a space at such a position must have be nbsp, even if
4185         that doesn't follow the nbsp/space pattern used.  Similar stuff for the end 
4186         of a paragraph.
4187         * editing/htmlediting.h:
4188         * editing/markup.cpp:
4189         (WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace.  Pass 
4190         it the startOfParagraph/endOfParagraph bools.
4191
4192 2006-12-05  John Sullivan  <sullivan@apple.com>
4193
4194         Reviewed by Beth
4195
4196  &nb