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