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