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