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