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