7276c82b14a7e3105e5f9cd331cca1ca7f49936d
[WebKit-https.git] / WebCore / ChangeLog
1 2006-12-09  Zack Rusin  <zack@kde.org>
2
3         Adjusting the build after the icu changes.
4
5         * CMakeLists.txt:
6
7 2006-12-09  Adam Roben  <aroben@apple.com>
8
9         Reviewed by Darin.
10
11         Changed all ForwardingHeaders to use #include instead of #import.
12
13         * ForwardingHeaders/kjs/JSLock.h:
14         * ForwardingHeaders/kjs/SavedBuiltins.h:
15         * ForwardingHeaders/kjs/collector.h:
16         * ForwardingHeaders/kjs/dtoa.h:
17         * ForwardingHeaders/kjs/internal.h:
18         * ForwardingHeaders/kjs/interpreter.h:
19         * ForwardingHeaders/kjs/lookup.h:
20         * ForwardingHeaders/kjs/object.h:
21         * ForwardingHeaders/kjs/property_map.h:
22         * ForwardingHeaders/kjs/protect.h:
23         * ForwardingHeaders/wtf/AlwaysInline.h:
24         * ForwardingHeaders/wtf/Assertions.h:
25         * ForwardingHeaders/wtf/FastMalloc.h:
26         * ForwardingHeaders/wtf/GetPtr.h:
27         * ForwardingHeaders/wtf/HashCountedSet.h:
28         * ForwardingHeaders/wtf/HashMap.h:
29         * ForwardingHeaders/wtf/HashSet.h:
30         * ForwardingHeaders/wtf/HashTraits.h:
31         * ForwardingHeaders/wtf/MathExtras.h:
32         * ForwardingHeaders/wtf/Noncopyable.h:
33         * ForwardingHeaders/wtf/OwnArrayPtr.h:
34         * ForwardingHeaders/wtf/OwnPtr.h:
35         * ForwardingHeaders/wtf/PassRefPtr.h:
36         * ForwardingHeaders/wtf/Platform.h:
37         * ForwardingHeaders/wtf/RefPtr.h:
38         * ForwardingHeaders/wtf/Vector.h:
39
40 2006-12-09  Rob Buis  <buis@kde.org>
41
42         Reviewed by Darin.
43
44         http://bugs.webkit.org/show_bug.cgi?id=11625
45         Investigate possibility to share code between HTMLStyleElement and SVGStyleElement
46
47         Add a class shared by both HTMLStyleElement and SVGStyleElement that
48         encapsulates the common logic.
49
50         * CMakeLists.txt:
51         * WebCore.xcodeproj/project.pbxproj:
52         * dom/Document.cpp:
53         (WebCore::Document::recalcStyleSelector):
54         Generalize stylesheet processing of svg and html.
55
56         * dom/StyleElement.cpp: Added.
57         (WebCore::StyleElement::StyleElement):
58         (WebCore::StyleElement::sheet):
59         (WebCore::StyleElement::insertedIntoDocument):
60         (WebCore::StyleElement::removedFromDocument):
61         (WebCore::StyleElement::childrenChanged):
62         * dom/StyleElement.h: Added.
63         (WebCore::StyleElement::~StyleElement):
64         (WebCore::StyleElement::isLoading):
65         Common base class for SVGStyleElement and HTMLStyleElement.
66
67         * html/HTMLStyleElement.cpp:
68         (WebCore::HTMLStyleElement::HTMLStyleElement):
69         (WebCore::HTMLStyleElement::parseMappedAttribute):
70         (WebCore::HTMLStyleElement::insertedIntoDocument):
71         (WebCore::HTMLStyleElement::removedFromDocument):
72         (WebCore::HTMLStyleElement::childrenChanged):
73         (WebCore::HTMLStyleElement::media):
74         (WebCore::HTMLStyleElement::setMedia):
75         (WebCore::HTMLStyleElement::type):
76         (WebCore::HTMLStyleElement::setType):
77         * html/HTMLStyleElement.h:
78         Use new common class.
79
80         * ksvg2/svg/SVGElement.cpp:
81         * ksvg2/svg/SVGElement.h:
82         * ksvg2/svg/SVGSVGElement.cpp:
83         (WebCore::SVGSVGElement::contentScriptType):
84         (WebCore::SVGSVGElement::contentStyleType):
85         * ksvg2/svg/SVGSVGElement.h:
86         Do not use tryGetAttribute(NS) anymore.
87
88         * ksvg2/svg/SVGStyleElement.cpp:
89         (WebCore::SVGStyleElement::SVGStyleElement):
90         (WebCore::SVGStyleElement::xmlspace):
91         (WebCore::SVGStyleElement::type):
92         (WebCore::SVGStyleElement::media):
93         (WebCore::SVGStyleElement::title):
94         (WebCore::SVGStyleElement::insertedIntoDocument):
95         (WebCore::SVGStyleElement::removedFromDocument):
96         (WebCore::SVGStyleElement::childrenChanged):
97         * ksvg2/svg/SVGStyleElement.h:
98         Use new common class.
99
100 2006-12-08  David Hyatt  <hyatt@apple.com>
101
102         Land the new ICU abstraction layer (WTF::Unicode).  Patch
103         by Lars with a couple of fixes thrown in by me.
104
105         Reviewed by hyatt
106
107         * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
108         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
109         * WebCore.xcodeproj/project.pbxproj:
110         * css/cssparser.cpp:
111         (WebCore::ParseString::lower):
112         * dom/Document.cpp:
113         (WebCore::isValidNameStart):
114         (WebCore::isValidNamePart):
115         * editing/TextIterator.cpp:
116         (WebCore::CircularSearchBuffer::append):
117         * html/HTMLFontElement.cpp:
118         (WebCore::parseFontSizeNumber):
119         * html/HTMLInputElement.cpp:
120         (WebCore::numGraphemeClusters):
121         (WebCore::numCharactersInGraphemeClusters):
122         * html/HTMLSelectElement.cpp:
123         (WebCore::stripLeadingWhiteSpace):
124         * page/Frame.h:
125         * platform/DeprecatedString.h:
126         (WebCore::DeprecatedChar::isSpace):
127         (WebCore::DeprecatedChar::lower):
128         (WebCore::DeprecatedChar::upper):
129         * platform/Font.cpp:
130         (WebCore::WidthIterator::advance):
131         (WebCore::WidthIterator::normalizeVoicingMarks):
132         * platform/FontCache.h:
133         * platform/FontData.h:
134         * platform/GlyphMap.cpp:
135         * platform/GlyphMap.h:
136         * platform/GlyphWidthMap.h:
137         * platform/KURL.cpp:
138         (WebCore::encodeHostname):
139         * platform/StringHash.h:
140         (WTF::):
141         * platform/StringImpl.cpp:
142         (WebCore::isSpace):
143         (WebCore::parseLength):
144         (WebCore::StringImpl::isLower):
145         (WebCore::StringImpl::lower):
146         (WebCore::StringImpl::upper):
147         (WebCore::StringImpl::secure):
148         (WebCore::StringImpl::foldCase):
149         (WebCore::StringImpl::capitalize):
150         (WebCore::StringImpl::toInt):
151         (WebCore::equalIgnoringCase):
152         (WebCore::StringImpl::find):
153         * platform/StringImpl.h:
154         * platform/TextBoundaries.h:
155         * platform/TextBreakIterator.h: Added.
156         (WebCore::):
157         * platform/TextBreakIteratorICU.cpp: Added.
158         (WebCore::wordBreakIterator):
159         (WebCore::characterBreakIterator):
160         (WebCore::textBreakFirst):
161         (WebCore::textBreakNext):
162         (WebCore::textBreakPreceding):
163         (WebCore::textBreakFollowing):
164         (WebCore::textBreakCurrent):
165         * platform/TextCodec.h:
166         * platform/TextCodecLatin1.cpp:
167         * platform/TextEncoding.cpp:
168         (WebCore::TextEncoding::encode):
169         * platform/TextEncoding.h:
170         * platform/TextEncodingRegistry.cpp:
171         (WebCore::buildTextEncodingNameMap):
172         (WebCore::buildTextCodecMap):
173         * platform/TextEncodingRegistry.h:
174         * platform/UChar.h: Removed.
175         * platform/graphics/GraphicsContext.h:
176         * platform/qt/GlyphMapQt.cpp:
177         * platform/qt/TextBreakIteratorQt.cpp: Added.
178         (WebCore::TextBreakIterator::following):
179         (WebCore::TextBreakIterator::preceding):
180         (WebCore::WordBreakIteratorQt::first):
181         (WebCore::WordBreakIteratorQt::next):
182         (WebCore::WordBreakIteratorQt::previous):
183         (WebCore::CharBreakIteratorQt::first):
184         (WebCore::CharBreakIteratorQt::next):
185         (WebCore::CharBreakIteratorQt::previous):
186         (WebCore::wordBreakIterator):
187         (WebCore::characterBreakIterator):
188         (WebCore::textBreakFirst):
189         (WebCore::textBreakNext):
190         (WebCore::textBreakPreceding):
191         (WebCore::textBreakFollowing):
192         (WebCore::textBreakCurrent):
193         * platform/qt/TextCodecQt.cpp: Added.
194         (WebCore::getAtomicName):
195         (WebCore::TextCodecQt::registerEncodingNames):
196         (WebCore::newTextCodecQt):
197         (WebCore::TextCodecQt::registerCodecs):
198         (WebCore::TextCodecQt::TextCodecQt):
199         (WebCore::TextCodecQt::~TextCodecQt):
200         (WebCore::TextCodecQt::decode):
201         (WebCore::TextCodecQt::encode):
202         * platform/qt/TextCodecQt.h: Added.
203         * rendering/RenderBlock.cpp:
204         (WebCore::RenderBlock::updateFirstLetter):
205         * rendering/RenderText.cpp:
206         (WebCore::RenderText::previousOffset):
207         (WebCore::RenderText::nextOffset):
208         (WebCore::RenderText::widthFromCache):
209         * rendering/RenderText.h:
210         * rendering/bidi.cpp:
211         (WebCore::BidiState::BidiState):
212         (WebCore::BidiContext::BidiContext):
213         (WebCore::bidiNext):
214         (WebCore::bidiFirst):
215         (WebCore::BidiIterator::direction):
216         (WebCore::appendRun):
217         (WebCore::embed):
218         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
219         (WebCore::RenderBlock::bidiReorderLine):
220         (WebCore::RenderBlock::layoutInlineChildren):
221         * rendering/bidi.h:
222         (WebCore::BidiStatus::BidiStatus):
223         (WebCore::BidiContext::dir):
224         (WebCore::BidiContext::basicDir):
225         (WebCore::BidiRun::BidiRun):
226         * rendering/break_lines.h:
227
228 2006-12-08  Adam Roben  <aroben@apple.com>
229
230         Rolling out r17865 because it caused a performance regression.
231
232         * loader/TextResourceDecoder.cpp:
233         (WebCore::findXMLEncoding):
234         * platform/CString.cpp:
235         (WebCore::CString::data):
236         * platform/CString.h:
237         * platform/TextStream.cpp:
238         (WebCore::TextStream::operator<<):
239         * platform/TextStream.h:
240
241 2006-12-08  Zack Rusin  <zack@kde.org>
242
243         Reviewed by Maciej.
244
245         Fix the Qt/KDE build after all the API changes.
246
247         * CMakeLists.txt:
248         * editing/qt/EditorQt.cpp: Added.
249         (WebCore::Editor::newGeneralClipboard):
250         (WebCore::Editor::ignoreSpelling):
251         (WebCore::Editor::learnSpelling):
252         (WebCore::Editor::advanceToNextMisspelling):
253         (WebCore::Editor::isSelectionMisspelled):
254         (WebCore::Editor::isSelectionUngrammatical):
255         (WebCore::Editor::guessesForUngrammaticalSelection):
256         (WebCore::Editor::guessesForMisspelledSelection):
257         (WebCore::Editor::markMisspellingsInAdjacentWords):
258         (WebCore::Editor::markMisspellings):
259         * loader/NavigationAction.h:
260         * loader/qt/FrameLoaderClientQt.cpp:
261         (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
262         (WebCore::FrameLoaderClientQt::canHandleRequest):
263         * loader/qt/FrameLoaderClientQt.h:
264         * loader/qt/FrameLoaderQt.cpp:
265         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
266         (WebCore::FrameLoader::load):
267         * loader/qt/ResourceLoaderQt.cpp:
268         * platform/ContextMenu.h:
269         * platform/graphics/qt/GraphicsContextQt.cpp:
270         * platform/graphics/qt/PathQt.cpp:
271         (WebCore::Path::addArc):
272         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
273         (WebCore::SVGPaintServerLinearGradient::setup):
274         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
275         (WebCore::setup):
276         * platform/network/ResourceHandle.h:
277         (WebCore::ResourceHandle::getInternal):
278         * platform/network/ResourceHandleInternal.h:
279         * platform/network/qt/ResourceHandleManager.cpp:
280         (WebCore::ResourceHandleManager::slotData):
281         (WebCore::ResourceHandleManager::remove):
282         * platform/network/qt/ResourceHandleQt.cpp:
283         (WebCore::ResourceHandle::~ResourceHandle):
284         (WebCore::ResourceHandle::start):
285         * platform/qt/ChromeClientQt.cpp:
286         (WebCore::ChromeClientQt::addMessageToConsole):
287         (WebCore::ChromeClientQt::chromeDestroyed):
288         * platform/qt/ChromeClientQt.h:
289         * platform/qt/ContextMenuClientQt.cpp:
290         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
291         (WebCore::ContextMenuClientQt::downloadURL):
292         (WebCore::ContextMenuClientQt::copyImageToClipboard):
293         (WebCore::ContextMenuClientQt::contextMenuDestroyed):
294         (WebCore::ContextMenuClientQt::contextMenuItemSelected):
295         * platform/qt/ContextMenuClientQt.h:
296         * platform/qt/ContextMenuItemQt.cpp: Added.
297         (WebCore::ContextMenuItem::ContextMenuItem):
298         (WebCore::ContextMenuItem::~ContextMenuItem):
299         (WebCore::ContextMenuItem::platformDescription):
300         (WebCore::ContextMenuItem::action):
301         (WebCore::ContextMenuItem::title):
302         (WebCore::ContextMenuItem::setAction):
303         (WebCore::ContextMenuItem::setTitle):
304         (WebCore::ContextMenuItem::setSubMenu):
305         * platform/qt/ContextMenuQt.cpp:
306         (WebCore::ContextMenu::ContextMenu):
307         (WebCore::ContextMenu::~ContextMenu):
308         (WebCore::ContextMenu::appendItem):
309         (WebCore::ContextMenu::itemCount):
310         (WebCore::ContextMenu::insertItem):
311         (WebCore::ContextMenu::setPlatformDescription):
312         * platform/qt/CursorQt.cpp:
313         (WebCore::copyCursor):
314         * platform/qt/EditorClientQt.cpp:
315         (WebCore::EditorClientQt::shouldInsertNode):
316         (WebCore::WebCore::EditorClientQt::pageDestroyed):
317         (WebCore::EditorClientQt::smartInsertDeleteEnabled):
318         * platform/qt/EditorClientQt.h:
319         * platform/qt/FrameQt.cpp:
320         (WebCore::FrameQt::FrameQt):
321         (WebCore::FrameQt::keyEvent):
322         * platform/qt/FrameQt.h:
323         * platform/qt/FrameQtClient.cpp:
324         (WebCore::FrameQtClientDefault::openURL):
325         (WebCore::FrameQtClientDefault::submitForm):
326         * platform/qt/LoaderFunctionsQt.cpp:
327         * platform/qt/PasteboardQt.cpp: Added.
328         (WebCore::Pasteboard::Pasteboard):
329         (WebCore::Pasteboard::generalPasteboard):
330         (WebCore::Pasteboard::clearTypes):
331         (WebCore::Pasteboard::writeSelection):
332         (WebCore::Pasteboard::canSmartReplace):
333         (WebCore::Pasteboard::plainText):
334         (WebCore::Pasteboard::documentFragment):
335
336 === Safari-521.32 ===
337
338 2006-12-08  Rob Buis  <buis@kde.org>
339
340         Reviewed by Maciej.
341
342         http://bugs.webkit.org/show_bug.cgi?id=10188
343         Form elements added via appendChild() are not accessible via form.element
344
345         Make sure looking up form elements works when the form is not appended
346         to the document.
347
348         * html/HTMLFormElement.cpp:
349         (WebCore::HTMLFormElement::registerFormElement):
350
351 2006-12-08  Rob Buis  <buis@kde.org>
352
353         Reviewed by Adele.
354
355         http://bugs.webkit.org/show_bug.cgi?id=11765
356         REGRESSION: Clicking on a select with size other than 1 and no children results in a crash
357
358         Make sure returned value is -1 for selects without children.
359
360         * rendering/RenderListBox.cpp:
361         (WebCore::RenderListBox::listIndexAtOffset):
362
363 2006-12-08  Adam Roben  <aroben@apple.com>
364
365         Reviewed by Anders.
366
367         This is a mo' better fix for ensuring we don't use macro definitions
368         of min/max.
369
370         * config.h:
371
372 2006-12-08  Don Gibson  <dgibson77@gmail.com>
373
374         Reviewed and landed by Alexey.
375
376         http://bugs.webkit.org/show_bug.cgi?id=11759:
377         Windows build bustage
378
379         * WebCore.vcproj/WebCore/WebCore.vcproj:
380         * bridge/win/ContextMenuClientWin.h:
381         * bridge/win/FrameWin.h:
382         * loader/win/FrameLoaderWin.cpp:
383         (WebCore::FrameLoader::submitForm):
384         * platform/network/win/ResourceHandleWin.cpp:
385         (WebCore::ResourceHandle::onRequestComplete):
386         (WebCore::ResourceHandle::fileLoadTimer):
387         (WebCore::ResourceHandle::cancel):
388         * platform/win/MouseEventWin.cpp:
389         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
390         * platform/win/TemporaryLinkStubs.cpp:
391         (WebCore::fileButtonChooseFileLabel):
392         (WebCore::inputElementAltText):
393         (WebCore::copyCursor):
394         (WebCore::resetButtonDefaultLabel):
395         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
396         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
397         (WebCore::ContextMenuClientWin::downloadURL):
398         (WebCore::ContextMenuClientWin::copyImageToClipboard):
399         (WebCore::Editor::ignoreSpelling):
400         (WebCore::Editor::learnSpelling):
401         (WebCore::Editor::isSelectionUngrammatical):
402         (WebCore::Editor::isSelectionMisspelled):
403         (WebCore::Editor::guessesForMisspelledSelection):
404         (WebCore::Editor::guessesForUngrammaticalSelection):
405         (WebCore::Editor::markMisspellingsInAdjacentWords):
406         (WebCore::FrameLoader::load):
407         (WebCore::FrameWin::scheduleClose):
408         (WebCore::FrameWin::respondToChangedSelection):
409
410 2006-12-08  Sam Weinig  <sam@webkit.org>
411
412         Reviewed by Geoff.
413
414         Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
415         Crash when using XMLSerializer.serializeToString() on
416         documentless, DocumentType nodes.
417
418         Test: fast/dom/XMLSerializer-doctype.html
419         Test: fast/dom/XMLSerializer-doctype2.html
420
421         * dom/DOMImplementation.cpp:
422         (WebCore::DOMImplementation::createDocument): set the document of the 
423         DocumentType node to the new document.
424         * xml/XMLSerializer.cpp: Cleanup.
425         (WebCore::XMLSerializer::serializeToString): now throws an exception
426         for documentless nodes. 
427         * xml/XMLSerializer.h: cleanup
428         * xml/XMLSerializer.idl: add exception
429
430 2006-12-07  Justin Garcia  <justin.garcia@apple.com>
431
432         Reviewed by john
433
434         <rdar://problem/4836287>
435         Cannot expand selection out of editable element when containing element is non-editable.
436
437         * editing/Selection.cpp:
438         (WebCore::Selection::adjustForEditableContent): Restrict the selection endpoints
439         to the same *highest* editable root.  This bug only happened when creating selections
440         based in an editable region and extending into a higher editable root, so this change 
441         doesn't expose any new kinds of deletions, but we should start thinking about how
442         those deletions should behave.
443         * editing/SelectionController.cpp:
444         (WebCore::SelectionController::selectAll): Ditto.
445
446 2006-12-08  Beth Dakin  <bdakin@apple.com>
447
448         Reviewed by Maciej.
449
450         Add a new member variable to ContextMenuItem to hold on to the sub-
451         menu. The new member variable is an OwnPtr<ContextMenu>
452
453         * platform/ContextMenu.cpp: Because of the OwnPtr in
454         ContextMenuItem, we have to separate the declaration of
455         ContextMenuItems away from the calls to appendItem(). Not doing so
456         causes a build failure because OwnPtr inherits from Noncopyable.
457         (WebCore::createFontSubMenu): Same.
458         (WebCore::createSpellingAndGrammarSubMenu): Same.
459         (WebCore::createSpellingSubMenu): Same.
460         (WebCore::createSpeechSubMenu): Same.
461         (WebCore::createWritingDirectionSubMenu): Same.
462         (WebCore::ContextMenu::populate): Same.
463         * platform/ContextMenuItem.h:  New member variable m_subMenu.
464         * platform/mac/ContextMenuItemMac.mm: Take care of setting
465         m_subMenu in addition to setting the submenu of the NSMenuItem when
466         we have a sub-menu.
467         (WebCore::menuToArray):
468         (WebCore::ContextMenuItem::ContextMenuItem): Same.
469         (WebCore::ContextMenuItem::platformSubMenu): Same.
470         (WebCore::ContextMenuItem::setSubMenu): Same.
471
472 2006-12-08  MorganL  <morganl.webkit@yahoo.com>
473
474         Reviewed by Darin.
475
476         http://bugs.webkit.org/show_bug.cgi?id=11778
477         CString::data() should be documented as returning a null terminated char array
478
479         * platform/CString.h:
480         Add some basic documentation to CString.h
481
482 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
483
484         Reviewed by Geoff.
485
486         http://bugs.webkit.org/show_bug.cgi?id=11718
487         REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
488         continues to scroll automatically.
489
490         Test: manual-tests/autoscroll.html
491
492         * manual-tests/autoscroll.html: Added.
493
494         * page/EventHandler.cpp:
495         (WebCore::EventHandler::handleMousePressEvent):
496         Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
497         Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
498         was only defined if the event was passed down to a widget or a subframe.
499
500         (WebCore::EventHandler::stopAutoscrollTimer):
501         If the mouse down event was in a subframe, stop the subframe's timer.
502
503 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
504
505         Reviewed by Geoff.
506
507         http://bugs.webkit.org/show_bug.cgi?id=6275
508         XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
509
510         * bindings/js/JSXMLHttpRequest.cpp:
511         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
512         Convert null getResponseHeader strings to JS null, rather than undefined.
513
514 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
515
516         Reviewed by Darin.
517
518         http://bugs.webkit.org/show_bug.cgi?id=9854
519         HTTP Refresh header with quotes is parsed incorrectly
520
521         Test: http/tests/misc/redirect-with-quotes.php
522
523         * WebCore.xcodeproj/project.pbxproj:
524         Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
525
526         * dom/Document.cpp:
527         (WebCore::Document::processHttpEquiv):
528         * loader/FrameLoader.cpp:
529         (WebCore::FrameLoader::receivedFirstData):
530         Use the new implementation in HTTPHeaders.
531
532         * platform/network/HTTPParsers.cpp: Added.
533         (WebCore::skipWhiteSpace):
534         (WebCore::parseHTTPRefresh):
535         * platform/network/HTTPParsers.h: Added.
536         Merged and rewrote existing implementations for better Firefox compatibility.
537
538 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
539
540         Reviewed by Tim H.
541
542         http://bugs.webkit.org/show_bug.cgi?id=11772
543         REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
544
545         Test: fast/dom/serialize-cdata.html
546
547         * editing/markup.cpp:
548         (WebCore::startMarkup): Dump CDATA sections, too.
549
550 2006-12-08  Mitz Pettel  <mitz@webkit.org>
551
552         Reviewed by hyatt.
553
554         Deleted misplaced comment.
555
556         * rendering/RenderWidget.cpp:
557
558 2006-12-08  Rob Buis  <buis@kde.org>
559
560         Reviewed by Darin.
561
562         http://bugs.webkit.org/show_bug.cgi?id=6074
563         WebKit+SVG and FireFox disagree on invalid "transform" handling
564
565         Test for parsing failure on transform attribute and clear the transform
566         list upon failure to match FF behaviour.
567
568         * ksvg2/svg/SVGGradientElement.cpp:
569         (WebCore::SVGGradientElement::parseMappedAttribute):
570         * ksvg2/svg/SVGPatternElement.cpp:
571         (WebCore::SVGPatternElement::parseMappedAttribute):
572         * ksvg2/svg/SVGStyledTransformableElement.cpp:
573         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
574         * ksvg2/svg/SVGTextElement.cpp:
575         (WebCore::SVGTextElement::parseMappedAttribute):
576         * ksvg2/svg/SVGTransformable.cpp:
577         (WebCore::SVGTransformable::parseTransformAttribute):
578         * ksvg2/svg/SVGTransformable.h:
579
580 2006-12-07  Geoffrey Garen  <ggaren@apple.com>
581
582         Reviewed by Beth Dakin.
583
584         Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer 
585         dispatches onchange event in response to enter key
586         
587         To match our old behavior and FF, we need to dispatch onchange in response to the
588         ENTER key. The strategy here is just to dispatch a blur event, since that's how
589         the search field always worked, and the DOM spec says onchange only fires
590         as a precursor to blur.
591
592         * ChangeLog:
593         * html/HTMLInputElement.cpp:
594         (WebCore::HTMLInputElement::defaultEventHandler):
595
596 2006-12-07  Adam Roben  <aroben@apple.com>
597
598         Reviewed by Oliver.
599
600         Some small context menu-related fixes.
601
602         * html/HTMLFrameSetElement.cpp:
603         (WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
604         resize on a contextmenuEvent.
605         * html/HTMLInputElement.cpp:
606         (WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
607         off to HTMLGenericFormElement if we haven't handled it.
608
609 2006-12-07  Anders Carlsson  <acarlsson@apple.com>
610
611         Reviewed by Darin.
612
613         <rdar://problem/4838778>
614         Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
615         
616         * loader/SubresourceLoader.cpp:
617         (WebCore::SubresourceLoader::stopLoading):
618         * loader/SubresourceLoader.h:
619         Add stopLoading method which currently just clears the client. This isn't the ideal fix,
620         since it doesn't actually stop the load.
621         
622         * loader/mac/SubresourceLoaderMac.mm:
623         (WebCore::SubresourceLoader::willSendRequest):
624         (WebCore::SubresourceLoader::didReceiveResponse):
625         (WebCore::SubresourceLoader::didReceiveData):
626         (WebCore::SubresourceLoader::didFinishLoading):
627         (WebCore::SubresourceLoader::didFail):
628         (WebCore::SubresourceLoader::didCancel):
629         Add null-checks.
630         
631         * xml/xmlhttprequest.cpp:
632         (WebCore::XMLHttpRequest::abort):
633         Call stopLoading.
634
635 2006-12-07  Kevin McCullough  <kmccullough@apple.com>
636
637         Reviewed by Geof.
638
639         - added the ability to set the auto repeating variable to force a keyPressed
640         event from a keyDown event.
641
642         * platform/PlatformKeyboardEvent.h:
643         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
644
645 2006-12-07  Don Gibson  <dgibson77@gmail.com>
646
647         Reviewed by Darin.
648
649         http://bugs.webkit.org/show_bug.cgi?id=11749
650         Don't call updateThumbProportion() unnecessarily.
651
652         * platform/ScrollBar.cpp:
653         (WebCore::Scrollbar::setProportion):
654
655 2006-12-07  Beth Dakin  <bdakin@apple.com>
656
657         Reviewed by Brady.
658
659         Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't 
660         doing anything before, and now it works! Also some formatting 
661         changes, etc.
662
663         * page/ContextMenuClient.h: Several of the parameters to several of 
664         the functions here should be const or const references. And now 
665         they are!
666         * page/ContextMenuController.cpp:
667         (WebCore::openNewWindow): Moved the open new window functionality 
668         into a helper function since it is used by several menu item tags. 
669         Now after calling chrome()->createWindow() we call chrome()->show() 
670         on the new window, and so it appears!
671         (WebCore::ContextMenuController::contextMenuItemSelected): Call new 
672         openNewWindow function to do the right thing. Shift some 
673         formatting, use local variable for HitTestResult. Implement action 
674         for ContextMenuItemTagOpenLink.
675
676 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
677
678         Reviewed by.
679
680         - Removed a conflict marker
681
682         * ChangeLog:
683
684 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
685
686         Reviewed by darin
687         
688         <rdar://problem/4818134>
689         Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
690
691         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
692         * editing/visible_units.cpp:
693         (WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
694         RootInlineBoxes, like empty editable blocks and bordered blocks.
695         (WebCore::endOfLine): Ditto.
696         
697 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
698
699         Reviewed by.
700
701         - Removed a conflict marker
702
703         * ChangeLog:
704
705 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
706
707         Reviewed by john
708         
709         <rdar://problem/4854869>
710         Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts
711
712         * editing/htmlediting.cpp:
713         (WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
714         from editable content.
715         * editing/markup.cpp:
716         (WebCore::createMarkup): A null commonAncestorBlock will happen
717         if commonAncestor is inside an inline editable root that doesn't
718         contain any blocks.  Removed an early return for this case: the 
719         code below the early return can and must handle it.
720
721 2006-12-06  Timothy Hatcher  <timothy@apple.com>
722
723         Reviewed by Mark Rowe.
724
725         <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
726
727         Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
728         This new file will have 64-bit only symbols we need to export.
729
730         * WebCore.LP64.exp: Added.
731         * WebCore.xcodeproj/project.pbxproj:
732
733 2006-12-06  Anders Carlsson  <acarlsson@apple.com>
734
735         Reviewed by Maciej.
736         
737         Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
738         
739         * loader/ResourceLoader.h:
740         * loader/SubresourceLoader.cpp:
741         (WebCore::SubresourceLoader::create):
742         (WebCore::SubresourceLoader::didReceiveData):
743         (WebCore::SubresourceLoader::didFinishLoading):
744         (WebCore::SubresourceLoader::didFail):
745         * loader/SubresourceLoader.h:
746         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
747         (WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
748         (WebCore::SubresourceLoader::willStopBufferingData):
749         (WebCore::SubresourceLoader::willCacheResponse):
750         (WebCore::SubresourceLoader::receivedCredential):
751         (WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
752         (WebCore::SubresourceLoader::receivedCancellation):
753         * loader/SubresourceLoaderClient.h:
754         (WebCore::SubresourceLoaderClient::didFail):
755         * loader/icon/IconLoader.cpp:
756         (WebCore::IconLoader::didFail):
757         * loader/icon/IconLoader.h:
758         * loader/loader.cpp:
759         (WebCore::Loader::didFail):
760         * loader/loader.h:
761         * loader/mac/ResourceLoaderMac.mm:
762         (WebCore::ResourceLoader::ResourceLoader):
763         (WebCore::ResourceLoader::addData):
764         (WebCore::ResourceLoader::resourceData):
765         * loader/mac/SubresourceLoaderMac.mm:
766         (WebCore::SubresourceLoader::SubresourceLoader):
767         (WebCore::SubresourceLoader::setDefersLoading):
768         (WebCore::SubresourceLoader::resourceData):
769         (WebCore::SubresourceLoader::load):
770         (WebCore::SubresourceLoader::create):
771         (WebCore::SubresourceLoader::willSendRequest):
772         (WebCore::SubresourceLoader::didReceiveResponse):
773         (WebCore::SubresourceLoader::didReceiveData):
774         (WebCore::SubresourceLoader::didFinishLoading):
775         (WebCore::SubresourceLoader::didFail):
776         (WebCore::SubresourceLoader::didCancel):
777         * platform/network/ResourceHandle.cpp:
778         (WebCore::ResourceHandle::ResourceHandle):
779         (WebCore::ResourceHandle::create):
780         * platform/network/ResourceHandle.h:
781         * platform/network/ResourceHandleClient.h:
782         (WebCore::ResourceHandleClient::didReceiveData):
783         (WebCore::ResourceHandleClient::didFail):
784         (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
785         (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
786         (WebCore::ResourceHandleClient::willStopBufferingData):
787         (WebCore::ResourceHandleClient::willCacheResponse):
788         (WebCore::ResourceHandleClient::receivedCredential):
789         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
790         (WebCore::ResourceHandleClient::receivedCancellation):
791         * platform/network/ResourceHandleInternal.h:
792         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
793         * platform/network/mac/ResourceHandleMac.mm:
794         (WebCore::ResourceHandle::~ResourceHandle):
795         (WebCore::ResourceHandle::start):
796         (WebCore::ResourceHandle::cancel):
797         (WebCore::ResourceHandle::setDefersLoading):
798         (WebCore::ResourceHandle::delegate):
799         (WebCore::ResourceHandle::releaseDelegate):
800         (WebCore::ResourceHandle::supportsBufferedData):
801         (WebCore::ResourceHandle::bufferedData):
802         (-[WebCoreResourceHandleAsDelegate initWithHandle:]):
803         (-[WebCoreResourceHandleAsDelegate detachHandle]):
804         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
805         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
806         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
807         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
808         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
809         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
810         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
811         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
812         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
813         (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
814         (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
815         (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
816         * xml/xmlhttprequest.cpp:
817         (WebCore::XMLHttpRequest::didFail):
818         * xml/xmlhttprequest.h:
819
820 2006-12-06  Beth Dakin  <bdakin@apple.com>
821
822         Reviewed by Adam.
823
824         There are two bugs with WebCore ContextMenus due to the static 
825         ContextMenuItems. One bug is that we often crashed in 
826         NSAutoreleasePool upon quitting the browser. The other bug is that 
827         we were adding static NSMenuItems to multiple NSMenus, which is 
828         disallowed. To fix these bugs, the MenuItems are no longer static. 
829         This is in line with the current design in WebKit anyway. I made 
830         some re-arrangements in the code because I also removed the macro 
831         that was used to create the menu items since it was a bit 
832         confusing.
833
834         * platform/ContextMenu.cpp:
835         (WebCore::createFontSubMenu):
836         (WebCore::createSpellingAndGrammarSubMenu):
837         (WebCore::createSpellingSubMenu):
838         (WebCore::createSpeechSubMenu):
839         (WebCore::createWritingDirectionSubMenu):
840         (WebCore::ContextMenu::populate):
841         * platform/ContextMenuItem.h:
842         * platform/mac/ContextMenuItemMac.mm:
843         (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem 
844         global separator item if we have SeparatorType.
845         * platform/mac/ContextMenuMac.mm:
846         (WebCore::setMenuItemTarget):  Change name of getNSMenuItem since 
847         that is no longer accurate.
848         (WebCore::ContextMenu::appendItem): Above name change.
849         (WebCore::ContextMenu::insertItem): Same.
850
851 2006-12-06  Kevin McCullough  <kmccullough@apple.com>
852
853         Reviewed by Geof.
854
855         - Returned the semantic meaning of the mask to be the actual repeat count,
856         and changed auto_repeat to correctly differnetiate between keypressed and keydown.
857
858         * platform/win/KeyEventWin.cpp:
859         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
860
861 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
862
863         Reviewed by harrison
864         
865         <rdar://problem/4753545>
866         REGRESSION: Edited whitespace sequences are all nbsps (10636)
867
868         * WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
869         * editing/CompositeEditCommand.cpp:
870         (WebCore::isWhitespace): Moved from htmlediting.
871         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
872         once done in its own command here.  
873         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
874         whitespace around a position from collapsing when it's pushed apart during Paste.
875         This function can eventually be deployed to eliminate the need for leading/trailing 
876         whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
877         (WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
878         * editing/CompositeEditCommand.h:
879         * editing/DeleteSelectionCommand.cpp:
880         (WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
881         saving the typing style, because whitespace rebalancing is no longer it's own
882         command that claims to preserve the typing style.
883         * editing/RebalanceWhitespaceCommand.cpp: Removed.
884         * editing/RebalanceWhitespaceCommand.h: Removed.
885         * editing/ReplaceSelectionCommand.cpp:
886         (WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
887         arond a position for being pushed aparat to its own method.
888         * editing/htmlediting.cpp:
889         (WebCore::stringWithRebalancedWhitespace): Added.  Returns a rebalanced string.
890         Takes in whether or not the beginning of that string will be at the start of
891         a paragraph, because a space at such a position must have be nbsp, even if
892         that doesn't follow the nbsp/space pattern used.  Similar stuff for the end 
893         of a paragraph.
894         * editing/htmlediting.h:
895         * editing/markup.cpp:
896         (WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace.  Pass 
897         it the startOfParagraph/endOfParagraph bools.
898
899 2006-12-05  John Sullivan  <sullivan@apple.com>
900
901         Reviewed by Beth
902
903         Moved spelling and grammar code from Frame to Editor
904
905         * WebCore.exp:
906         updated for these changes
907
908         * page/Frame.h:
909         removed declarations of spelling and grammar functions
910
911         * bridge/mac/FrameMac.h:
912         removed declarations of spelling and grammar functions
913
914         * bridge/mac/FrameMac.mm:
915         moved implementation of spelling and grammar functions from here
916         (WebCore::FrameMac::respondToChangedSelection):
917         updated for moved functions
918
919         * editing/Editor.h:
920         moved declarations of spelling and grammar functions to here
921
922         * editing/mac/EditorMac.mm:
923         moved implementation of spelling and grammar functions to here; changed
924         only to make it compile (e.g. removing "editor()->" and adding "frame()->"
925         where appropraite.
926         (WebCore::findFirstMisspellingInRange):
927         (WebCore::paragraphAlignedRangeForRange):
928         (WebCore::findFirstGrammarDetailInRange):
929         (WebCore::findFirstBadGrammarInRange):
930         (WebCore::Editor::advanceToNextMisspelling):
931         (WebCore::Editor::isSelectionMisspelled):
932         (WebCore::isRangeUngrammatical):
933         (WebCore::Editor::isSelectionUngrammatical):
934         (WebCore::Editor::guessesForUngrammaticalSelection):
935         (WebCore::core):
936         (WebCore::Editor::guessesForMisspelledSelection):
937         (WebCore::Editor::markMisspellingsInAdjacentWords):
938         (WebCore::markAllMisspellingsInRange):
939         (WebCore::markAllBadGrammarInRange):
940         (WebCore::Editor::markMisspellings):
941
942         * platform/ContextMenu.cpp:
943         (WebCore::ContextMenu::populate):
944         updated for moved functions
945
946         * editing/TypingCommand.cpp:
947         (WebCore::TypingCommand::markMisspellingsAfterTyping):
948         updated for moved functions
949
950 2006-12-05  Anders Carlsson  <acarlsson@apple.com>
951
952         Reviewed by Maciej.
953
954         General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
955         and remove a couple of functions that were unused.
956
957         * loader/CachedResource.h:
958         * loader/LoaderFunctions.h:
959         * loader/mac/LoaderFunctionsMac.mm:
960         * platform/network/ResourceHandle.h:
961         * platform/network/ResourceHandleClient.h:
962         * platform/network/mac/ResourceHandleMac.mm:
963         (WebCore::ResourceHandle::~ResourceHandle):
964
965 2006-12-05  Kevin McCullough  <kmccullough@apple.com>
966
967         Reviewed by John.
968
969         - keydown is now a keydown event instead of a keypress event.
970           Fixes some form submission oddities.
971
972         * platform/win/KeyEventWin.cpp:
973
974 2006-12-05  John Sullivan  <sullivan@apple.com>
975
976         Tiger build fix
977
978         * editing/mac/EditorMac.mm:
979         declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)
980
981 2006-12-05  John Sullivan  <sullivan@apple.com>
982
983         Reviewed by Geoff Garen
984
985         * page/Frame.h:
986         remove declarations of ignoreSpelling() and learnSpelling()
987
988         * bridge/mac/FrameMac.h:
989         remove declarations of ignoreSpelling() and learnSpelling()
990         * bridge/mac/FrameMac.mm:
991         moved implementations of ignoreSpelling() and learnSpelling() from here
992
993         * editing/Editor.h:
994         added declarations of ignoreSpelling() and learnSpelling()
995
996         * editing/mac/EditorMac.mm:
997         (WebCore::Editor::ignoreSpelling):
998         moved here from FrameMac.mm
999         (WebCore::Editor::learnSpelling):
1000         ditto
1001
1002         * page/ContextMenuController.cpp:
1003         (WebCore::ContextMenuController::contextMenuItemSelected):
1004         updated callers to use frame()->editor() rather than frame()
1005
1006 2006-12-05  John Sullivan  <sullivan@apple.com>
1007
1008         Reviewed by Adam
1009
1010         New context-menu mechanism fix for:
1011         <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
1012
1013         * platform/ContextMenu.cpp:
1014         (WebCore::ContextMenu::populate):
1015         Leave out "No Guesses Found" and separator for grammar-checking case.
1016
1017 2006-12-05  Rob Buis  <buis@kde.org>
1018
1019         Reviewed by Mitz.
1020
1021         http://bugs.webkit.org/show_bug.cgi?id=11686
1022         WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
1023
1024         Make sure the SVG render objects are laid out before measuring their 
1025         dimensions using relativeBBox.
1026
1027         * ksvg2/svg/SVGLocatable.cpp:
1028         (WebCore::SVGLocatable::getBBox):
1029
1030 2006-12-05  John Sullivan  <sullivan@apple.com>
1031
1032         Reviewed by Darin
1033
1034         Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
1035         since that's where isContinousSpellCheckingEnabled lives.
1036
1037         * editing/Editor.h:
1038         * editing/Editor.cpp:
1039         (WebCore::Editor::isGrammarCheckingEnabled):
1040         new method, calls through to client a la isContinuousSpellCheckingEnabled
1041
1042         * bridge/mac/FrameMac.mm:
1043         (WebCore::FrameMac::advanceToNextMisspelling):
1044         call editor() rather than editor()->client()
1045         (WebCore::FrameMac::markMisspellings):
1046         ditto
1047
1048         * platform/ContextMenu.cpp:
1049         (WebCore::ContextMenu::populate):
1050         ditto
1051
1052 2006-12-05  Darin Adler  <darin@apple.com>
1053
1054         Reviewed by Geoff.
1055
1056         - a little cleanup
1057
1058         * html/HTMLInputElement.h: Removed unneeded includes of RenderObject.h
1059         and RenderStyle.h.
1060         * html/HTMLSelectElement.h: Removed unneeded include of RenderStyle.h.
1061         * ksvg2/svg/SVGStyledElement.h: Removed unneeded include of RenderStyle.h.
1062
1063         * ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
1064         * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
1065         Ditto.
1066
1067         * ksvg2/scripts/generateJSBindings.pl: Removed unused script.
1068
1069 2006-12-05  Darin Adler  <darin@apple.com>
1070
1071         * doc: Removed empty directory. It's not clear this is a good place for
1072         documentation, so lets add it back later if we actually start using it.
1073
1074 2006-12-05  Anders Carlsson  <acarlsson@apple.com>
1075
1076         Reviewed by Brady, Darin.
1077
1078         * loader/loader.cpp:
1079         (WebCore::Loader::receivedAllData):
1080         Remove ref() call that was left around by mistake.
1081
1082 2006-12-05  Sam Weinig  <sam@webkit.org>
1083
1084         Reviewed by Tim H.
1085
1086         Fix for http://bugs.webkit.org/show_bug.cgi?id=11758
1087         Don't compile custom SVG and XSLT bindings in non-svg build
1088
1089         * bindings/js/JSSVGNumber.cpp:
1090         * bindings/js/JSSVGNumber.h:
1091         * bindings/js/JSSVGPoint.cpp:
1092         * bindings/js/JSSVGPoint.h:
1093         * bindings/js/JSSVGRect.cpp:
1094         * bindings/js/JSSVGRect.h:
1095         * bindings/js/JSXSLTProcessor.cpp:
1096         * bindings/js/JSXSLTProcessor.h:
1097
1098 2006-12-04  John Sullivan  <sullivan@apple.com>
1099
1100         Reviewed by Darin
1101
1102         WebCore part of fix for:
1103         <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
1104
1105         The context menu mechanism is currently in flux; the old mechanism is still in place, but an
1106         up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
1107         test the new mechanism because it doesn't work well enough yet. Also, some of this code 
1108         should move from Frame to Editor, but that will wait for another checkin.
1109
1110         * page/Frame.h:
1111         added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
1112
1113         * bridge/mac/FrameMac.h:
1114         added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
1115
1116         * bridge/mac/FrameMac.mm:
1117         (WebCore::FrameMac::isSelectionMisspelled):
1118         now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
1119         ignoreWord:inSpellDocumentWithTag:] work correctly
1120         (WebCore::isRangeUngrammatical):
1121         new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
1122         (WebCore::FrameMac::isSelectionUngrammatical):
1123         new function, calls isRangeUngrammatical
1124         (WebCore::FrameMac::guessesForUngrammaticalSelection):
1125         ditto
1126
1127         * platform/ContextMenu.cpp:
1128         (WebCore::ContextMenu::populate):
1129         now considers bad grammar as well as misspellings
1130         
1131         * platform/ContextMenuItem.h:
1132         added ContextMenuItemTagIgnoreGrammar
1133         
1134 2006-12-05  Kirby White  <KWhiteRight@gmail.com>
1135
1136         Reviewed, tweaked and landed by Alexey.
1137
1138         <http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked
1139
1140         * rendering/RenderThemeWin.cpp:
1141         (WebCore::RenderThemeWin::determineState): Moved test for active 
1142         state before test for hover state, since active should override hover 
1143         when both are true.
1144
1145         * platform/gdk/RenderThemeGdk.cpp: 
1146         (WebCore::RenderThemeGdk::determineState): Same fix.
1147
1148 2006-12-05  Kirby White  <KWhiteRight@gmail.com>
1149
1150         Reviewed and landed by Alexey.
1151
1152         http://bugs.webkit.org/show_bug.cgi?id=11681
1153         Don't select the first option when resetting a listbox-style form 
1154         control (i.e., a multi-select control or one with size > 1) that
1155         has no default selection.
1156
1157         Test: fast/dom/HTMLSelectElement/listbox-select-reset.html
1158
1159         * html/HTMLSelectElement.cpp:
1160         (WebCore::HTMLSelectElement::reset):
1161
1162 2006-12-05  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
1163
1164         Reviewed and landed by Alexey.
1165
1166         http://bugs.webkit.org/show_bug.cgi?id=11752
1167         [CSS 3] missing support for cursor selector 'copy'
1168
1169         * Resources/copyCursor.png: Added.
1170         * WebCore.xcodeproj/project.pbxproj:
1171         * css/CSSComputedStyleDeclaration.cpp:
1172         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1173         * css/CSSValueKeywords.in:
1174         * manual-tests/cursor.html:
1175         * page/EventHandler.cpp:
1176         (WebCore::selectCursor):
1177         * platform/Cursor.h:
1178         * platform/mac/CursorMac.mm:
1179         (WebCore::copyCursor):
1180         * rendering/RenderStyle.h:
1181         (WebCore::):
1182
1183 2006-12-04  Beth Dakin  <bdakin@apple.com>
1184
1185         Reviewed by Geoff.
1186
1187         Fix from last check-in. This line was badbad.
1188
1189         * platform/mac/ContextMenuMac.mm:
1190         (WebCore::ContextMenu::~ContextMenu):
1191
1192 2006-12-04  Beth Dakin  <bdakin@apple.com>
1193
1194         Reviewed by Geoff.
1195
1196         With the new changes to ContextMenuItems, WebCore context menus 
1197         stopped appearing at all. And then when I got them to appear, they 
1198         crashed. This fixes both of these problems.
1199
1200         * platform/mac/ContextMenuItemMac.mm:
1201         (WebCore::ContextMenuItem::ContextMenuItem): keyEquivalent cannot 
1202         be nil. This was causing Obj-C to throw an exception preventing the 
1203         menus from popping up at all. 
1204         * platform/mac/ContextMenuMac.mm:
1205         (+[WebCoreMenuTarget sharedMenuTarget]): Re-name our static 
1206         MenuTarget so that it is more clear that it is a static and shared 
1207         WebCoreMenuTarget.
1208         (WebCore::ContextMenu::ContextMenu): Initialize the 
1209         WebCoreMenuTarget's controller in the ContextMenu constructor 
1210         instead of in getNSMenuItem since the controller will only possibly 
1211         change when a new ContextMenu has been created.
1212         (WebCore::ContextMenu::~ContextMenu): Set the target's controller 
1213         to 0.
1214         (WebCore::getNSMenuItem): A lot of this work is being done other 
1215         places now. Call new class method on WebCoreMenuTarget to get the 
1216         shared target.
1217         (WebCore::ContextMenu::appendItem): We should not be releasing the 
1218         menuItem here! This caused the crashes I saw.
1219         (WebCore::ContextMenu::insertItem): Same.
1220
1221 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
1222
1223         Fix the build.
1224         
1225         * loader/mac/SubresourceLoaderMac.mm:
1226         (WebCore::SubresourceLoader::~SubresourceLoader):
1227         Add back the destructor.
1228
1229 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
1230
1231         Reviewed by Darin.
1232         
1233         Change all ResourceHandleClients to be SubresourceLoaderClients instead. Also,
1234         make SubresourceLoader a ResourceHandleClient. This is a first step towards turning ResourceHandle into a 
1235         standalone class which doesn't need to know about SubresourceLoader.
1236
1237         * WebCore.xcodeproj/project.pbxproj:
1238         * loader/ResourceLoader.cpp:
1239         (WebCore::ResourceLoader::~ResourceLoader):
1240         (WebCore::ResourceLoader::ResourceLoader):
1241         (WebCore::ResourceLoader::setDefersLoading):
1242         * loader/SubresourceLoader.cpp:
1243         (WebCore::SubresourceLoader::SubresourceLoader):
1244         (WebCore::SubresourceLoader::~SubresourceLoader):
1245         (WebCore::SubresourceLoader::create):
1246         (WebCore::SubresourceLoader::willSendRequest):
1247         (WebCore::SubresourceLoader::didReceiveResponse):
1248         (WebCore::SubresourceLoader::didReceiveData):
1249         (WebCore::SubresourceLoader::didFinishLoading):
1250         (WebCore::SubresourceLoader::didFailWithError):
1251         (WebCore::SubresourceLoader::receivedAllData):
1252         * loader/SubresourceLoader.h:
1253         (WebCore::SubresourceLoader::loaderAsResourceHandleClient):
1254         (WebCore::SubresourceLoader::handle):
1255         * loader/SubresourceLoaderClient.h: Added.
1256         (WebCore::SubresourceLoaderClient::~SubresourceLoaderClient):
1257         (WebCore::SubresourceLoaderClient::willSendRequest):
1258         (WebCore::SubresourceLoaderClient::didReceiveResponse):
1259         (WebCore::SubresourceLoaderClient::didReceiveData):
1260         (WebCore::SubresourceLoaderClient::didFinishLoading):
1261         (WebCore::SubresourceLoaderClient::didFailWithError):
1262         (WebCore::SubresourceLoaderClient::receivedAllData):
1263         * loader/icon/IconLoader.cpp:
1264         (WebCore::IconLoader::startLoading):
1265         (WebCore::IconLoader::stopLoading):
1266         (WebCore::IconLoader::didReceiveResponse):
1267         (WebCore::IconLoader::didReceiveData):
1268         (WebCore::IconLoader::didFailWithError):
1269         (WebCore::IconLoader::didFinishLoading):
1270         (WebCore::IconLoader::clearLoadingState):
1271         * loader/icon/IconLoader.h:
1272         * loader/loader.cpp:
1273         (WebCore::Loader::servePendingRequests):
1274         (WebCore::Loader::receivedAllData):
1275         (WebCore::Loader::didFailWithError):
1276         (WebCore::Loader::didReceiveResponse):
1277         (WebCore::Loader::didReceiveData):
1278         (WebCore::Loader::cancelRequests):
1279         * loader/loader.h:
1280         * loader/mac/SubresourceLoaderMac.mm:
1281         (WebCore::SubresourceLoader::SubresourceLoader):
1282         (WebCore::SubresourceLoader::create):
1283         (WebCore::SubresourceLoader::willSendRequest):
1284         (WebCore::SubresourceLoader::didReceiveResponse):
1285         (WebCore::SubresourceLoader::didReceiveData):
1286         (WebCore::SubresourceLoader::didFinishLoading):
1287         (WebCore::SubresourceLoader::didFail):
1288         (WebCore::SubresourceLoader::didCancel):
1289         * platform/network/ResourceHandle.cpp:
1290         (WebCore::ResourceHandle::ResourceHandle):
1291         (WebCore::ResourceHandle::create):
1292         * platform/network/ResourceHandle.h:
1293         * platform/network/ResourceHandleClient.h:
1294         * platform/network/ResourceHandleInternal.h:
1295         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1296         * platform/network/mac/ResourceHandleMac.mm:
1297         (WebCore::ResourceHandle::start):
1298         (WebCore::ResourceHandle::finishJobAndHandle):
1299         (WebCore::ResourceHandle::loader):
1300         * xml/xmlhttprequest.cpp:
1301         (WebCore::XMLHttpRequest::send):
1302         (WebCore::XMLHttpRequest::didFailWithError):
1303         (WebCore::XMLHttpRequest::didFinishLoading):
1304         (WebCore::XMLHttpRequest::willSendRequest):
1305         (WebCore::XMLHttpRequest::didReceiveResponse):
1306         (WebCore::XMLHttpRequest::didReceiveData):
1307         * xml/xmlhttprequest.h:
1308
1309 2006-12-04  Darin Adler  <darin@apple.com>
1310
1311         Reviewed by Adele.
1312
1313         - fix another part of http://bugs.webkit.org/show_bug.cgi?id=11628
1314           REGRESSION (r17597): Command-return in text fields doesn't open a new tab or window
1315
1316         This fixes command-return when the focus is on a link.
1317         Despite the title of the bug, Mitz wanted me to fix both, and I will not
1318         say no to him!
1319
1320         Test: fast/events/simulated-key-state.html
1321
1322         * dom/EventTargetNode.cpp:
1323         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Instead of always passing
1324         false for all the key state in simulated mouse events, pass the state from the
1325         first underlying event in the chain that has key state; in the case in the bug,
1326         the keyboard event will be the underlying event itself and we'll propagate the
1327         alt key modifier to the mouse event, resulting in the effect we want. It's nice
1328         that JavaScript also gets to see the proper modifiers in the mouse event.
1329
1330         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
1331         Added code to pass in an underlying event to dispatchSimulatedClick. After looking
1332         at all the other callers, this seems to be the only one that needs to pass an
1333         event that is currently passing 0. Also removed the code that only simulated a
1334         click when the event has a PlatformKeyboardEvent -- no reason for that and it
1335         prevented me from writing a layout test for the fix. 
1336
1337         * dom/UIEventWithKeyState.h: Added findEventWithKeyState function that walks the
1338         underlyingEvent chain to find the first event that has key state. This already
1339         existed in WebKit, but I wanted to use it in dispatchSimulatedMouseEvent.
1340         * dom/UIEventWithKeyState.cpp: Added.
1341
1342         * CMakeLists.txt: Added UIEventWithKeyState.cpp.
1343         * WebCore.vcproj/WebCore/WebCore.vcproj: Added UIEventWithKeyState.cpp.
1344         * WebCore.xcodeproj/project.pbxproj: Added UIEventWithKeyState.cpp.
1345         * WebCoreSources.bkl: Added UIEventWithKeyState.cpp.
1346
1347         * WebCore.exp: Added findEventWithKeyState, used by WebKit.
1348
1349 2006-12-04  Kevin McCullough  <KMcCullough@apple.com>
1350
1351         Reviewed by Darin.
1352
1353         - removed the guards for the "multiple forms submission" issue, which may not be
1354           an issue anymore and the guards prevent perfectly legitimate websites from
1355           working correctly.
1356
1357         * bridge/mac/FrameMac.mm:
1358         (WebCore::FrameMac::setView):
1359         * bridge/mac/WebCoreAXObject.mm:
1360         (-[WebCoreAXObject accessibilityPerformAction:]):
1361         * bridge/win/FrameWin.cpp:
1362         (WebCore::FrameWin::keyPress):
1363         * config.h:
1364         * loader/FrameLoader.cpp:
1365         (WebCore::FrameLoader::submitForm):
1366         * loader/FrameLoader.h:
1367         * loader/mac/FrameLoaderMac.mm:
1368         (WebCore::FrameLoader::receivedMainResourceError):
1369         * loader/qt/FrameLoaderQt.cpp:
1370         (WebCore::FrameLoader::submitForm):
1371         * page/Frame.cpp:
1372         (WebCore::Frame::setView):
1373         * page/mac/EventHandlerMac.mm:
1374         (WebCore::EventHandler::keyEvent):
1375         (WebCore::EventHandler::mouseDown):
1376         * platform/qt/FrameQt.cpp:
1377         (WebCore::FrameQt::keyEvent):
1378
1379 2006-12-02  Geoffrey Garen  <ggaren@apple.com>
1380
1381         Reviewed by Darin Adler.
1382         
1383         Added support for Dashboard backward compatibility mode.
1384         
1385         * html/CanvasRenderingContext2D.cpp:
1386         (WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
1387         of automatically clearing the stroke path buffer after a call to stroke().
1388         * html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
1389         tag being self-closing.
1390         (WebCore::HTMLCanvasElement::endTagRequirement):
1391         (WebCore::HTMLCanvasElement::tagPriority):
1392         * html/HTMLCanvasElement.h:
1393         * html/HTMLParser.cpp: Ditto.
1394         (WebCore::HTMLParser::canvasCreateErrorCheck):
1395         * xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
1396         a call to setRequestHeader() if it preceded a call to open() or followed a call
1397         to send().
1398         (WebCore::XMLHttpRequest::setRequestHeader):
1399
1400 2006-12-04  Darin Adler  <darin@apple.com>
1401
1402         Reviewed by Alice.
1403
1404         * bridge/EditorClient.h: Removed "_web_" prefix from
1405         C++ userVisibleString member function. Alice will probably change
1406         this so it's not on the editor client any more later.
1407
1408         * editing/Editor.h: Removed "_web_" prefix from
1409         C++ userVisibleString member function.
1410         * editing/Editor.cpp: Tweaked formatting a bit. Removed Mac-specific
1411         code from this file.
1412
1413         * editing/mac/EditorMac.mm:
1414         (WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
1415         (WebCore::Editor::userVisibleString): Moved this function here.
1416
1417         * platform/Pasteboard.h: Added some FIXMEs. Removed unneeded includes.
1418         Made Pasteboard noncopyable. Removed use of "protected" where we should
1419         be using "private". Removed s_generalPasteboard.
1420         * platform/mac/PasteboardMac.mm: Added some FIXMEs. Removed the
1421         s_generalPasteboard global. Removed the unused destructor. Updated call
1422         to userVisibleString for name change. Tweaked formatting.
1423
1424 2006-12-04  Alice Liu  <alice.liu@apple.com>
1425
1426         Reviewed by Oliver.
1427
1428         Moved some constants from EventHandlerMac.mm to EventHandler.cpp
1429         Added some platform-specific data members and functions.
1430
1431         * page/EventHandler.cpp:
1432         * page/EventHandler.h:
1433         * page/mac/EventHandlerMac.mm:
1434         * platform/PlatformMouseEvent.h:
1435         (WebCore::):
1436         (WebCore::PlatformMouseEvent::timestamp):
1437         (WebCore::PlatformMouseEvent::activatedWebView):
1438         (WebCore::PlatformMouseEvent::type):
1439
1440 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
1441
1442         Reviewed by Darin, Geoff.
1443
1444         Get rid of ResourceHandle::kill(), all it did was to balance out a ref() in ResourceHandle::start().
1445         We use RefPtrs to ResourceHandle instead.
1446
1447         * loader/icon/IconLoader.cpp:
1448         (WebCore::IconLoader::~IconLoader):
1449         (WebCore::IconLoader::stopLoading):
1450         (WebCore::IconLoader::didReceiveResponse):
1451         * loader/loader.cpp:
1452         (WebCore::Loader::servePendingRequests):
1453         (WebCore::Loader::cancelRequests):
1454         (WebCore::Loader::jobForRequest):
1455         * loader/loader.h:
1456         * platform/network/ResourceHandle.cpp:
1457         * platform/network/ResourceHandle.h:
1458         * platform/network/mac/ResourceHandleMac.mm:
1459         (WebCore::ResourceHandle::start):
1460         (WebCore::ResourceHandle::finishJobAndHandle):
1461         (WebCore::ResourceHandle::reportError):
1462         * xml/xmlhttprequest.cpp:
1463         (WebCore::XMLHttpRequest::abort):
1464         (WebCore::XMLHttpRequest::didFinishLoading):
1465
1466 2006-12-04  Oliver Hunt  <oliver@apple.com>
1467
1468         Build fix for non-SVG builds
1469
1470         * bindings/js/JSSVGPoint.cpp:
1471         (WebCore::JSSVGPointProtoFunc::callAsFunction):
1472
1473 2006-12-04  Darin Adler  <darin@apple.com>
1474
1475         Reviewed by Beth.
1476
1477         - fix http://bugs.webkit.org/show_bug.cgi?id=11632
1478           AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work
1479
1480         No test case added at the moment, but Beth said she'd investigate
1481         adding one after the fact.
1482
1483         * page/mac/EventHandlerMac.mm:
1484         (WebCore::EventHandler::passMousePressEventToScrollbar):
1485         Fix obvious-in-retrospect copy and paste error -- call
1486         passMouseDownEventToWidget instead of passWheelEventToWidget.
1487
1488 2006-12-04  Don Gibson  <dgibson77@gmail.com>
1489
1490         Reviewed and landed by Alexey.
1491
1492         http://bugs.webkit.org/show_bug.cgi?id=11738:
1493         Make link clicking work again on Windows.
1494
1495         This re-implements a few functions that used to be part of FrameWin in
1496         their new loader-based locations, and copies a few things from the Mac
1497         and Qt event handling code that aren't strictly necessary but are
1498         pretty simple.
1499
1500         * WebCore.vcproj/WebCore/WebCore.vcproj:
1501         * bridge/win/ChromeClientWin.h:
1502         * bridge/win/ContextMenuClientWin.h:
1503         * bridge/win/EditorClientWin.h:
1504         * bridge/win/FrameWin.cpp:
1505         (WebCore::FrameWin::client):
1506         * bridge/win/FrameWin.h:
1507         * loader/win/DocumentLoaderWin.cpp: Added.
1508         (WebCore::DocumentLoader::setTitle):
1509         * loader/win/FrameLoaderClientWin.cpp: Added.
1510         (WebCore::FrameLoaderClientWin::userAgent):
1511         * loader/win/FrameLoaderClientWin.h:
1512         * loader/win/FrameLoaderWin.cpp: Added.
1513         (WebCore::FrameLoader::urlSelected):
1514         (WebCore::FrameLoader::submitForm):
1515         (WebCore::FrameLoader::setTitle):
1516         * page/win/EventHandlerWin.cpp: Added.
1517         (WebCore::EventHandler::passMousePressEventToSubframe):
1518         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1519         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1520         (WebCore::EventHandler::passWheelEventToSubframe):
1521         (WebCore::EventHandler::passMousePressEventToScrollbar):
1522         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1523         * platform/win/TemporaryLinkStubs.cpp:
1524         (WebCore::EventHandler::tabsToLinks):
1525         (WebCore::EventHandler::tabsToAllControls):
1526         (WebCore::EventHandler::lastEventIsMouseUp):
1527         (WebCore::EventHandler::passSubframeEventToSubframe):
1528         (WebCore::EventHandler::passMouseDownEventToWidget):
1529         (WebCore::EventHandler::passWheelEventToWidget):
1530         (WebCore::FrameLoader::getHistoryLength):
1531         (WebCore::FrameLoader::historyURL):
1532         (WebCore::FrameLoader::createFrame):
1533         (WebCore::FrameLoaderClientWin::setTitle):
1534
1535 2006-12-04  Don Gibson  <dgibson77@gmail.com>
1536
1537         Reviewed by Mitz.
1538
1539         http://bugs.webkit.org/show_bug.cgi?id=11748:
1540         Windows build bustage.
1541
1542         * WebCore.vcproj/WebCore/WebCore.vcproj:
1543         * platform/ContextMenuItem.h:
1544         * platform/win/TemporaryLinkStubs.cpp:
1545         (WebCore::ContextMenuItem::ContextMenuItem):
1546         (WebCore::ContextMenuItem::platformDescription):
1547         (WebCore::ContextMenuItem::action):
1548         (WebCore::ContextMenuItem::setAction):
1549         (WebCore::ContextMenuItem::title):
1550         (WebCore::ContextMenuItem::setTitle):
1551         (WebCore::ContextMenuItem::platformSubMenu):
1552         (WebCore::ContextMenuItem::setSubMenu):
1553
1554 2006-12-04  John Sullivan  <sullivan@apple.com>
1555
1556         Reviewed by Anders
1557
1558         Moved EditorMac.mm to its appropriate location
1559
1560         * platform/mac/EditorMac.mm: Removed.
1561         * editing/mac/EditorMac.mm: Added
1562
1563         * WebCore.xcodeproj/project.pbxproj:
1564         updated for this change
1565
1566 2006-12-04  Rob Buis  <buis@kde.org>
1567
1568         Reviewed by dhyatt.
1569
1570         Patch by pmax.
1571
1572         http://bugs.webkit.org/show_bug.cgi?id=3280
1573         With LEGEND element, align=right value is not supported
1574         http://bugs.webkit.org/show_bug.cgi?id=11544
1575         <legend> rendering doesn't take align into account
1576
1577         Allow aligning for legends in both RTL and LTR mode.
1578
1579         * rendering/RenderFieldset.cpp:
1580         (WebCore::RenderFieldset::layoutLegend):
1581
1582 2006-12-03  Mark Rowe  <bdash@webkit.org>
1583
1584         Reviewed by Alexey.
1585
1586         http://bugs.webkit.org/show_bug.cgi?id=11730
1587         Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
1588
1589         * dom/Document.cpp:
1590         (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
1591
1592 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1593
1594         Reviewed by Oliver.
1595
1596         Fix following bugs:
1597         http://bugs.webkit.org/show_bug.cgi?id=11734
1598         http://bugs.webkit.org/show_bug.cgi?id=11685
1599
1600         SVGPoint/SVGRect/SVGNumber were missing put() support.
1601         SVGPoint.matrixTransform() was missing.
1602
1603         In SVG DOM there are no cases where a readwrite property
1604         exists of type SVGRect/SVGNumber/SVGPoint. Only function
1605         calls returns instances of these objects. It would make
1606         no sense to be able to write "someObj.getBbox().x = 100", and
1607         modify the actual stored internal value of "someObj".
1608
1609         The only cases where these modification makes sense, is
1610         when these SVGPoint/SVGRect/SVGNumber objects are created
1611         via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).
1612
1613         Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
1614         values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.
1615
1616         Patch created by Rob & me - co production.
1617         Long live the great carto.next examples! :-)
1618
1619         * CMakeLists.txt:
1620         * DerivedSources.make:
1621         * bindings/js/JSSVGNumber.cpp:
1622         (WebCore::):
1623         (WebCore::JSSVGNumber::getOwnPropertySlot):
1624         (WebCore::JSSVGNumber::getValueProperty):
1625         (WebCore::JSSVGNumber::put):
1626         (WebCore::JSSVGNumber::putValueProperty):
1627         * bindings/js/JSSVGNumber.h:
1628         (WebCore::JSSVGNumber::):
1629         (WebCore::JSSVGNumber::impl):
1630         * bindings/js/JSSVGPoint.cpp:
1631         (WebCore::JSSVGPoint::JSSVGPoint):
1632         (WebCore::JSSVGPoint::put):
1633         (WebCore::JSSVGPoint::putValueProperty):
1634         (WebCore::JSSVGPointProtoFunc::callAsFunction):
1635         * bindings/js/JSSVGPoint.h:
1636         (WebCore::JSSVGPoint::):
1637         * bindings/js/JSSVGRect.cpp:
1638         (WebCore::JSSVGRect::put):
1639         (WebCore::JSSVGRect::putValueProperty):
1640         * bindings/js/JSSVGRect.h:
1641         * bindings/objc/DOMSVGPoint.mm:
1642         (-[DOMSVGPoint matrixTransform:]):
1643         * platform/graphics/FloatPoint.cpp:
1644         (WebCore::FloatPoint::matrixTransform):
1645         * platform/graphics/FloatPoint.h:
1646
1647 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1648
1649         Reviewed by Dave.
1650
1651         Another missing piece in the platform/graphics move.
1652
1653         * WebCore.xcodeproj/project.pbxproj:
1654         * platform/ImageAnimationObserver.h: Moved to platform/graphics.
1655
1656 2006-12-03  Rob Buis  <buis@kde.org>
1657
1658         Reviewed by Oliver.
1659
1660         http://bugs.webkit.org/show_bug.cgi?id=11667
1661         SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
1662
1663         Implement getTransformToElement functionality. Introduce virtual
1664         baseclass SVGLocatable to allow one implementation of the functionality.
1665         Finally cleanup some code.
1666
1667         * ksvg2/svg/SVGLocatable.cpp:
1668         (WebCore::SVGLocatable::getTransformToElement):
1669         * ksvg2/svg/SVGLocatable.h:
1670         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1671         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
1672         (WebCore::SVGStyledLocatableElement::nearestViewportElement):
1673         (WebCore::SVGStyledLocatableElement::farthestViewportElement):
1674         (WebCore::SVGStyledLocatableElement::getCTM):
1675         (WebCore::SVGStyledLocatableElement::getScreenCTM):
1676         * ksvg2/svg/SVGStyledLocatableElement.h:
1677         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1678         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1679         (WebCore::SVGStyledTransformableElement::localMatrix):
1680         (WebCore::SVGStyledTransformableElement::getCTM):
1681         (WebCore::SVGStyledTransformableElement::getScreenCTM):
1682         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
1683         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
1684         (WebCore::SVGStyledTransformableElement::nearestViewportElement):
1685         (WebCore::SVGStyledTransformableElement::farthestViewportElement):
1686         * ksvg2/svg/SVGStyledTransformableElement.h:
1687         * ksvg2/svg/SVGTextElement.h:
1688         * ksvg2/svg/SVGTransformable.h:
1689
1690 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1691
1692         Reviewed by Rob.
1693
1694         Move some files around, which have been forgotton in the platform/graphics move.
1695
1696         * CMakeLists.txt:
1697         * WebCore.xcodeproj/project.pbxproj:
1698         * platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
1699         * platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.
1700
1701 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1702
1703         Reviewed by Mitz.
1704
1705         Fix non-svg build.
1706
1707         * platform/graphics/GraphicsContext.h:
1708         * platform/mac/GraphicsContextMac.mm:
1709
1710 2006-12-02  John Sullivan  <sullivan@apple.com>
1711
1712         Reviewed by Tim Omernick
1713
1714         Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
1715         the find-next-instance functions with the mark-all-instances functions.
1716
1717         * bridge/mac/FrameMac.mm:
1718         (WebCore::findFirstMisspellingInRange):
1719         added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
1720         through the entire range and marks each misspelling
1721         (WebCore::findFirstGrammarDetailInRange):
1722         extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
1723         ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
1724         to the one in findFirstMisspellingInRange.
1725         (WebCore::findFirstBadGrammarInRange):
1726         added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
1727         (WebCore::FrameMac::advanceToNextMisspelling):
1728         pass "false" for new markAll parameters
1729         (WebCore::markAllMisspellingsInRange):
1730         now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
1731         (WebCore::markAllBadGrammarInRange):
1732         now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code
1733
1734 2006-12-02  Mitz Pettel  <mitz@webkit.org>
1735
1736         Reviewed by Hyatt.
1737
1738         - fix http://bugs.webkit.org/show_bug.cgi?id=11672
1739           REGRESSION (r17068): Repro crash due to painting without layout
1740
1741         Test: fast/dynamic/containing-block-change.html
1742
1743         * rendering/RenderObject.cpp:
1744         (WebCore::RenderObject::setStyle): Changed the logic used
1745         to find absolutely positioned descendant's current containing block to
1746         match the changes made to containingBlock() in the fix for bug 9347.
1747
1748 2006-12-02  MorganL  <morganl.webkit@yahoo.com>
1749
1750         Reviewed by Darin.
1751
1752         http://bugs.webkit.org/show_bug.cgi?id=11709
1753         DeprecatedString::format is broken on Windows
1754
1755         Use _vscprintf on Windows to compute the length of the buffer that
1756         vsnprintf would need.
1757
1758         * platform/DeprecatedString.cpp:
1759         (WebCore::DeprecatedString::format):
1760         * platform/String.cpp:
1761         (WebCore::String::format):
1762
1763 2006-12-01  Beth Dakin  <bdakin@apple.com>
1764
1765         Reviewed by Adam.
1766
1767         Support for sub-menus in WebCore context menus. This also re-
1768         architects the ContextMenuItem class so that it is more like
1769         ContextMenu in that the class is now really just a wrapper for the
1770         platformDescription
1771
1772         * WebCore.exp:
1773         * WebCore.xcodeproj/project.pbxproj:
1774         * page/ContextMenuController.cpp:
1775         (WebCore::ContextMenuController::contextMenuItemSelected): Add
1776         place-holders for new tags for the sub-menu items. I will flesh
1777         these out in a separate check-in.
1778         * platform/ContextMenu.cpp:
1779         (WebCore::createFontSubMenu):
1780         (WebCore::createSpellingAndGrammarSubMenu):
1781         (WebCore::createSpellingSubMenu):
1782         (WebCore::createSpeechSubMenu):
1783         (WebCore::createWritingDirectionSubMenu):
1784         (WebCore::ContextMenu::populate): Call the above functions to add
1785         the appropriate sub-menus to editing context menus.
1786         * platform/ContextMenu.h:
1787         * platform/ContextMenuItem.h:
1788         (WebCore::): New tags in the ContextMenuAction enumeration.
1789         (WebCore::ContextMenuItem::parentMenu):
1790         (WebCore::ContextMenuItem::setType):
1791         * platform/PlatformMenuDescription.h: Added. This defines
1792         PlatformMenuDesciption. It needs to be its own header because we
1793        have to include it from ContextMenu.h and ContextMenuItem.h
1794         * platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
1795         make this class basically just be a wrapper for NSMenuItem.
1796         (WebCore::ContextMenuItem::ContextMenuItem):
1797         (WebCore::ContextMenuItem::~ContextMenuItem):
1798         (WebCore::ContextMenuItem::platformDescription):
1799         (WebCore::ContextMenuItem::action):
1800         (WebCore::ContextMenuItem::title):
1801         (WebCore::ContextMenuItem::platformSubMenu):
1802         (WebCore::ContextMenuItem::setAction):
1803         (WebCore::ContextMenuItem::setTitle):
1804         (WebCore::ContextMenuItem::setSubMenu):
1805         * platform/mac/ContextMenuMac.mm:
1806         (WebCore::ContextMenu::ContextMenu):
1807         (WebCore::getNSMenuItem): Now we only have to get the
1808         platformDescription of the ContextMenuItem and then set its target
1809         and action.
1810         (WebCore::ContextMenu::itemCount):
1811
1812 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
1813
1814         Reviewed by .
1815
1816         - accidentally checked in with previous checkin
1817
1818         * platform/qt/FrameQt.cpp:
1819         (WebCore::FrameQt::keyEvent):
1820
1821 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
1822
1823         Reviewed by Adam.
1824
1825         - better solution to the ambiguous reference
1826
1827         * platform/Widget.h:
1828         (WebCore::Widget::handleMouseMoveEvent):
1829         (WebCore::Widget::handleMouseReleaseEvent):
1830         * platform/qt/FrameQt.cpp:
1831         (WebCore::FrameQt::keyEvent):
1832         * platform/win/PlatformScrollBar.h:
1833         * platform/win/TemporaryLinkStubs.cpp:
1834         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1835         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1836
1837 2006-12-01  Justin Garcia  <justin.garcia@apple.com>
1838
1839         Reviewed by john
1840         
1841         <rdar://problem/4826940>
1842         Selection change performed even when delete delegate replies NO (11415)
1843
1844         No layout test for the bug fix, because there's no way to register a custom
1845         editing delegate from a layout test.  Layout tests are effected by the change
1846         to avoid sending unnecessary shouldChangeSelections, however. 
1847
1848         * editing/Editor.cpp:
1849         (WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
1850         if the editing operation didn't change the selection.  Still call
1851         setSelection though, because it does work in this case that's necessary,
1852         like clearing the typing style.
1853         (WebCore::Editor::unappliedEditing): Ditto.
1854         (WebCore::Editor::reappliedEditing): Ditto.
1855         * editing/TypingCommand.cpp:
1856         (WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
1857         selection if the editing delegate returns NO from shouldDeleteRange.
1858         Notice we now call setStartingSelection in the case where
1859         the current selection was a range selection.  This is fine because
1860         it's a no-op (the starting selection is already the current selection).
1861         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1862
1863 2006-12-01  John Sullivan  <sullivan@apple.com>
1864
1865         Reviewed by Darin
1866         
1867         Move subrange helper function from spellchecking code to TextIterator
1868
1869         * editing/TextIterator.h:
1870         added TextIterator::subrange
1871         * editing/TextIterator.cpp:
1872         (WebCore::CharacterIterator::advance):
1873         early return if count is <= 0; assert that it's not < 0
1874         (WebCore::TextIterator::subrange):
1875         new function, moved from FrameMac.mmm
1876
1877         * bridge/mac/FrameMac.mm:
1878         moved subrange() function to TextIterator
1879         (WebCore::FrameMac::advanceToNextMisspelling):
1880         use TextIterator::subrange
1881         (WebCore::markAllMisspellingsInRange):
1882         ditto
1883         (WebCore::markAllBadGrammarInRange):
1884         ditto
1885
1886 2006-12-01  Darin Adler  <darin@apple.com>
1887
1888         Reviewed by Mitz.
1889
1890         - fix http://bugs.webkit.org/show_bug.cgi?id=11628
1891           REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
1892
1893         I couldn't think of an easy way to make a regression test for this, but maybe
1894         I'll get an idea later about how to do it.
1895
1896         The main thing I did was add a concept of a DOM event having an "underlying event".
1897         That allows the DOM activate event to contain inside it the original keyboard event
1898         that triggered the form submission, and thus allows WebKit to see the modifier keys
1899         from that original event. The code that uses the underlying event is in WebKit, but
1900         the code to set it up is here in WebCore.
1901
1902         - also do some clean-up to related event handling code
1903
1904         * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
1905         name change of cancelBubble.
1906
1907         * dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
1908         Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
1909         name predated the use of the m_ prefix on data members. Added the underlying event,
1910         and a getter and setter.
1911         * dom/Event.cpp:
1912         (WebCore::Event::setTarget): Updated to take a PassRefPtr.
1913         (WebCore::Event::setUnderlyingEvent): Added.
1914
1915         * dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
1916         dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
1917         dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
1918         mostly replaces the click function in HTMLElement.
1919         * dom/EventTargetNode.cpp:
1920         (WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
1921         of cancelBubble.
1922         (WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
1923         which gets attached to the UIEvent object after it's created.
1924         (WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
1925         name for the version that creates a mouse event for a real platform mouse event.
1926         Added an underlying event parameter to the main version, and attached it to all
1927         three of the events that can be dispatched.
1928         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
1929         event parameter, passed it along to dispatchMouseEvent.
1930         (WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
1931         and renamed it from click. Added an underlyingEvent parameter, and passed that along
1932         in all three of the calls to dispatchSimulatedMouseEvent.
1933
1934         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
1935         setTarget that no longer needs a get().
1936         * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
1937
1938         * html/HTMLAnchorElement.cpp:
1939         (WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
1940         to a call to dispatchSimulatedClick.
1941         (WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
1942         * html/HTMLButtonElement.cpp:
1943         (WebCore::HTMLButtonElement::accessKeyAction): Ditto.
1944         * html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
1945         We could move it down to the input and button elements, now that it's just
1946         a single function call, but it's also OK to just leave it here.
1947         * html/HTMLElement.cpp:
1948         (WebCore::HTMLElement::click): Removed the parameters and changed this to just
1949         call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
1950         (WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
1951         dispatchSimulatedClick.
1952         * html/HTMLFormElement.cpp:
1953         (WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
1954         pass the event along as the underlying event.
1955         * html/HTMLInputElement.h:
1956         * html/HTMLInputElement.cpp: Removed override of virtual click function. The
1957         special cases for the file control and hidden input elements aren't needed.
1958         (WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
1959         dispatchSimulatedClick.
1960         (WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
1961         dispatchSimulatedClick, passing along the event as the underlying event.
1962         * html/HTMLLabelElement.cpp:
1963         (WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
1964         to dispatchSimulatedClick, passing the event along as the underlying event. Also
1965         changed the local variable for the element to a RefPtr since the code assumes it's
1966         still around after calling arbitrary JavaScript code.
1967         * html/HTMLSelectElement.cpp:
1968         (WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
1969         dispatchSimulatedClick.
1970
1971         * rendering/RenderFileUploadControl.h:
1972         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
1973         Removed unneeded ignored parameter to the click function, and also made it non-virtual.
1974
1975         * loader/NavigationAction.h: Removed unneeded includes.
1976         * loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
1977         since none of it is Mac-specific any more.
1978         * loader/mac/NavigationActionMac.mm: Removed.
1979         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
1980
1981         * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
1982
1983         * loader/FrameLoader.cpp: Added a newly-needed incluude.
1984         * loader/mac/DocumentLoaderMac.mm: Ditto.
1985         * loader/mac/FrameLoaderMac.mm: Ditto.
1986         * rendering/RenderWidget.cpp: Ditto.
1987
1988 2006-12-01  John Sullivan  <sullivan@apple.com>
1989
1990         Reviewed by Darin
1991
1992         - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by 
1993           insufficient context passed to grammar checker
1994
1995         * bridge/mac/FrameMac.mm:
1996         (WebCore::markAllMisspellingsInRange):
1997         new function, extracted from markMisspellings -- ignores grammar
1998         (WebCore::markAllBadGrammarInRange):
1999         new function, extracted from markMisspellings -- ignores spelling, and operates on
2000         appropriately-sized chunks of text
2001         (WebCore::FrameMac::markMisspellings):
2002         now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
2003         than trying to interweave the spelling and grammar logic
2004
2005 2006-12-01  John Sullivan  <sullivan@apple.com>
2006
2007         Reviewed by Darin
2008
2009         With these changes, grammar checking works correctly for the one-by-one case.
2010         It still doesn't work correctly for the check-as-you-type case; I need to make these
2011         same kinds of changes in markMisspellings, and refactor to share more code between
2012         the two cases, but I wanted to get this working code in before modifying it further.
2013
2014         The major change here is that advanceToNextMisspelling used to look at small chunks of
2015         text at a time, checking each one for both misspellings and questionable grammar. But
2016         grammar checking needs at least paragraph-sized chunks of text to have enough context
2017         to work correctly, so the old mechanism was causing many spurious complaints of bad
2018         grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
2019         would complain about missing capitalization). So now the spell checker runs in the
2020         specified range first. Then the grammar checker runs on the same range (stopping at the
2021         next misspelling, if any), but expanded to paragraph-aligned boundaries.
2022
2023         * bridge/mac/FrameMac.mm:
2024         (WebCore::findFirstMisspellingInRange):
2025         new function, extracted from advanceToNextMisspelling, and ignores grammar
2026         (WebCore::paragraphAlignedRangeForRange):
2027         new function, used by findNextBadGrammarInRange
2028         (WebCore::findFirstBadGrammarInRange):
2029         new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
2030         chunks, and ignores spelling
2031         (WebCore::subrange):
2032         new helper function, used by advanceToNextMisspelling
2033         (WebCore::FrameMac::advanceToNextMisspelling):
2034         now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
2035         instead of trying to interweave the spelling and grammar logic
2036
2037 2006-12-01  Don Gibson  <dgibson77@gmail.com>
2038
2039         Reviewed by Mitz.
2040
2041         http://bugs.webkit.org/show_bug.cgi?id=11732:
2042         Windows build bustage.
2043
2044         * WebCore.vcproj/WebCore/WebCore.vcproj:
2045         * bridge/win/ChromeClientWin.h:
2046         * bridge/win/ContextMenuClientWin.h:
2047         * bridge/win/EditorClientWin.h:
2048         * bridge/win/FrameWin.cpp:
2049         (WebCore::FrameWin::FrameWin):
2050         (WebCore::FrameWin::keyPress):
2051         * bridge/win/FrameWin.h:
2052         * loader/win/FrameLoaderClientWin.h:
2053         * platform/ContextMenu.h:
2054         * platform/Widget.h:
2055         * platform/win/PlatformScrollBar.h:
2056         * platform/win/TemporaryLinkStubs.cpp:
2057         (WebCore::ChromeClientWin::chromeDestroyed):
2058         (WebCore::ChromeClientWin::addMessageToConsole):
2059         (WebCore::ContextMenu::ContextMenu):
2060         (WebCore::ContextMenu::~ContextMenu):
2061         (WebCore::ContextMenu::appendItem):
2062         (WebCore::ContextMenuClientWin::contextMenuDestroyed):
2063         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
2064         (WebCore::ContextMenuItem::~ContextMenuItem):
2065         (WebCore::Editor::newGeneralClipboard):
2066         (WebCore::EditorClientWin::pageDestroyed):
2067         (WebCore::EditorClientWin::smartInsertDeleteEnabled):
2068         (WebCore::EditorClientWin::shouldInsertNode):
2069         (WebCore::FrameLoader::createPlugin):
2070         (WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
2071         (WebCore::FrameLoaderClientWin::hasWebView):
2072         (WebCore::FrameLoaderClientWin::canHandleRequest):
2073         (WebCore::FrameWin::unfocusWindow):
2074         (WebCore::FrameWin::bindingRootObject):
2075         (WebCore::FrameWin::issueCopyCommand):
2076         (WebCore::FrameWin::markMisspellings):
2077         (WebCore::FrameWin::issueTransposeCommand):
2078         (WebCore::FrameWin::markedTextRange):
2079         (WebCore::FrameWin::respondToChangedSelection):
2080         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
2081         (WebCore::FrameWin::isSelectionMisspelled):
2082         (WebCore::FrameWin::guessesForMisspelledSelection):
2083         (WebCore::Pasteboard::generalPasteboard):
2084         (WebCore::Pasteboard::writeSelection):
2085         (WebCore::Pasteboard::clearTypes):
2086         (WebCore::Pasteboard::canSmartReplace):
2087         (WebCore::Pasteboard::documentFragment):
2088         (WebCore::Pasteboard::plainText):
2089         (WebCore::Pasteboard::Pasteboard):
2090         (WebCore::Pasteboard::~Pasteboard):
2091         (WebCore::Pasteboard::registerSelectionPasteboardTypes):
2092         (WebCore::Pasteboard::replaceNBSP):
2093         (WebCore::Pasteboard::createHandle):
2094         (WebCore::Pasteboard::createCF_HTMLFromRange):
2095
2096 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
2097
2098         Rubber Stamped by Anders Carlsson.
2099
2100         Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
2101         suggested a command, and conflicted with a different meaning for 'focusNode'
2102         in the Mozilla selection API.
2103
2104 2006-11-30  John Sullivan  <sullivan@apple.com>
2105
2106         Reviewed by Justin
2107
2108         With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
2109         That revealed another problem in the layout tests involving bad parameters passed to the Range
2110         constructors.
2111         
2112         With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
2113         no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
2114         I'm going to update the results for that test and file a separate radar about it, which Justin will
2115         investigate.
2116
2117         * dom/Position.h:
2118         removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
2119         
2120         * dom/Range.cpp:
2121         (WebCore::Range::Range):
2122         Call setStart and setEnd in the two Range constructors that take parameters, rather than just 
2123         directly setting the instance variables. This makes Range perform the boundary checks and
2124         compensations that the DOM spec requires.
2125         
2126         * editing/CompositeEditCommand.cpp:
2127         (WebCore::CompositeEditCommand::moveParagraphs):
2128         Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
2129         
2130         * editing/TextIterator.cpp:
2131         (WebCore::TextIterator::TextIterator):
2132         Assert that the boundary points of the range are valid.
2133
2134 2006-11-30  Lou Amadio  <lamadio@apple.com>
2135
2136         Reviewed by Dave Hyatt
2137         Cleaned up generated files.
2138
2139         * html/HTMLElement.cpp:
2140         (WebCore::HTMLElement::isRecognizedTagName):
2141                 Uses the new method for retrieving the list of supported tags
2142         * ksvg2/scripts/make_names.pl:
2143                 Generates tag lists without using macros.
2144
2145 2006-11-30  Adam Roben  <aroben@apple.com>
2146
2147         Reviewed by Beth.
2148
2149         Store ContextMenu's NSMutableArray inside a RetainPtr so that we
2150         will retain/release it correctly.
2151
2152         * WebCore.exp:
2153         * platform/ContextMenu.cpp:
2154         (WebCore::ContextMenu::populate): Added a FIXME.
2155         * platform/ContextMenu.h:
2156         * platform/mac/ContextMenuMac.mm: 
2157         (WebCore::ContextMenu::ContextMenu):
2158         (WebCore::ContextMenu::~ContextMenu):
2159         (WebCore::getNSMenuItem):
2160         (WebCore::ContextMenu::appendItem):
2161         (WebCore::ContextMenu::itemCount):
2162         (WebCore::ContextMenu::insertItem):
2163         (WebCore::ContextMenu::setPlatformDescription):
2164         (WebCore::ContextMenu::platformDescription):
2165
2166 2006-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
2167
2168         Reviewed by Eric. Rubber stamped by Oliver.
2169
2170         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
2171      
2172         This is the final patch after the long "die kcanvas" journey.
2173
2174         All old kcanvas code is gone now, and properly integrated within
2175         WebCore (stuff like GraphicsContext changes etc.). It shares
2176         the platform/ design concept: no subclassing, but instead
2177         implementing parts of the classes/methods per-platform.
2178
2179         This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
2180         This layer was just obsolete, given the powerful GraphicsContext API we have
2181         since quite a while now. All the ugly pushContext/popContext stuff is gone now.
2182
2183         LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
2184         Radial gradients as fill color for texts, work again!
2185         Though "Gradient on text stroke" remains broken. Funny thing:
2186         With this patch, if you "select" the text using the mouse, as
2187         soon as the selection rectangle is drawn, you see the correct
2188         gradient on stroke rendering - at least a hint where it breaks!
2189
2190         All svg layout tests have subtle text rendering changes - with and without this
2191         patch, it seems it was forgotton to update svg pixel test baseline, a while ago.
2192
2193         * CMakeLists.txt:
2194         * WebCore.xcodeproj/project.pbxproj:
2195         * kcanvas/device/KRenderingDevice.cpp: Removed.
2196         * kcanvas/device/KRenderingDevice.h: Removed.
2197         * kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
2198         * kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
2199         * kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
2200         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
2201         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
2202         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
2203         * kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
2204         * kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
2205         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2206         (WebCore::sharedSolidPaintServer):
2207         * ksvg2/misc/KCanvasRenderingStyle.h:
2208         * ksvg2/svg/SVGAElement.cpp:
2209         * ksvg2/svg/SVGClipPathElement.cpp:
2210         * ksvg2/svg/SVGFEBlendElement.cpp:
2211         (WebCore::SVGFEBlendElement::filterEffect):
2212         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2213         (WebCore::SVGFEColorMatrixElement::filterEffect):
2214         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2215         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2216         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
2217         (WebCore::SVGFEComponentTransferElement::filterEffect):
2218         * ksvg2/svg/SVGFECompositeElement.cpp:
2219         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2220         (WebCore::SVGFECompositeElement::filterEffect):
2221         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2222         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2223         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2224         (WebCore::SVGFEDiffuseLightingElement::updateLights):
2225         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2226         (WebCore::SVGFEDisplacementMapElement::filterEffect):
2227         * ksvg2/svg/SVGFEDistantLightElement.cpp:
2228         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
2229         (WebCore::SVGFEDistantLightElement::lightSource):
2230         * ksvg2/svg/SVGFEFloodElement.cpp:
2231         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2232         (WebCore::SVGFEFloodElement::parseMappedAttribute):
2233         (WebCore::SVGFEFloodElement::filterEffect):
2234         * ksvg2/svg/SVGFEFuncAElement.cpp:
2235         * ksvg2/svg/SVGFEFuncBElement.cpp:
2236         * ksvg2/svg/SVGFEFuncGElement.cpp:
2237         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
2238         * ksvg2/svg/SVGFEFuncRElement.cpp:
2239         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2240         (WebCore::SVGFEGaussianBlurElement::filterEffect):
2241         * ksvg2/svg/SVGFEImageElement.cpp:
2242         (WebCore::SVGFEImageElement::SVGFEImageElement):
2243         (WebCore::SVGFEImageElement::parseMappedAttribute):
2244         (WebCore::SVGFEImageElement::notifyFinished):
2245         (WebCore::SVGFEImageElement::filterEffect):
2246         * ksvg2/svg/SVGFELightElement.cpp:
2247         * ksvg2/svg/SVGFEMergeElement.cpp:
2248         (WebCore::SVGFEMergeElement::filterEffect):
2249         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2250         * ksvg2/svg/SVGFEOffsetElement.cpp:
2251         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2252         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
2253         (WebCore::SVGFEOffsetElement::filterEffect):
2254         * ksvg2/svg/SVGFEPointLightElement.cpp:
2255         (WebCore::SVGFEPointLightElement::lightSource):
2256         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2257         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2258         (WebCore::SVGFESpecularLightingElement::filterEffect):
2259         (WebCore::SVGFESpecularLightingElement::updateLights):
2260         * ksvg2/svg/SVGFESpotLightElement.cpp:
2261         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
2262         (WebCore::SVGFESpotLightElement::lightSource):
2263         * ksvg2/svg/SVGFETileElement.cpp:
2264         (WebCore::SVGFETileElement::SVGFETileElement):
2265         (WebCore::SVGFETileElement::parseMappedAttribute):
2266         (WebCore::SVGFETileElement::filterEffect):
2267         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2268         (WebCore::SVGFETurbulenceElement::filterEffect):
2269         * ksvg2/svg/SVGFilterElement.cpp:
2270         (WebCore::SVGFilterElement::canvasResource):
2271         * ksvg2/svg/SVGGradientElement.cpp:
2272         (WebCore::SVGGradientElement::canvasResource):
2273         * ksvg2/svg/SVGLinearGradientElement.cpp:
2274         * ksvg2/svg/SVGMarkerElement.cpp:
2275         * ksvg2/svg/SVGMaskElement.cpp:
2276         (WebCore::SVGMaskElement::parseMappedAttribute):
2277         (WebCore::SVGMaskElement::drawMaskerContent):
2278         (WebCore::SVGMaskElement::canvasResource):
2279         * ksvg2/svg/SVGPatternElement.cpp:
2280         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2281         (WebCore::SVGPatternElement::canvasResource):
2282         * ksvg2/svg/SVGStyledElement.cpp:
2283         * ksvg2/svg/SVGStyledElement.h:
2284         * platform/graphics/GraphicsContext.h:
2285         * platform/graphics/svg/SVGPaintServer.h:
2286         * platform/graphics/svg/SVGPaintServerGradient.cpp:
2287         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2288         * platform/graphics/svg/SVGPaintServerGradient.h:
2289         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
2290         * platform/graphics/svg/SVGPaintServerPattern.h:
2291         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
2292         * platform/graphics/svg/SVGPaintServerSolid.h:
2293         * platform/graphics/svg/SVGResource.cpp:
2294         * platform/graphics/svg/SVGResource.h:
2295         * platform/graphics/svg/SVGResourceClipper.h:
2296         * platform/graphics/svg/SVGResourceFilter.h:
2297         * platform/graphics/svg/SVGResourceMasker.h:
2298         * platform/graphics/svg/cg/RenderPathCg.cpp: Added.
2299         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
2300         (WebCore::SVGPaintServer::draw):
2301         (WebCore::SVGPaintServer::teardown):
2302         (WebCore::SVGPaintServer::renderPath):
2303         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2304         (WebCore::SVGPaintServerGradient::teardown):
2305         (WebCore::SVGPaintServerGradient::renderPath):
2306         (WebCore::SVGPaintServerGradient::setup):
2307         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2308         (WebCore::SVGPaintServerPattern::setup):
2309         (WebCore::SVGPaintServerPattern::teardown):
2310         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
2311         (WebCore::SVGPaintServerSolid::setup):
2312         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
2313         (WebCore::SVGResourceClipper::applyClip):
2314         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
2315         (WebCore::SVGResourceFilter::SVGResourceFilter):
2316         (WebCore::SVGResourceFilter::createFilterEffect):
2317         (WebCore::SVGResourceFilter::prepareFilter):
2318         (WebCore::SVGResourceFilter::applyFilter):
2319         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2320         (WebCore::SVGResourceMasker::applyMask):
2321         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
2322         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
2323         (WebCore::SVGPaintServerLinearGradient::setup):
2324         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
2325         (WebCore::SVGPaintServerPattern::setup):
2326         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
2327         (WebCore::SVGPaintServer::draw):
2328         (WebCore::SVGPaintServer::teardown):
2329         (WebCore::SVGPaintServer::renderPath):
2330         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
2331         (WebCore::setup):
2332         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
2333         (WebCore::SVGPaintServerSolid::setup):
2334         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
2335         (WebCore::SVGResourceClipper::applyClip):
2336         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
2337         (WebCore::SVGResourceFilter::createFilterEffect):
2338         (WebCore::SVGResourceFilter::prepareFilter):
2339         (WebCore::SVGResourceFilter::applyFilter):
2340         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
2341         (WebCore::SVGResourceMasker::applyMask):
2342         * platform/qt/GraphicsContextQt.cpp:
2343         (WebCore::GraphicsContext::beginPath):
2344         (WebCore::GraphicsContext::addPath):
2345         (WebCore::GraphicsContext::setFillRule):
2346         (WebCore::GraphicsContext::currentPath):
2347         (WebCore::GraphicsContext::strokeRect):
2348         (WebCore::contextForImage):
2349         * rendering/RenderForeignObject.cpp:
2350         (WebCore::RenderForeignObject::paint):
2351         * rendering/RenderPath.cpp:
2352         (WebCore::RenderPath::paint):
2353         * rendering/RenderSVGContainer.cpp:
2354         (WebCore::RenderSVGContainer::paint):
2355         * rendering/RenderSVGImage.cpp:
2356         (WebCore::RenderSVGImage::paint):
2357         * rendering/RenderSVGImage.h:
2358         * rendering/RenderSVGInline.cpp:
2359         (WebCore::RenderSVGInline::RenderSVGInline):
2360         (WebCore::RenderSVGInline::createInlineBox):
2361         * rendering/RenderSVGInlineText.cpp:
2362         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
2363         * rendering/RenderSVGTSpan.cpp:
2364         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
2365         * rendering/RenderSVGText.cpp:
2366         (WebCore::RenderSVGText::paint):
2367         * rendering/SVGInlineFlowBox.cpp:
2368         (WebCore::paintSVGInlineFlow):
2369         * rendering/SVGRenderTreeAsText.cpp:
2370         (WebCore::writeStyle):
2371
2372 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
2373
2374         Reviewed by Beth Dakin.
2375         
2376         Fixed up garbage collection at window close time.
2377
2378         * bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
2379         destructor, since the global object hasn't been freed yet.
2380         * bindings/js/kjs_proxy.h:
2381         * loader/FrameLoader.cpp:
2382         (WebCore::FrameLoader::detachFromParent): Made this function cross-
2383         platform.
2384         * loader/FrameLoader.h:
2385         * loader/mac/FrameLoaderMac.mm:
2386         (WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
2387         since it's Mac-only.
2388         (WebCore::FrameLoader::closeBridge):
2389         * page/Page.cpp:
2390         (WebCore::Page::~Page): Don't garbage collect in the Page destructor,
2391         since the Interpreter destructor will do it for us.
2392
2393 2006-11-30  Brady Eidson  <beidson@apple.com>
2394
2395         Reviewed by Tim's rubberstamp
2396
2397         Amazingly, DocumentLoader.h survived all this time without a header guard...
2398
2399         * loader/DocumentLoader.h:  Added header guard
2400
2401 2006-11-30  Timothy Hatcher  <timothy@apple.com>
2402
2403         Reviewed by Brady and Eric.
2404
2405         XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
2406         http://bugs.webkit.org/show_bug.cgi?id=11723
2407
2408         Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
2409         tested in Safari's debug Snippet Editor.
2410
2411         * xml/xmlhttprequest.cpp:
2412         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
2413
2414 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2415
2416         Reviewed by Brady.
2417
2418         Get rid of PlatformResponse, the platform specific response object is stored inside of 
2419         the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
2420         
2421         * bridge/mac/WebCoreFrameBridge.mm:
2422         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
2423         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
2424         * loader/CachedResource.cpp:
2425         (WebCore::CachedResource::CachedResource):
2426         (WebCore::CachedResource::~CachedResource):
2427         * loader/CachedResource.h:
2428         (WebCore::CachedResource::response):
2429         * loader/loader.cpp:
2430         * loader/loader.h:
2431         * loader/mac/ImageDocumentMac.mm:
2432         (WebCore::finishImageLoad):
2433         * loader/mac/LoaderFunctionsMac.mm:
2434         (WebCore::CheckCacheObjectStatus):
2435         * loader/mac/SubresourceLoaderMac.mm:
2436         (WebCore::SubresourceLoader::didReceiveResponse):
2437         * platform/network/ResourceHandle.h:
2438         * platform/network/ResourceResponse.h:
2439         (WebCore::ResourceResponse::nsURLResponse):
2440         (WebCore::ResourceResponse::cfURLResponse):
2441         * platform/network/mac/ResourceHandleMac.mm:
2442         (WebCore::ResourceHandle::didReceiveResponse):
2443
2444 2006-11-29  Justin Garcia  <justin.garcia@apple.com>
2445
2446         Reviewed by sullivan
2447         
2448         <rdar://problem/4845371>
2449         In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
2450         
2451         * editing/DeleteSelectionCommand.cpp:
2452         (WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
2453         being inflated even when they were the start/end of a partially selected
2454         special element.
2455
2456 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2457
2458         Reviewed by Oliver.
2459
2460         Fix fast/dom/xmlhttprequest-get layout test failure.
2461         
2462         * platform/network/mac/ResourceResponseMac.mm:
2463         Initialize the status code to 0 for non-http responses.
2464         
2465 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
2466
2467         Reviewed by Anders Carlsson.
2468         
2469         Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
2470         REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
2471         
2472         This was an accidental commit by Anders.
2473
2474         Chrome can't use the FrameView at window.open time, because it doesn't
2475         exist yet.
2476         
2477         * page/Chrome.cpp:
2478         (WebCore::Chrome::pageRect):
2479
2480 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
2481
2482         Reviewed by Mitz Pettel.
2483         
2484         Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
2485         REGRESSION (r17906): Crash in WebCore::FrameMac
2486
2487         Added null checks for EditorClient, since it can be NULL when the page
2488         has been destroyed. Removed external access to EditorClient, since it's
2489         an implementation detail of the Editor.
2490
2491         No test case because this crash depends on window tear-down. Layout tests
2492         pass.
2493         
2494 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2495
2496         Fix build.
2497         
2498         * platform/network/mac/ResourceHandleMac.mm:
2499         (WebCore::ResourceHandle::receivedResponse):
2500         Fix tyop.
2501
2502 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2503
2504         Reviewed by Darin.
2505
2506         Have ResourceResponse hold on to the platform object and do lazy
2507         initialization of the data members.
2508         
2509         * WebCore.xcodeproj/project.pbxproj:
2510         * loader/mac/FrameLoaderMac.mm:
2511         (WebCore::FrameLoader::loadResourceSynchronously):
2512         * platform/network/ResourceRequest.cpp:
2513         (WebCore::ResourceRequest::updatePlatformRequest):
2514         (WebCore::ResourceRequest::updateResourceRequest):
2515         * platform/network/ResourceResponse.cpp: Added.
2516         (WebCore::ResourceResponse::url):
2517         (WebCore::ResourceResponse::mimeType):
2518         (WebCore::ResourceResponse::expectedContentLength):
2519         (WebCore::ResourceResponse::textEncodingName):
2520         (WebCore::ResourceResponse::suggestedFilename):
2521         (WebCore::ResourceResponse::httpStatusCode):
2522         (WebCore::ResourceResponse::setHTTPStatusCode):
2523         (WebCore::ResourceResponse::httpStatusText):
2524         (WebCore::ResourceResponse::setHTTPStatusText):
2525         (WebCore::ResourceResponse::httpHeaderField):
2526         (WebCore::ResourceResponse::httpHeaderFields):
2527         (WebCore::ResourceResponse::setExpirationDate):
2528         (WebCore::ResourceResponse::expirationDate):
2529         (WebCore::ResourceResponse::setLastModifiedDate):
2530         (WebCore::ResourceResponse::lastModifiedDate):
2531         (WebCore::ResourceResponse::updateResourceResponse):
2532         * platform/network/ResourceResponse.h:
2533         (WebCore::ResourceResponse::ResourceResponse):
2534         (WebCore::ResourceResponse::isMultipart):
2535         * platform/network/mac/ResourceHandleMac.mm:
2536         (WebCore::ResourceHandle::receivedResponse):
2537         (WebCore::ResourceHandle::willSendRequest):
2538         * platform/network/mac/ResourceResponseMac.h: Removed.
2539         * platform/network/mac/ResourceResponseMac.mm:
2540         (-[NSURLResponse WebCore]):
2541
2542 2006-11-28  Alice Liu  <alice.liu@apple.com>
2543
2544         Reviewed by Maciej.
2545
2546         A fix for a couple failing layout tests involving copy/cut in iframes.
2547
2548         * bridge/EditorClient.h:
2549         Add frame parameter to dataForArchivedSelectionInFrame instead of
2550         just getting the webview's selectedFrame.
2551
2552         * platform/mac/PasteboardMac.mm:
2553         (Pasteboard::writeSelection):
2554         Pass in the frame
2555
2556 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
2557
2558         Reviewed by Beth Dakin.
2559
2560         Fixed <rdar://problem/4844855> Should clarify when to create clients in 
2561         the WebCore client API
2562         
2563         All clients must now be supplied as constructor arguments. This clarifies 
2564         when you need to create clients, and also guarantees that objects can't 
2565         (for the most part) be in a clientless state.
2566
2567         Layout tests pass. No leaks reported.
2568         
2569         * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
2570         WebKit to resolve circular dependencies at init time.
2571
2572 2006-11-28  Adam Roben  <aroben@apple.com>
2573
2574         Reviewed by Ada.
2575
2576         Add platform-specific constructor/destructor to ContextMenu so we can
2577         properly retain/release the platform menu description.
2578
2579         * platform/ContextMenu.h:
2580         (WebCore::ContextMenu::platformDescription):
2581         * platform/mac/ContextMenuMac.mm:
2582         (WebCore::ContextMenu::ContextMenu):
2583         (WebCore::ContextMenu::~ContextMenu):
2584         (WebCore::getNSMenuItem):
2585         (WebCore::ContextMenu::appendItem):
2586         (WebCore::ContextMenu::itemCount):
2587         (WebCore::ContextMenu::insertItem):
2588         (WebCore::ContextMenu::setPlatformDescription):
2589
2590 2006-11-28  Adam Roben  <aroben@apple.com>
2591
2592         Build fix.
2593
2594         * platform/network/mac/ResourceRequestMac.mm:
2595
2596 2006-11-28  David Harrison  <harrison@apple.com>
2597
2598         Reviewed by Adele.
2599
2600         <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
2601
2602         Test:
2603         * editing/selection/select-missing-image.html: Added.
2604
2605         * rendering/RenderImage.cpp:
2606         (WebCore::RenderImage::paint):
2607         Draw the selection tint even if the image itself is not available.
2608
2609 2006-11-28  Anders Carlsson  <acarlsson@apple.com>
2610
2611         Reviewed by Maciej.
2612
2613         Have ResourceRequest hold on to the platform object so we don't
2614         have to convert back and forth when nothing in the object changes.
2615
2616         * WebCore.exp:
2617         * WebCore.xcodeproj/project.pbxproj:
2618         * loader/mac/FrameLoaderMac.mm:
2619         (WebCore::FrameLoader::continueAfterNavigationPolicy):
2620         * page/Chrome.cpp:
2621         (WebCore::Chrome::pageRect):
2622         * platform/network/ResourceRequest.cpp: Added.
2623         (WebCore::ResourceRequest::isEmpty):
2624         (WebCore::ResourceRequest::url):
2625         (WebCore::ResourceRequest::setURL):
2626         (WebCore::ResourceRequest::cachePolicy):
2627         (WebCore::ResourceRequest::setCachePolicy):
2628         (WebCore::ResourceRequest::timeoutInterval):
2629         (WebCore::ResourceRequest::setTimeoutInterval):
2630         (WebCore::ResourceRequest::mainDocumentURL):
2631         (WebCore::ResourceRequest::setMainDocumentURL):
2632         (WebCore::ResourceRequest::httpMethod):
2633         (WebCore::ResourceRequest::setHTTPMethod):
2634         (WebCore::ResourceRequest::httpHeaderFields):
2635         (WebCore::ResourceRequest::httpHeaderField):
2636         (WebCore::ResourceRequest::setHTTPHeaderField):
2637         (WebCore::ResourceRequest::httpBody):
2638         (WebCore::ResourceRequest::setHTTPBody):
2639         (WebCore::ResourceRequest::allowHTTPCookies):
2640         (WebCore::ResourceRequest::setAllowHTTPCookies):
2641         (WebCore::ResourceRequest::updatePlatformRequest):
2642         (WebCore::ResourceRequest::updateResourceRequest):
2643         (WebCore::ResourceRequest::addHTTPHeaderField):
2644         (WebCore::ResourceRequest::addHTTPHeaderFields):
2645         * platform/network/ResourceRequest.h:
2646         (WebCore::ResourceRequest::ResourceRequest):
2647         * platform/network/mac/ResourceHandleMac.mm:
2648         (WebCore::ResourceHandle::willSendRequest):
2649         * platform/network/mac/ResourceRequestMac.h: Removed.
2650         * platform/network/mac/ResourceRequestMac.mm:
2651         (WebCore::ResourceRequest::nsURLRequest):
2652         (WebCore::ResourceRequest::doUpdateResourceRequest):
2653         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2654
2655 2006-11-28  Adam Roben  <aroben@apple.com>
2656
2657         Reviewed by Beth.
2658
2659         More WebCore context menu work (still not turned on, however).
2660
2661         Split ContextMenuItem into its own files and make it a class.
2662
2663         * WebCore.exp: Updated symbols.
2664         * WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
2665         * platform/ContextMenu.cpp:
2666         (WebCore::ContextMenu::populate): Code cleanup.
2667         * platform/ContextMenu.h: Split ContextMenuItem into a separate file,
2668         removed redundant "Menu" part of platformMenuDescription(),
2669         setPlatformMenuDescription().
2670         (WebCore::ContextMenu::ContextMenu):
2671         (WebCore::ContextMenu::hitTestResult):
2672         (WebCore::ContextMenu::platformDescription):
2673         * platform/ContextMenuItem.h: Added. Made ContextMenuItem a
2674         full-fledged class.
2675         (WebCore::):
2676         (WebCore::ContextMenuItem::ContextMenuItem):
2677         (WebCore::ContextMenuItem::menu):
2678         (WebCore::ContextMenuItem::platformDescription):
2679         (WebCore::ContextMenuItem::type):
2680         (WebCore::ContextMenuItem::action):
2681         (WebCore::ContextMenuItem::title):
2682         * platform/mac/ContextMenuItemMac.mm: Added.
2683         (WebCore::ContextMenuItem::ContextMenuItem):
2684         * platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
2685         (-[MenuTarget forwardContextMenuAction:]):
2686         (getNSMenuItem): Handle separator items.
2687         (ContextMenu::appendItem):
2688         (ContextMenu::itemCount):
2689         (ContextMenu::insertItem):
2690         (ContextMenu::setPlatformDescription):
2691         * page/ContextMenuController.h: Updated declaration, added getter.
2692         (WebCore::ContextMenuController::contextMenu):
2693
2694         Added some more context menu plumbing.
2695
2696         * dom/EventTargetNode.cpp:
2697         (WebCore::EventTargetNode::defaultEventHandler): Added code to call the
2698         ContextMenuController when a context menu event is received.
2699         * page/ContextMenuClient.h: New client method declaration.
2700         * page/ContextMenuController.cpp:
2701         (WebCore::ContextMenuController::handleContextMenuEvent): Set the event
2702         defaultHandled after handling it.
2703         (WebCore::ContextMenuController::contextMenuItemSelected): Take a
2704         ContextMenuItem instead of a separate action and title.
2705
2706         Changed event-handling methods to return bools to signify whether the
2707         event was handled or not. This is needed so we can know whether to hand
2708         the event off to the OS. Also restructured some code to use early
2709         returns instead of nesting ifs.
2710
2711         * page/EventHandler.cpp:
2712         (WebCore::EventHandler::handleMousePressEventDoubleClick):
2713         (WebCore::EventHandler::handleMousePressEventTripleClick):
2714         (WebCore::EventHandler::handleMousePressEventSingleClick):
2715         (WebCore::EventHandler::handleMousePressEvent):
2716         (WebCore::EventHandler::handleMouseMoveEvent):
2717         (WebCore::EventHandler::handleMouseReleaseEvent):
2718         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2719         (WebCore::EventHandler::handleWheelEvent):
2720         (WebCore::EventHandler::canMouseDownStartSelect):
2721         * page/EventHandler.h:
2722         * page/FrameView.cpp:
2723         (WebCore::FrameView::handleMouseMoveEvent):
2724         (WebCore::FrameView::handleMouseReleaseEvent):
2725         * page/FrameView.h:
2726         * platform/ScrollBar.h: More bool return values.
2727         (WebCore::Scrollbar::handleMouseMoveEvent):
2728         (WebCore::Scrollbar::handleMouseOutEvent):
2729         * platform/Widget.h: Ditto.
2730         (WebCore::Widget::handleMouseMoveEvent):
2731         (WebCore::Widget::handleMouseReleaseEvent):
2732
2733         Reverted the changes made in r17805 so that we can have fewer header
2734         #includes.
2735
2736         * page/Page.cpp:
2737         (WebCore::Page::Page):
2738         * page/Page.h: Ditto.
2739         (WebCore::Page::dragCaretController):
2740         (WebCore::Page::chrome):
2741         (WebCore::Page::contextMenuController):
2742
2743 2006-11-28  Alice Liu  <alice.liu@apple.com>
2744
2745         Reviewed by Justin and Adam.
2746
2747         All layout tests pass as they do without this patch
2748
2749         * WebCore.exp:
2750         Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
2751
2752         * WebCore.xcodeproj/project.pbxproj:
2753         Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
2754
2755         * bridge/EditorClient.h:
2756         Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
2757
2758         * bridge/mac/FrameMac.h:
2759         * bridge/mac/FrameMac.mm:
2760         Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now
2761
2762         * dom/CharacterData.h:
2763         (WebCore::CharacterData::isCharacterDataNode):
2764         * dom/Node.h:
2765         (WebCore::Node::isCharacterDataNode):
2766         Added a type-identifying function to Node and the proper subclass
2767
2768         * dom/Clipboard.h:
2769         Exposed setAccessPolicy as public
2770         
2771         * editing/Editor.h:
2772         * editing/Editor.cpp:
2773         Implemented the following
2774         (WebCore::Editor::canDHTMLCut):
2775         (WebCore::Editor::canDHTMLCopy):
2776         (WebCore::Editor::canDHTMLPaste):
2777         (WebCore::Editor::canSmartCopyOrDelete):
2778         (WebCore::Editor::deleteSelection):
2779         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
2780         (WebCore::Editor::pasteWithPasteboard):
2781         (WebCore::Editor::canSmartReplaceWithPasteboard):
2782         (WebCore::Editor::shouldInsertFragment):
2783         (WebCore::Editor::replaceSelectionWithFragment):
2784         (WebCore::Editor::replaceSelectionWithText):
2785         (WebCore::Editor::selectedRange):
2786         (WebCore::Editor::shouldDeleteRange):
2787         (WebCore::Editor::tryDHTMLCopy):
2788         (WebCore::Editor::tryDHTMLCut):
2789         (WebCore::Editor::tryDHTMLPaste):
2790         (WebCore::Editor::writeSelectionToPasteboard):
2791         (WebCore::Editor::dispatchCPPEvent):
2792         (WebCore::Editor::cut):
2793         (WebCore::Editor::copy):
2794         (WebCore::Editor::paste):
2795                 
2796         * platform/mac/ClipboardAccessPolicy.h: Removed.
2797         Not removed, but moved to dom/ClipboardAccessPolicy.h
2798         
2799         * platform/mac/EditorMac.mm: Added.
2800         (WebCore::Editor::newGeneralClipboard):
2801
2802         * platform/Pasteboard.h: Added.
2803         * platform/mac/PasteboardMac.mm: Added.
2804         The pasteboard class follows a singleton pattern
2805         (Pasteboard::generalPasteboard):
2806         (Pasteboard::~Pasteboard):
2807         (Pasteboard::Pasteboard):
2808         (Pasteboard::clearTypes):
2809         (Pasteboard::writeSelection):
2810         (Pasteboard::selectionPasteboardTypes):
2811         (Pasteboard::canSmartReplace):
2812         (Pasteboard::plainText):
2813         (Pasteboard::documentFragment):
2814         
2815         * platform/mac/WebNSAttributedStringExtras.h: Added.
2816         * platform/mac/WebNSAttributedStringExtras.mm: Added.
2817         Added select portions of this file from WebKit because the pasteboard needed the following function:
2818         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
2819
2820 2006-11-28  Justin Garcia  <justin.garcia@apple.com>
2821
2822         Reviewed by harrison
2823
2824         <rdar://problem/4397952>
2825         Cannot select buttons at the end of a document, preventing copy/paste
2826         
2827         There were no VisiblePositions before/after buttons because editingIgnoresContent
2828         returned false for buttons. 
2829
2830         * dom/Position.cpp:
2831         (WebCore::Position::upstream): Fixed a comment.
2832         (WebCore::Position::downstream): Ditto.
2833         * editing/DeleteSelectionCommand.cpp:
2834         (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
2835         * editing/htmlediting.cpp:
2836         (WebCore::editingIgnoresContent): It's unnecessary to prefer renderer 
2837         checks over tag name checks because it seems that a node of a tag name 
2838         that we do not ignore content for can't have a renderer of a type that we do.
2839         (WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
2840         * editing/visible_units.cpp:
2841         (WebCore::previousLinePosition): Migrate to enclosingBlock.  Fixes a bug where the
2842         caret would get stuck moving up/down a line from a caret just before an 
2843         input element.
2844         (WebCore::nextLinePosition): Ditto.
2845
2846 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
2847
2848         Reviewed by Adam.
2849
2850         Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
2851         calls cause .5% PLT regression.
2852         
2853         Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
2854         from the Frame to the Page, since it's only responsible for
2855         Webview-level delegate calls.
2856         
2857         I don't really love this design, but it fixes the regression and allows
2858         a single WebKit object to implement multiple client interfaces.
2859         
2860         Layout tests pass.
2861
2862 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2863
2864         Try fixing the build.
2865         
2866         * platform/graphics/IntRect.cpp:
2867         (WebCore::IntRect::IntRect):
2868
2869 2006-11-27  Beth Dakin  <bdakin@apple.com>
2870
2871         Reviewed by Adam.
2872
2873         Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
2874
2875         * bridge/mac/FrameMac.h: Two new spell checker functions from 
2876         WebKit. (We will be able to delete the WebKit versions once we 
2877         switch over to WebCore context menus.)
2878         * bridge/mac/FrameMac.mm:
2879         (WebCore::FrameMac::isSelectionMisspelled):
2880         (WebCore::core): Convert from NSArray of Strings to a Vector of 
2881         Strings.
2882         (WebCore::FrameMac::guessesForMisspelledSelection):
2883         * loader/FrameLoader.cpp:
2884         (WebCore::FrameLoader::canHandleRequest):
2885         * loader/FrameLoader.h: Make canHandleRequest available through the 
2886         FrameLoader.
2887         * loader/FrameLoaderClient.h: canHandleRequest takes a 
2888         ResourceRequest instead of an NSURLRequest.
2889         * loader/mac/FrameLoaderMac.mm:
2890         (WebCore::FrameLoader::continueAfterNavigationPolicy): Same
2891         * page/Frame.h: New spell checker functions moved to Frame. These 
2892         should be moved some place better some day, but FrameMac currently 
2893         seems to be the place to be for spell checker stuff.
2894         * platform/ContextMenu.cpp:
2895         (WebCore::ContextMenu::populate): Use new FrameLoader and spell 
2896         checking functionality to get rid of two if (true) statements. Also 
2897         add spelling guesses to the editing context menus.
2898
2899 2006-11-27  Alexey Proskuryakov  <ap@webkit.org>
2900
2901         Reviewed by Hyatt.
2902
2903         http://bugs.webkit.org/show_bug.cgi?id=11694
2904         XSLT output method does not default to HTML when the target document is HTML
2905
2906         Test: fast/xsl/default-html.html
2907
2908         * xml/XSLTProcessor.cpp:
2909         (WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter, 
2910         serving as a hint when the stylesheet doesn't specify the output method.
2911         (WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
2912         document is HTML.
2913
2914 2006-11-27  Oliver Hunt  <oliver@apple.com>
2915
2916         Reviewed by Adam.
2917
2918         Fixes a crash in SVG caused by an attempt to 
2919         perform css overflow clipping by preventing
2920         the css overflow clip from being set in SVG.
2921         
2922         <rdar:/problems/4839568>
2923
2924         * WebCore.xcodeproj/project.pbxproj:
2925         * rendering/RenderForeignObject.cpp:
2926         (WebCore::RenderForeignObject::RenderForeignObject):
2927         * rendering/RenderForeignObject.h:
2928         * rendering/RenderSVGBlock.cpp: Added.
2929         (WebCore::RenderSVGBlock::RenderSVGBlock):
2930         (WebCore::RenderSVGBlock::setStyle):
2931         * rendering/RenderSVGBlock.h: Added.
2932         * rendering/RenderSVGText.cpp:
2933         (WebCore::RenderSVGText::RenderSVGText):
2934         * rendering/RenderSVGText.h:
2935
2936 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2937
2938         Reviewed by Adam.
2939
2940         Add an explicit IntRect constructor that takes a FloatRect.
2941         
2942         * platform/graphics/IntRect.cpp:
2943         (WebCore::IntRect::IntRect):
2944         * platform/graphics/IntRect.h:
2945
2946 2006-11-27  Ada Chan  <adachan@apple.com>
2947
2948         Reviewed by Adam.
2949
2950         Moved WebCoreCache up to WebKit.
2951
2952         * WebCore.exp:
2953         * WebCore.xcodeproj/project.pbxproj:
2954         * bridge/mac/WebCoreCache.h: Removed.
2955         * bridge/mac/WebCoreCache.mm: Removed.
2956
2957 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2958
2959         Reviewed by Adam.
2960
2961         Move addMessageToConsole to Chrome.
2962         
2963         * bindings/js/kjs_events.cpp:
2964         (KJS::JSAbstractEventListener::handleEvent):
2965         * bindings/js/kjs_proxy.cpp:
2966         (WebCore::KJSProxy::evaluate):
2967         * bindings/js/kjs_window.cpp:
2968         (KJS::Window::isSafeScript):
2969         (KJS::ScheduledAction::execute):
2970         * bridge/mac/FrameMac.h:
2971         * bridge/mac/FrameMac.mm:
2972         * bridge/mac/WebCoreFrameBridge.h:
2973         * page/Chrome.cpp:
2974         (WebCore::Chrome::addMessageToConsole):
2975         * page/Chrome.h:
2976         * page/ChromeClient.h:
2977         * page/Frame.h:
2978
2979 2006-11-27  Adele Peterson  <adele@apple.com>
2980
2981         Reviewed by Hyatt.
2982
2983         - Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
2984           Caret color in new text field should take background color and foreground color into consideration
2985
2986         * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
2987           Use the foreground color of the rootEditableElement to determine the caret color.  This will work well for text controls in web pages (since the root is always the actual form control)
2988           as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.
2989
2990 2006-11-26  Simon Hausmann  <hausmann@kde.org>
2991
2992         Reviewed by Maciej.
2993
2994         http://bugs.webkit.org/show_bug.cgi?id=11693
2995         Fix the Qt build, adapt to various enum/class renamings.
2996
2997         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2998         (WebCore::KRenderingDeviceQt::createResource):
2999         (WebCore::KRenderingDeviceQt::createPaintServer):
3000         * kcanvas/device/qt/KRenderingDeviceQt.h:
3001         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
3002         (WebCore::SVGPaintServerLinearGradient::setup):
3003         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
3004         (WebCore::SVGPaintServer::renderPath):
3005         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
3006         (WebCore::setup):
3007         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
3008         (WebCore::SVGPaintServerSolid::setup):
3009
3010 2006-11-24  Rob Buis  <buis@kde.org>
3011
3012         Reviewed by Mitz.
3013
3014         http://bugs.webkit.org/show_bug.cgi?id=11666
3015         .getScreenCTM() returns wrong values
3016
3017         Take into account the local transform matrix too and
3018         so fix getScreenCTM/getCTM for <text>.
3019
3020         * ksvg2/svg/SVGStyledTransformableElement.cpp:
3021         (SVGStyledTransformableElement::getCTM):
3022         (SVGStyledTransformableElement::getScreenCTM):
3023         * ksvg2/svg/SVGTextElement.cpp:
3024         (WebCore::SVGTextElement::getScreenCTM):
3025         (WebCore::SVGTextElement::getCTM):
3026         * ksvg2/svg/SVGTransformable.cpp:
3027         (WebCore::SVGTransformable::getCTM):
3028         (WebCore::SVGTransformable::getScreenCTM):
3029         * ksvg2/svg/SVGTransformable.h:
3030
3031 2006-11-22  Rob Buis  <buis@kde.org>
3032
3033         Reviewed by Eric.
3034
3035         http://bugs.webkit.org/show_bug.cgi?id=11661
3036         SVG: stroke not sensitive to mouse events (hit testing fails)
3037
3038         Use mapAbsolutePointToLocal when hit-testing strokes.
3039
3040         * rendering/RenderPath.cpp:
3041         (WebCore::RenderPath::fillContains):
3042         (WebCore::RenderPath::nodeAtPoint):
3043
3044 2006-11-21  Anders Carlsson  <acarlsson@apple.com>
3045
3046         Reviewed by Mitz.
3047
3048         General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
3049         Remove config.h inluce from AffineTransform.h
3050         
3051         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
3052         (WebCore::KRenderingDeviceQuartz::createPaintServer):
3053         (WebCore::KRenderingDeviceQuartz::createResource):
3054         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3055         (WebCore::sharedSolidPaintServer):
3056         * ksvg2/svg/SVGFilterElement.cpp:
3057         (WebCore::SVGFilterElement::canvasResource):
3058         * ksvg2/svg/SVGLinearGradientElement.cpp:
3059         (WebCore::SVGLinearGradientElement::buildGradient):
3060         * ksvg2/svg/SVGLinearGradientElement.h:
3061         (WebCore::SVGLinearGradientElement::gradientType):
3062         * ksvg2/svg/SVGPatternElement.cpp:
3063         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3064         (WebCore::SVGPatternElement::canvasResource):
3065         * ksvg2/svg/SVGRadialGradientElement.cpp:
3066         (WebCore::SVGRadialGradientElement::buildGradient):
3067         * ksvg2/svg/SVGRadialGradientElement.h:
3068         (WebCore::SVGRadialGradientElement::gradientType):
3069         * platform/graphics/AffineTransform.h:
3070         * platform/graphics/svg/SVGPaintServer.h:
3071         (WebCore::):
3072         * platform/graphics/svg/SVGPaintServerGradient.cpp:
3073         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
3074         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
3075         * platform/graphics/svg/SVGPaintServerGradient.h:
3076         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
3077         (WebCore::SVGPaintServerLinearGradient::type):
3078         * platform/graphics/svg/SVGPaintServerPattern.h:
3079         (WebCore::SVGPaintServerPattern::type):
3080         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
3081         (WebCore::SVGPaintServerRadialGradient::type):
3082         * platform/graphics/svg/SVGPaintServerSolid.h:
3083         (WebCore::SVGPaintServerSolid::type):
3084         * platform/graphics/svg/SVGResource.h:
3085         (WebCore::):
3086         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
3087         (WebCore::SVGPaintServer::renderPath):
3088         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3089         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
3090         (WebCore::SVGPaintServerGradient::teardown):
3091         (WebCore::SVGPaintServerGradient::renderPath):
3092         (WebCore::SVGPaintServerGradient::setup):
3093         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
3094         (WebCore::SVGPaintServerPattern::setup):
3095         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
3096         (WebCore::SVGPaintServerSolid::setup):
3097         * rendering/RenderPath.cpp:
3098         (WebCore::RenderPath::paint):
3099         * rendering/SVGInlineFlowBox.cpp:
3100         (WebCore::paintSVGInlineFlow):
3101
3102 2006-11-21  Nikolas Zimmermann  <zimmermann@kde.org>
3103
3104         Reviewed by Oliver.
3105
3106         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
3107
3108         Move KRenderingPaintServer* classes to the location
3109         of all other resources (platform/graphics/svg).
3110
3111         Soon the whole platform/graphics/svg stuff will bemoved
3112         into ksvg2/ itself, as discussed with Darin.
3113
3114         * CMakeLists.txt:
3115         * WebCore.xcodeproj/project.pbxproj:
3116         * kcanvas/device/KRenderingDevice.h:
3117         * kcanvas/device/KRenderingPaintServer.h: Removed.
3118         * kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
3119         * kcanvas/device/KRenderingPaintServerGradient.h: Removed.
3120         * kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
3121         * kcanvas/device/KRenderingPaintServerPattern.h: Removed.
3122         * kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
3123         * kcanvas/device/KRenderingPaintServerSolid.h: Removed.
3124         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
3125         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
3126         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
3127         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
3128         * kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
3129         * kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
3130         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
3131         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
3132         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
3133         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
3134         (WebCore::KRenderingDeviceQuartz::createPaintServer):
3135         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3136         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
3137         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
3138         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
3139         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3140         (WebCore::sharedSolidPaintServer):
3141         (WebCore::KSVGPainterFactory::fillPaintServer):
3142         (WebCore::KSVGPainterFactory::strokePaintServer):
3143         * ksvg2/misc/KCanvasRenderingStyle.h:
3144         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3145         * ksvg2/svg/SVGFEOffsetElement.cpp:
3146         * ksvg2/svg/SVGGradientElement.cpp:
3147         (WebCore::SVGGradientElement::canvasResource):
3148         (WebCore::SVGGradientElement::resourceNotification):
3149         (WebCore::SVGGradientElement::rebuildStops):
3150         * ksvg2/svg/SVGGradientElement.h:
3151         * ksvg2/svg/SVGLinearGradientElement.cpp:
3152         (WebCore::SVGLinearGradientElement::buildGradient):
3153         * ksvg2/svg/SVGLinearGradientElement.h:
3154         (WebCore::SVGLinearGradientElement::gradientType):
3155         * ksvg2/svg/SVGPatternElement.cpp:
3156         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3157         (WebCore::SVGPatternElement::canvasResource):
3158         * ksvg2/svg/SVGPatternElement.h:
3159         * ksvg2/svg/SVGRadialGradientElement.cpp:
3160         (WebCore::SVGRadialGradientElement::buildGradient):
3161         * ksvg2/svg/SVGRadialGradientElement.h:
3162         (WebCore::SVGRadialGradientElement::gradientType):
3163         * platform/graphics/svg/SVGPaintServer.cpp: Added.
3164         (WebCore::SVGPaintServer::SVGPaintServer):
3165         (WebCore::SVGPaintServer::~SVGPaintServer):
3166         (WebCore::SVGPaintServer::activeClient):
3167         (WebCore::SVGPaintServer::setActiveClient):
3168         (WebCore::SVGPaintServer::isPaintingText):
3169         (WebCore::SVGPaintServer::setPaintingText):
3170         (WebCore::operator<<):
3171         (WebCore::getPaintServerById):
3172         * platform/graphics/svg/SVGPaintServer.h: Added.
3173         (WebCore::):
3174         (WebCore::SVGPaintServer::isPaintServer):
3175         * platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
3176         (WebCore::compareStopOffset):
3177         (WebCore::operator<<):
3178         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
3179         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
3180         (WebCore::SVGPaintServerGradient::gradientStops):
3181         (WebCore::SVGPaintServerGradient::setGradientStops):
3182         (WebCore::SVGPaintServerGradient::spreadMethod):
3183         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
3184         (WebCore::SVGPaintServerGradient::boundingBoxMode):
3185         (WebCore::SVGPaintServerGradient::setBoundingBoxMode):
3186         (WebCore::SVGPaintServerGradient::gradientTransform):
3187         (WebCore::SVGPaintServerGradient::setGradientTransform):
3188         (WebCore::SVGPaintServerGradient::listener):
3189         (WebCore::SVGPaintServerGradient::setListener):
3190         (WebCore::SVGPaintServerGradient::externalRepresentation):
3191         * platform/graphics/svg/SVGPaintServerGradient.h: Added.
3192         (WebCore::):
3193         (WebCore::SVGPaintServerGradient::):
3194         (WebCore::makeGradientStop):
3195         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
3196         (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
3197         (WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
3198         (WebCore::SVGPaintServerLinearGradient::gradientStart):
3199         (WebCore::SVGPaintServerLinearGradient::setGradientStart):
3200         (WebCore::SVGPaintServerLinearGradient::gradientEnd):
3201         (WebCore::SVGPaintServerLinearGradient::setGradientEnd):
3202         (WebCore::SVGPaintServerLinearGradient::externalRepresentation):
3203         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
3204         (WebCore::SVGPaintServerLinearGradient::type):
3205         * platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
3206         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
3207         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
3208         (WebCore::SVGPaintServerPattern::bbox):
3209         (WebCore::SVGPaintServerPattern::setBbox):
3210         (WebCore::SVGPaintServerPattern::boundingBoxMode):
3211         (WebCore::SVGPaintServerPattern::setBoundingBoxMode):
3212         (WebCore::SVGPaintServerPattern::tile):
3213         (WebCore::SVGPaintServerPattern::setTile):
3214         (WebCore::SVGPaintServerPattern::patternTransform):
3215         (WebCore::SVGPaintServerPattern::setPatternTransform):
3216         (WebCore::SVGPaintServerPattern::listener):
3217         (WebCore::SVGPaintServerPattern::setListener):
3218         (WebCore::SVGPaintServerPattern::externalRepresentation):
3219         * platform/graphics/svg/SVGPaintServerPattern.h: Added.
3220         (WebCore::SVGPaintServerPattern::type):
3221         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
3222         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
3223         (WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
3224         (WebCore::SVGPaintServerRadialGradient::gradientCenter):
3225         (WebCore::SVGPaintServerRadialGradient::setGradientCenter):
3226         (WebCore::SVGPaintServerRadialGradient::gradientFocal):
3227         (WebCore::SVGPaintServerRadialGradient::setGradientFocal):
3228         (WebCore::SVGPaintServerRadialGradient::gradientRadius):
3229         (WebCore::SVGPaintServerRadialGradient::setGradientRadius):
3230         (WebCore::SVGPaintServerRadialGradient::externalRepresentation):
3231         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
3232         (WebCore::SVGPaintServerRadialGradient::type):
3233         * platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
3234         (WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
3235         (WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
3236         (WebCore::SVGPaintServerSolid::color):
3237         (WebCore::SVGPaintServerSolid::setColor):
3238         (WebCore::SVGPaintServerSolid::externalRepresentation):
3239         * platform/graphics/svg/SVGPaintServerSolid.h: Added.
3240         (WebCore::SVGPaintServerSolid::type):
3241         * platform/graphics/svg/SVGResource.cpp:
3242         * platform/graphics/svg/SVGResource.h:
3243         * platform/graphics/svg/SVGResourceClipper.cpp:
3244         * platform/graphics/svg/SVGResourceMarker.cpp:
3245         * platform/graphics/svg/SVGResourceMasker.cpp:
3246         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
3247         (WebCore::SVGPaintServer::draw):
3248         (WebCore::SVGPaintServer::teardown):
3249         (WebCore::SVGPaintServer::renderPath):
3250         (WebCore::SVGPaintServer::strokePath):
3251         (WebCore::SVGPaintServer::clipToStrokePath):
3252         (WebCore::SVGPaintServer::fillPath):
3253         (WebCore::SVGPaintServer::clipToFillPath):
3254         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
3255         (WebCore::cgGradientCallback):
3256         (WebCore::CGShadingRefForLinearGradient):
3257         (WebCore::CGShadingRefForRadialGradient):
3258         (WebCore::SVGPaintServerGradient::invalidateCaches):
3259         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
3260         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
3261         (WebCore::SVGPaintServerGradient::teardown):
3262         (WebCore::SVGPaintServerGradient::renderPath):
3263         (WebCore::SVGPaintServerGradient::setup):
3264         (WebCore::SVGPaintServerGradient::invalidate):
3265         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
3266         (WebCore::patternCallback):
3267         (WebCore::SVGPaintServerPattern::setup):
3268         (WebCore::SVGPaintServerPattern::teardown):
3269         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
3270         (WebCore::SVGPaintServerSolid::setup):
3271         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
3272         (WebCore::SVGPaintServerGradient::fillColorArray):
3273         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
3274         (WebCore::SVGPaintServerLinearGradient::setup):
3275         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
3276         (WebCore::SVGPaintServerPattern::setup):
3277         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
3278         (WebCore::SVGPaintServer::setPenProperties):
3279         (WebCore::SVGPaintServer::draw):
3280         (WebCore::SVGPaintServer::teardown):
3281         (WebCore::SVGPaintServer::renderPath):
3282         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
3283         (WebCore::setup):
3284         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
3285         (WebCore::SVGPaintServerSolid::setup):
3286         * rendering/RenderPath.cpp:
3287         (WebCore::RenderPath::paint):
3288         * rendering/SVGInlineFlowBox.cpp:
3289         (WebCore::paintSVGInlineFlow):
3290         * rendering/SVGRenderTreeAsText.cpp:
3291         (WebCore::writeStyle):
3292         (WebCore::writeRenderResources):
3293
3294 2006-11-21  Alex Taylor  <darwin@techvisual.co.nz>
3295
3296         Reviewed by Mitz.
3297
3298         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
3299
3300         Adds calculations for bottom right radius's position
3301         which was being drawn incorrectly.
3302
3303         * rendering/RenderObject.cpp:
3304         (WebCore::RenderObject::paintBorder):
3305
3306 2006-11-20  Rob Buis  <buis@kde.org>
3307
3308         Reviewed by Maciej.
3309
3310         http://bugs.webkit.org/show_bug.cgi?id=11519
3311         REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html
3312
3313         Transport disabled state from DOM element to the shadow
3314         DOM/render object.
3315
3316         * rendering/RenderFileUploadControl.cpp:
3317         (WebCore::RenderFileUploadControl::updateFromElement):
3318         * rendering/RenderTheme.h:
3319
3320 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
3321
3322         Reviewed by Maciej.
3323
3324         * loader/TextResourceDecoder.cpp:
3325         (WebCore::findXMLEncoding):
3326         Use CString instead of DeprecatedCString.
3327         
3328         * platform/CString.cpp:
3329         (WebCore::CString::find):
3330         * platform/CString.h:
3331         (WebCore::CString::data):
3332         Add find method, make data method inline.
3333         
3334         * platform/TextStream.cpp:
3335         * platform/TextStream.h:
3336         Remove DeprecatedCString functions.
3337
3338 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
3339
3340         Reviewed by Maciej.
3341
3342         Use CString instead of DeprecatedCString.
3343         
3344         * html/FormDataList.cpp:
3345         (WebCore::FormDataList::appendString):
3346         (WebCore::fixLineBreaks):
3347         (WebCore::FormDataList::appendFile):
3348
3349 2006-11-20  Samuel Weinig  <sam@webkit.org>
3350
3351         Reviewed by Alexey.
3352
3353         Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
3354         Fix Windows build
3355
3356         * WebCore.vcproj/WebCore/WebCore.vcproj:
3357         * bridge/win/ContextMenuClientWin.h:
3358         * bridge/win/EditorClientWin.h:
3359         * bridge/win/FrameWin.h:
3360         * platform/win/TemporaryLinkStubs.cpp:
3361         (WebCore::ContextMenu::show):
3362         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
3363         (WebCore::ContextMenuClientWin::downloadURL):
3364         (WebCore::ContextMenuClientWin::copyImageToClipboard):
3365         (WebCore::ContextMenuClientWin::lookUpInDictionary):
3366         (WebCore::EditorClientWin::shouldInsertText):
3367         (WebCore::FrameLoader::reload):
3368         (WebCore::FrameWin::ignoreSpelling):
3369         (WebCore::FrameWin::learnSpelling):
3370
3371 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
3372
3373         Reviewed by Maciej.
3374
3375         http://bugs.webkit.org/show_bug.cgi?id=10736
3376         XMLHttpRequest.responseXML should be null on error
3377
3378         * dom/XMLTokenizer.cpp:
3379         (WebCore::XMLTokenizer::wellFormed):
3380         * dom/XMLTokenizer.h:
3381         (WebCore::Tokenizer::wellFormed):
3382         * dom/Document.cpp:
3383         (WebCore::Document::Document):
3384         (WebCore::Document::implicitClose):
3385         * dom/Document.h:
3386         (WebCore::Document::wellFormed):
3387         Tell whether XMLTokenizer saw an error. Always true (success) for HTML.
3388
3389         * xml/xmlhttprequest.cpp:
3390         (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
3391
3392 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
3393
3394         Reviewed by Sam Weinig.
3395
3396         http://bugs.webkit.org/show_bug.cgi?id=11633
3397         Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
3398
3399         * dom/Document.cpp:
3400         (WebCore::Document::Document):
3401         (WebCore::Document::setXMLVersion):
3402         (WebCore::Document::setXMLStandalone):
3403         * dom/Document.h:
3404         (WebCore::Document::xmlEncoding):
3405         (WebCore::Document::xmlVersion):
3406         (WebCore::Document::xmlStandalone):
3407         (WebCore::Document::setXMLEncoding):
3408         * dom/Document.idl:
3409         * dom/XMLTokenizer.cpp:
3410         (WebCore::XMLTokenizer::startDocument):
3411         (WebCore::startDocumentHandler):
3412         (WebCore::XMLTokenizer::initializeParserContext):
3413         Added support for these properties, getting them from an libxml2 context.
3414
3415         * html/HTMLDocument.cpp:
3416         (WebCore::HTMLDocument::HTMLDocument):
3417         HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".
3418
3419         * bindings/scripts/CodeGeneratorJS.pm:
3420         * bindings/scripts/CodeGeneratorObjC.pm:
3421         Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
3422
3423 2006-11-20  Nikolas Zimmermann  <zimmermann@kde.org>
3424
3425         Reviewed by Rob.
3426
3427         Fix Qt/Linux build.
3428
3429         * platform/qt/ContextMenuClientQt.cpp:
3430         (WebCore::ContextMenuClientQt::ref):
3431         (WebCore::ContextMenuClientQt::deref):
3432         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
3433         (WebCore::ContextMenuClientQt::downloadURL):
3434         (WebCore::ContextMenuClientQt::copyImageToClipboard):
3435         (WebCore::ContextMenuClientQt::lookUpInDictionary):
3436         * platform/qt/ContextMenuClientQt.h:
3437         * platform/qt/ContextMenuQt.cpp:
3438         (WebCore::ContextMenu::appendItem):
3439         (WebCore::ContextMenu::show):
3440         (WebCore::ContextMenu::itemCount):
3441         (WebCore::ContextMenu::insertItem):
3442         * platform/qt/EditorClientQt.cpp:
3443         (WebCore::EditorClientQt::shouldInsertText):
3444         * platform/qt/EditorClientQt.h:
3445         * platform/qt/FrameQt.cpp:
3446         (WebCore::FrameQt::ignoreSpelling):
3447         (WebCore::FrameQt::learnSpelling):
3448         * platform/qt/FrameQt.h:
3449         * platform/qt/TemporaryLinkStubs.cpp:
3450         (FrameLoader::reload):
3451
3452 2006-11-20  Samuel Weinig  <sam@webkit.org>
3453
3454         Reviewed by Maciej.
3455
3456         Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
3457         Fix Win32 build
3458
3459         * config.h: add #define NOMINMAX for windows build
3460         * platform/win/FontCacheWin.cpp:
3461         (WebCore::FontCache::createFontPlatformData):
3462         * platform/win/TemporaryLinkStubs.cpp: add definitions for 
3463         new cursors.
3464         (WebCore::aliasCursor):
3465         (WebCore::noDropCursor):
3466         (WebCore::progressCursor):
3467
3468 2006-11-19  Beth Dakin  <bdakin@apple.com>
3469
3470         Reviewed by Adam.
3471
3472         Implementation of actions for the new context menus.
3473
3474         * WebCore.exp:
3475         * WebCore.xcodeproj/project.pbxproj:
3476         * bridge/EditorClient.h: Declaration of shouldInsertText.
3477         * bridge/mac/FrameMac.h: Two new spelling functions.
3478         * bridge/mac/FrameMac.mm:
3479         (WebCore::FrameMac::ignoreSpelling):
3480         (WebCore::FrameMac::learnSpelling):
3481         * editing/Editor.cpp:
3482         (WebCore::Editor::shouldInsertText): Call into the client.
3483         * editing/Editor.h:
3484         * editing/EditorInsertAction.h: Added.
3485         (WebCore::): The WebCore equivalent of WebViewInsertAction. This is 
3486         defined in its own header so that we can use it from Editor.h and 
3487         EditorClient.h without having one of the above include the other.
3488         * page/ContextMenuClient.h: A few currently WebKit-implemented 
3489         function needed for menu actions.
3490         * page/ContextMenuController.cpp:
3491         (WebCore::makeGoogleSearchURL):
3492         (WebCore::ContextMenuController::contextMenuActionSelected): The 
3493         actions!
3494         * page/ContextMenuController.h:
3495         * page/Frame.h: New pure-virtual spelling functions.
3496         * platform/ContextMenu.cpp:
3497         (WebCore::ContextMenu::controller): Get the controller from the 
3498         menu.
3499         * platform/ContextMenu.h:
3500         * platform/mac/ContextMenuMac.mm:
3501         (-[MenuTarget 
3502         forwardContextMenuAction:initWithContextMenuController:WebCore::]): 
3503         Use the controller instead of the menu
3504         (-[MenuTarget WebCore::]):
3505         (-[MenuTarget setMenuController:WebCore::]):
3506         (-[MenuTarget forwardContextMenuAction:]):
3507         (getNSMenuItem):
3508         (ContextMenu::show):
3509         (ContextMenu::hide):
3510
3511 2006-11-19  Simon Hausmann  <hausmann@kde.org>
3512
3513         Reviewed by Zack.
3514
3515         http://bugs.webkit.org/show_bug.cgi?id=11649
3516         Fix CMake files for Qt-only build without KDE cmake files.
3517         Fix Qt/KDE build for the SVG support.
3518         Fix Qt-only build in the resource handler.
3519
3520         * CMakeLists.txt:
3521         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Added.
3522         (WebCore::SVGResourceFilter::SVGResourceFilter):
3523         (WebCore::SVGResourceFilter::~SVGResourceFilter):
3524         (WebCore::SVGResourceFilter::prepareFilter):
3525         (WebCore::SVGResourceFilter::applyFilter):
3526         * platform/network/qt/ResourceHandleManager.cpp:
3527         (WebCore::ResourceHandleManager::cancel):
3528         (WebCore::ResourceHandleManager::slotData):
3529         (WebCore::ResourceHandleManager::slotMimetype):
3530         (WebCore::ResourceHandleManager::slotResult):
3531         (WebCore::ResourceHandleManager::deliverJobData):
3532         * platform/network/qt/ResourceHandleManager.h:
3533         * platform/network/qt/ResourceHandleQt.cpp:
3534         * platform/qt/CursorQt.cpp:
3535         (WebCore::noDropCursor):
3536         (WebCore::progressCursor):
3537         (WebCore::aliasCursor):
3538
3539 2006-11-19  Mitz Pettel  <mitz@webkit.org>
3540
3541         Reviewed by Maciej.
3542
3543         - http://bugs.webkit.org/show_bug.cgi?id=11626
3544           Automate test for rdar://problem/4056100
3545
3546         * manual-tests/delete-into-nested-block.html: Removed.
3547
3548 2006-11-19  Nikolas Zimmermann  <zimmermann@kde.org>
3549
3550         Reviewed by Oliver.
3551
3552         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596
3553
3554         Split up KCanvasFilters & KCanvasFilterQuartz into several
3555         new classes (SVGFEBlend, SVGFEComposite...) and move them
3556         into platform/graphics/svg. This is still a temporary location,
3557         as discussed with Darin; the whole platform/graphics/svg directory
3558         will probably be moved into ksvg2/ in near future.
3559
3560         This finally removes the duplicated enumerations in the svg filter
3561         classes and within kcanvas. ksvg2/ and platform/graphics/svg share
3562         their enums now. As KCanvasFilters is gone now, The kcanvas/ subdirectory
3563         is empty.
3564
3565         * CMakeLists.txt:
3566         * WebCore.xcodeproj/project.pbxproj:
3567         * bindings/scripts/CodeGeneratorJS.pm:
3568         * kcanvas/KCanvasFilters.cpp: Removed.
3569         * kcanvas/KCanvasFilters.h: Removed.
3570         * kcanvas/device/KRenderingDevice.h:
3571         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3572         (WebCore::KRenderingDeviceQt::createFilterEffect):
3573         * kcanvas/device/qt/KRenderingDeviceQt.h:
3574         * kcanvas/device/quartz/KCanvasFilterQuartz.h: Removed.
3575         * kcanvas/device/quartz/KCanvasFilterQuartz.mm: Removed.
3576         * kcanvas/device/quartz/KCanvasItemQuartz.cpp:
3577         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
3578         (WebCore::KRenderingDeviceQuartz::createResource):
3579         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
3580         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3581         * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Removed.
3582         * kcanvas/device/quartz/filters/WKArithmeticFilter.h: Removed.
3583         * kcanvas/device/quartz/filters/WKArithmeticFilter.m: Removed.
3584         * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Removed.
3585         * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Removed.
3586         * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Removed.
3587         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Removed.
3588         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Removed.
3589         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Removed.
3590         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Removed.
3591         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Removed.
3592         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Removed.
3593         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Removed.
3594         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Removed.
3595         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Removed.
3596         * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Removed.
3597         * kcanvas/device/quartz/filters/WKDistantLightFilter.h: Removed.
3598         * kcanvas/device/quartz/filters/WKDistantLightFilter.m: Removed.
3599         * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Removed.
3600         * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Removed.
3601         * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Removed.
3602         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Removed.
3603         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Removed.
3604         * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Removed.
3605         * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Removed.
3606         * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Removed.
3607         * kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Removed.
3608         * kcanvas/device/quartz/filters/WKNormalMapFilter.h: Removed.
3609         * kcanvas/device/quartz/filters/WKNormalMapFilter.m: Removed.
3610         * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Removed.
3611         * kcanvas/device/quartz/filters/WKPointLightFilter.h: Removed.
3612         * kcanvas/device/quartz/filters/WKPointLightFilter.m: Removed.
3613         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Removed.
3614         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Removed.
3615         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Removed.
3616         * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Removed.
3617         * kcanvas/device/quartz/filters/WKSpotLightFilter.h: Removed.
3618         * kcanvas/device/quartz/filters/WKSpotLightFilter.m: Removed.
3619         * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Removed.
3620         * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Removed.
3621         * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Removed.
3622         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
3623         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
3624         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
3625         * ksvg2/svg/SVGFEBlendElement.cpp:
3626         (WebCore::SVGFEBlendElement::filterEffect):
3627         * ksvg2/svg/SVGFEBlendElement.h:
3628         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3629         (WebCore::SVGFEColorMatrixElement::filterEffect):
3630         * ksvg2/svg/SVGFEColorMatrixElement.h:
3631         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3632         (WebCore::SVGFEComponentTransferElement::filterEffect):
3633         * ksvg2/svg/SVGFEComponentTransferElement.h:
3634         * ksvg2/svg/SVGFECompositeElement.cpp:
3635         (WebCore::SVGFECompositeElement::filterEffect):
3636         * ksvg2/svg/SVGFECompositeElement.h:
3637         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
3638         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
3639         (WebCore::SVGFEDiffuseLightingElement::updateLights):
3640         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
3641         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
3642         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
3643         (WebCore::SVGFEDisplacementMapElement::filterEffect):
3644         * ksvg2/svg/SVGFEDisplacementMapElement.h:
3645         * ksvg2/svg/SVGFEDistantLightElement.cpp:
3646         (WebCore::SVGFEDistantLightElement::lightSource):
3647         * ksvg2/svg/SVGFEDistantLightElement.h:
3648         * ksvg2/svg/SVGFEFloodElement.cpp:
3649         (WebCore::SVGFEFloodElement::filterEffect):
3650         * ksvg2/svg/SVGFEFloodElement.h:
3651         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3652         (WebCore::SVGFEGaussianBlurElement::filterEffect):
3653         * ksvg2/svg/SVGFEGaussianBlurElement.h:
3654         * ksvg2/svg/SVGFEImageElement.cpp:
3655         (WebCore::SVGFEImageElement::filterEffect):
3656         * ksvg2/svg/SVGFEImageElement.h:
3657         * ksvg2/svg/SVGFELightElement.h:
3658         * ksvg2/svg/SVGFEMergeElement.cpp:
3659         (WebCore::SVGFEMergeElement::filterEffect):
3660         * ksvg2/svg/SVGFEMergeElement.h:
3661         * ksvg2/svg/SVGFEOffsetElement.cpp:
3662         (WebCore::SVGFEOffsetElement::filterEffect):
3663         * ksvg2/svg/SVGFEOffsetElement.h:
3664         * ksvg2/svg/SVGFEPointLightElement.cpp:
3665         (WebCore::SVGFEPointLightElement::lightSource):
3666         * ksvg2/svg/SVGFEPointLightElement.h:
3667         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
3668         (WebCore::SVGFESpecularLightingElement::filterEffect):
3669         (WebCore::SVGFESpecularLightingElement::updateLights):
3670         * ksvg2/svg/SVGFESpecularLightingElement.h:
3671         * ksvg2/svg/SVGFESpotLightElement.cpp:
3672         (WebCore::SVGFESpotLightElement::lightSource):
3673         * ksvg2/svg/SVGFESpotLightElement.h:
3674         * ksvg2/svg/SVGFETileElement.cpp:
3675         (WebCore::SVGFETileElement::filterEffect):
3676         * ksvg2/svg/SVGFETileElement.h:
3677         * ksvg2/svg/SVGFETurbulenceElement.cpp:
3678         (WebCore::SVGFETurbulenceElement::filterEffect):
3679         * ksvg2/svg/SVGFETurbulenceElement.h:
3680         (WebCore::):
3681         * ksvg2/svg/SVGFilterElement.cpp:
3682         (WebCore::SVGFilterElement::canvasResource):
3683         * ksvg2/svg/SVGFilterElement.h:
3684         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
3685         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
3686         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
3687         * platform/graphics/FloatPoint3D.cpp: Added.
3688         (WebCore::FloatPoint3D::FloatPoint3D):
3689         (WebCore::FloatPoint3D::x):
3690         (WebCore::FloatPoint3D::setX):
3691         (WebCore::FloatPoint3D::y):
3692         (WebCore::FloatPoint3D::setY):
3693         (WebCore::FloatPoint3D::z):
3694         (WebCore::FloatPoint3D::setZ):
3695         (WebCore::FloatPoint3D::normalize):
3696         * platform/graphics/FloatPoint3D.h: Added.
3697         * platform/graphics/svg/SVGResourceFilter.cpp: Added.
3698         (WebCore::SVGResourceFilter::clearEffects):
3699         (WebCore::SVGResourceFilter::addFilterEffect):
3700         (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
3701         (WebCore::SVGResourceFilter::externalRepresentation):
3702         (WebCore::getFilterById):
3703         * platform/graphics/svg/SVGResourceFilter.h: Added.
3704         (WebCore::SVGResourceFilter::isFilter):
3705         (WebCore::SVGResourceFilter::filterBoundingBoxMode):
3706         (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
3707         (WebCore::SVGResourceFilter::effectBoundingBoxMode):
3708         (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
3709         (WebCore::SVGResourceFilter::filterRect):
3710         (WebCore::SVGResourceFilter::setFilterRect):
3711         * platform/graphics/svg/SVGResourceImage.h:
3712         * platform/graphics/svg/SVGResourceListener.h:
3713         (SVGResourceListener::SVGResourceListener):
3714         (SVGResourceListener::~SVGResourceListener):
3715         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
3716         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Added.
3717         (WebCore::SVGResourceFilter::SVGResourceFilter):
3718         (WebCore::SVGResourceFilter::~SVGResourceFilter):
3719         (WebCore::SVGResourceFilter::prepareFilter):
3720         (WebCore::SVGResourceFilter::applyFilter):
3721         (WebCore::SVGResourceFilter::getCIFilterStack):
3722         (WebCore::SVGResourceFilter::imageForName):
3723         (WebCore::SVGResourceFilter::setImageForName):
3724         (WebCore::SVGResourceFilter::setOutputImage):
3725         (WebCore::alphaImageForImage):
3726         (WebCore::SVGResourceFilter::inputImage):
3727         * platform/graphics/svg/cg/SVGResourceMaskerCg.h: Removed.
3728         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
3729         * platform/graphics/svg/filters/SVGDistantLightSource.h: Added.
3730         (WebCore::SVGDistantLightSource::SVGDistantLightSource):
3731         (WebCore::SVGDistantLightSource::azimuth):
3732         (WebCore::SVGDistantLightSource::elevation):
3733         * platform/graphics/svg/filters/SVGFEBlend.cpp: Added.
3734         (WebCore::SVGFEBlend::in2):
3735         (WebCore::SVGFEBlend::setIn2):
3736         (WebCore::SVGFEBlend::blendMode):
3737         (WebCore::SVGFEBlend::setBlendMode):
3738         (WebCore::operator<<):
3739         (WebCore::SVGFEBlend::externalRepresentation):
3740         * platform/graphics/svg/filters/SVGFEBlend.h: Added.
3741         (WebCore::):
3742         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Added.
3743         (WebCore::SVGFEColorMatrix::type):
3744         (WebCore::SVGFEColorMatrix::setType):
3745         (WebCore::SVGFEColorMatrix::values):
3746         (WebCore::SVGFEColorMatrix::setValues):
3747         (WebCore::operator<<):
3748         (WebCore::SVGFEColorMatrix::externalRepresentation):
3749         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Added.
3750         (WebCore::):
3751         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Added.
3752         (WebCore::SVGFEComponentTransfer::redFunction):
3753         (WebCore::SVGFEComponentTransfer::setRedFunction):
3754         (WebCore::SVGFEComponentTransfer::greenFunction):
3755         (WebCore::SVGFEComponentTransfer::setGreenFunction):
3756         (WebCore::SVGFEComponentTransfer::blueFunction):
3757         (WebCore::SVGFEComponentTransfer::setBlueFunction):
3758         (WebCore::SVGFEComponentTransfer::alphaFunction):
3759         (WebCore::SVGFEComponentTransfer::setAlphaFunction):
3760         (WebCore::operator<<):
3761         (WebCore::SVGFEComponentTransfer::externalRepresentation):
3762         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Added.
3763         (WebCore::):
3764         (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction):
3765         * platform/graphics/svg/filters/SVGFEComposite.cpp: Added.
3766         (WebCore::SVGFEComposite::in2):
3767         (WebCore::SVGFEComposite::setIn2):
3768         (WebCore::SVGFEComposite::operation):
3769         (WebCore::SVGFEComposite::setOperation):
3770         (WebCore::SVGFEComposite::k1):
3771         (WebCore::SVGFEComposite::setK1):
3772         (WebCore::SVGFEComposite::k2):
3773         (WebCore::SVGFEComposite::setK2):
3774         (WebCore::SVGFEComposite::k3):
3775         (WebCore::SVGFEComposite::setK3):
3776         (WebCore::SVGFEComposite::k4):
3777         (WebCore::SVGFEComposite::setK4):
3778         (WebCore::SVGFEComposite::externalRepresentation):
3779         * platform/graphics/svg/filters/SVGFEComposite.h: Added.
3780         (WebCore::):
3781         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Added.
3782         (WebCore::SVGFEConvolveMatrix::kernelSize):
3783         (WebCore::SVGFEConvolveMatrix::setKernelSize):
3784         (WebCore::SVGFEConvolveMatrix::kernel):
3785         (WebCore::SVGFEConvolveMatrix::setKernel):
3786         (WebCore::SVGFEConvolveMatrix::divisor):
3787         (WebCore::SVGFEConvolveMatrix::setDivisor):
3788         (WebCore::SVGFEConvolveMatrix::bias):
3789         (WebCore::SVGFEConvolveMatrix::setBias):
3790         (WebCore::SVGFEConvolveMatrix::targetOffset):
3791         (WebCore::SVGFEConvolveMatrix::setTargetOffset):
3792         (WebCore::SVGFEConvolveMatrix::edgeMode):
3793         (WebCore::SVGFEConvolveMatrix::setEdgeMode):
3794         (WebCore::SVGFEConvolveMatrix::kernelUnitLength):
3795         (WebCore::SVGFEConvolveMatrix::setKernelUnitLength):
3796         (WebCore::SVGFEConvolveMatrix::preserveAlpha):
3797         (WebCore::SVGFEConvolveMatrix::setPreserveAlpha):
3798         (WebCore::operator<<):
3799         (WebCore::SVGFEConvolveMatrix::externalRepresentation):
3800         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Added.
3801         (WebCore::):
3802         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Added.
3803         (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting):
3804         (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
3805         (WebCore::SVGFEDiffuseLighting::lightingColor):
3806         (WebCore::SVGFEDiffuseLighting::setLightingColor):
3807         (WebCore::SVGFEDiffuseLighting::surfaceScale):
3808         (WebCore::SVGFEDiffuseLighting::setSurfaceScale):
3809         (WebCore::SVGFEDiffuseLighting::diffuseConstant):
3810         (WebCore::SVGFEDiffuseLighting::setDiffuseConstant):
3811         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthX):
3812         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthX):
3813         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthY):
3814         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthY):
3815         (WebCore::SVGFEDiffuseLighting::lightSource):
3816         (WebCore::SVGFEDiffuseLighting::setLightSource):
3817         (WebCore::SVGFEDiffuseLighting::externalRepresentation):
3818         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Added.
3819         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Added.
3820         (WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap):
3821         (WebCore::SVGFEDisplacementMap::in2):
3822         (WebCore::SVGFEDisplacementMap::setIn2):
3823         (WebCore::SVGFEDisplacementMap::xChannelSelector):
3824         (WebCore::SVGFEDisplacementMap::setXChannelSelector):
3825         (WebCore::SVGFEDisplacementMap::yChannelSelector):
3826         (WebCore::SVGFEDisplacementMap::setYChannelSelector):
3827         (WebCore::SVGFEDisplacementMap::scale):
3828         (WebCore::SVGFEDisplacementMap::setScale):
3829         (WebCore::operator<<):
3830         (WebCore::SVGFEDisplacementMap::externalRepresentation):
3831         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Added.
3832         (WebCore::):
3833         * platform/graphics/svg/filters/SVGFEFlood.cpp: Added.
3834         (WebCore::SVGFEFlood::floodColor):
3835         (WebCore::SVGFEFlood::setFloodColor):
3836         (WebCore::SVGFEFlood::floodOpacity):
3837         (WebCore::SVGFEFlood::setFloodOpacity):
3838         (WebCore::SVGFEFlood::externalRepresentation):
3839         * platform/graphics/svg/filters/SVGFEFlood.h: Added.
3840         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Added.
3841         (WebCore::SVGFEGaussianBlur::stdDeviationX):
3842         (WebCore::SVGFEGaussianBlur::setStdDeviationX):
3843         (WebCore::SVGFEGaussianBlur::stdDeviationY):
3844         (WebCore::SVGFEGaussianBlur::setStdDeviationY):
3845         (WebCore::SVGFEGaussianBlur::externalRepresentation):
3846         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Added.
3847         * platform/graphics/svg/filters/SVGFEImage.cpp: Added.
3848         (WebCore::SVGFEImage::SVGFEImage):
3849         (WebCore::SVGFEImage::~SVGFEImage):
3850         (WebCore::SVGFEImage::cachedImage):
3851         (WebCore::SVGFEImage::setCachedImage):
3852         (WebCore::SVGFEImage::externalRepresentation):
3853         * platform/graphics/svg/filters/SVGFEImage.h: Added.
3854         * platform/graphics/svg/filters/SVGFEMerge.cpp: Added.
3855         (WebCore::SVGFEMerge::mergeInputs):
3856         (WebCore::SVGFEMerge::setMergeInputs):
3857         (WebCore::SVGFEMerge::externalRepresentation):
3858         * platform/graphics/svg/filters/SVGFEMerge.h: Added.
3859         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Added.
3860         (WebCore::SVGFEMorphology::morphologyOperator):
3861         (WebCore::SVGFEMorphology::setMorphologyOperator):
3862         (WebCore::SVGFEMorphology::radiusX):
3863         (WebCore::SVGFEMorphology::setRadiusX):
3864         (WebCore::SVGFEMorphology::radiusY):
3865         (WebCore::SVGFEMorphology::setRadiusY):
3866         (WebCore::operator<<):
3867         (WebCore::SVGFEMorphology::externalRepresentation):
3868         * platform/graphics/svg/filters/SVGFEMorphology.h: Added.
3869         (WebCore::):
3870         * platform/graphics/svg/filters/SVGFEOffset.cpp: Added.
3871         (WebCore::SVGFEOffset::dx):
3872         (WebCore::SVGFEOffset::setDx):
3873         (WebCore::SVGFEOffset::dy):
3874         (WebCore::SVGFEOffset::setDy):
3875         (WebCore::SVGFEOffset::externalRepresentation):
3876         * platform/graphics/svg/filters/SVGFEOffset.h: Added.
3877         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Added.
3878         (WebCore::SVGFESpecularLighting::SVGFESpecularLighting):
3879         (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
3880         (WebCore::SVGFESpecularLighting::lightingColor):
3881         (WebCore::SVGFESpecularLighting::setLightingColor):
3882         (WebCore::SVGFESpecularLighting::surfaceScale):
3883         (WebCore::SVGFESpecularLighting::setSurfaceScale):
3884         (WebCore::SVGFESpecularLighting::specularConstant):
3885         (WebCore::SVGFESpecularLighting::setSpecularConstant):
3886         (WebCore::SVGFESpecularLighting::specularExponent):
3887         (WebCore::SVGFESpecularLighting::setSpecularExponent):
3888         (WebCore::SVGFESpecularLighting::kernelUnitLengthX):
3889         (WebCore::SVGFESpecularLighting::setKernelUnitLengthX):
3890         (WebCore::SVGFESpecularLighting::kernelUnitLengthY):
3891         (WebCore::SVGFESpecularLighting::setKernelUnitLengthY):
3892         (WebCore::SVGFESpecularLighting::lightSource):
3893         (WebCore::SVGFESpecularLighting::setLightSource):
3894         (WebCore::SVGFESpecularLighting::externalRepresentation):
3895         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Added.
3896         * platform/graphics/svg/filters/SVGFETile.h: Added.
3897         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Added.
3898         (WebCore::SVGFETurbulence::type):
3899         (WebCore::SVGFETurbulence::setType):
3900         (WebCore::SVGFETurbulence::baseFrequencyY):
3901         (WebCore::SVGFETurbulence::setBaseFrequencyY):
3902         (WebCore::SVGFETurbulence::baseFrequencyX):
3903         (WebCore::SVGFETurbulence::setBaseFrequencyX):
3904         (WebCore::SVGFETurbulence::seed):
3905         (WebCore::SVGFETurbulence::setSeed):
3906         (WebCore::SVGFETurbulence::numOctaves):
3907         (WebCore::SVGFETurbulence::setNumOctaves):
3908         (WebCore::SVGFETurbulence::stitchTiles):
3909         (WebCore::SVGFETurbulence::setStitchTiles):
3910         (WebCore::operator<<):
3911         (WebCore::SVGFETurbulence::externalRepresentation):
3912         * platform/graphics/svg/filters/SVGFETurbulence.h: Added.
3913         (WebCore::):
3914         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Added.
3915         (WebCore::SVGFilterEffect::subRegion):
3916         (WebCore::SVGFilterEffect::setSubRegion):
3917         (WebCore::SVGFilterEffect::in):
3918         (WebCore::SVGFilterEffect::setIn):
3919         (WebCore::SVGFilterEffect::result):
3920         (WebCore::SVGFilterEffect::setResult):
3921         (WebCore::SVGFilterEffect::externalRepresentation):
3922         (WebCore::operator<<):
3923         * platform/graphics/svg/filters/SVGFilterEffect.h: Added.
3924         (WebCore::):
3925         (WebCore::SVGFilterEffect::SVGFilterEffect):
3926         (WebCore::SVGFilterEffect::~SVGFilterEffect):
3927         (WebCore::SVGFilterEffect::effectType):
3928         * platform/graphics/svg/filters/SVGLightSource.cpp: Added.
3929         (WebCore::operator<<):
3930         (WebCore::SVGPointLightSource::externalRepresentation):
3931         (WebCore::SVGSpotLightSource::externalRepresentation):
3932         (WebCore::SVGDistantLightSource::externalRepresentation):
3933         * platform/graphics/svg/filters/SVGLightSource.h: Added.
3934         (WebCore::):
3935         (WebCore::SVGLightSource::SVGLightSource):
3936         (WebCore::SVGLightSource::~SVGLightSource):
3937         (WebCore::SVGLightSource::type):
3938         * platform/graphics/svg/filters/SVGPointLightSource.h: Added.
3939         (WebCore::SVGPointLightSource::SVGPointLightSource):
3940         (WebCore::SVGPointLightSource::position):
3941         * platform/graphics/svg/filters/SVGSpotLightSource.h: Added.
3942         (WebCore::SVGSpotLightSource::SVGSpotLightSource):
3943         (WebCore::SVGSpotLightSource::position):
3944         (WebCore::SVGSpotLightSource::direction):
3945         (WebCore::SVGSpotLightSource::specularExponent):
3946         (WebCore::SVGSpotLightSource::limitingConeAngle):
3947         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Added.
3948         (WebCore::SVGFEBlend::getCIFilter):
3949         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Added.
3950         (WebCore::SVGFEColorMatrix::getCIFilter):
3951         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Added.
3952         (WebCore::genImageFromTable):
3953         (WebCore::setParametersForComponentFunc):
3954         (WebCore::filterForComponentFunc):
3955         (WebCore::getFilterForFunc):
3956         (WebCore::SVGFEComponentTransfer::getFunctionFilter):
3957         (WebCore::SVGFEComponentTransfer::getCIFilter):
3958         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Added.
3959         (WebCore::SVGFEComposite::getCIFilter):
3960         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Added.
3961         (WebCore::SVGFEDiffuseLighting::getCIFilter):
3962         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Added.
3963         (WebCore::SVGFEDisplacementMap::getCIFilter):
3964         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Added.
3965         (WebCore::SVGFEFlood::getCIFilter):
3966         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Added.
3967         (WebCore::SVGFEGaussianBlur::getCIFilter):
3968         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Added.
3969         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Added.
3970         (WebCore::getVectorForChannel):
3971         (WebCore::ciColor):
3972         (WebCore::getPointLightVectors):
3973         (WebCore::getLightVectors):
3974         (WebCore::getNormalMap):
3975         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Added.
3976         (WebCore::SVGFEImage::getCIFilter):
3977         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Added.
3978         (WebCore::SVGFEMerge::getCIFilter):
3979         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Added.
3980         (WebCore::SVGFEOffset::getCIFilter):
3981         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Added.
3982         (WebCore::SVGFESpecularLighting::getCIFilter):
3983         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Added.
3984         (WebCore::SVGFETile::getCIFilter):
3985         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Added.
3986         (WebCore::SVGFilterEffect::getCIFilter):
3987         * rendering/RenderPath.cpp:
3988         (WebCore::RenderPath::getAbsoluteRepaintRect):
3989         (WebCore::RenderPath::paint):
3990         * rendering/RenderSVGContainer.cpp:
3991         (WebCore::RenderSVGContainer::paint):
3992         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
3993         * rendering/RenderSVGImage.cpp:
3994         (WebCore::RenderSVGImage::paint):
3995         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
3996         * rendering/SVGInlineFlowBox.cpp:
3997         (WebCore::paintSVGInlineFlow):
3998
3999 2006-11-18  Rob Buis  <buis@kde.org>
4000
4001         Reviewed by Maciej.
4002
4003         http://bugs.webkit.org/show_bug.cgi?id=11321
4004         Element with :target pseudo-class still matched after fragment identifier change
4005
4006         Make sure the page does a style recalculation and possible rendering
4007         when navigating back from a page with an anchor to a page without
4008         an anchor.
4009
4010         * loader/FrameLoader.cpp:
4011         (WebCore::FrameLoader::gotoAnchor):
4012
4013 2006-11-18  Don Gibson  <dgibson77@gmail.com>
4014
4015         Reviewed by Sam Weinig.
4016
4017         http://bugs.webkit.org/show_bug.cgi?id=11634:
4018         Fix segfault on startup for Windows build.  Also fix segfault when
4019         typing in a URL.
4020         Clean up some of the style of the patch that landed in r17816.
4021
4022         * WebCore.vcproj/WebCore/WebCore.vcproj:
4023         * bridge/win/ChromeClientWin.h:
4024         (WebCore::ChromeClientWin::~ChromeClientWin):
4025         (WebCore::ChromeClientWin::ref):
4026         (WebCore::ChromeClientWin::deref):
4027         * bridge/win/ContextMenuClientWin.h:
4028         (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
4029         (WebCore::ContextMenuClientWin::ref):
4030         (WebCore::ContextMenuClientWin::deref):
4031         * bridge/win/EditorClientWin.h:
4032         (WebCore::EditorClientWin::~EditorClientWin):
4033         (WebCore::EditorClientWin::ref):
4034         (WebCore::EditorClientWin::deref):
4035         * bridge/win/FrameWin.cpp:
4036         (WebCore::FrameWin::FrameWin):
4037         * bridge/win/FrameWin.h:
4038         (WebCore::Win):
4039         * loader/win/FrameLoaderClientWin.h: Added.
4040         (WebCore::FrameLoaderClientWin::~FrameLoaderClientWin):
4041         (WebCore::FrameLoaderClientWin::ref):
4042         (WebCore::FrameLoaderClientWin::deref):
4043         * platform/win/TemporaryLinkStubs.cpp:
4044         (WebCore::ChromeClientWin::createWindow):
4045         (WebCore::ChromeClientWin::createModalDialog):
4046         (WebCore::EditorClientWin::selectWordBeforeMenuEvent):
4047         (WebCore::EditorClientWin::isEditable):
4048         (WebCore::EditorClientWin::shouldBeginEditing):
4049         (WebCore::EditorClientWin::shouldEndEditing):
4050         (WebCore::EditorClientWin::shouldApplyStyle):
4051         (WebCore::EditorClientWin::didBeginEditing):
4052         (WebCore::EditorClientWin::respondToChangedContents):
4053         (WebCore::EditorClientWin::didEndEditing):
4054         (WebCore::EditorClientWin::registerCommandForUndo):
4055         (WebCore::EditorClientWin::registerCommandForRedo):
4056         (WebCore::EditorClientWin::clearUndoRedoOperations):
4057         (WebCore::EditorClientWin::canUndo):
4058         (WebCore::EditorClientWin::canRedo):
4059         (WebCore::EditorClientWin::undo):
4060         (WebCore::EditorClientWin::redo):
4061         (WebCore::FrameLoader::createFrame):
4062         (WebCore::FrameLoader::createPlugin):
4063         (WebCore::FrameLoaderClientWin::hasWebView):
4064         (WebCore::FrameLoaderClientWin::hasFrameView):
4065         (WebCore::FrameLoaderClientWin::hasBackForwardList):
4066         (WebCore::FrameLoaderClientWin::resetBackForwardList):
4067         (WebCore::FrameLoaderClientWin::provisionalItemIsTarget):
4068         (WebCore::FrameLoaderClientWin::loadProvisionalItemFromPageCache):
4069         (WebCore::FrameLoaderClientWin::invalidateCurrentItemPageCache):
4070         (WebCore::FrameLoaderClientWin::privateBrowsingEnabled):
4071         (WebCore::FrameLoaderClientWin::makeDocumentView):
4072         (WebCore::FrameLoaderClientWin::makeRepresentation):
4073         (WebCore::FrameLoaderClientWin::forceLayout):
4074         (WebCore::FrameLoaderClientWin::forceLayoutForNonHTML):
4075         (WebCore::FrameLoaderClientWin::updateHistoryForCommit):
4076         (WebCore::FrameLoaderClientWin::updateHistoryForBackForwardNavigation):
4077         (WebCore::FrameLoaderClientWin::updateHistoryForReload):
4078         (WebCore::FrameLoaderClientWin::updateHistoryForStandardLoad):
4079         (WebCore::FrameLoaderClientWin::updateHistoryForInternalLoad):
4080         (WebCore::FrameLoaderClientWin::updateHistoryAfterClientRedirect):
4081         (WebCore::FrameLoaderClientWin::setCopiesOnScroll):
4082         (WebCore::FrameLoaderClientWin::tokenForLoadErrorReset):
4083         (WebCore::FrameLoaderClientWin::resetAfterLoadError):
4084         (WebCore::FrameLoaderClientWin::doNotResetAfterLoadError):
4085         (WebCore::FrameLoaderClientWin::willCloseDocument):
4086         (WebCore::FrameLoaderClientWin::detachedFromParent1):
4087         (WebCore::FrameLoaderClientWin::detachedFromParent2):
4088         (WebCore::FrameLoaderClientWin::detachedFromParent3):
4089         (WebCore::FrameLoaderClientWin::detachedFromParent4):
4090         (WebCore::FrameLoaderClientWin::loadedFromPageCache):
4091         (WebCore::FrameLoaderClientWin::dispatchDidHandleOnloadEvents):
4092         (WebCore::FrameLoaderClientWin::dispatchDidReceiveServerRedirectForProvisionalLoad):
4093         (WebCore::FrameLoaderClientWin::dispatchDidCancelClientRedirect):
4094         (WebCore::FrameLoaderClientWin::dispatchWillPerformClientRedirect):
4095         (WebCore::FrameLoaderClientWin::dispatchDidChangeLocationWithinPage):
4096         (WebCore::FrameLoaderClientWin::dispatchWillClose):
4097         (WebCore::FrameLoaderClientWin::dispatchDidReceiveIcon):
4098         (WebCore::FrameLoaderClientWin::dispatchDidStartProvisionalLoad):
4099         (WebCore::FrameLoaderClientWin::dispatchDidReceiveTitle):
4100         (WebCore::FrameLoaderClientWin::dispatchDidCommitLoad):
4101         (WebCore::FrameLoaderClientWin::dispatchDidFinishLoad):
4102         (WebCore::FrameLoaderClientWin::dispatchDidFirstLayout):
4103         (WebCore::FrameLoaderClientWin::dispatchShow):
4104         (WebCore::FrameLoaderClientWin::cancelPolicyCheck):
4105         (WebCore::FrameLoaderClientWin::dispatchWillSubmitForm):
4106         (WebCore::FrameLoaderClientWin::dispatchDidLoadMainResource):
4107         (WebCore::FrameLoaderClientWin::clearLoadingFromPageCache):
4108         (WebCore::FrameLoaderClientWin::isLoadingFromPageCache):
4109         (WebCore::FrameLoaderClientWin::revertToProvisionalState):
4110         (WebCore::FrameLoaderClientWin::clearUnarchivingState):
4111         (WebCore::FrameLoaderClientWin::progressStarted):
4112         (WebCore::FrameLoaderClientWin::progressCompleted):
4113         (WebCore::FrameLoaderClientWin::setMainFrameDocumentReady):
4114         (WebCore::FrameLoaderClientWin::willChangeTitle):
4115         (WebCore::FrameLoaderClientWin::didChangeTitle):
4116         (WebCore::FrameLoaderClientWin::finishedLoading):
4117         (WebCore::FrameLoaderClientWin::finalSetupForReplace):
4118         (WebCore::FrameLoaderClientWin::setDefersLoading):
4119         (WebCore::FrameLoaderClientWin::isArchiveLoadPending):
4120         (WebCore::FrameLoaderClientWin::cancelPendingArchiveLoad):
4121         (WebCore::FrameLoaderClientWin::clearArchivedResources):
4122         (WebCore::FrameLoaderClientWin::canShowMIMEType):
4123         (WebCore::FrameLoaderClientWin::representationExistsForURLScheme):
4124         (WebCore::FrameLoaderClientWin::generatedMIMETypeForURLScheme):
4125         (WebCore::FrameLoaderClientWin::frameLoadCompleted):
4126         (WebCore::FrameLoaderClientWin::restoreScrollPositionAndViewState):
4127         (WebCore::FrameLoaderClientWin::provisionalLoadStarted):
4128         (WebCore::FrameLoaderClientWin::shouldTreatURLAsSameAsCurrent):
4129         (WebCore::FrameLoaderClientWin::addHistoryItemForFragmentScroll):
4130         (WebCore::FrameLoaderClientWin::didFinishLoad):
4131         (WebCore::FrameLoaderClientWin::prepareForDataSourceReplacement):
4132         (WebCore::FrameLoaderClientWin::setTitle):
4133         (WebCore::FrameLoaderClientWin::userAgent):
4134
4135 2006-11-18  Alexey Proskuryakov  <ap@webkit.org>
4136
4137         Reviewed by Rob (yay!).
4138
4139         http://bugs.webkit.org/show_bug.cgi?id=11640
4140         XMLHttpRequest produces undefined:undefined HTTP authentication
4141
4142         * bindings/js/JSXMLHttpRequest.cpp:
4143         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
4144         Treat undefined credentials as missing ones.
4145
4146 2006-11-17  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
4147
4148         Reviewed by Tim H.
4149
4150         http://bugs.webkit.org/show_bug.cgi?id=11638
4151         [CSS 2.1+3] add support for alias, progress, no-drop and not-allowed cursor styles
4152
4153         * Resources/aliasCursor.png: Added.
4154         * Resources/noDropCursor.png: Added.
4155         * Resources/progressCursor.png: Added.
4156         * WebCore.xcodeproj/project.pbxproj:
4157         * css/CSSComputedStyleDeclaration.cpp:
4158         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4159         * css/CSSValueKeywords.in:
4160         * manual-tests/cursor.html:
4161         * page/EventHandler.cpp:
4162         (WebCore::selectCursor):
4163         * platform/Cursor.h: