2006-12-03 Mark Rowe <bdash@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2006-12-03  Mark Rowe  <bdash@webkit.org>
2
3         Reviewed by Alexey.
4
5         http://bugs.webkit.org/show_bug.cgi?id=11730
6         Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
7
8         * dom/Document.cpp:
9         (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
10
11 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
12
13         Reviewed by Oliver.
14
15         Fix following bugs:
16         http://bugs.webkit.org/show_bug.cgi?id=11734
17         http://bugs.webkit.org/show_bug.cgi?id=11685
18
19         SVGPoint/SVGRect/SVGNumber were missing put() support.
20         SVGPoint.matrixTransform() was missing.
21
22         In SVG DOM there are no cases where a readwrite property
23         exists of type SVGRect/SVGNumber/SVGPoint. Only function
24         calls returns instances of these objects. It would make
25         no sense to be able to write "someObj.getBbox().x = 100", and
26         modify the actual stored internal value of "someObj".
27
28         The only cases where these modification makes sense, is
29         when these SVGPoint/SVGRect/SVGNumber objects are created
30         via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).
31
32         Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
33         values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.
34
35         Patch created by Rob & me - co production.
36         Long live the great carto.next examples! :-)
37
38         * CMakeLists.txt:
39         * DerivedSources.make:
40         * bindings/js/JSSVGNumber.cpp:
41         (WebCore::):
42         (WebCore::JSSVGNumber::getOwnPropertySlot):
43         (WebCore::JSSVGNumber::getValueProperty):
44         (WebCore::JSSVGNumber::put):
45         (WebCore::JSSVGNumber::putValueProperty):
46         * bindings/js/JSSVGNumber.h:
47         (WebCore::JSSVGNumber::):
48         (WebCore::JSSVGNumber::impl):
49         * bindings/js/JSSVGPoint.cpp:
50         (WebCore::JSSVGPoint::JSSVGPoint):
51         (WebCore::JSSVGPoint::put):
52         (WebCore::JSSVGPoint::putValueProperty):
53         (WebCore::JSSVGPointProtoFunc::callAsFunction):
54         * bindings/js/JSSVGPoint.h:
55         (WebCore::JSSVGPoint::):
56         * bindings/js/JSSVGRect.cpp:
57         (WebCore::JSSVGRect::put):
58         (WebCore::JSSVGRect::putValueProperty):
59         * bindings/js/JSSVGRect.h:
60         * bindings/objc/DOMSVGPoint.mm:
61         (-[DOMSVGPoint matrixTransform:]):
62         * platform/graphics/FloatPoint.cpp:
63         (WebCore::FloatPoint::matrixTransform):
64         * platform/graphics/FloatPoint.h:
65
66 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
67
68         Reviewed by Dave.
69
70         Another missing piece in the platform/graphics move.
71
72         * WebCore.xcodeproj/project.pbxproj:
73         * platform/ImageAnimationObserver.h: Moved to platform/graphics.
74
75 2006-12-03  Rob Buis  <buis@kde.org>
76
77         Reviewed by Oliver.
78
79         http://bugs.webkit.org/show_bug.cgi?id=11667
80         SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
81
82         Implement getTransformToElement functionality. Introduce virtual
83         baseclass SVGLocatable to allow one implementation of the functionality.
84         Finally cleanup some code.
85
86         * ksvg2/svg/SVGLocatable.cpp:
87         (WebCore::SVGLocatable::getTransformToElement):
88         * ksvg2/svg/SVGLocatable.h:
89         * ksvg2/svg/SVGStyledLocatableElement.cpp:
90         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
91         (WebCore::SVGStyledLocatableElement::nearestViewportElement):
92         (WebCore::SVGStyledLocatableElement::farthestViewportElement):
93         (WebCore::SVGStyledLocatableElement::getCTM):
94         (WebCore::SVGStyledLocatableElement::getScreenCTM):
95         * ksvg2/svg/SVGStyledLocatableElement.h:
96         * ksvg2/svg/SVGStyledTransformableElement.cpp:
97         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
98         (WebCore::SVGStyledTransformableElement::localMatrix):
99         (WebCore::SVGStyledTransformableElement::getCTM):
100         (WebCore::SVGStyledTransformableElement::getScreenCTM):
101         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
102         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
103         (WebCore::SVGStyledTransformableElement::nearestViewportElement):
104         (WebCore::SVGStyledTransformableElement::farthestViewportElement):
105         * ksvg2/svg/SVGStyledTransformableElement.h:
106         * ksvg2/svg/SVGTextElement.h:
107         * ksvg2/svg/SVGTransformable.h:
108
109 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
110
111         Reviewed by Rob.
112
113         Move some files around, which have been forgotton in the platform/graphics move.
114
115         * CMakeLists.txt:
116         * WebCore.xcodeproj/project.pbxproj:
117         * platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
118         * platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.
119
120 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
121
122         Reviewed by Mitz.
123
124         Fix non-svg build.
125
126         * platform/graphics/GraphicsContext.h:
127         * platform/mac/GraphicsContextMac.mm:
128
129 2006-12-02  John Sullivan  <sullivan@apple.com>
130
131         Reviewed by Tim Omernick
132
133         Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
134         the find-next-instance functions with the mark-all-instances functions.
135
136         * bridge/mac/FrameMac.mm:
137         (WebCore::findFirstMisspellingInRange):
138         added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
139         through the entire range and marks each misspelling
140         (WebCore::findFirstGrammarDetailInRange):
141         extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
142         ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
143         to the one in findFirstMisspellingInRange.
144         (WebCore::findFirstBadGrammarInRange):
145         added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
146         (WebCore::FrameMac::advanceToNextMisspelling):
147         pass "false" for new markAll parameters
148         (WebCore::markAllMisspellingsInRange):
149         now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
150         (WebCore::markAllBadGrammarInRange):
151         now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code
152
153 2006-12-02  Mitz Pettel  <mitz@webkit.org>
154
155         Reviewed by Hyatt.
156
157         - fix http://bugs.webkit.org/show_bug.cgi?id=11672
158           REGRESSION (r17068): Repro crash due to painting without layout
159
160         Test: fast/dynamic/containing-block-change.html
161
162         * rendering/RenderObject.cpp:
163         (WebCore::RenderObject::setStyle): Changed the logic used
164         to find absolutely positioned descendant's current containing block to
165         match the changes made to containingBlock() in the fix for bug 9347.
166
167 2006-12-02  MorganL  <morganl.webkit@yahoo.com>
168
169         Reviewed by Darin.
170
171         http://bugs.webkit.org/show_bug.cgi?id=11709
172         DeprecatedString::format is broken on Windows
173
174         Use _vscprintf on Windows to compute the length of the buffer that
175         vsnprintf would need.
176
177         * platform/DeprecatedString.cpp:
178         (WebCore::DeprecatedString::format):
179         * platform/String.cpp:
180         (WebCore::String::format):
181
182 2006-12-01  Beth Dakin  <bdakin@apple.com>
183
184         Reviewed by Adam.
185
186         Support for sub-menus in WebCore context menus. This also re-
187         architects the ContextMenuItem class so that it is more like
188         ContextMenu in that the class is now really just a wrapper for the
189         platformDescription
190
191         * WebCore.exp:
192         * WebCore.xcodeproj/project.pbxproj:
193         * page/ContextMenuController.cpp:
194         (WebCore::ContextMenuController::contextMenuItemSelected): Add
195         place-holders for new tags for the sub-menu items. I will flesh
196         these out in a separate check-in.
197         * platform/ContextMenu.cpp:
198         (WebCore::createFontSubMenu):
199         (WebCore::createSpellingAndGrammarSubMenu):
200         (WebCore::createSpellingSubMenu):
201         (WebCore::createSpeechSubMenu):
202         (WebCore::createWritingDirectionSubMenu):
203         (WebCore::ContextMenu::populate): Call the above functions to add
204         the appropriate sub-menus to editing context menus.
205         * platform/ContextMenu.h:
206         * platform/ContextMenuItem.h:
207         (WebCore::): New tags in the ContextMenuAction enumeration.
208         (WebCore::ContextMenuItem::parentMenu):
209         (WebCore::ContextMenuItem::setType):
210         * platform/PlatformMenuDescription.h: Added. This defines
211         PlatformMenuDesciption. It needs to be its own header because we
212        have to include it from ContextMenu.h and ContextMenuItem.h
213         * platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
214         make this class basically just be a wrapper for NSMenuItem.
215         (WebCore::ContextMenuItem::ContextMenuItem):
216         (WebCore::ContextMenuItem::~ContextMenuItem):
217         (WebCore::ContextMenuItem::platformDescription):
218         (WebCore::ContextMenuItem::action):
219         (WebCore::ContextMenuItem::title):
220         (WebCore::ContextMenuItem::platformSubMenu):
221         (WebCore::ContextMenuItem::setAction):
222         (WebCore::ContextMenuItem::setTitle):
223         (WebCore::ContextMenuItem::setSubMenu):
224         * platform/mac/ContextMenuMac.mm:
225         (WebCore::ContextMenu::ContextMenu):
226         (WebCore::getNSMenuItem): Now we only have to get the
227         platformDescription of the ContextMenuItem and then set its target
228         and action.
229         (WebCore::ContextMenu::itemCount):
230
231 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
232
233         Reviewed by .
234
235         - accidentally checked in with previous checkin
236
237         * platform/qt/FrameQt.cpp:
238         (WebCore::FrameQt::keyEvent):
239
240 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
241
242         Reviewed by Adam.
243
244         - better solution to the ambiguous reference
245
246         * platform/Widget.h:
247         (WebCore::Widget::handleMouseMoveEvent):
248         (WebCore::Widget::handleMouseReleaseEvent):
249         * platform/qt/FrameQt.cpp:
250         (WebCore::FrameQt::keyEvent):
251         * platform/win/PlatformScrollBar.h:
252         * platform/win/TemporaryLinkStubs.cpp:
253         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
254         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
255
256 2006-12-01  Justin Garcia  <justin.garcia@apple.com>
257
258         Reviewed by john
259         
260         <rdar://problem/4826940>
261         Selection change performed even when delete delegate replies NO (11415)
262
263         No layout test for the bug fix, because there's no way to register a custom
264         editing delegate from a layout test.  Layout tests are effected by the change
265         to avoid sending unnecessary shouldChangeSelections, however. 
266
267         * editing/Editor.cpp:
268         (WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
269         if the editing operation didn't change the selection.  Still call
270         setSelection though, because it does work in this case that's necessary,
271         like clearing the typing style.
272         (WebCore::Editor::unappliedEditing): Ditto.
273         (WebCore::Editor::reappliedEditing): Ditto.
274         * editing/TypingCommand.cpp:
275         (WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
276         selection if the editing delegate returns NO from shouldDeleteRange.
277         Notice we now call setStartingSelection in the case where
278         the current selection was a range selection.  This is fine because
279         it's a no-op (the starting selection is already the current selection).
280         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
281
282 2006-12-01  John Sullivan  <sullivan@apple.com>
283
284         Reviewed by Darin
285         
286         Move subrange helper function from spellchecking code to TextIterator
287
288         * editing/TextIterator.h:
289         added TextIterator::subrange
290         * editing/TextIterator.cpp:
291         (WebCore::CharacterIterator::advance):
292         early return if count is <= 0; assert that it's not < 0
293         (WebCore::TextIterator::subrange):
294         new function, moved from FrameMac.mmm
295
296         * bridge/mac/FrameMac.mm:
297         moved subrange() function to TextIterator
298         (WebCore::FrameMac::advanceToNextMisspelling):
299         use TextIterator::subrange
300         (WebCore::markAllMisspellingsInRange):
301         ditto
302         (WebCore::markAllBadGrammarInRange):
303         ditto
304
305 2006-12-01  Darin Adler  <darin@apple.com>
306
307         Reviewed by Mitz.
308
309         - fix http://bugs.webkit.org/show_bug.cgi?id=11628
310           REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
311
312         I couldn't think of an easy way to make a regression test for this, but maybe
313         I'll get an idea later about how to do it.
314
315         The main thing I did was add a concept of a DOM event having an "underlying event".
316         That allows the DOM activate event to contain inside it the original keyboard event
317         that triggered the form submission, and thus allows WebKit to see the modifier keys
318         from that original event. The code that uses the underlying event is in WebKit, but
319         the code to set it up is here in WebCore.
320
321         - also do some clean-up to related event handling code
322
323         * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
324         name change of cancelBubble.
325
326         * dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
327         Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
328         name predated the use of the m_ prefix on data members. Added the underlying event,
329         and a getter and setter.
330         * dom/Event.cpp:
331         (WebCore::Event::setTarget): Updated to take a PassRefPtr.
332         (WebCore::Event::setUnderlyingEvent): Added.
333
334         * dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
335         dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
336         dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
337         mostly replaces the click function in HTMLElement.
338         * dom/EventTargetNode.cpp:
339         (WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
340         of cancelBubble.
341         (WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
342         which gets attached to the UIEvent object after it's created.
343         (WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
344         name for the version that creates a mouse event for a real platform mouse event.
345         Added an underlying event parameter to the main version, and attached it to all
346         three of the events that can be dispatched.
347         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
348         event parameter, passed it along to dispatchMouseEvent.
349         (WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
350         and renamed it from click. Added an underlyingEvent parameter, and passed that along
351         in all three of the calls to dispatchSimulatedMouseEvent.
352
353         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
354         setTarget that no longer needs a get().
355         * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
356
357         * html/HTMLAnchorElement.cpp:
358         (WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
359         to a call to dispatchSimulatedClick.
360         (WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
361         * html/HTMLButtonElement.cpp:
362         (WebCore::HTMLButtonElement::accessKeyAction): Ditto.
363         * html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
364         We could move it down to the input and button elements, now that it's just
365         a single function call, but it's also OK to just leave it here.
366         * html/HTMLElement.cpp:
367         (WebCore::HTMLElement::click): Removed the parameters and changed this to just
368         call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
369         (WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
370         dispatchSimulatedClick.
371         * html/HTMLFormElement.cpp:
372         (WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
373         pass the event along as the underlying event.
374         * html/HTMLInputElement.h:
375         * html/HTMLInputElement.cpp: Removed override of virtual click function. The
376         special cases for the file control and hidden input elements aren't needed.
377         (WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
378         dispatchSimulatedClick.
379         (WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
380         dispatchSimulatedClick, passing along the event as the underlying event.
381         * html/HTMLLabelElement.cpp:
382         (WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
383         to dispatchSimulatedClick, passing the event along as the underlying event. Also
384         changed the local variable for the element to a RefPtr since the code assumes it's
385         still around after calling arbitrary JavaScript code.
386         * html/HTMLSelectElement.cpp:
387         (WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
388         dispatchSimulatedClick.
389
390         * rendering/RenderFileUploadControl.h:
391         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
392         Removed unneeded ignored parameter to the click function, and also made it non-virtual.
393
394         * loader/NavigationAction.h: Removed unneeded includes.
395         * loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
396         since none of it is Mac-specific any more.
397         * loader/mac/NavigationActionMac.mm: Removed.
398         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
399
400         * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
401
402         * loader/FrameLoader.cpp: Added a newly-needed incluude.
403         * loader/mac/DocumentLoaderMac.mm: Ditto.
404         * loader/mac/FrameLoaderMac.mm: Ditto.
405         * rendering/RenderWidget.cpp: Ditto.
406
407 2006-12-01  John Sullivan  <sullivan@apple.com>
408
409         Reviewed by Darin
410
411         - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by 
412           insufficient context passed to grammar checker
413
414         * bridge/mac/FrameMac.mm:
415         (WebCore::markAllMisspellingsInRange):
416         new function, extracted from markMisspellings -- ignores grammar
417         (WebCore::markAllBadGrammarInRange):
418         new function, extracted from markMisspellings -- ignores spelling, and operates on
419         appropriately-sized chunks of text
420         (WebCore::FrameMac::markMisspellings):
421         now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
422         than trying to interweave the spelling and grammar logic
423
424 2006-12-01  John Sullivan  <sullivan@apple.com>
425
426         Reviewed by Darin
427
428         With these changes, grammar checking works correctly for the one-by-one case.
429         It still doesn't work correctly for the check-as-you-type case; I need to make these
430         same kinds of changes in markMisspellings, and refactor to share more code between
431         the two cases, but I wanted to get this working code in before modifying it further.
432
433         The major change here is that advanceToNextMisspelling used to look at small chunks of
434         text at a time, checking each one for both misspellings and questionable grammar. But
435         grammar checking needs at least paragraph-sized chunks of text to have enough context
436         to work correctly, so the old mechanism was causing many spurious complaints of bad
437         grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
438         would complain about missing capitalization). So now the spell checker runs in the
439         specified range first. Then the grammar checker runs on the same range (stopping at the
440         next misspelling, if any), but expanded to paragraph-aligned boundaries.
441
442         * bridge/mac/FrameMac.mm:
443         (WebCore::findFirstMisspellingInRange):
444         new function, extracted from advanceToNextMisspelling, and ignores grammar
445         (WebCore::paragraphAlignedRangeForRange):
446         new function, used by findNextBadGrammarInRange
447         (WebCore::findFirstBadGrammarInRange):
448         new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
449         chunks, and ignores spelling
450         (WebCore::subrange):
451         new helper function, used by advanceToNextMisspelling
452         (WebCore::FrameMac::advanceToNextMisspelling):
453         now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
454         instead of trying to interweave the spelling and grammar logic
455
456 2006-12-01  Don Gibson  <dgibson77@gmail.com>
457
458         Reviewed by Mitz.
459
460         http://bugs.webkit.org/show_bug.cgi?id=11732:
461         Windows build bustage.
462
463         * WebCore.vcproj/WebCore/WebCore.vcproj:
464         * bridge/win/ChromeClientWin.h:
465         * bridge/win/ContextMenuClientWin.h:
466         * bridge/win/EditorClientWin.h:
467         * bridge/win/FrameWin.cpp:
468         (WebCore::FrameWin::FrameWin):
469         (WebCore::FrameWin::keyPress):
470         * bridge/win/FrameWin.h:
471         * loader/win/FrameLoaderClientWin.h:
472         * platform/ContextMenu.h:
473         * platform/Widget.h:
474         * platform/win/PlatformScrollBar.h:
475         * platform/win/TemporaryLinkStubs.cpp:
476         (WebCore::ChromeClientWin::chromeDestroyed):
477         (WebCore::ChromeClientWin::addMessageToConsole):
478         (WebCore::ContextMenu::ContextMenu):
479         (WebCore::ContextMenu::~ContextMenu):
480         (WebCore::ContextMenu::appendItem):
481         (WebCore::ContextMenuClientWin::contextMenuDestroyed):
482         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
483         (WebCore::ContextMenuItem::~ContextMenuItem):
484         (WebCore::Editor::newGeneralClipboard):
485         (WebCore::EditorClientWin::pageDestroyed):
486         (WebCore::EditorClientWin::smartInsertDeleteEnabled):
487         (WebCore::EditorClientWin::shouldInsertNode):
488         (WebCore::FrameLoader::createPlugin):
489         (WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
490         (WebCore::FrameLoaderClientWin::hasWebView):
491         (WebCore::FrameLoaderClientWin::canHandleRequest):
492         (WebCore::FrameWin::unfocusWindow):
493         (WebCore::FrameWin::bindingRootObject):
494         (WebCore::FrameWin::issueCopyCommand):
495         (WebCore::FrameWin::markMisspellings):
496         (WebCore::FrameWin::issueTransposeCommand):
497         (WebCore::FrameWin::markedTextRange):
498         (WebCore::FrameWin::respondToChangedSelection):
499         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
500         (WebCore::FrameWin::isSelectionMisspelled):
501         (WebCore::FrameWin::guessesForMisspelledSelection):
502         (WebCore::Pasteboard::generalPasteboard):
503         (WebCore::Pasteboard::writeSelection):
504         (WebCore::Pasteboard::clearTypes):
505         (WebCore::Pasteboard::canSmartReplace):
506         (WebCore::Pasteboard::documentFragment):
507         (WebCore::Pasteboard::plainText):
508         (WebCore::Pasteboard::Pasteboard):
509         (WebCore::Pasteboard::~Pasteboard):
510         (WebCore::Pasteboard::registerSelectionPasteboardTypes):
511         (WebCore::Pasteboard::replaceNBSP):
512         (WebCore::Pasteboard::createHandle):
513         (WebCore::Pasteboard::createCF_HTMLFromRange):
514
515 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
516
517         Rubber Stamped by Anders Carlsson.
518
519         Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
520         suggested a command, and conflicted with a different meaning for 'focusNode'
521         in the Mozilla selection API.
522
523 2006-11-30  John Sullivan  <sullivan@apple.com>
524
525         Reviewed by Justin
526
527         With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
528         That revealed another problem in the layout tests involving bad parameters passed to the Range
529         constructors.
530         
531         With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
532         no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
533         I'm going to update the results for that test and file a separate radar about it, which Justin will
534         investigate.
535
536         * dom/Position.h:
537         removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
538         
539         * dom/Range.cpp:
540         (WebCore::Range::Range):
541         Call setStart and setEnd in the two Range constructors that take parameters, rather than just 
542         directly setting the instance variables. This makes Range perform the boundary checks and
543         compensations that the DOM spec requires.
544         
545         * editing/CompositeEditCommand.cpp:
546         (WebCore::CompositeEditCommand::moveParagraphs):
547         Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
548         
549         * editing/TextIterator.cpp:
550         (WebCore::TextIterator::TextIterator):
551         Assert that the boundary points of the range are valid.
552
553 2006-11-30  Lou Amadio  <lamadio@apple.com>
554
555         Reviewed by Dave Hyatt
556         Cleaned up generated files.
557
558         * html/HTMLElement.cpp:
559         (WebCore::HTMLElement::isRecognizedTagName):
560                 Uses the new method for retrieving the list of supported tags
561         * ksvg2/scripts/make_names.pl:
562                 Generates tag lists without using macros.
563
564 2006-11-30  Adam Roben  <aroben@apple.com>
565
566         Reviewed by Beth.
567
568         Store ContextMenu's NSMutableArray inside a RetainPtr so that we
569         will retain/release it correctly.
570
571         * WebCore.exp:
572         * platform/ContextMenu.cpp:
573         (WebCore::ContextMenu::populate): Added a FIXME.
574         * platform/ContextMenu.h:
575         * platform/mac/ContextMenuMac.mm: 
576         (WebCore::ContextMenu::ContextMenu):
577         (WebCore::ContextMenu::~ContextMenu):
578         (WebCore::getNSMenuItem):
579         (WebCore::ContextMenu::appendItem):
580         (WebCore::ContextMenu::itemCount):
581         (WebCore::ContextMenu::insertItem):
582         (WebCore::ContextMenu::setPlatformDescription):
583         (WebCore::ContextMenu::platformDescription):
584
585 2006-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
586
587         Reviewed by Eric. Rubber stamped by Oliver.
588
589         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
590      
591         This is the final patch after the long "die kcanvas" journey.
592
593         All old kcanvas code is gone now, and properly integrated within
594         WebCore (stuff like GraphicsContext changes etc.). It shares
595         the platform/ design concept: no subclassing, but instead
596         implementing parts of the classes/methods per-platform.
597
598         This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
599         This layer was just obsolete, given the powerful GraphicsContext API we have
600         since quite a while now. All the ugly pushContext/popContext stuff is gone now.
601
602         LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
603         Radial gradients as fill color for texts, work again!
604         Though "Gradient on text stroke" remains broken. Funny thing:
605         With this patch, if you "select" the text using the mouse, as
606         soon as the selection rectangle is drawn, you see the correct
607         gradient on stroke rendering - at least a hint where it breaks!
608
609         All svg layout tests have subtle text rendering changes - with and without this
610         patch, it seems it was forgotton to update svg pixel test baseline, a while ago.
611
612         * CMakeLists.txt:
613         * WebCore.xcodeproj/project.pbxproj:
614         * kcanvas/device/KRenderingDevice.cpp: Removed.
615         * kcanvas/device/KRenderingDevice.h: Removed.
616         * kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
617         * kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
618         * kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
619         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
620         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
621         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
622         * kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
623         * kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
624         * ksvg2/misc/KCanvasRenderingStyle.cpp:
625         (WebCore::sharedSolidPaintServer):
626         * ksvg2/misc/KCanvasRenderingStyle.h:
627         * ksvg2/svg/SVGAElement.cpp:
628         * ksvg2/svg/SVGClipPathElement.cpp:
629         * ksvg2/svg/SVGFEBlendElement.cpp:
630         (WebCore::SVGFEBlendElement::filterEffect):
631         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
632         (WebCore::SVGFEColorMatrixElement::filterEffect):
633         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
634         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
635         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
636         (WebCore::SVGFEComponentTransferElement::filterEffect):
637         * ksvg2/svg/SVGFECompositeElement.cpp:
638         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
639         (WebCore::SVGFECompositeElement::filterEffect):
640         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
641         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
642         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
643         (WebCore::SVGFEDiffuseLightingElement::updateLights):
644         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
645         (WebCore::SVGFEDisplacementMapElement::filterEffect):
646         * ksvg2/svg/SVGFEDistantLightElement.cpp:
647         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
648         (WebCore::SVGFEDistantLightElement::lightSource):
649         * ksvg2/svg/SVGFEFloodElement.cpp:
650         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
651         (WebCore::SVGFEFloodElement::parseMappedAttribute):
652         (WebCore::SVGFEFloodElement::filterEffect):
653         * ksvg2/svg/SVGFEFuncAElement.cpp:
654         * ksvg2/svg/SVGFEFuncBElement.cpp:
655         * ksvg2/svg/SVGFEFuncGElement.cpp:
656         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
657         * ksvg2/svg/SVGFEFuncRElement.cpp:
658         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
659         (WebCore::SVGFEGaussianBlurElement::filterEffect):
660         * ksvg2/svg/SVGFEImageElement.cpp:
661         (WebCore::SVGFEImageElement::SVGFEImageElement):
662         (WebCore::SVGFEImageElement::parseMappedAttribute):
663         (WebCore::SVGFEImageElement::notifyFinished):
664         (WebCore::SVGFEImageElement::filterEffect):
665         * ksvg2/svg/SVGFELightElement.cpp:
666         * ksvg2/svg/SVGFEMergeElement.cpp:
667         (WebCore::SVGFEMergeElement::filterEffect):
668         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
669         * ksvg2/svg/SVGFEOffsetElement.cpp:
670         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
671         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
672         (WebCore::SVGFEOffsetElement::filterEffect):
673         * ksvg2/svg/SVGFEPointLightElement.cpp:
674         (WebCore::SVGFEPointLightElement::lightSource):
675         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
676         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
677         (WebCore::SVGFESpecularLightingElement::filterEffect):
678         (WebCore::SVGFESpecularLightingElement::updateLights):
679         * ksvg2/svg/SVGFESpotLightElement.cpp:
680         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
681         (WebCore::SVGFESpotLightElement::lightSource):
682         * ksvg2/svg/SVGFETileElement.cpp:
683         (WebCore::SVGFETileElement::SVGFETileElement):
684         (WebCore::SVGFETileElement::parseMappedAttribute):
685         (WebCore::SVGFETileElement::filterEffect):
686         * ksvg2/svg/SVGFETurbulenceElement.cpp:
687         (WebCore::SVGFETurbulenceElement::filterEffect):
688         * ksvg2/svg/SVGFilterElement.cpp:
689         (WebCore::SVGFilterElement::canvasResource):
690         * ksvg2/svg/SVGGradientElement.cpp:
691         (WebCore::SVGGradientElement::canvasResource):
692         * ksvg2/svg/SVGLinearGradientElement.cpp:
693         * ksvg2/svg/SVGMarkerElement.cpp:
694         * ksvg2/svg/SVGMaskElement.cpp:
695         (WebCore::SVGMaskElement::parseMappedAttribute):
696         (WebCore::SVGMaskElement::drawMaskerContent):
697         (WebCore::SVGMaskElement::canvasResource):
698         * ksvg2/svg/SVGPatternElement.cpp:
699         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
700         (WebCore::SVGPatternElement::canvasResource):
701         * ksvg2/svg/SVGStyledElement.cpp:
702         * ksvg2/svg/SVGStyledElement.h:
703         * platform/graphics/GraphicsContext.h:
704         * platform/graphics/svg/SVGPaintServer.h:
705         * platform/graphics/svg/SVGPaintServerGradient.cpp:
706         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
707         * platform/graphics/svg/SVGPaintServerGradient.h:
708         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
709         * platform/graphics/svg/SVGPaintServerPattern.h:
710         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
711         * platform/graphics/svg/SVGPaintServerSolid.h:
712         * platform/graphics/svg/SVGResource.cpp:
713         * platform/graphics/svg/SVGResource.h:
714         * platform/graphics/svg/SVGResourceClipper.h:
715         * platform/graphics/svg/SVGResourceFilter.h:
716         * platform/graphics/svg/SVGResourceMasker.h:
717         * platform/graphics/svg/cg/RenderPathCg.cpp: Added.
718         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
719         (WebCore::SVGPaintServer::draw):
720         (WebCore::SVGPaintServer::teardown):
721         (WebCore::SVGPaintServer::renderPath):
722         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
723         (WebCore::SVGPaintServerGradient::teardown):
724         (WebCore::SVGPaintServerGradient::renderPath):
725         (WebCore::SVGPaintServerGradient::setup):
726         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
727         (WebCore::SVGPaintServerPattern::setup):
728         (WebCore::SVGPaintServerPattern::teardown):
729         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
730         (WebCore::SVGPaintServerSolid::setup):
731         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
732         (WebCore::SVGResourceClipper::applyClip):
733         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
734         (WebCore::SVGResourceFilter::SVGResourceFilter):
735         (WebCore::SVGResourceFilter::createFilterEffect):
736         (WebCore::SVGResourceFilter::prepareFilter):
737         (WebCore::SVGResourceFilter::applyFilter):
738         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
739         (WebCore::SVGResourceMasker::applyMask):
740         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
741         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
742         (WebCore::SVGPaintServerLinearGradient::setup):
743         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
744         (WebCore::SVGPaintServerPattern::setup):
745         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
746         (WebCore::SVGPaintServer::draw):
747         (WebCore::SVGPaintServer::teardown):
748         (WebCore::SVGPaintServer::renderPath):
749         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
750         (WebCore::setup):
751         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
752         (WebCore::SVGPaintServerSolid::setup):
753         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
754         (WebCore::SVGResourceClipper::applyClip):
755         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
756         (WebCore::SVGResourceFilter::createFilterEffect):
757         (WebCore::SVGResourceFilter::prepareFilter):
758         (WebCore::SVGResourceFilter::applyFilter):
759         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
760         (WebCore::SVGResourceMasker::applyMask):
761         * platform/qt/GraphicsContextQt.cpp:
762         (WebCore::GraphicsContext::beginPath):
763         (WebCore::GraphicsContext::addPath):
764         (WebCore::GraphicsContext::setFillRule):
765         (WebCore::GraphicsContext::currentPath):
766         (WebCore::GraphicsContext::strokeRect):
767         (WebCore::contextForImage):
768         * rendering/RenderForeignObject.cpp:
769         (WebCore::RenderForeignObject::paint):
770         * rendering/RenderPath.cpp:
771         (WebCore::RenderPath::paint):
772         * rendering/RenderSVGContainer.cpp:
773         (WebCore::RenderSVGContainer::paint):
774         * rendering/RenderSVGImage.cpp:
775         (WebCore::RenderSVGImage::paint):
776         * rendering/RenderSVGImage.h:
777         * rendering/RenderSVGInline.cpp:
778         (WebCore::RenderSVGInline::RenderSVGInline):
779         (WebCore::RenderSVGInline::createInlineBox):
780         * rendering/RenderSVGInlineText.cpp:
781         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
782         * rendering/RenderSVGTSpan.cpp:
783         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
784         * rendering/RenderSVGText.cpp:
785         (WebCore::RenderSVGText::paint):
786         * rendering/SVGInlineFlowBox.cpp:
787         (WebCore::paintSVGInlineFlow):
788         * rendering/SVGRenderTreeAsText.cpp:
789         (WebCore::writeStyle):
790
791 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
792
793         Reviewed by Beth Dakin.
794         
795         Fixed up garbage collection at window close time.
796
797         * bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
798         destructor, since the global object hasn't been freed yet.
799         * bindings/js/kjs_proxy.h:
800         * loader/FrameLoader.cpp:
801         (WebCore::FrameLoader::detachFromParent): Made this function cross-
802         platform.
803         * loader/FrameLoader.h:
804         * loader/mac/FrameLoaderMac.mm:
805         (WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
806         since it's Mac-only.
807         (WebCore::FrameLoader::closeBridge):
808         * page/Page.cpp:
809         (WebCore::Page::~Page): Don't garbage collect in the Page destructor,
810         since the Interpreter destructor will do it for us.
811
812 2006-11-30  Brady Eidson  <beidson@apple.com>
813
814         Reviewed by Tim's rubberstamp
815
816         Amazingly, DocumentLoader.h survived all this time without a header guard...
817
818         * loader/DocumentLoader.h:  Added header guard
819
820 2006-11-30  Timothy Hatcher  <timothy@apple.com>
821
822         Reviewed by Brady and Eric.
823
824         XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
825         http://bugs.webkit.org/show_bug.cgi?id=11723
826
827         Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
828         tested in Safari's debug Snippet Editor.
829
830         * xml/xmlhttprequest.cpp:
831         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
832
833 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
834
835         Reviewed by Brady.
836
837         Get rid of PlatformResponse, the platform specific response object is stored inside of 
838         the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
839         
840         * bridge/mac/WebCoreFrameBridge.mm:
841         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
842         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
843         * loader/CachedResource.cpp:
844         (WebCore::CachedResource::CachedResource):
845         (WebCore::CachedResource::~CachedResource):
846         * loader/CachedResource.h:
847         (WebCore::CachedResource::response):
848         * loader/loader.cpp:
849         * loader/loader.h:
850         * loader/mac/ImageDocumentMac.mm:
851         (WebCore::finishImageLoad):
852         * loader/mac/LoaderFunctionsMac.mm:
853         (WebCore::CheckCacheObjectStatus):
854         * loader/mac/SubresourceLoaderMac.mm:
855         (WebCore::SubresourceLoader::didReceiveResponse):
856         * platform/network/ResourceHandle.h:
857         * platform/network/ResourceResponse.h:
858         (WebCore::ResourceResponse::nsURLResponse):
859         (WebCore::ResourceResponse::cfURLResponse):
860         * platform/network/mac/ResourceHandleMac.mm:
861         (WebCore::ResourceHandle::didReceiveResponse):
862
863 2006-11-29  Justin Garcia  <justin.garcia@apple.com>
864
865         Reviewed by sullivan
866         
867         <rdar://problem/4845371>
868         In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
869         
870         * editing/DeleteSelectionCommand.cpp:
871         (WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
872         being inflated even when they were the start/end of a partially selected
873         special element.
874
875 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
876
877         Reviewed by Oliver.
878
879         Fix fast/dom/xmlhttprequest-get layout test failure.
880         
881         * platform/network/mac/ResourceResponseMac.mm:
882         Initialize the status code to 0 for non-http responses.
883         
884 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
885
886         Reviewed by Anders Carlsson.
887         
888         Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
889         REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
890         
891         This was an accidental commit by Anders.
892
893         Chrome can't use the FrameView at window.open time, because it doesn't
894         exist yet.
895         
896         * page/Chrome.cpp:
897         (WebCore::Chrome::pageRect):
898
899 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
900
901         Reviewed by Mitz Pettel.
902         
903         Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
904         REGRESSION (r17906): Crash in WebCore::FrameMac
905
906         Added null checks for EditorClient, since it can be NULL when the page
907         has been destroyed. Removed external access to EditorClient, since it's
908         an implementation detail of the Editor.
909
910         No test case because this crash depends on window tear-down. Layout tests
911         pass.
912         
913 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
914
915         Fix build.
916         
917         * platform/network/mac/ResourceHandleMac.mm:
918         (WebCore::ResourceHandle::receivedResponse):
919         Fix tyop.
920
921 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
922
923         Reviewed by Darin.
924
925         Have ResourceResponse hold on to the platform object and do lazy
926         initialization of the data members.
927         
928         * WebCore.xcodeproj/project.pbxproj:
929         * loader/mac/FrameLoaderMac.mm:
930         (WebCore::FrameLoader::loadResourceSynchronously):
931         * platform/network/ResourceRequest.cpp:
932         (WebCore::ResourceRequest::updatePlatformRequest):
933         (WebCore::ResourceRequest::updateResourceRequest):
934         * platform/network/ResourceResponse.cpp: Added.
935         (WebCore::ResourceResponse::url):
936         (WebCore::ResourceResponse::mimeType):
937         (WebCore::ResourceResponse::expectedContentLength):
938         (WebCore::ResourceResponse::textEncodingName):
939         (WebCore::ResourceResponse::suggestedFilename):
940         (WebCore::ResourceResponse::httpStatusCode):
941         (WebCore::ResourceResponse::setHTTPStatusCode):
942         (WebCore::ResourceResponse::httpStatusText):
943         (WebCore::ResourceResponse::setHTTPStatusText):
944         (WebCore::ResourceResponse::httpHeaderField):
945         (WebCore::ResourceResponse::httpHeaderFields):
946         (WebCore::ResourceResponse::setExpirationDate):
947         (WebCore::ResourceResponse::expirationDate):
948         (WebCore::ResourceResponse::setLastModifiedDate):
949         (WebCore::ResourceResponse::lastModifiedDate):
950         (WebCore::ResourceResponse::updateResourceResponse):
951         * platform/network/ResourceResponse.h:
952         (WebCore::ResourceResponse::ResourceResponse):
953         (WebCore::ResourceResponse::isMultipart):
954         * platform/network/mac/ResourceHandleMac.mm:
955         (WebCore::ResourceHandle::receivedResponse):
956         (WebCore::ResourceHandle::willSendRequest):
957         * platform/network/mac/ResourceResponseMac.h: Removed.
958         * platform/network/mac/ResourceResponseMac.mm:
959         (-[NSURLResponse WebCore]):
960
961 2006-11-28  Alice Liu  <alice.liu@apple.com>
962
963         Reviewed by Maciej.
964
965         A fix for a couple failing layout tests involving copy/cut in iframes.
966
967         * bridge/EditorClient.h:
968         Add frame parameter to dataForArchivedSelectionInFrame instead of
969         just getting the webview's selectedFrame.
970
971         * platform/mac/PasteboardMac.mm:
972         (Pasteboard::writeSelection):
973         Pass in the frame
974
975 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
976
977         Reviewed by Beth Dakin.
978
979         Fixed <rdar://problem/4844855> Should clarify when to create clients in 
980         the WebCore client API
981         
982         All clients must now be supplied as constructor arguments. This clarifies 
983         when you need to create clients, and also guarantees that objects can't 
984         (for the most part) be in a clientless state.
985
986         Layout tests pass. No leaks reported.
987         
988         * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
989         WebKit to resolve circular dependencies at init time.
990
991 2006-11-28  Adam Roben  <aroben@apple.com>
992
993         Reviewed by Ada.
994
995         Add platform-specific constructor/destructor to ContextMenu so we can
996         properly retain/release the platform menu description.
997
998         * platform/ContextMenu.h:
999         (WebCore::ContextMenu::platformDescription):
1000         * platform/mac/ContextMenuMac.mm:
1001         (WebCore::ContextMenu::ContextMenu):
1002         (WebCore::ContextMenu::~ContextMenu):
1003         (WebCore::getNSMenuItem):
1004         (WebCore::ContextMenu::appendItem):
1005         (WebCore::ContextMenu::itemCount):
1006         (WebCore::ContextMenu::insertItem):
1007         (WebCore::ContextMenu::setPlatformDescription):
1008
1009 2006-11-28  Adam Roben  <aroben@apple.com>
1010
1011         Build fix.
1012
1013         * platform/network/mac/ResourceRequestMac.mm:
1014
1015 2006-11-28  David Harrison  <harrison@apple.com>
1016
1017         Reviewed by Adele.
1018
1019         <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
1020
1021         Test:
1022         * editing/selection/select-missing-image.html: Added.
1023
1024         * rendering/RenderImage.cpp:
1025         (WebCore::RenderImage::paint):
1026         Draw the selection tint even if the image itself is not available.
1027
1028 2006-11-28  Anders Carlsson  <acarlsson@apple.com>
1029
1030         Reviewed by Maciej.
1031
1032         Have ResourceRequest hold on to the platform object so we don't
1033         have to convert back and forth when nothing in the object changes.
1034
1035         * WebCore.exp:
1036         * WebCore.xcodeproj/project.pbxproj:
1037         * loader/mac/FrameLoaderMac.mm:
1038         (WebCore::FrameLoader::continueAfterNavigationPolicy):
1039         * page/Chrome.cpp:
1040         (WebCore::Chrome::pageRect):
1041         * platform/network/ResourceRequest.cpp: Added.
1042         (WebCore::ResourceRequest::isEmpty):
1043         (WebCore::ResourceRequest::url):
1044         (WebCore::ResourceRequest::setURL):
1045         (WebCore::ResourceRequest::cachePolicy):
1046         (WebCore::ResourceRequest::setCachePolicy):
1047         (WebCore::ResourceRequest::timeoutInterval):
1048         (WebCore::ResourceRequest::setTimeoutInterval):
1049         (WebCore::ResourceRequest::mainDocumentURL):
1050         (WebCore::ResourceRequest::setMainDocumentURL):
1051         (WebCore::ResourceRequest::httpMethod):
1052         (WebCore::ResourceRequest::setHTTPMethod):
1053         (WebCore::ResourceRequest::httpHeaderFields):
1054         (WebCore::ResourceRequest::httpHeaderField):
1055         (WebCore::ResourceRequest::setHTTPHeaderField):
1056         (WebCore::ResourceRequest::httpBody):
1057         (WebCore::ResourceRequest::setHTTPBody):
1058         (WebCore::ResourceRequest::allowHTTPCookies):
1059         (WebCore::ResourceRequest::setAllowHTTPCookies):
1060         (WebCore::ResourceRequest::updatePlatformRequest):
1061         (WebCore::ResourceRequest::updateResourceRequest):
1062         (WebCore::ResourceRequest::addHTTPHeaderField):
1063         (WebCore::ResourceRequest::addHTTPHeaderFields):
1064         * platform/network/ResourceRequest.h:
1065         (WebCore::ResourceRequest::ResourceRequest):
1066         * platform/network/mac/ResourceHandleMac.mm:
1067         (WebCore::ResourceHandle::willSendRequest):
1068         * platform/network/mac/ResourceRequestMac.h: Removed.
1069         * platform/network/mac/ResourceRequestMac.mm:
1070         (WebCore::ResourceRequest::nsURLRequest):
1071         (WebCore::ResourceRequest::doUpdateResourceRequest):
1072         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1073
1074 2006-11-28  Adam Roben  <aroben@apple.com>
1075
1076         Reviewed by Beth.
1077
1078         More WebCore context menu work (still not turned on, however).
1079
1080         Split ContextMenuItem into its own files and make it a class.
1081
1082         * WebCore.exp: Updated symbols.
1083         * WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
1084         * platform/ContextMenu.cpp:
1085         (WebCore::ContextMenu::populate): Code cleanup.
1086         * platform/ContextMenu.h: Split ContextMenuItem into a separate file,
1087         removed redundant "Menu" part of platformMenuDescription(),
1088         setPlatformMenuDescription().
1089         (WebCore::ContextMenu::ContextMenu):
1090         (WebCore::ContextMenu::hitTestResult):
1091         (WebCore::ContextMenu::platformDescription):
1092         * platform/ContextMenuItem.h: Added. Made ContextMenuItem a
1093         full-fledged class.
1094         (WebCore::):
1095         (WebCore::ContextMenuItem::ContextMenuItem):
1096         (WebCore::ContextMenuItem::menu):
1097         (WebCore::ContextMenuItem::platformDescription):
1098         (WebCore::ContextMenuItem::type):
1099         (WebCore::ContextMenuItem::action):
1100         (WebCore::ContextMenuItem::title):
1101         * platform/mac/ContextMenuItemMac.mm: Added.
1102         (WebCore::ContextMenuItem::ContextMenuItem):
1103         * platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
1104         (-[MenuTarget forwardContextMenuAction:]):
1105         (getNSMenuItem): Handle separator items.
1106         (ContextMenu::appendItem):
1107         (ContextMenu::itemCount):
1108         (ContextMenu::insertItem):
1109         (ContextMenu::setPlatformDescription):
1110         * page/ContextMenuController.h: Updated declaration, added getter.
1111         (WebCore::ContextMenuController::contextMenu):
1112
1113         Added some more context menu plumbing.
1114
1115         * dom/EventTargetNode.cpp:
1116         (WebCore::EventTargetNode::defaultEventHandler): Added code to call the
1117         ContextMenuController when a context menu event is received.
1118         * page/ContextMenuClient.h: New client method declaration.
1119         * page/ContextMenuController.cpp:
1120         (WebCore::ContextMenuController::handleContextMenuEvent): Set the event
1121         defaultHandled after handling it.
1122         (WebCore::ContextMenuController::contextMenuItemSelected): Take a
1123         ContextMenuItem instead of a separate action and title.
1124
1125         Changed event-handling methods to return bools to signify whether the
1126         event was handled or not. This is needed so we can know whether to hand
1127         the event off to the OS. Also restructured some code to use early
1128         returns instead of nesting ifs.
1129
1130         * page/EventHandler.cpp:
1131         (WebCore::EventHandler::handleMousePressEventDoubleClick):
1132         (WebCore::EventHandler::handleMousePressEventTripleClick):
1133         (WebCore::EventHandler::handleMousePressEventSingleClick):
1134         (WebCore::EventHandler::handleMousePressEvent):
1135         (WebCore::EventHandler::handleMouseMoveEvent):
1136         (WebCore::EventHandler::handleMouseReleaseEvent):
1137         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1138         (WebCore::EventHandler::handleWheelEvent):
1139         (WebCore::EventHandler::canMouseDownStartSelect):
1140         * page/EventHandler.h:
1141         * page/FrameView.cpp:
1142         (WebCore::FrameView::handleMouseMoveEvent):
1143         (WebCore::FrameView::handleMouseReleaseEvent):
1144         * page/FrameView.h:
1145         * platform/ScrollBar.h: More bool return values.
1146         (WebCore::Scrollbar::handleMouseMoveEvent):
1147         (WebCore::Scrollbar::handleMouseOutEvent):
1148         * platform/Widget.h: Ditto.
1149         (WebCore::Widget::handleMouseMoveEvent):
1150         (WebCore::Widget::handleMouseReleaseEvent):
1151
1152         Reverted the changes made in r17805 so that we can have fewer header
1153         #includes.
1154
1155         * page/Page.cpp:
1156         (WebCore::Page::Page):
1157         * page/Page.h: Ditto.
1158         (WebCore::Page::dragCaretController):
1159         (WebCore::Page::chrome):
1160         (WebCore::Page::contextMenuController):
1161
1162 2006-11-28  Alice Liu  <alice.liu@apple.com>
1163
1164         Reviewed by Justin and Adam.
1165
1166         All layout tests pass as they do without this patch
1167
1168         * WebCore.exp:
1169         Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
1170
1171         * WebCore.xcodeproj/project.pbxproj:
1172         Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
1173
1174         * bridge/EditorClient.h:
1175         Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
1176
1177         * bridge/mac/FrameMac.h:
1178         * bridge/mac/FrameMac.mm:
1179         Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now
1180
1181         * dom/CharacterData.h:
1182         (WebCore::CharacterData::isCharacterDataNode):
1183         * dom/Node.h:
1184         (WebCore::Node::isCharacterDataNode):
1185         Added a type-identifying function to Node and the proper subclass
1186
1187         * dom/Clipboard.h:
1188         Exposed setAccessPolicy as public
1189         
1190         * editing/Editor.h:
1191         * editing/Editor.cpp:
1192         Implemented the following
1193         (WebCore::Editor::canDHTMLCut):
1194         (WebCore::Editor::canDHTMLCopy):
1195         (WebCore::Editor::canDHTMLPaste):
1196         (WebCore::Editor::canSmartCopyOrDelete):
1197         (WebCore::Editor::deleteSelection):
1198         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
1199         (WebCore::Editor::pasteWithPasteboard):
1200         (WebCore::Editor::canSmartReplaceWithPasteboard):
1201         (WebCore::Editor::shouldInsertFragment):
1202         (WebCore::Editor::replaceSelectionWithFragment):
1203         (WebCore::Editor::replaceSelectionWithText):
1204         (WebCore::Editor::selectedRange):
1205         (WebCore::Editor::shouldDeleteRange):
1206         (WebCore::Editor::tryDHTMLCopy):
1207         (WebCore::Editor::tryDHTMLCut):
1208         (WebCore::Editor::tryDHTMLPaste):
1209         (WebCore::Editor::writeSelectionToPasteboard):
1210         (WebCore::Editor::dispatchCPPEvent):
1211         (WebCore::Editor::cut):
1212         (WebCore::Editor::copy):
1213         (WebCore::Editor::paste):
1214                 
1215         * platform/mac/ClipboardAccessPolicy.h: Removed.
1216         Not removed, but moved to dom/ClipboardAccessPolicy.h
1217         
1218         * platform/mac/EditorMac.mm: Added.
1219         (WebCore::Editor::newGeneralClipboard):
1220
1221         * platform/Pasteboard.h: Added.
1222         * platform/mac/PasteboardMac.mm: Added.
1223         The pasteboard class follows a singleton pattern
1224         (Pasteboard::generalPasteboard):
1225         (Pasteboard::~Pasteboard):
1226         (Pasteboard::Pasteboard):
1227         (Pasteboard::clearTypes):
1228         (Pasteboard::writeSelection):
1229         (Pasteboard::selectionPasteboardTypes):
1230         (Pasteboard::canSmartReplace):
1231         (Pasteboard::plainText):
1232         (Pasteboard::documentFragment):
1233         
1234         * platform/mac/WebNSAttributedStringExtras.h: Added.
1235         * platform/mac/WebNSAttributedStringExtras.mm: Added.
1236         Added select portions of this file from WebKit because the pasteboard needed the following function:
1237         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
1238
1239 2006-11-28  Justin Garcia  <justin.garcia@apple.com>
1240
1241         Reviewed by harrison
1242
1243         <rdar://problem/4397952>
1244         Cannot select buttons at the end of a document, preventing copy/paste
1245         
1246         There were no VisiblePositions before/after buttons because editingIgnoresContent
1247         returned false for buttons. 
1248
1249         * dom/Position.cpp:
1250         (WebCore::Position::upstream): Fixed a comment.
1251         (WebCore::Position::downstream): Ditto.
1252         * editing/DeleteSelectionCommand.cpp:
1253         (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
1254         * editing/htmlediting.cpp:
1255         (WebCore::editingIgnoresContent): It's unnecessary to prefer renderer 
1256         checks over tag name checks because it seems that a node of a tag name 
1257         that we do not ignore content for can't have a renderer of a type that we do.
1258         (WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
1259         * editing/visible_units.cpp:
1260         (WebCore::previousLinePosition): Migrate to enclosingBlock.  Fixes a bug where the
1261         caret would get stuck moving up/down a line from a caret just before an 
1262         input element.
1263         (WebCore::nextLinePosition): Ditto.
1264
1265 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
1266
1267         Reviewed by Adam.
1268
1269         Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
1270         calls cause .5% PLT regression.
1271         
1272         Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
1273         from the Frame to the Page, since it's only responsible for
1274         Webview-level delegate calls.
1275         
1276         I don't really love this design, but it fixes the regression and allows
1277         a single WebKit object to implement multiple client interfaces.
1278         
1279         Layout tests pass.
1280
1281 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
1282
1283         Try fixing the build.
1284         
1285         * platform/graphics/IntRect.cpp:
1286         (WebCore::IntRect::IntRect):
1287
1288 2006-11-27  Beth Dakin  <bdakin@apple.com>
1289
1290         Reviewed by Adam.
1291
1292         Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
1293
1294         * bridge/mac/FrameMac.h: Two new spell checker functions from 
1295         WebKit. (We will be able to delete the WebKit versions once we 
1296         switch over to WebCore context menus.)
1297         * bridge/mac/FrameMac.mm:
1298         (WebCore::FrameMac::isSelectionMisspelled):
1299         (WebCore::core): Convert from NSArray of Strings to a Vector of 
1300         Strings.
1301         (WebCore::FrameMac::guessesForMisspelledSelection):
1302         * loader/FrameLoader.cpp:
1303         (WebCore::FrameLoader::canHandleRequest):
1304         * loader/FrameLoader.h: Make canHandleRequest available through the 
1305         FrameLoader.
1306         * loader/FrameLoaderClient.h: canHandleRequest takes a 
1307         ResourceRequest instead of an NSURLRequest.
1308         * loader/mac/FrameLoaderMac.mm:
1309         (WebCore::FrameLoader::continueAfterNavigationPolicy): Same
1310         * page/Frame.h: New spell checker functions moved to Frame. These 
1311         should be moved some place better some day, but FrameMac currently 
1312         seems to be the place to be for spell checker stuff.
1313         * platform/ContextMenu.cpp:
1314         (WebCore::ContextMenu::populate): Use new FrameLoader and spell 
1315         checking functionality to get rid of two if (true) statements. Also 
1316         add spelling guesses to the editing context menus.
1317
1318 2006-11-27  Alexey Proskuryakov  <ap@webkit.org>
1319
1320         Reviewed by Hyatt.
1321
1322         http://bugs.webkit.org/show_bug.cgi?id=11694
1323         XSLT output method does not default to HTML when the target document is HTML
1324
1325         Test: fast/xsl/default-html.html
1326
1327         * xml/XSLTProcessor.cpp:
1328         (WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter, 
1329         serving as a hint when the stylesheet doesn't specify the output method.
1330         (WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
1331         document is HTML.
1332
1333 2006-11-27  Oliver Hunt  <oliver@apple.com>
1334
1335         Reviewed by Adam.
1336
1337         Fixes a crash in SVG caused by an attempt to 
1338         perform css overflow clipping by preventing
1339         the css overflow clip from being set in SVG.
1340         
1341         <rdar:/problems/4839568>
1342
1343         * WebCore.xcodeproj/project.pbxproj:
1344         * rendering/RenderForeignObject.cpp:
1345         (WebCore::RenderForeignObject::RenderForeignObject):
1346         * rendering/RenderForeignObject.h:
1347         * rendering/RenderSVGBlock.cpp: Added.
1348         (WebCore::RenderSVGBlock::RenderSVGBlock):
1349         (WebCore::RenderSVGBlock::setStyle):
1350         * rendering/RenderSVGBlock.h: Added.
1351         * rendering/RenderSVGText.cpp:
1352         (WebCore::RenderSVGText::RenderSVGText):
1353         * rendering/RenderSVGText.h:
1354
1355 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
1356
1357         Reviewed by Adam.
1358
1359         Add an explicit IntRect constructor that takes a FloatRect.
1360         
1361         * platform/graphics/IntRect.cpp:
1362         (WebCore::IntRect::IntRect):
1363         * platform/graphics/IntRect.h:
1364
1365 2006-11-27  Ada Chan  <adachan@apple.com>
1366
1367         Reviewed by Adam.
1368
1369         Moved WebCoreCache up to WebKit.
1370
1371         * WebCore.exp:
1372         * WebCore.xcodeproj/project.pbxproj:
1373         * bridge/mac/WebCoreCache.h: Removed.
1374         * bridge/mac/WebCoreCache.mm: Removed.
1375
1376 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
1377
1378         Reviewed by Adam.
1379
1380         Move addMessageToConsole to Chrome.
1381         
1382         * bindings/js/kjs_events.cpp:
1383         (KJS::JSAbstractEventListener::handleEvent):
1384         * bindings/js/kjs_proxy.cpp:
1385         (WebCore::KJSProxy::evaluate):
1386         * bindings/js/kjs_window.cpp:
1387         (KJS::Window::isSafeScript):
1388         (KJS::ScheduledAction::execute):
1389         * bridge/mac/FrameMac.h:
1390         * bridge/mac/FrameMac.mm:
1391         * bridge/mac/WebCoreFrameBridge.h:
1392         * page/Chrome.cpp:
1393         (WebCore::Chrome::addMessageToConsole):
1394         * page/Chrome.h:
1395         * page/ChromeClient.h:
1396         * page/Frame.h:
1397
1398 2006-11-27  Adele Peterson  <adele@apple.com>
1399
1400         Reviewed by Hyatt.
1401
1402         - Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
1403           Caret color in new text field should take background color and foreground color into consideration
1404
1405         * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
1406           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)
1407           as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.
1408
1409 2006-11-26  Simon Hausmann  <hausmann@kde.org>
1410
1411         Reviewed by Maciej.
1412
1413         http://bugs.webkit.org/show_bug.cgi?id=11693
1414         Fix the Qt build, adapt to various enum/class renamings.
1415
1416         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1417         (WebCore::KRenderingDeviceQt::createResource):
1418         (WebCore::KRenderingDeviceQt::createPaintServer):
1419         * kcanvas/device/qt/KRenderingDeviceQt.h:
1420         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
1421         (WebCore::SVGPaintServerLinearGradient::setup):
1422         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
1423         (WebCore::SVGPaintServer::renderPath):
1424         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
1425         (WebCore::setup):
1426         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
1427         (WebCore::SVGPaintServerSolid::setup):
1428
1429 2006-11-24  Rob Buis  <buis@kde.org>
1430
1431         Reviewed by Mitz.
1432
1433         http://bugs.webkit.org/show_bug.cgi?id=11666
1434         .getScreenCTM() returns wrong values
1435
1436         Take into account the local transform matrix too and
1437         so fix getScreenCTM/getCTM for <text>.
1438
1439         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1440         (SVGStyledTransformableElement::getCTM):
1441         (SVGStyledTransformableElement::getScreenCTM):
1442         * ksvg2/svg/SVGTextElement.cpp:
1443         (WebCore::SVGTextElement::getScreenCTM):
1444         (WebCore::SVGTextElement::getCTM):
1445         * ksvg2/svg/SVGTransformable.cpp:
1446         (WebCore::SVGTransformable::getCTM):
1447         (WebCore::SVGTransformable::getScreenCTM):
1448         * ksvg2/svg/SVGTransformable.h:
1449
1450 2006-11-22  Rob Buis  <buis@kde.org>
1451
1452         Reviewed by Eric.
1453
1454         http://bugs.webkit.org/show_bug.cgi?id=11661
1455         SVG: stroke not sensitive to mouse events (hit testing fails)
1456
1457         Use mapAbsolutePointToLocal when hit-testing strokes.
1458
1459         * rendering/RenderPath.cpp:
1460         (WebCore::RenderPath::fillContains):
1461         (WebCore::RenderPath::nodeAtPoint):
1462
1463 2006-11-21  Anders Carlsson  <acarlsson@apple.com>
1464
1465         Reviewed by Mitz.
1466
1467         General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
1468         Remove config.h inluce from AffineTransform.h
1469         
1470         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
1471         (WebCore::KRenderingDeviceQuartz::createPaintServer):
1472         (WebCore::KRenderingDeviceQuartz::createResource):
1473         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1474         (WebCore::sharedSolidPaintServer):
1475         * ksvg2/svg/SVGFilterElement.cpp:
1476         (WebCore::SVGFilterElement::canvasResource):
1477         * ksvg2/svg/SVGLinearGradientElement.cpp:
1478         (WebCore::SVGLinearGradientElement::buildGradient):
1479         * ksvg2/svg/SVGLinearGradientElement.h:
1480         (WebCore::SVGLinearGradientElement::gradientType):
1481         * ksvg2/svg/SVGPatternElement.cpp:
1482         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1483         (WebCore::SVGPatternElement::canvasResource):
1484         * ksvg2/svg/SVGRadialGradientElement.cpp:
1485         (WebCore::SVGRadialGradientElement::buildGradient):
1486         * ksvg2/svg/SVGRadialGradientElement.h:
1487         (WebCore::SVGRadialGradientElement::gradientType):
1488         * platform/graphics/AffineTransform.h:
1489         * platform/graphics/svg/SVGPaintServer.h:
1490         (WebCore::):
1491         * platform/graphics/svg/SVGPaintServerGradient.cpp:
1492         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1493         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
1494         * platform/graphics/svg/SVGPaintServerGradient.h:
1495         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
1496         (WebCore::SVGPaintServerLinearGradient::type):
1497         * platform/graphics/svg/SVGPaintServerPattern.h:
1498         (WebCore::SVGPaintServerPattern::type):
1499         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
1500         (WebCore::SVGPaintServerRadialGradient::type):
1501         * platform/graphics/svg/SVGPaintServerSolid.h:
1502         (WebCore::SVGPaintServerSolid::type):
1503         * platform/graphics/svg/SVGResource.h:
1504         (WebCore::):
1505         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
1506         (WebCore::SVGPaintServer::renderPath):
1507         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1508         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
1509         (WebCore::SVGPaintServerGradient::teardown):
1510         (WebCore::SVGPaintServerGradient::renderPath):
1511         (WebCore::SVGPaintServerGradient::setup):
1512         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1513         (WebCore::SVGPaintServerPattern::setup):
1514         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
1515         (WebCore::SVGPaintServerSolid::setup):
1516         * rendering/RenderPath.cpp:
1517         (WebCore::RenderPath::paint):
1518         * rendering/SVGInlineFlowBox.cpp:
1519         (WebCore::paintSVGInlineFlow):
1520
1521 2006-11-21  Nikolas Zimmermann  <zimmermann@kde.org>
1522
1523         Reviewed by Oliver.
1524
1525         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
1526
1527         Move KRenderingPaintServer* classes to the location
1528         of all other resources (platform/graphics/svg).
1529
1530         Soon the whole platform/graphics/svg stuff will bemoved
1531         into ksvg2/ itself, as discussed with Darin.
1532
1533         * CMakeLists.txt:
1534         * WebCore.xcodeproj/project.pbxproj:
1535         * kcanvas/device/KRenderingDevice.h:
1536         * kcanvas/device/KRenderingPaintServer.h: Removed.
1537         * kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
1538         * kcanvas/device/KRenderingPaintServerGradient.h: Removed.
1539         * kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
1540         * kcanvas/device/KRenderingPaintServerPattern.h: Removed.
1541         * kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
1542         * kcanvas/device/KRenderingPaintServerSolid.h: Removed.
1543         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
1544         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
1545         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
1546         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
1547         * kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
1548         * kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
1549         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
1550         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
1551         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
1552         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
1553         (WebCore::KRenderingDeviceQuartz::createPaintServer):
1554         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1555         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
1556         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
1557         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
1558         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1559         (WebCore::sharedSolidPaintServer):
1560         (WebCore::KSVGPainterFactory::fillPaintServer):
1561         (WebCore::KSVGPainterFactory::strokePaintServer):
1562         * ksvg2/misc/KCanvasRenderingStyle.h:
1563         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1564         * ksvg2/svg/SVGFEOffsetElement.cpp:
1565         * ksvg2/svg/SVGGradientElement.cpp:
1566         (WebCore::SVGGradientElement::canvasResource):
1567         (WebCore::SVGGradientElement::resourceNotification):
1568         (WebCore::SVGGradientElement::rebuildStops):
1569         * ksvg2/svg/SVGGradientElement.h:
1570         * ksvg2/svg/SVGLinearGradientElement.cpp:
1571         (WebCore::SVGLinearGradientElement::buildGradient):
1572         * ksvg2/svg/SVGLinearGradientElement.h:
1573         (WebCore::SVGLinearGradientElement::gradientType):
1574         * ksvg2/svg/SVGPatternElement.cpp:
1575         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1576         (WebCore::SVGPatternElement::canvasResource):
1577         * ksvg2/svg/SVGPatternElement.h:
1578         * ksvg2/svg/SVGRadialGradientElement.cpp:
1579         (WebCore::SVGRadialGradientElement::buildGradient):
1580         * ksvg2/svg/SVGRadialGradientElement.h:
1581         (WebCore::SVGRadialGradientElement::gradientType):
1582         * platform/graphics/svg/SVGPaintServer.cpp: Added.
1583         (WebCore::SVGPaintServer::SVGPaintServer):
1584         (WebCore::SVGPaintServer::~SVGPaintServer):
1585         (WebCore::SVGPaintServer::activeClient):
1586         (WebCore::SVGPaintServer::setActiveClient):
1587         (WebCore::SVGPaintServer::isPaintingText):
1588         (WebCore::SVGPaintServer::setPaintingText):
1589         (WebCore::operator<<):
1590         (WebCore::getPaintServerById):
1591         * platform/graphics/svg/SVGPaintServer.h: Added.
1592         (WebCore::):
1593         (WebCore::SVGPaintServer::isPaintServer):
1594         * platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
1595         (WebCore::compareStopOffset):
1596         (WebCore::operator<<):
1597         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1598         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
1599         (WebCore::SVGPaintServerGradient::gradientStops):
1600         (WebCore::SVGPaintServerGradient::setGradientStops):
1601         (WebCore::SVGPaintServerGradient::spreadMethod):
1602         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
1603         (WebCore::SVGPaintServerGradient::boundingBoxMode):
1604         (WebCore::SVGPaintServerGradient::setBoundingBoxMode):
1605         (WebCore::SVGPaintServerGradient::gradientTransform):
1606         (WebCore::SVGPaintServerGradient::setGradientTransform):
1607         (WebCore::SVGPaintServerGradient::listener):
1608         (WebCore::SVGPaintServerGradient::setListener):
1609         (WebCore::SVGPaintServerGradient::externalRepresentation):
1610         * platform/graphics/svg/SVGPaintServerGradient.h: Added.
1611         (WebCore::):
1612         (WebCore::SVGPaintServerGradient::):
1613         (WebCore::makeGradientStop):
1614         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
1615         (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
1616         (WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
1617         (WebCore::SVGPaintServerLinearGradient::gradientStart):
1618         (WebCore::SVGPaintServerLinearGradient::setGradientStart):
1619         (WebCore::SVGPaintServerLinearGradient::gradientEnd):
1620         (WebCore::SVGPaintServerLinearGradient::setGradientEnd):
1621         (WebCore::SVGPaintServerLinearGradient::externalRepresentation):
1622         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
1623         (WebCore::SVGPaintServerLinearGradient::type):
1624         * platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
1625         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
1626         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
1627         (WebCore::SVGPaintServerPattern::bbox):
1628         (WebCore::SVGPaintServerPattern::setBbox):
1629         (WebCore::SVGPaintServerPattern::boundingBoxMode):
1630         (WebCore::SVGPaintServerPattern::setBoundingBoxMode):
1631         (WebCore::SVGPaintServerPattern::tile):
1632         (WebCore::SVGPaintServerPattern::setTile):
1633         (WebCore::SVGPaintServerPattern::patternTransform):
1634         (WebCore::SVGPaintServerPattern::setPatternTransform):
1635         (WebCore::SVGPaintServerPattern::listener):
1636         (WebCore::SVGPaintServerPattern::setListener):
1637         (WebCore::SVGPaintServerPattern::externalRepresentation):
1638         * platform/graphics/svg/SVGPaintServerPattern.h: Added.
1639         (WebCore::SVGPaintServerPattern::type):
1640         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
1641         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
1642         (WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
1643         (WebCore::SVGPaintServerRadialGradient::gradientCenter):
1644         (WebCore::SVGPaintServerRadialGradient::setGradientCenter):
1645         (WebCore::SVGPaintServerRadialGradient::gradientFocal):
1646         (WebCore::SVGPaintServerRadialGradient::setGradientFocal):
1647         (WebCore::SVGPaintServerRadialGradient::gradientRadius):
1648         (WebCore::SVGPaintServerRadialGradient::setGradientRadius):
1649         (WebCore::SVGPaintServerRadialGradient::externalRepresentation):
1650         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
1651         (WebCore::SVGPaintServerRadialGradient::type):
1652         * platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
1653         (WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
1654         (WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
1655         (WebCore::SVGPaintServerSolid::color):
1656         (WebCore::SVGPaintServerSolid::setColor):
1657         (WebCore::SVGPaintServerSolid::externalRepresentation):
1658         * platform/graphics/svg/SVGPaintServerSolid.h: Added.
1659         (WebCore::SVGPaintServerSolid::type):
1660         * platform/graphics/svg/SVGResource.cpp:
1661         * platform/graphics/svg/SVGResource.h:
1662         * platform/graphics/svg/SVGResourceClipper.cpp:
1663         * platform/graphics/svg/SVGResourceMarker.cpp:
1664         * platform/graphics/svg/SVGResourceMasker.cpp:
1665         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
1666         (WebCore::SVGPaintServer::draw):
1667         (WebCore::SVGPaintServer::teardown):
1668         (WebCore::SVGPaintServer::renderPath):
1669         (WebCore::SVGPaintServer::strokePath):
1670         (WebCore::SVGPaintServer::clipToStrokePath):
1671         (WebCore::SVGPaintServer::fillPath):
1672         (WebCore::SVGPaintServer::clipToFillPath):
1673         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
1674         (WebCore::cgGradientCallback):
1675         (WebCore::CGShadingRefForLinearGradient):
1676         (WebCore::CGShadingRefForRadialGradient):
1677         (WebCore::SVGPaintServerGradient::invalidateCaches):
1678         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
1679         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
1680         (WebCore::SVGPaintServerGradient::teardown):
1681         (WebCore::SVGPaintServerGradient::renderPath):
1682         (WebCore::SVGPaintServerGradient::setup):
1683         (WebCore::SVGPaintServerGradient::invalidate):
1684         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
1685         (WebCore::patternCallback):
1686         (WebCore::SVGPaintServerPattern::setup):
1687         (WebCore::SVGPaintServerPattern::teardown):
1688         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
1689         (WebCore::SVGPaintServerSolid::setup):
1690         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
1691         (WebCore::SVGPaintServerGradient::fillColorArray):
1692         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
1693         (WebCore::SVGPaintServerLinearGradient::setup):
1694         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
1695         (WebCore::SVGPaintServerPattern::setup):
1696         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
1697         (WebCore::SVGPaintServer::setPenProperties):
1698         (WebCore::SVGPaintServer::draw):
1699         (WebCore::SVGPaintServer::teardown):
1700         (WebCore::SVGPaintServer::renderPath):
1701         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
1702         (WebCore::setup):
1703         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
1704         (WebCore::SVGPaintServerSolid::setup):
1705         * rendering/RenderPath.cpp:
1706         (WebCore::RenderPath::paint):
1707         * rendering/SVGInlineFlowBox.cpp:
1708         (WebCore::paintSVGInlineFlow):
1709         * rendering/SVGRenderTreeAsText.cpp:
1710         (WebCore::writeStyle):
1711         (WebCore::writeRenderResources):
1712
1713 2006-11-21  Alex Taylor  <darwin@techvisual.co.nz>
1714
1715         Reviewed by Mitz.
1716
1717         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
1718
1719         Adds calculations for bottom right radius's position
1720         which was being drawn incorrectly.
1721
1722         * rendering/RenderObject.cpp:
1723         (WebCore::RenderObject::paintBorder):
1724
1725 2006-11-20  Rob Buis  <buis@kde.org>
1726
1727         Reviewed by Maciej.
1728
1729         http://bugs.webkit.org/show_bug.cgi?id=11519
1730         REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html
1731
1732         Transport disabled state from DOM element to the shadow
1733         DOM/render object.
1734
1735         * rendering/RenderFileUploadControl.cpp:
1736         (WebCore::RenderFileUploadControl::updateFromElement):
1737         * rendering/RenderTheme.h:
1738
1739 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
1740
1741         Reviewed by Maciej.
1742
1743         * loader/TextResourceDecoder.cpp:
1744         (WebCore::findXMLEncoding):
1745         Use CString instead of DeprecatedCString.
1746         
1747         * platform/CString.cpp:
1748         (WebCore::CString::find):
1749         * platform/CString.h:
1750         (WebCore::CString::data):
1751         Add find method, make data method inline.
1752         
1753         * platform/TextStream.cpp:
1754         * platform/TextStream.h:
1755         Remove DeprecatedCString functions.
1756
1757 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
1758
1759         Reviewed by Maciej.
1760
1761         Use CString instead of DeprecatedCString.
1762         
1763         * html/FormDataList.cpp:
1764         (WebCore::FormDataList::appendString):
1765         (WebCore::fixLineBreaks):
1766         (WebCore::FormDataList::appendFile):
1767
1768 2006-11-20  Samuel Weinig  <sam@webkit.org>
1769
1770         Reviewed by Alexey.
1771
1772         Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
1773         Fix Windows build
1774
1775         * WebCore.vcproj/WebCore/WebCore.vcproj:
1776         * bridge/win/ContextMenuClientWin.h:
1777         * bridge/win/EditorClientWin.h:
1778         * bridge/win/FrameWin.h:
1779         * platform/win/TemporaryLinkStubs.cpp:
1780         (WebCore::ContextMenu::show):
1781         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
1782         (WebCore::ContextMenuClientWin::downloadURL):
1783         (WebCore::ContextMenuClientWin::copyImageToClipboard):
1784         (WebCore::ContextMenuClientWin::lookUpInDictionary):
1785         (WebCore::EditorClientWin::shouldInsertText):
1786         (WebCore::FrameLoader::reload):
1787         (WebCore::FrameWin::ignoreSpelling):
1788         (WebCore::FrameWin::learnSpelling):
1789
1790 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
1791
1792         Reviewed by Maciej.
1793
1794         http://bugs.webkit.org/show_bug.cgi?id=10736
1795         XMLHttpRequest.responseXML should be null on error
1796
1797         * dom/XMLTokenizer.cpp:
1798         (WebCore::XMLTokenizer::wellFormed):
1799         * dom/XMLTokenizer.h:
1800         (WebCore::Tokenizer::wellFormed):
1801         * dom/Document.cpp:
1802         (WebCore::Document::Document):
1803         (WebCore::Document::implicitClose):
1804         * dom/Document.h:
1805         (WebCore::Document::wellFormed):
1806         Tell whether XMLTokenizer saw an error. Always true (success) for HTML.
1807
1808         * xml/xmlhttprequest.cpp:
1809         (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
1810
1811 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
1812
1813         Reviewed by Sam Weinig.
1814
1815         http://bugs.webkit.org/show_bug.cgi?id=11633
1816         Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
1817
1818         * dom/Document.cpp:
1819         (WebCore::Document::Document):
1820         (WebCore::Document::setXMLVersion):
1821         (WebCore::Document::setXMLStandalone):
1822         * dom/Document.h:
1823         (WebCore::Document::xmlEncoding):
1824         (WebCore::Document::xmlVersion):
1825         (WebCore::Document::xmlStandalone):
1826         (WebCore::Document::setXMLEncoding):
1827         * dom/Document.idl:
1828         * dom/XMLTokenizer.cpp:
1829         (WebCore::XMLTokenizer::startDocument):
1830         (WebCore::startDocumentHandler):
1831         (WebCore::XMLTokenizer::initializeParserContext):
1832         Added support for these properties, getting them from an libxml2 context.
1833
1834         * html/HTMLDocument.cpp:
1835         (WebCore::HTMLDocument::HTMLDocument):
1836         HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".
1837
1838         * bindings/scripts/CodeGeneratorJS.pm:
1839         * bindings/scripts/CodeGeneratorObjC.pm:
1840         Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
1841
1842 2006-11-20  Nikolas Zimmermann  <zimmermann@kde.org>
1843
1844         Reviewed by Rob.
1845
1846         Fix Qt/Linux build.
1847
1848         * platform/qt/ContextMenuClientQt.cpp:
1849         (WebCore::ContextMenuClientQt::ref):
1850         (WebCore::ContextMenuClientQt::deref):
1851         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
1852         (WebCore::ContextMenuClientQt::downloadURL):
1853         (WebCore::ContextMenuClientQt::copyImageToClipboard):
1854         (WebCore::ContextMenuClientQt::lookUpInDictionary):
1855         * platform/qt/ContextMenuClientQt.h:
1856         * platform/qt/ContextMenuQt.cpp:
1857         (WebCore::ContextMenu::appendItem):
1858         (WebCore::ContextMenu::show):
1859         (WebCore::ContextMenu::itemCount):
1860         (WebCore::ContextMenu::insertItem):
1861         * platform/qt/EditorClientQt.cpp:
1862         (WebCore::EditorClientQt::shouldInsertText):
1863         * platform/qt/EditorClientQt.h:
1864         * platform/qt/FrameQt.cpp:
1865         (WebCore::FrameQt::ignoreSpelling):
1866         (WebCore::FrameQt::learnSpelling):
1867         * platform/qt/FrameQt.h:
1868         * platform/qt/TemporaryLinkStubs.cpp:
1869         (FrameLoader::reload):
1870
1871 2006-11-20  Samuel Weinig  <sam@webkit.org>
1872
1873         Reviewed by Maciej.
1874
1875         Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
1876         Fix Win32 build
1877
1878         * config.h: add #define NOMINMAX for windows build
1879         * platform/win/FontCacheWin.cpp:
1880         (WebCore::FontCache::createFontPlatformData):
1881         * platform/win/TemporaryLinkStubs.cpp: add definitions for 
1882         new cursors.
1883         (WebCore::aliasCursor):
1884         (WebCore::noDropCursor):
1885         (WebCore::progressCursor):
1886
1887 2006-11-19  Beth Dakin  <bdakin@apple.com>
1888
1889         Reviewed by Adam.
1890
1891         Implementation of actions for the new context menus.
1892
1893         * WebCore.exp:
1894         * WebCore.xcodeproj/project.pbxproj:
1895         * bridge/EditorClient.h: Declaration of shouldInsertText.
1896         * bridge/mac/FrameMac.h: Two new spelling functions.
1897         * bridge/mac/FrameMac.mm:
1898         (WebCore::FrameMac::ignoreSpelling):
1899         (WebCore::FrameMac::learnSpelling):
1900         * editing/Editor.cpp:
1901         (WebCore::Editor::shouldInsertText): Call into the client.
1902         * editing/Editor.h:
1903         * editing/EditorInsertAction.h: Added.
1904         (WebCore::): The WebCore equivalent of WebViewInsertAction. This is 
1905         defined in its own header so that we can use it from Editor.h and 
1906         EditorClient.h without having one of the above include the other.
1907         * page/ContextMenuClient.h: A few currently WebKit-implemented 
1908         function needed for menu actions.
1909         * page/ContextMenuController.cpp:
1910         (WebCore::makeGoogleSearchURL):
1911         (WebCore::ContextMenuController::contextMenuActionSelected): The 
1912         actions!
1913         * page/ContextMenuController.h:
1914         * page/Frame.h: New pure-virtual spelling functions.
1915         * platform/ContextMenu.cpp:
1916         (WebCore::ContextMenu::controller): Get the controller from the 
1917         menu.
1918         * platform/ContextMenu.h:
1919         * platform/mac/ContextMenuMac.mm:
1920         (-[MenuTarget 
1921         forwardContextMenuAction:initWithContextMenuController:WebCore::]): 
1922         Use the controller instead of the menu
1923         (-[MenuTarget WebCore::]):
1924         (-[MenuTarget setMenuController:WebCore::]):
1925         (-[MenuTarget forwardContextMenuAction:]):
1926         (getNSMenuItem):
1927         (ContextMenu::show):
1928         (ContextMenu::hide):
1929
1930 2006-11-19  Simon Hausmann  <hausmann@kde.org>
1931
1932         Reviewed by Zack.
1933
1934         http://bugs.webkit.org/show_bug.cgi?id=11649
1935         Fix CMake files for Qt-only build without KDE cmake files.
1936         Fix Qt/KDE build for the SVG support.
1937         Fix Qt-only build in the resource handler.
1938
1939         * CMakeLists.txt:
1940         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Added.
1941         (WebCore::SVGResourceFilter::SVGResourceFilter):
1942         (WebCore::SVGResourceFilter::~SVGResourceFilter):
1943         (WebCore::SVGResourceFilter::prepareFilter):
1944         (WebCore::SVGResourceFilter::applyFilter):
1945         * platform/network/qt/ResourceHandleManager.cpp:
1946         (WebCore::ResourceHandleManager::cancel):
1947         (WebCore::ResourceHandleManager::slotData):
1948         (WebCore::ResourceHandleManager::slotMimetype):
1949         (WebCore::ResourceHandleManager::slotResult):
1950         (WebCore::ResourceHandleManager::deliverJobData):
1951         * platform/network/qt/ResourceHandleManager.h:
1952         * platform/network/qt/ResourceHandleQt.cpp:
1953         * platform/qt/CursorQt.cpp:
1954         (WebCore::noDropCursor):
1955         (WebCore::progressCursor):
1956         (WebCore::aliasCursor):
1957
1958 2006-11-19  Mitz Pettel  <mitz@webkit.org>
1959
1960         Reviewed by Maciej.
1961
1962         - http://bugs.webkit.org/show_bug.cgi?id=11626
1963           Automate test for rdar://problem/4056100
1964
1965         * manual-tests/delete-into-nested-block.html: Removed.
1966
1967 2006-11-19  Nikolas Zimmermann  <zimmermann@kde.org>
1968
1969         Reviewed by Oliver.
1970
1971         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596
1972
1973         Split up KCanvasFilters & KCanvasFilterQuartz into several
1974         new classes (SVGFEBlend, SVGFEComposite...) and move them
1975         into platform/graphics/svg. This is still a temporary location,
1976         as discussed with Darin; the whole platform/graphics/svg directory
1977         will probably be moved into ksvg2/ in near future.
1978
1979         This finally removes the duplicated enumerations in the svg filter
1980         classes and within kcanvas. ksvg2/ and platform/graphics/svg share
1981         their enums now. As KCanvasFilters is gone now, The kcanvas/ subdirectory
1982         is empty.
1983
1984         * CMakeLists.txt:
1985         * WebCore.xcodeproj/project.pbxproj:
1986         * bindings/scripts/CodeGeneratorJS.pm:
1987         * kcanvas/KCanvasFilters.cpp: Removed.
1988         * kcanvas/KCanvasFilters.h: Removed.
1989         * kcanvas/device/KRenderingDevice.h:
1990         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1991         (WebCore::KRenderingDeviceQt::createFilterEffect):
1992         * kcanvas/device/qt/KRenderingDeviceQt.h:
1993         * kcanvas/device/quartz/KCanvasFilterQuartz.h: Removed.
1994         * kcanvas/device/quartz/KCanvasFilterQuartz.mm: Removed.
1995         * kcanvas/device/quartz/KCanvasItemQuartz.cpp:
1996         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
1997         (WebCore::KRenderingDeviceQuartz::createResource):
1998         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
1999         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2000         * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Removed.
2001         * kcanvas/device/quartz/filters/WKArithmeticFilter.h: Removed.
2002         * kcanvas/device/quartz/filters/WKArithmeticFilter.m: Removed.
2003         * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Removed.
2004         * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Removed.
2005         * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Removed.
2006         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Removed.
2007         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Removed.
2008         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Removed.
2009         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Removed.
2010         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Removed.
2011         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Removed.
2012         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Removed.
2013         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Removed.
2014         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Removed.
2015         * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Removed.
2016         * kcanvas/device/quartz/filters/WKDistantLightFilter.h: Removed.
2017         * kcanvas/device/quartz/filters/WKDistantLightFilter.m: Removed.
2018         * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Removed.
2019         * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Removed.
2020         * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Removed.
2021         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Removed.
2022         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Removed.
2023         * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Removed.
2024         * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Removed.
2025         * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Removed.
2026         * kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Removed.
2027         * kcanvas/device/quartz/filters/WKNormalMapFilter.h: Removed.
2028         * kcanvas/device/quartz/filters/WKNormalMapFilter.m: Removed.
2029         * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Removed.
2030         * kcanvas/device/quartz/filters/WKPointLightFilter.h: Removed.
2031         * kcanvas/device/quartz/filters/WKPointLightFilter.m: Removed.
2032         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Removed.
2033         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Removed.
2034         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Removed.
2035         * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Removed.
2036         * kcanvas/device/quartz/filters/WKSpotLightFilter.h: Removed.
2037         * kcanvas/device/quartz/filters/WKSpotLightFilter.m: Removed.
2038         * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Removed.
2039         * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Removed.
2040         * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Removed.
2041         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2042         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
2043         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2044         * ksvg2/svg/SVGFEBlendElement.cpp:
2045         (WebCore::SVGFEBlendElement::filterEffect):
2046         * ksvg2/svg/SVGFEBlendElement.h:
2047         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2048         (WebCore::SVGFEColorMatrixElement::filterEffect):
2049         * ksvg2/svg/SVGFEColorMatrixElement.h:
2050         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2051         (WebCore::SVGFEComponentTransferElement::filterEffect):
2052         * ksvg2/svg/SVGFEComponentTransferElement.h:
2053         * ksvg2/svg/SVGFECompositeElement.cpp:
2054         (WebCore::SVGFECompositeElement::filterEffect):
2055         * ksvg2/svg/SVGFECompositeElement.h:
2056         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2057         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
2058         (WebCore::SVGFEDiffuseLightingElement::updateLights):
2059         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2060         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2061         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
2062         (WebCore::SVGFEDisplacementMapElement::filterEffect):
2063         * ksvg2/svg/SVGFEDisplacementMapElement.h:
2064         * ksvg2/svg/SVGFEDistantLightElement.cpp:
2065         (WebCore::SVGFEDistantLightElement::lightSource):
2066         * ksvg2/svg/SVGFEDistantLightElement.h:
2067         * ksvg2/svg/SVGFEFloodElement.cpp:
2068         (WebCore::SVGFEFloodElement::filterEffect):
2069         * ksvg2/svg/SVGFEFloodElement.h:
2070         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2071         (WebCore::SVGFEGaussianBlurElement::filterEffect):
2072         * ksvg2/svg/SVGFEGaussianBlurElement.h:
2073         * ksvg2/svg/SVGFEImageElement.cpp:
2074         (WebCore::SVGFEImageElement::filterEffect):
2075         * ksvg2/svg/SVGFEImageElement.h:
2076         * ksvg2/svg/SVGFELightElement.h:
2077         * ksvg2/svg/SVGFEMergeElement.cpp:
2078         (WebCore::SVGFEMergeElement::filterEffect):
2079         * ksvg2/svg/SVGFEMergeElement.h:
2080         * ksvg2/svg/SVGFEOffsetElement.cpp:
2081         (WebCore::SVGFEOffsetElement::filterEffect):
2082         * ksvg2/svg/SVGFEOffsetElement.h:
2083         * ksvg2/svg/SVGFEPointLightElement.cpp:
2084         (WebCore::SVGFEPointLightElement::lightSource):
2085         * ksvg2/svg/SVGFEPointLightElement.h:
2086         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2087         (WebCore::SVGFESpecularLightingElement::filterEffect):
2088         (WebCore::SVGFESpecularLightingElement::updateLights):
2089         * ksvg2/svg/SVGFESpecularLightingElement.h:
2090         * ksvg2/svg/SVGFESpotLightElement.cpp:
2091         (WebCore::SVGFESpotLightElement::lightSource):
2092         * ksvg2/svg/SVGFESpotLightElement.h:
2093         * ksvg2/svg/SVGFETileElement.cpp:
2094         (WebCore::SVGFETileElement::filterEffect):
2095         * ksvg2/svg/SVGFETileElement.h:
2096         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2097         (WebCore::SVGFETurbulenceElement::filterEffect):
2098         * ksvg2/svg/SVGFETurbulenceElement.h:
2099         (WebCore::):
2100         * ksvg2/svg/SVGFilterElement.cpp:
2101         (WebCore::SVGFilterElement::canvasResource):
2102         * ksvg2/svg/SVGFilterElement.h:
2103         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2104         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2105         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2106         * platform/graphics/FloatPoint3D.cpp: Added.
2107         (WebCore::FloatPoint3D::FloatPoint3D):
2108         (WebCore::FloatPoint3D::x):
2109         (WebCore::FloatPoint3D::setX):
2110         (WebCore::FloatPoint3D::y):
2111         (WebCore::FloatPoint3D::setY):
2112         (WebCore::FloatPoint3D::z):
2113         (WebCore::FloatPoint3D::setZ):
2114         (WebCore::FloatPoint3D::normalize):
2115         * platform/graphics/FloatPoint3D.h: Added.
2116         * platform/graphics/svg/SVGResourceFilter.cpp: Added.
2117         (WebCore::SVGResourceFilter::clearEffects):
2118         (WebCore::SVGResourceFilter::addFilterEffect):
2119         (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
2120         (WebCore::SVGResourceFilter::externalRepresentation):
2121         (WebCore::getFilterById):
2122         * platform/graphics/svg/SVGResourceFilter.h: Added.
2123         (WebCore::SVGResourceFilter::isFilter):
2124         (WebCore::SVGResourceFilter::filterBoundingBoxMode):
2125         (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
2126         (WebCore::SVGResourceFilter::effectBoundingBoxMode):
2127         (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
2128         (WebCore::SVGResourceFilter::filterRect):
2129         (WebCore::SVGResourceFilter::setFilterRect):
2130         * platform/graphics/svg/SVGResourceImage.h:
2131         * platform/graphics/svg/SVGResourceListener.h:
2132         (SVGResourceListener::SVGResourceListener):
2133         (SVGResourceListener::~SVGResourceListener):
2134         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
2135         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Added.
2136         (WebCore::SVGResourceFilter::SVGResourceFilter):
2137         (WebCore::SVGResourceFilter::~SVGResourceFilter):
2138         (WebCore::SVGResourceFilter::prepareFilter):
2139         (WebCore::SVGResourceFilter::applyFilter):
2140         (WebCore::SVGResourceFilter::getCIFilterStack):
2141         (WebCore::SVGResourceFilter::imageForName):
2142         (WebCore::SVGResourceFilter::setImageForName):
2143         (WebCore::SVGResourceFilter::setOutputImage):
2144         (WebCore::alphaImageForImage):
2145         (WebCore::SVGResourceFilter::inputImage):
2146         * platform/graphics/svg/cg/SVGResourceMaskerCg.h: Removed.
2147         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2148         * platform/graphics/svg/filters/SVGDistantLightSource.h: Added.
2149         (WebCore::SVGDistantLightSource::SVGDistantLightSource):
2150         (WebCore::SVGDistantLightSource::azimuth):
2151         (WebCore::SVGDistantLightSource::elevation):
2152         * platform/graphics/svg/filters/SVGFEBlend.cpp: Added.
2153         (WebCore::SVGFEBlend::in2):
2154         (WebCore::SVGFEBlend::setIn2):
2155         (WebCore::SVGFEBlend::blendMode):
2156         (WebCore::SVGFEBlend::setBlendMode):
2157         (WebCore::operator<<):
2158         (WebCore::SVGFEBlend::externalRepresentation):
2159         * platform/graphics/svg/filters/SVGFEBlend.h: Added.
2160         (WebCore::):
2161         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Added.
2162         (WebCore::SVGFEColorMatrix::type):
2163         (WebCore::SVGFEColorMatrix::setType):
2164         (WebCore::SVGFEColorMatrix::values):
2165         (WebCore::SVGFEColorMatrix::setValues):
2166         (WebCore::operator<<):
2167         (WebCore::SVGFEColorMatrix::externalRepresentation):
2168         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Added.
2169         (WebCore::):
2170         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Added.
2171         (WebCore::SVGFEComponentTransfer::redFunction):
2172         (WebCore::SVGFEComponentTransfer::setRedFunction):
2173         (WebCore::SVGFEComponentTransfer::greenFunction):
2174         (WebCore::SVGFEComponentTransfer::setGreenFunction):
2175         (WebCore::SVGFEComponentTransfer::blueFunction):
2176         (WebCore::SVGFEComponentTransfer::setBlueFunction):
2177         (WebCore::SVGFEComponentTransfer::alphaFunction):
2178         (WebCore::SVGFEComponentTransfer::setAlphaFunction):
2179         (WebCore::operator<<):
2180         (WebCore::SVGFEComponentTransfer::externalRepresentation):
2181         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Added.
2182         (WebCore::):
2183         (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction):
2184         * platform/graphics/svg/filters/SVGFEComposite.cpp: Added.
2185         (WebCore::SVGFEComposite::in2):
2186         (WebCore::SVGFEComposite::setIn2):
2187         (WebCore::SVGFEComposite::operation):
2188         (WebCore::SVGFEComposite::setOperation):
2189         (WebCore::SVGFEComposite::k1):
2190         (WebCore::SVGFEComposite::setK1):
2191         (WebCore::SVGFEComposite::k2):
2192         (WebCore::SVGFEComposite::setK2):
2193         (WebCore::SVGFEComposite::k3):
2194         (WebCore::SVGFEComposite::setK3):
2195         (WebCore::SVGFEComposite::k4):
2196         (WebCore::SVGFEComposite::setK4):
2197         (WebCore::SVGFEComposite::externalRepresentation):
2198         * platform/graphics/svg/filters/SVGFEComposite.h: Added.
2199         (WebCore::):
2200         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Added.
2201         (WebCore::SVGFEConvolveMatrix::kernelSize):
2202         (WebCore::SVGFEConvolveMatrix::setKernelSize):
2203         (WebCore::SVGFEConvolveMatrix::kernel):
2204         (WebCore::SVGFEConvolveMatrix::setKernel):
2205         (WebCore::SVGFEConvolveMatrix::divisor):
2206         (WebCore::SVGFEConvolveMatrix::setDivisor):
2207         (WebCore::SVGFEConvolveMatrix::bias):
2208         (WebCore::SVGFEConvolveMatrix::setBias):
2209         (WebCore::SVGFEConvolveMatrix::targetOffset):
2210         (WebCore::SVGFEConvolveMatrix::setTargetOffset):
2211         (WebCore::SVGFEConvolveMatrix::edgeMode):
2212         (WebCore::SVGFEConvolveMatrix::setEdgeMode):
2213         (WebCore::SVGFEConvolveMatrix::kernelUnitLength):
2214         (WebCore::SVGFEConvolveMatrix::setKernelUnitLength):
2215         (WebCore::SVGFEConvolveMatrix::preserveAlpha):
2216         (WebCore::SVGFEConvolveMatrix::setPreserveAlpha):
2217         (WebCore::operator<<):
2218         (WebCore::SVGFEConvolveMatrix::externalRepresentation):
2219         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Added.
2220         (WebCore::):
2221         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Added.
2222         (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting):
2223         (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
2224         (WebCore::SVGFEDiffuseLighting::lightingColor):
2225         (WebCore::SVGFEDiffuseLighting::setLightingColor):
2226         (WebCore::SVGFEDiffuseLighting::surfaceScale):
2227         (WebCore::SVGFEDiffuseLighting::setSurfaceScale):
2228         (WebCore::SVGFEDiffuseLighting::diffuseConstant):
2229         (WebCore::SVGFEDiffuseLighting::setDiffuseConstant):
2230         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthX):
2231         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthX):
2232         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthY):
2233         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthY):
2234         (WebCore::SVGFEDiffuseLighting::lightSource):
2235         (WebCore::SVGFEDiffuseLighting::setLightSource):
2236         (WebCore::SVGFEDiffuseLighting::externalRepresentation):
2237         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Added.
2238         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Added.
2239         (WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap):
2240         (WebCore::SVGFEDisplacementMap::in2):
2241         (WebCore::SVGFEDisplacementMap::setIn2):
2242         (WebCore::SVGFEDisplacementMap::xChannelSelector):
2243         (WebCore::SVGFEDisplacementMap::setXChannelSelector):
2244         (WebCore::SVGFEDisplacementMap::yChannelSelector):
2245         (WebCore::SVGFEDisplacementMap::setYChannelSelector):
2246         (WebCore::SVGFEDisplacementMap::scale):
2247         (WebCore::SVGFEDisplacementMap::setScale):
2248         (WebCore::operator<<):
2249         (WebCore::SVGFEDisplacementMap::externalRepresentation):
2250         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Added.
2251         (WebCore::):
2252         * platform/graphics/svg/filters/SVGFEFlood.cpp: Added.
2253         (WebCore::SVGFEFlood::floodColor):
2254         (WebCore::SVGFEFlood::setFloodColor):
2255         (WebCore::SVGFEFlood::floodOpacity):
2256         (WebCore::SVGFEFlood::setFloodOpacity):
2257         (WebCore::SVGFEFlood::externalRepresentation):
2258         * platform/graphics/svg/filters/SVGFEFlood.h: Added.
2259         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Added.
2260         (WebCore::SVGFEGaussianBlur::stdDeviationX):
2261         (WebCore::SVGFEGaussianBlur::setStdDeviationX):
2262         (WebCore::SVGFEGaussianBlur::stdDeviationY):
2263         (WebCore::SVGFEGaussianBlur::setStdDeviationY):
2264         (WebCore::SVGFEGaussianBlur::externalRepresentation):
2265         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Added.
2266         * platform/graphics/svg/filters/SVGFEImage.cpp: Added.
2267         (WebCore::SVGFEImage::SVGFEImage):
2268         (WebCore::SVGFEImage::~SVGFEImage):
2269         (WebCore::SVGFEImage::cachedImage):
2270         (WebCore::SVGFEImage::setCachedImage):
2271         (WebCore::SVGFEImage::externalRepresentation):
2272         * platform/graphics/svg/filters/SVGFEImage.h: Added.
2273         * platform/graphics/svg/filters/SVGFEMerge.cpp: Added.
2274         (WebCore::SVGFEMerge::mergeInputs):
2275         (WebCore::SVGFEMerge::setMergeInputs):
2276         (WebCore::SVGFEMerge::externalRepresentation):
2277         * platform/graphics/svg/filters/SVGFEMerge.h: Added.
2278         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Added.
2279         (WebCore::SVGFEMorphology::morphologyOperator):
2280         (WebCore::SVGFEMorphology::setMorphologyOperator):
2281         (WebCore::SVGFEMorphology::radiusX):
2282         (WebCore::SVGFEMorphology::setRadiusX):
2283         (WebCore::SVGFEMorphology::radiusY):
2284         (WebCore::SVGFEMorphology::setRadiusY):
2285         (WebCore::operator<<):
2286         (WebCore::SVGFEMorphology::externalRepresentation):
2287         * platform/graphics/svg/filters/SVGFEMorphology.h: Added.
2288         (WebCore::):
2289         * platform/graphics/svg/filters/SVGFEOffset.cpp: Added.
2290         (WebCore::SVGFEOffset::dx):
2291         (WebCore::SVGFEOffset::setDx):
2292         (WebCore::SVGFEOffset::dy):
2293         (WebCore::SVGFEOffset::setDy):
2294         (WebCore::SVGFEOffset::externalRepresentation):
2295         * platform/graphics/svg/filters/SVGFEOffset.h: Added.
2296         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Added.
2297         (WebCore::SVGFESpecularLighting::SVGFESpecularLighting):
2298         (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
2299         (WebCore::SVGFESpecularLighting::lightingColor):
2300         (WebCore::SVGFESpecularLighting::setLightingColor):
2301         (WebCore::SVGFESpecularLighting::surfaceScale):
2302         (WebCore::SVGFESpecularLighting::setSurfaceScale):
2303         (WebCore::SVGFESpecularLighting::specularConstant):
2304         (WebCore::SVGFESpecularLighting::setSpecularConstant):
2305         (WebCore::SVGFESpecularLighting::specularExponent):
2306         (WebCore::SVGFESpecularLighting::setSpecularExponent):
2307         (WebCore::SVGFESpecularLighting::kernelUnitLengthX):
2308         (WebCore::SVGFESpecularLighting::setKernelUnitLengthX):
2309         (WebCore::SVGFESpecularLighting::kernelUnitLengthY):
2310         (WebCore::SVGFESpecularLighting::setKernelUnitLengthY):
2311         (WebCore::SVGFESpecularLighting::lightSource):
2312         (WebCore::SVGFESpecularLighting::setLightSource):
2313         (WebCore::SVGFESpecularLighting::externalRepresentation):
2314         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Added.
2315         * platform/graphics/svg/filters/SVGFETile.h: Added.
2316         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Added.
2317         (WebCore::SVGFETurbulence::type):
2318         (WebCore::SVGFETurbulence::setType):
2319         (WebCore::SVGFETurbulence::baseFrequencyY):
2320         (WebCore::SVGFETurbulence::setBaseFrequencyY):
2321         (WebCore::SVGFETurbulence::baseFrequencyX):
2322         (WebCore::SVGFETurbulence::setBaseFrequencyX):
2323         (WebCore::SVGFETurbulence::seed):
2324         (WebCore::SVGFETurbulence::setSeed):
2325         (WebCore::SVGFETurbulence::numOctaves):
2326         (WebCore::SVGFETurbulence::setNumOctaves):
2327         (WebCore::SVGFETurbulence::stitchTiles):
2328         (WebCore::SVGFETurbulence::setStitchTiles):
2329         (WebCore::operator<<):
2330         (WebCore::SVGFETurbulence::externalRepresentation):
2331         * platform/graphics/svg/filters/SVGFETurbulence.h: Added.
2332         (WebCore::):
2333         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Added.
2334         (WebCore::SVGFilterEffect::subRegion):
2335         (WebCore::SVGFilterEffect::setSubRegion):
2336         (WebCore::SVGFilterEffect::in):
2337         (WebCore::SVGFilterEffect::setIn):
2338         (WebCore::SVGFilterEffect::result):
2339         (WebCore::SVGFilterEffect::setResult):
2340         (WebCore::SVGFilterEffect::externalRepresentation):
2341         (WebCore::operator<<):
2342         * platform/graphics/svg/filters/SVGFilterEffect.h: Added.
2343         (WebCore::):
2344         (WebCore::SVGFilterEffect::SVGFilterEffect):
2345         (WebCore::SVGFilterEffect::~SVGFilterEffect):
2346         (WebCore::SVGFilterEffect::effectType):
2347         * platform/graphics/svg/filters/SVGLightSource.cpp: Added.
2348         (WebCore::operator<<):
2349         (WebCore::SVGPointLightSource::externalRepresentation):
2350         (WebCore::SVGSpotLightSource::externalRepresentation):
2351         (WebCore::SVGDistantLightSource::externalRepresentation):
2352         * platform/graphics/svg/filters/SVGLightSource.h: Added.
2353         (WebCore::):
2354         (WebCore::SVGLightSource::SVGLightSource):
2355         (WebCore::SVGLightSource::~SVGLightSource):
2356         (WebCore::SVGLightSource::type):
2357         * platform/graphics/svg/filters/SVGPointLightSource.h: Added.
2358         (WebCore::SVGPointLightSource::SVGPointLightSource):
2359         (WebCore::SVGPointLightSource::position):
2360         * platform/graphics/svg/filters/SVGSpotLightSource.h: Added.
2361         (WebCore::SVGSpotLightSource::SVGSpotLightSource):
2362         (WebCore::SVGSpotLightSource::position):
2363         (WebCore::SVGSpotLightSource::direction):
2364         (WebCore::SVGSpotLightSource::specularExponent):
2365         (WebCore::SVGSpotLightSource::limitingConeAngle):
2366         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Added.
2367         (WebCore::SVGFEBlend::getCIFilter):
2368         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Added.
2369         (WebCore::SVGFEColorMatrix::getCIFilter):
2370         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Added.
2371         (WebCore::genImageFromTable):
2372         (WebCore::setParametersForComponentFunc):
2373         (WebCore::filterForComponentFunc):
2374         (WebCore::getFilterForFunc):
2375         (WebCore::SVGFEComponentTransfer::getFunctionFilter):
2376         (WebCore::SVGFEComponentTransfer::getCIFilter):
2377         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Added.
2378         (WebCore::SVGFEComposite::getCIFilter):
2379         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Added.
2380         (WebCore::SVGFEDiffuseLighting::getCIFilter):
2381         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Added.
2382         (WebCore::SVGFEDisplacementMap::getCIFilter):
2383         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Added.
2384         (WebCore::SVGFEFlood::getCIFilter):
2385         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Added.
2386         (WebCore::SVGFEGaussianBlur::getCIFilter):
2387         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Added.
2388         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Added.
2389         (WebCore::getVectorForChannel):
2390         (WebCore::ciColor):
2391         (WebCore::getPointLightVectors):
2392         (WebCore::getLightVectors):
2393         (WebCore::getNormalMap):
2394         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Added.
2395         (WebCore::SVGFEImage::getCIFilter):
2396         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Added.
2397         (WebCore::SVGFEMerge::getCIFilter):
2398         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Added.
2399         (WebCore::SVGFEOffset::getCIFilter):
2400         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Added.
2401         (WebCore::SVGFESpecularLighting::getCIFilter):
2402         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Added.
2403         (WebCore::SVGFETile::getCIFilter):
2404         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Added.
2405         (WebCore::SVGFilterEffect::getCIFilter):
2406         * rendering/RenderPath.cpp:
2407         (WebCore::RenderPath::getAbsoluteRepaintRect):
2408         (WebCore::RenderPath::paint):
2409         * rendering/RenderSVGContainer.cpp:
2410         (WebCore::RenderSVGContainer::paint):
2411         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
2412         * rendering/RenderSVGImage.cpp:
2413         (WebCore::RenderSVGImage::paint):
2414         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
2415         * rendering/SVGInlineFlowBox.cpp:
2416         (WebCore::paintSVGInlineFlow):
2417
2418 2006-11-18  Rob Buis  <buis@kde.org>
2419
2420         Reviewed by Maciej.
2421
2422         http://bugs.webkit.org/show_bug.cgi?id=11321
2423         Element with :target pseudo-class still matched after fragment identifier change
2424
2425         Make sure the page does a style recalculation and possible rendering
2426         when navigating back from a page with an anchor to a page without
2427         an anchor.
2428
2429         * loader/FrameLoader.cpp:
2430         (WebCore::FrameLoader::gotoAnchor):
2431
2432 2006-11-18  Don Gibson  <dgibson77@gmail.com>
2433
2434         Reviewed by Sam Weinig.
2435
2436         http://bugs.webkit.org/show_bug.cgi?id=11634:
2437         Fix segfault on startup for Windows build.  Also fix segfault when
2438         typing in a URL.
2439         Clean up some of the style of the patch that landed in r17816.
2440
2441         * WebCore.vcproj/WebCore/WebCore.vcproj:
2442         * bridge/win/ChromeClientWin.h:
2443         (WebCore::ChromeClientWin::~ChromeClientWin):
2444         (WebCore::ChromeClientWin::ref):
2445         (WebCore::ChromeClientWin::deref):
2446         * bridge/win/ContextMenuClientWin.h:
2447         (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
2448         (WebCore::ContextMenuClientWin::ref):
2449         (WebCore::ContextMenuClientWin::deref):
2450         * bridge/win/EditorClientWin.h:
2451         (WebCore::EditorClientWin::~EditorClientWin):
2452         (WebCore::EditorClientWin::ref):
2453         (WebCore::EditorClientWin::deref):
2454         * bridge/win/FrameWin.cpp:
2455         (WebCore::FrameWin::FrameWin):
2456         * bridge/win/FrameWin.h:
2457         (WebCore::Win):
2458         * loader/win/FrameLoaderClientWin.h: Added.
2459         (WebCore::FrameLoaderClientWin::~FrameLoaderClientWin):
2460         (WebCore::FrameLoaderClientWin::ref):
2461         (WebCore::FrameLoaderClientWin::deref):
2462         * platform/win/TemporaryLinkStubs.cpp:
2463         (WebCore::ChromeClientWin::createWindow):
2464         (WebCore::ChromeClientWin::createModalDialog):
2465         (WebCore::EditorClientWin::selectWordBeforeMenuEvent):
2466         (WebCore::EditorClientWin::isEditable):
2467         (WebCore::EditorClientWin::shouldBeginEditing):
2468         (WebCore::EditorClientWin::shouldEndEditing):
2469         (WebCore::EditorClientWin::shouldApplyStyle):
2470         (WebCore::EditorClientWin::didBeginEditing):
2471         (WebCore::EditorClientWin::respondToChangedContents):
2472         (WebCore::EditorClientWin::didEndEditing):
2473         (WebCore::EditorClientWin::registerCommandForUndo):
2474         (WebCore::EditorClientWin::registerCommandForRedo):
2475         (WebCore::EditorClientWin::clearUndoRedoOperations):
2476         (WebCore::EditorClientWin::canUndo):
2477         (WebCore::EditorClientWin::canRedo):
2478         (WebCore::EditorClientWin::undo):
2479         (WebCore::EditorClientWin::redo):
2480         (WebCore::FrameLoader::createFrame):
2481         (WebCore::FrameLoader::createPlugin):
2482         (WebCore::FrameLoaderClientWin::hasWebView):
2483         (WebCore::FrameLoaderClientWin::hasFrameView):
2484         (WebCore::FrameLoaderClientWin::hasBackForwardList):
2485         (WebCore::FrameLoaderClientWin::resetBackForwardList):
2486         (WebCore::FrameLoaderClientWin::provisionalItemIsTarget):
2487         (WebCore::FrameLoaderClientWin::loadProvisionalItemFromPageCache):
2488         (WebCore::FrameLoaderClientWin::invalidateCurrentItemPageCache):
2489         (WebCore::FrameLoaderClientWin::privateBrowsingEnabled):
2490         (WebCore::FrameLoaderClientWin::makeDocumentView):
2491         (WebCore::FrameLoaderClientWin::makeRepresentation):
2492         (WebCore::FrameLoaderClientWin::forceLayout):
2493         (WebCore::FrameLoaderClientWin::forceLayoutForNonHTML):
2494         (WebCore::FrameLoaderClientWin::updateHistoryForCommit):
2495         (WebCore::FrameLoaderClientWin::updateHistoryForBackForwardNavigation):
2496         (WebCore::FrameLoaderClientWin::updateHistoryForReload):
2497         (WebCore::FrameLoaderClientWin::updateHistoryForStandardLoad):
2498         (WebCore::FrameLoaderClientWin::updateHistoryForInternalLoad):
2499         (WebCore::FrameLoaderClientWin::updateHistoryAfterClientRedirect):
2500         (WebCore::FrameLoaderClientWin::setCopiesOnScroll):
2501         (WebCore::FrameLoaderClientWin::tokenForLoadErrorReset):
2502         (WebCore::FrameLoaderClientWin::resetAfterLoadError):
2503         (WebCore::FrameLoaderClientWin::doNotResetAfterLoadError):
2504         (WebCore::FrameLoaderClientWin::willCloseDocument):
2505         (WebCore::FrameLoaderClientWin::detachedFromParent1):
2506         (WebCore::FrameLoaderClientWin::detachedFromParent2):
2507         (WebCore::FrameLoaderClientWin::detachedFromParent3):
2508         (WebCore::FrameLoaderClientWin::detachedFromParent4):
2509         (WebCore::FrameLoaderClientWin::loadedFromPageCache):
2510         (WebCore::FrameLoaderClientWin::dispatchDidHandleOnloadEvents):
2511         (WebCore::FrameLoaderClientWin::dispatchDidReceiveServerRedirectForProvisionalLoad):
2512         (WebCore::FrameLoaderClientWin::dispatchDidCancelClientRedirect):
2513         (WebCore::FrameLoaderClientWin::dispatchWillPerformClientRedirect):
2514         (WebCore::FrameLoaderClientWin::dispatchDidChangeLocationWithinPage):
2515         (WebCore::FrameLoaderClientWin::dispatchWillClose):
2516         (WebCore::FrameLoaderClientWin::dispatchDidReceiveIcon):
2517         (WebCore::FrameLoaderClientWin::dispatchDidStartProvisionalLoad):
2518         (WebCore::FrameLoaderClientWin::dispatchDidReceiveTitle):
2519         (WebCore::FrameLoaderClientWin::dispatchDidCommitLoad):
2520         (WebCore::FrameLoaderClientWin::dispatchDidFinishLoad):
2521         (WebCore::FrameLoaderClientWin::dispatchDidFirstLayout):
2522         (WebCore::FrameLoaderClientWin::dispatchShow):
2523         (WebCore::FrameLoaderClientWin::cancelPolicyCheck):
2524         (WebCore::FrameLoaderClientWin::dispatchWillSubmitForm):
2525         (WebCore::FrameLoaderClientWin::dispatchDidLoadMainResource):
2526         (WebCore::FrameLoaderClientWin::clearLoadingFromPageCache):
2527         (WebCore::FrameLoaderClientWin::isLoadingFromPageCache):
2528         (WebCore::FrameLoaderClientWin::revertToProvisionalState):
2529         (WebCore::FrameLoaderClientWin::clearUnarchivingState):
2530         (WebCore::FrameLoaderClientWin::progressStarted):
2531         (WebCore::FrameLoaderClientWin::progressCompleted):
2532         (WebCore::FrameLoaderClientWin::setMainFrameDocumentReady):
2533         (WebCore::FrameLoaderClientWin::willChangeTitle):
2534         (WebCore::FrameLoaderClientWin::didChangeTitle):
2535         (WebCore::FrameLoaderClientWin::finishedLoading):
2536         (WebCore::FrameLoaderClientWin::finalSetupForReplace):
2537         (WebCore::FrameLoaderClientWin::setDefersLoading):
2538         (WebCore::FrameLoaderClientWin::isArchiveLoadPending):
2539         (WebCore::FrameLoaderClientWin::cancelPendingArchiveLoad):
2540         (WebCore::FrameLoaderClientWin::clearArchivedResources):
2541         (WebCore::FrameLoaderClientWin::canShowMIMEType):
2542         (WebCore::FrameLoaderClientWin::representationExistsForURLScheme):
2543         (WebCore::FrameLoaderClientWin::generatedMIMETypeForURLScheme):
2544         (WebCore::FrameLoaderClientWin::frameLoadCompleted):
2545         (WebCore::FrameLoaderClientWin::restoreScrollPositionAndViewState):
2546         (WebCore::FrameLoaderClientWin::provisionalLoadStarted):
2547         (WebCore::FrameLoaderClientWin::shouldTreatURLAsSameAsCurrent):
2548         (WebCore::FrameLoaderClientWin::addHistoryItemForFragmentScroll):
2549         (WebCore::FrameLoaderClientWin::didFinishLoad):
2550         (WebCore::FrameLoaderClientWin::prepareForDataSourceReplacement):
2551         (WebCore::FrameLoaderClientWin::setTitle):
2552         (WebCore::FrameLoaderClientWin::userAgent):
2553
2554 2006-11-18  Alexey Proskuryakov  <ap@webkit.org>
2555
2556         Reviewed by Rob (yay!).
2557
2558         http://bugs.webkit.org/show_bug.cgi?id=11640
2559         XMLHttpRequest produces undefined:undefined HTTP authentication
2560
2561         * bindings/js/JSXMLHttpRequest.cpp:
2562         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
2563         Treat undefined credentials as missing ones.
2564
2565 2006-11-17  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
2566
2567         Reviewed by Tim H.
2568
2569         http://bugs.webkit.org/show_bug.cgi?id=11638
2570         [CSS 2.1+3] add support for alias, progress, no-drop and not-allowed cursor styles
2571
2572         * Resources/aliasCursor.png: Added.
2573         * Resources/noDropCursor.png: Added.
2574         * Resources/progressCursor.png: Added.
2575         * WebCore.xcodeproj/project.pbxproj:
2576         * css/CSSComputedStyleDeclaration.cpp:
2577         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2578         * css/CSSValueKeywords.in:
2579         * manual-tests/cursor.html:
2580         * page/EventHandler.cpp:
2581         (WebCore::selectCursor):
2582         * platform/Cursor.h:
2583         * platform/mac/CursorMac.mm:
2584         (WebCore::handCursor):
2585         (WebCore::aliasCursor):
2586         (WebCore::progressCursor):
2587         (WebCore::noDropCursor):
2588         * rendering/RenderStyle.h:
2589         (WebCore::):
2590
2591 2006-11-18  Steve Falkenburg  <sfalken@apple.com>
2592
2593         Reviewed by Adam.
2594
2595         Properly adjust CFAbsoluteTime to time_t to fix date calculations.
2596         
2597         Compare lastModified w/ MAX_TIME_T when setting last modified date
2598         instead of comparing expiration against MAX_TIME_T.
2599
2600         * platform/network/cf/ResourceResponseCFNet.cpp:
2601         (WebCore::getResourceResponse): Add kCFAbsoluteTimeIntervalSince1970 in assignment
2602
2603 2006-11-17  Anders Carlsson  <acarlsson@apple.com>
2604
2605         Reviewed by Geoff.
2606
2607         More conversions from DeprecatedValueList to Vector and HashSet.
2608         
2609         * css/CSSValueList.cpp:
2610         (WebCore::CSSValueList::~CSSValueList):
2611         (WebCore::CSSValueList::append):
2612         (WebCore::CSSValueList::cssText):
2613         * css/CSSValueList.h:
2614         (WebCore::CSSValueList::length):
2615         (WebCore::CSSValueList::item):
2616         * dom/Document.cpp:
2617         (WebCore::Document::attachNodeIterator):
2618         (WebCore::Document::notifyBeforeNodeRemoval):
2619         * dom/Document.h:
2620         * ksvg2/svg/SVGGradientElement.cpp:
2621         (WebCore::SVGGradientElement::notifyAttributeChange):
2622         * ksvg2/svg/SVGPatternElement.cpp:
2623         (WebCore::SVGPatternElement::notifyClientsToRepaint):
2624         * platform/graphics/svg/SVGResource.cpp:
2625         (WebCore::SVGResource::invalidate):
2626         (WebCore::SVGResource::addClient):
2627         * platform/graphics/svg/SVGResource.h:
2628         * rendering/RenderBlock.h:
2629
2630 === Safari-521.31 ===
2631
2632 2006-11-17  Timothy Hatcher  <timothy@apple.com>
2633
2634         Reviewed by Harrison.
2635
2636         <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
2637
2638         Disable the delete button controller when cloning nodes, Mail does this before saving a draft.
2639
2640         * dom/ContainerNode.cpp:
2641         (WebCore::ContainerNode::cloneChildNodes):
2642         * editing/markup.cpp:
2643         (WebCore::createFragmentFromNodes):
2644
2645 2006-11-17  Justin Garcia  <justin.garcia@apple.com>
2646
2647         Reviewed by harrison
2648         
2649         <rdar://problem/4237467> REGRESSION: Pasting word from quoted text quotes the destination
2650         <rdar://problem/4017358> quoted text is wrong color, when pasted as quotation
2651
2652         * editing/ReplaceSelectionCommand.cpp:
2653         (WebCore::isMailPasteAsQuotationNode): Added.  Checks for the node
2654         that Mail wraps around an incoming fragment when it wants it to be pasted
2655         with quoting (no merging should be done).
2656         (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Added
2657         this virtual method in order to adjust the nodes that ReplaceSelectionCommand
2658         tracks.
2659         (WebCore::ReplaceSelectionCommand::shouldMerge): Don't merge from content
2660         inside a Mail Paste as Quotation node.  Allow merging from Mail blockquotes.
2661         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): When pasting into
2662         a Mail blockquote, we ignore the parts of the source document's default style
2663         that are overriden by styles from the Mail blockquote.  This is necessary in order
2664         for text that's black (because black is the source document's default font color) 
2665         to appear blue/green/whatever when it's pasted into a Mail blockquote.
2666         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Turn an inserted
2667         Mail Paste as Quotation node into a normal Mail blockquote.  This will prevent
2668         a copied blockquote that was inserted into the document using Paste as Quotation
2669         from triggering Paste as Quotation behavior when it's pasted.
2670         (WebCore::ReplaceSelectionCommand::doApply): Call the new/altered methods.
2671         * editing/ReplaceSelectionCommand.h:
2672         * editing/markup.cpp:
2673         (WebCore::styleFromMatchedRulesForElement): Put this code into a subroutine.
2674         (WebCore::removeEnclosingMailBlockquoteStyle): Added.
2675         (WebCore::startMarkup): When wrapping text nodes in style spans, leave out
2676         styles that Mail blockquotes contribute, so that Mail blockquote styles can
2677         be differentiated from styles that the user has applied.  When creating markup
2678         for elements, do the same thing.
2679         (WebCore::createMarkup): Call the new subroutine.
2680
2681 2006-11-17  Rob Buis  <buis@kde.org>
2682
2683         Reviewed by Mitz.
2684
2685         http://bugs.webkit.org/show_bug.cgi?id=11635
2686         Bug 11635: Fix potential issue with non-xslt build
2687
2688         Fix the issue and do style guideline corrections.
2689
2690         * dom/ProcessingInstruction.cpp:
2691         (WebCore::ProcessingInstruction::checkStyleSheet):
2692         (WebCore::ProcessingInstruction::sheetLoaded):
2693         (WebCore::ProcessingInstruction::setCSSStyleSheet):
2694         (WebCore::ProcessingInstruction::setXSLStyleSheet):
2695         (WebCore::ProcessingInstruction::parseStyleSheet):
2696
2697 2006-11-17  Timothy Hatcher  <timothy@apple.com>
2698
2699         Reviewed by Harrison.
2700
2701         <rdar://problem/4843131> text entry is slow inside element that has the deletion rectangle around it
2702
2703         Only disable/enable the delete button inside applyCommand() to prevent slowing down typing.
2704         This reintroduces <rdar://problem/4796657> table deletion outline does not always follow the table size as editing occurs inside
2705
2706         * editing/EditCommand.cpp:
2707         (WebCore::EditCommand::apply):
2708         (WebCore::EditCommand::unapply):
2709         (WebCore::EditCommand::reapply):
2710         (WebCore::applyCommand):
2711         * editing/EditCommand.h:
2712
2713 2006-11-17  Zack Rusin  <zack@kde.org>
2714
2715         Reviewed by Mitz. Landed by Niko.
2716
2717         Making platform Qt/KDE compile and work after
2718         the latest api changes. Reported as
2719         http://bugs.webkit.org/show_bug.cgi?id=11617
2720
2721         * CMakeLists.txt:
2722         * page/qt/EventHandlerQt.cpp: Added.
2723         (WebCore::isKeyboardOptionTab):
2724         (WebCore::EventHandler::tabsToLinks):
2725         (WebCore::EventHandler::tabsToAllControls):
2726         (WebCore::EventHandler::freeClipboard):
2727         (WebCore::EventHandler::focusDocumentView):
2728         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2729         (WebCore::EventHandler::passMouseDownEventToWidget):
2730         (WebCore::EventHandler::lastEventIsMouseUp):
2731         (WebCore::EventHandler::dragHysteresisExceeded):
2732         (WebCore::EventHandler::handleDrag):
2733         (WebCore::EventHandler::handleMouseUp):
2734         (WebCore::EventHandler::passSubframeEventToSubframe):
2735         (WebCore::EventHandler::passWheelEventToWidget):
2736         (WebCore::EventHandler::shouldDragAutoNode):
2737         (WebCore::EventHandler::dispatchDragSrcEvent):
2738         (WebCore::EventHandler::passMousePressEventToSubframe):
2739         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2740         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2741         (WebCore::EventHandler::passWheelEventToSubframe):
2742         (WebCore::EventHandler::passMousePressEventToScrollbar):
2743         * platform/ContextMenu.h:
2744         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
2745         (WebCore::SVGResourceClipper::applyClip):
2746         * platform/qt/ContextMenuClientQt.cpp: Added.
2747         (WebCore::ContextMenuClientQt::addCustomContextMenuItems):
2748         (WebCore::ContextMenuClientQt::ref):
2749         (WebCore::ContextMenuClientQt::deref):
2750         * platform/qt/ContextMenuClientQt.h: Added.
2751         * platform/qt/ContextMenuQt.cpp: Added.
2752         (WebCore::ContextMenu::appendItem):
2753         (WebCore::ContextMenu::itemCount):
2754         (WebCore::ContextMenu::insertItem):
2755         (WebCore::ContextMenu::setPlatformMenuDescription):
2756         * platform/qt/EditorClientQt.cpp:
2757         (WebCore::EditorClientQt::selectWordBeforeMenuEvent):
2758         (WebCore::EditorClientQt::isEditable):
2759         (WebCore::EditorClientQt::registerCommandForUndo):
2760         (WebCore::EditorClientQt::registerCommandForRedo):
2761         (WebCore::EditorClientQt::clearUndoRedoOperations):
2762         (WebCore::EditorClientQt::canUndo):
2763         (WebCore::EditorClientQt::canRedo):
2764         (WebCore::EditorClientQt::undo):
2765         (WebCore::EditorClientQt::redo):
2766         * platform/qt/EditorClientQt.h:
2767         * platform/qt/ScrollViewCanvasQt.cpp:
2768         (WebCore::ScrollViewCanvasQt::mousePressEvent):
2769         * platform/qt/TemporaryLinkStubs.cpp:
2770         (FrameView::updateBorder):
2771
2772 2006-11-17  David Harrison  <harrison@apple.com>
2773
2774         Reviewed by Adele.
2775
2776         <rdar://problem/4799899> Frame::revealSelection() only scrolls the startContainer's layer
2777
2778         Replace an assert with a fixme that refers to this bug.
2779         
2780         * page/Frame.cpp:
2781         (WebCore::Frame::revealSelection):
2782
2783 2006-11-16  Rob Buis  <buis@kde.org>
2784
2785         Reviewed and landed by Brady
2786
2787         Fixes http://bugs.webkit.org/show_bug.cgi?id=11590 -
2788         REGRESSION (r17726-r17742): Wikipedia page intermittently loads but doesn't render
2789         Fix the regression by setting m_loadCompleted correctly.
2790
2791         * css/CSSStyleSheet.cpp:
2792         (WebCore::CSSStyleSheet::checkLoaded):
2793         * dom/Node.h:
2794         (WebCore::Node::sheetLoaded):
2795         * dom/ProcessingInstruction.cpp:
2796         (WebCore::ProcessingInstruction::sheetLoaded):
2797         * dom/ProcessingInstruction.h:
2798         * html/HTMLLinkElement.cpp:
2799         (WebCore::HTMLLinkElement::sheetLoaded):
2800         * html/HTMLLinkElement.h:
2801         * html/HTMLStyleElement.cpp:
2802         (WebCore::HTMLStyleElement::sheetLoaded):
2803         * html/HTMLStyleElement.h:
2804
2805 2006-11-16  David Harrison  <harrison@apple.com>
2806
2807         Reviewed by Beth.
2808
2809         <rdar://problem/4056100> REGRESSION (Tiger): Deleting top part of reply email leaves fails to clear text at end of message
2810
2811         The problem was triggered by the fact that the parent div was changing both
2812         in position and in height. The renderer normally bifurcates its logic for
2813         x-position changes vs height changes.
2814
2815         Call repaintDuringLayoutIfMoved() with old rect (incl. width and height) instead of just the old position.
2816
2817         Test added:
2818         * manual-tests/delete-into-nested-block.html
2819         
2820         * rendering/RenderBlock.cpp:
2821         (WebCore::RenderBlock::layoutBlockChildren):
2822         (WebCore::RenderBlock::positionNewFloats):
2823         * rendering/RenderBox.cpp:
2824         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
2825         * rendering/RenderBox.h:
2826         * rendering/RenderFlexibleBox.cpp:
2827         (WebCore::RenderFlexibleBox::placeChild):
2828         * rendering/RenderObject.cpp:
2829         (WebCore::RenderObject::repaintDuringLayoutIfMoved):
2830         * rendering/RenderObject.h:
2831         * rendering/RenderTableSection.cpp:
2832         (WebCore::RenderTableSection::layoutRows):
2833
2834 2006-11-16  Adele Peterson  <adele@apple.com>
2835
2836         Reviewed by Adam.
2837
2838         Slider cleanup.  Let the theme set the size of the slider thumb.
2839
2840         * rendering/RenderSlider.cpp:
2841         (WebCore::RenderSlider::setStyle): Moving the thumb's appearance adjustment to createThumbStyle.
2842         (WebCore::RenderSlider::createThumbStyle):
2843         (WebCore::RenderSlider::layout): Let the theme set the size of the thumb.
2844         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustSliderThumbSize):  Added.
2845         * rendering/RenderTheme.h: ditto.
2846         * rendering/RenderThemeMac.h: ditto.
2847         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): ditto.
2848
2849 2006-11-15  Anders Carlsson  <acarlsson@apple.com>
2850
2851         Reviewed by Darin.
2852
2853         Use Vector instead of DeprecatedValueList in a few places.
2854         
2855         * bindings/js/kjs_dom.cpp:
2856         (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
2857         (KJS::DOMNamedNodesCollection::lengthGetter):
2858         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
2859         * bindings/js/kjs_dom.h:
2860         * bindings/js/kjs_html.cpp:
2861         (KJS::JSHTMLDocument::namedItemGetter):
2862         (KJS::JSHTMLElement::classInfo):
2863         (KJS::JSHTMLElement::accessors):
2864         (KJS::JSHTMLCollection::getNamedItems):
2865         * bindings/objc/DOM.mm:
2866         * bridge/mac/FrameMac.mm:
2867         (WebCore::FrameMac::dashboardRegionsDictionary):
2868         * css/CSSStyleDeclaration.cpp:
2869         (WebCore::CSSStyleDeclaration::diff):
2870         * html/HTMLCollection.cpp:
2871         (WebCore::HTMLCollection::namedItems):
2872         * html/HTMLCollection.h:
2873         * kcanvas/KCanvasFilters.cpp:
2874         (WebCore::KCanvasFilter::externalRepresentation):
2875         * kcanvas/KCanvasFilters.h:
2876         (WebCore::KCanvasFEColorMatrix::values):
2877         (WebCore::KCanvasFEColorMatrix::setValues):
2878         (WebCore::KCanvasFEConvolveMatrix::kernel):
2879         (WebCore::KCanvasFEConvolveMatrix::setKernel):
2880         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
2881         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
2882         (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
2883         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2884         (WebCore::SVGFEColorMatrixElement::filterEffect):
2885         * platform/graphics/svg/SVGResourceClipper.h:
2886         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
2887         (WebCore::SVGResourceClipper::applyClip):
2888         * platform/network/FormData.h:
2889         * rendering/RenderPath.h:
2890         * rendering/SVGRenderTreeAsText.h:
2891         (WebCore::operator<<):
2892
2893 2006-11-16  Anders Carlsson  <acarlsson@apple.com>
2894
2895         Reviewed by Tim.
2896
2897         * editing/markup.cpp:
2898         (WebCore::createMarkup):
2899         Add null-checks for the frame, it might not exist for all documents.
2900         
2901 2006-11-16  Don Gibson  <dgibson77@gmail.com>
2902
2903         Reviewed and landed by ap.
2904
2905         http://bugs.webkit.org/show_bug.cgi?id=11509:
2906         Windows build bustage.
2907
2908         Also reorganizes WebCore.vcproj to add files whose absence wasn't
2909         causing compile errors, but which should have been there, and to
2910         make the include directory ordering (and contents) sane.
2911         Also reorganizes TemporaryLinkStubs.cpp to put headers and
2912         function groups in alphabetical order, and ensure that all functions
2913         in the file call notImplemented().
2914
2915         * WebCore.vcproj/WebCore/WebCore.vcproj:
2916         * bridge/win/ChromeClientWin.h:
2917         (WebCore::ChromeClientWin::ref):
2918         (WebCore::ChromeClientWin::deref):
2919         * bridge/win/ContextMenuClientWin.h: Added.
2920         (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
2921         (WebCore::ContextMenuClientWin::ref):
2922         (WebCore::ContextMenuClientWin::deref):
2923         * bridge/win/EditorClientWin.h:
2924         * bridge/win/FrameWin.cpp:
2925         (WebCore::FrameWin::~FrameWin):
2926         (WebCore::FrameWin::keyPress):
2927         * bridge/win/FrameWin.h:
2928         * bridge/win/PageWin.cpp: Removed.
2929         * editing/EditCommand.h:
2930         * loader/FormState.h:
2931         * loader/FrameLoader.h:
2932         * page/EventHandler.cpp:
2933         * platform/MimeTypeRegistry.cpp:
2934         (WebCore::initialiseSupportedImageMIMETypes):
2935         * platform/graphics/win/ImageWin.cpp:
2936         * platform/network/ResourceError.cpp:
2937         * platform/network/ResourceHandleInternal.h:
2938         * platform/network/win/ResourceHandleWin.cpp:
2939         (WebCore::ResourceHandle::onHandleCreated):
2940         (WebCore::ResourceHandle::onRequestRedirected):
2941         (WebCore::ResourceHandle::start):
2942         (WebCore::ResourceHandle::cancel):
2943         * platform/win/ScreenWin.cpp:
2944         (WebCore::monitorInfo):
2945         (WebCore::screenRect):
2946         (WebCore::screenAvailableRect):
2947         (WebCore::screenDepth):
2948         * platform/win/SoundWin.cpp: Added.
2949         (WebCore::systemBeep):
2950         * platform/win/TemporaryLinkStubs.cpp:
2951         (WebCore::CacheObjectExpiresTime):
2952         (WebCore::CheckCacheObjectStatus):
2953         (WebCore::CheckIfReloading):
2954         (WebCore::defaultLanguage):
2955         (WebCore::fileButtonChooseFileLabel):
2956         (WebCore::fileButtonNoFileSelectedLabel):
2957         (WebCore::findNextSentenceFromIndex):
2958         (WebCore::findNextWordFromIndex):
2959         (WebCore::findSentenceBoundary):
2960         (WebCore::findWordBoundary):
2961         (WebCore::focusRingColor):
2962         (WebCore::historyContains):
2963         (WebCore::inputElementAltText):
2964         (WebCore::IsResponseURLEqualToURL):
2965         (WebCore::cellCursor):
2966         (WebCore::contextMenuCursor):
2967         (WebCore::moveCursor):
2968         (WebCore::verticalTextCursor):
2969         (WebCore::refreshPlugins):
2970         (WebCore::resetButtonDefaultLabel):
2971         (WebCore::ResponseIsMultipart):
2972         (WebCore::ResponseMIMEType):
2973         (WebCore::ResponseURL):
2974         (WebCore::screenDepthPerComponent):
2975         (WebCore::screenIsMonochrome):
2976         (WebCore::searchableIndexIntroduction):
2977         (WebCore::ServeSynchronousRequest):
2978         (WebCore::setFocusRingColorChangeFunction):
2979         (WebCore::submitButtonDefaultLabel):
2980         (WebCore::CachedResource::setPlatformResponse):
2981         (WebCore::CachedResource::setAllData):
2982         (WebCore::ChromeClientWin::setWindowRect):
2983         (WebCore::ChromeClientWin::windowRect):
2984         (WebCore::ChromeClientWin::pageRect):
2985         (WebCore::ChromeClientWin::scaleFactor):
2986         (WebCore::ChromeClientWin::focus):
2987         (WebCore::ChromeClientWin::unfocus):
2988         (WebCore::ChromeClientWin::createWindow):
2989         (WebCore::ChromeClientWin::createModalDialog):
2990         (WebCore::ChromeClientWin::show):
2991         (WebCore::ChromeClientWin::canRunModal):
2992         (WebCore::ChromeClientWin::runModal):
2993         (WebCore::ChromeClientWin::setToolbarsVisible):
2994         (WebCore::ChromeClientWin::toolbarsVisible):
2995         (WebCore::ChromeClientWin::setStatusbarVisible):
2996         (WebCore::ChromeClientWin::statusbarVisible):
2997         (WebCore::ChromeClientWin::setScrollbarsVisible):
2998         (WebCore::ChromeClientWin::scrollbarsVisible):
2999         (WebCore::ChromeClientWin::setMenubarVisible):
3000         (WebCore::ChromeClientWin::menubarVisible):
3001         (WebCore::ChromeClientWin::setResizable):
3002         (WebCore::ContextMenu::appendItem):
3003         (WebCore::ContextMenuClientWin::addCustomContextMenuItems):
3004         (WebCore::DocumentLoader::setFrame):
3005         (WebCore::DocumentLoader::frameLoader):
3006         (WebCore::DocumentLoader::URL):
3007         (WebCore::DocumentLoader::isStopping):
3008         (WebCore::DocumentLoader::stopLoading):
3009         (WebCore::DocumentLoader::setLoading):
3010         (WebCore::DocumentLoader::updateLoading):
3011         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3012         (WebCore::DocumentLoader::isLoadingInAPISense):
3013         (WebCore::DocumentLoader::stopRecordingResponses):
3014         (WebCore::EditorClientWin::shouldDeleteRange):
3015         (WebCore::EditorClientWin::shouldShowDeleteInterface):
3016         (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
3017         (WebCore::EditorClientWin::isGrammarCheckingEnabled):
3018         (WebCore::EditorClientWin::spellCheckerDocumentTag):
3019         (WebCore::EventHandler::focusDocumentView):
3020         (WebCore::EventHandler::handleDrag):
3021         (WebCore::EventHandler::handleMouseUp):
3022         (WebCore::EventHandler::lastEventIsMouseUp):
3023         (WebCore::EventHandler::passMousePressEventToSubframe):
3024         (WebCore::EventHandler::passMouseMoveEventToSubframe):
3025         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
3026         (WebCore::EventHandler::passWheelEventToSubframe):
3027         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
3028         (WebCore::EventHandler::passMousePressEventToScrollbar):
3029         (WebCore::EventHandler::shouldDragAutoNode):
3030         (WebCore::EventHandler::tabsToAllControls):
3031         (WebCore::EventHandler::tabsToLinks):
3032         (WebCore::Frame::setNeedsReapplyStyles):
3033         (WebCore::FrameLoader::didFirstLayout):
3034         (WebCore::FrameLoader::overrideMediaType):
3035         (WebCore::FrameLoader::createJavaAppletWidget):
3036         (WebCore::FrameLoader::redirectDataToPlugin):
3037         (WebCore::FrameLoader::getHistoryLength):
3038         (WebCore::FrameLoader::setTitle):
3039         (WebCore::FrameLoader::referrer):
3040         (WebCore::FrameLoader::saveDocumentState):
3041         (WebCore::FrameLoader::restoreDocumentState):
3042         (WebCore::FrameLoader::goBackOrForward):
3043         (WebCore::FrameLoader::historyURL):
3044         (WebCore::FrameLoader::urlSelected):
3045         (WebCore::FrameLoader::createFrame):
3046         (WebCore::FrameLoader::submitForm):
3047         (WebCore::FrameLoader::partClearedInBegin):
3048         (WebCore::FrameLoader::originalRequestURL):
3049         (WebCore::FrameLoader::canGoBackOrForward):
3050         (WebCore::FrameLoader::objectContentType):
3051         (WebCore::FrameLoader::createPlugin):
3052         (WebCore::FrameLoader::detachFromParent):
3053         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3054         (WebCore::FrameView::updateBorder):
3055         (WebCore::FrameWin::bindingRootObject):
3056         (WebCore::FrameWin::canPaste):
3057         (WebCore::FrameWin::issuePasteAndMatchStyleCommand):
3058         (WebCore::FrameWin::markedTextRange):
3059         (WebCore::FrameWin::passSubframeEventToSubframe):
3060         (WebCore::FrameWin::lastEventIsMouseUp):
3061         (WebCore::FrameWin::addMessageToConsole):
3062         (WebCore::FrameWin::shouldChangeSelection):
3063         (WebCore::FrameWin::respondToChangedSelection):
3064         (WebCore::FrameWin::clearUndoRedoOperations):
3065         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
3066         (WebCore::FrameWin::respondToChangedContents):
3067         (WebCore::GraphicsContext::addRoundedRectClip):
3068         (WebCore::GraphicsContext::setShadow):
3069         (WebCore::GraphicsContext::clearShadow):
3070         (WebCore::GraphicsContext::beginTransparencyLayer):
3071         (WebCore::GraphicsContext::endTransparencyLayer):
3072         (WebCore::GraphicsContext::clearRect):
3073         (WebCore::GraphicsContext::strokeRect):
3074         (WebCore::GraphicsContext::setLineWidth):
3075         (WebCore::GraphicsContext::setLineCap):
3076         (WebCore::GraphicsContext::setLineJoin):
3077         (WebCore::GraphicsContext::setMiterLimit):
3078         (WebCore::GraphicsContext::setAlpha):
3079         (WebCore::GraphicsContext::setCompositeOperation):
3080         (WebCore::GraphicsContext::clip):
3081         (WebCore::GraphicsContext::rotate):
3082         (WebCore::GraphicsContext::scale):
3083         (WebCore::Icon::Icon):
3084         (WebCore::Icon::~Icon):
3085         (WebCore::Icon::newIconForFile):
3086         (WebCore::Icon::paint):
3087         (WebCore::IconDatabase::isIconExpiredForIconURL):
3088         (WebCore::IconDatabase::hasEntryForIconURL):
3089         (WebCore::IconDatabase::sharedIconDatabase):
3090         (WebCore::IconDatabase::setIconURLForPageURL):
3091         (WebCore::IconDatabase::setIconDataForIconURL):
3092         (WebCore::Image::drawTiled):
3093         (WebCore::Image::getHBITMAP):
3094         (WebCore::Path::Path):
3095         (WebCore::Path::~Path):
3096         (WebCore::Path::contains):
3097         (WebCore::Path::translate):
3098         (WebCore::Path::boundingRect):
3099         (WebCore::Path::operator=):
3100         (WebCore::Path::clear):
3101         (WebCore::Path::moveTo):
3102         (WebCore::Path::addLineTo):
3103         (WebCore::Path::addQuadCurveTo):
3104         (WebCore::Path::addBezierCurveTo):
3105         (WebCore::Path::addArcTo):
3106         (WebCore::Path::closeSubpath):
3107         (WebCore::Path::addArc):
3108         (WebCore::Path::addRect):
3109         (WebCore::Path::addEllipse):
3110         (WebCore::Path::transform):
3111         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3112         (WebCore::PlatformScrollbar::PlatformScrollbar):
3113         (WebCore::PlatformScrollbar::~PlatformScrollbar):
3114         (WebCore::PlatformScrollbar::width):
3115         (WebCore::PlatformScrollbar::height):
3116         (WebCore::PlatformScrollbar::setEnabled):
3117         (WebCore::PlatformScrollbar::paint):
3118         (WebCore::PlatformScrollbar::updateThumbPosition):
3119         (WebCore::PlatformScrollbar::updateThumbProportion):
3120         (WebCore::PlatformScrollbar::setRect):
3121         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
3122         (WebCore::PlugInInfoStore::pluginCount):
3123         (WebCore::PlugInInfoStore::supportsMIMEType):
3124         (WebCore::PolicyCheck::PolicyCheck):
3125         (WebCore::PolicyCheck::clear):
3126         (WebCore::PolicyCheck::clearRequest):
3127         (WebCore::PolicyCheck::call):
3128         (WebCore::RenderThemeWin::systemFont):
3129         (WebCore::RenderThemeWin::paintMenuList):
3130         (WebCore::RenderThemeWin::adjustMenuListStyle):
3131         (WebCore::ResourceLoader::cancel):
3132         (WebCore::ScrollView::addChild):
3133         (WebCore::ScrollView::removeChild):
3134         (WebCore::ScrollView::scrollPointRecursively):
3135         (WebCore::ScrollView::inWindow):
3136         (WebCore::ScrollView::paint):
3137         (WebCore::ScrollView::wheelEvent):
3138         (WebCore::ScrollView::themeChanged):
3139         (WebCore::ScrollView::convertChildToSelf):
3140         (WebCore::ScrollView::convertSelfToChild):
3141         (WebCore::ScrollView::geometryChanged):
3142         (WebCore::ScrollView::scrollbarUnderMouse):
3143         (WebCore::ScrollView::setFrameGeometry):
3144         (WebCore::ScrollView::windowResizerRect):
3145         (WebCore::ScrollView::resizerOverlapsContent):
3146         (WebCore::TextField::selectAll):
3147         (WebCore::TextField::addSearchResult):
3148         (WebCore::TextField::selectionStart):
3149         (WebCore::TextField::hasSelectedText):
3150         (WebCore::TextField::selectedText):
3151         (WebCore::TextField::setAutoSaveName):
3152         (WebCore::TextField::checksDescendantsForFocus):
3153         (WebCore::TextField::setSelection):
3154         (WebCore::TextField::setMaxResults):
3155         (WebCore::TextField::edited):
3156         (WebCore::TextField::focusPolicy):
3157         (WebCore::TextField::TextField):
3158         (WebCore::TextField::~TextField):
3159         (WebCore::TextField::setFont):
3160         (WebCore::TextField::setAlignment):
3161         (WebCore::TextField::setWritingDirection):
3162         (WebCore::TextField::maxLength):
3163         (WebCore::TextField::setMaxLength):
3164         (WebCore::TextField::text):
3165         (WebCore::TextField::setText):
3166         (WebCore::TextField::cursorPosition):
3167         (WebCore::TextField::setCursorPosition):
3168         (WebCore::TextField::setEdited):
3169         (WebCore::TextField::setReadOnly):
3170         (WebCore::TextField::setPlaceholderString):
3171         (WebCore::TextField::setColors):
3172         (WebCore::TextField::sizeForCharacterWidth):
3173         (WebCore::TextField::baselinePosition):
3174         (WebCore::TextField::setLiveSearch):
3175         (WebCore::Widget::enableFlushDrawing):
3176         (WebCore::Widget::isEnabled):
3177         (WebCore::Widget::focusPolicy):
3178         (WebCore::Widget::disableFlushDrawing):
3179         (WebCore::Widget::removeFromParent):
3180         (WebCore::Widget::lockDrawingFocus):
3181         (WebCore::Widget::unlockDrawingFocus):
3182         (WebCore::Widget::capturingMouse):
3183         (WebCore::Widget::setCapturingMouse):
3184         (WebCore::Widget::capturingTarget):
3185         (WebCore::Widget::capturingChild):
3186         (WebCore::Widget::setCapturingChild):
3187         (WebCore::Widget::convertChildToSelf):
3188         (WebCore::Widget::convertSelfToChild):
3189         (WebCore::Widget::setParent):
3190         (WebCore::Widget::parent):
3191         (WebCore::Widget::setEnabled):
3192         (WebCore::Widget::paint):
3193         (WebCore::Widget::setIsSelected):
3194         (WebCore::Widget::invalidate):
3195         (WebCore::Widget::invalidateRect):
3196         * platform/win/WidgetWin.cpp:
3197         (WebCore::Widget::clearFocus):
3198
3199 2006-11-16  Timothy Hatcher  <timothy@apple.com>
3200
3201         Reviewed by Adam.
3202
3203         <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
3204
3205         * editing/markup.cpp:
3206         (WebCore::createMarkup): disable the delete button so it's elements are not serialized into the markup
3207
3208 2006-11-16  George Staikos  <staikos@kde.org>
3209
3210         Rubberstamped by Maciej.
3211
3212         Making the code valgrind clean.
3213
3214         * rendering/RenderTableCell.cpp: initialize variable m_widthChanged
3215         (WebCore::RenderTableCell::RenderTableCell):
3216         * rendering/RenderTableCell.h: remove unused variable nWrap
3217
3218 2006-11-16  David Harrison  <harrison@apple.com>
3219
3220         Reviewed by Darin and Tim.
3221
3222         <rdar://problem/4799949> REGRESSION: Crash in FrameMac::eventMayStartDrag() by clicking on a page
3223         
3224         * page/mac/EventHandlerMac.mm:
3225         (WebCore::EventHandler::eventMayStartDrag):
3226         Add nil check of hitTest's result.innerNode().
3227
3228 2006-11-16  Timothy Hatcher  <timothy@apple.com>
3229
3230         Reviewed by Darin.
3231
3232         <rdar://problem/4836897> Deletion rectangle disappears when multiple list items are selected
3233
3234         Consider the container of the selection range for deletion before asking enclosingNodeOfType().
3235
3236         * editing/DeleteButtonController.cpp:
3237         (WebCore::enclosingDeletableElement):
3238
3239 2006-11-16  Rob Buis  <buis@kde.org>
3240
3241         Reviewed by hyatt.
3242
3243         Removal of unused m_styleElement.
3244
3245         * dom/Node.cpp:
3246         (WebCore::Node::Node):
3247         (WebCore::Node::dump):
3248         * dom/Node.h:
3249         (WebCore::Node::isLink): should be styleElement, a bug?
3250
3251 2006-11-15  Adam Roben  <aroben@apple.com>
3252
3253         Build fix.
3254
3255         Rename the items in the ContextMenuAction enum so that they don't
3256         conflict with WebKit names.
3257
3258         * WebCore.xcodeproj/project.pbxproj:
3259         * platform/ContextMenu.cpp:
3260         (WebCore::ContextMenu::populate):
3261         * platform/ContextMenu.h:
3262         (WebCore::):
3263         (WebCore::ContextMenuItem::ContextMenuItem):
3264
3265 2006-11-15  Adam Roben  <aroben@apple.com>
3266
3267         Reviewed by Anders.
3268
3269         Change m_contextMenu to an OwnPtr.
3270
3271         * WebCore.xcodeproj/project.pbxproj:
3272         * page/ContextMenuController.cpp:
3273         (WebCore::ContextMenuController::handleContextMenuEvent):
3274         * page/ContextMenuController.h:
3275
3276 2006-11-15  Adam Roben  <aroben@apple.com>
3277
3278         Reviewed by Anders.
3279
3280         Add new ContextMenuController and ContextMenuClient classes, and move
3281         context menu responsibilities from Chrome and ChromeClient to them.
3282
3283         * WebCore.exp:
3284         * WebCore.xcodeproj/project.pbxproj: Add new files to project, and
3285         alphabetize some others.
3286         * page/Chrome.cpp: Remove context menu-related code.
3287         * page/Chrome.h: Ditto.
3288         * page/ChromeClient.h:
3289         * page/ContextMenuClient.h: Added.
3290         * page/ContextMenuController.cpp: Added.
3291         (WebCore::ContextMenuController::ContextMenuController):
3292         (WebCore::ContextMenuController::~ContextMenuController):
3293         (WebCore::ContextMenuController::handleContextMenuEvent):
3294         (WebCore::ContextMenuController::contextMenuActionSelected):
3295         * page/ContextMenuController.h: Added.
3296         (WebCore::ContextMenuController::client):
3297         * page/Page.cpp: Every Page now has a ContextMenuController.
3298         (WebCore::Page::Page):
3299         * page/Page.h: Made m_dragCaretController and m_chrome objects instead
3300         of pointers to objects.
3301         (WebCore::Page::contextMenuController):
3302         * platform/ContextMenu.cpp:
3303         (WebCore::ContextMenu::populate): Removed the call to Chrome to ask the
3304         delegate to add its menu items, and moved the code from the static
3305         addDefaultItems function into this method.
3306         * platform/ContextMenu.h:
3307         (WebCore::ContextMenu::show): Added an empty method body since this
3308         method is now called from ContextMenuController (although no one calls
3309         into ContextMenuController yet, so it's OK for this to be empty).
3310         (WebCore::ContextMenu::hide): Ditto.
3311
3312 2006-11-15  Anders Carlsson  <acarlsson@apple.com>
3313
3314         Reviewed by Darin.
3315
3316         Add null checks on the node filter, they can be null if no filter was passed to the respective
3317         create functions.
3318         
3319         * bindings/js/JSNodeIteratorCustom.cpp:
3320         (WebCore::JSNodeIterator::mark):
3321         * bindings/js/JSTreeWalkerCustom.cpp:
3322         (WebCore::JSTreeWalker::mark):
3323
3324 2006-11-15  Oliver Hunt  <oliver@apple.com>
3325
3326         Reviewed by Anders.
3327
3328         Allow <embed> and <object> tags to include non-plugin
3329         content when plugins are disabled
3330
3331         Fixes <rdar://problems/4839488>
3332
3333         * html/HTMLEmbedElement.cpp:
3334         (WebCore::HTMLEmbedElement::rendererIsNeeded):
3335         * html/HTMLObjectElement.cpp:
3336         (WebCore::HTMLObjectElement::rendererIsNeeded):
3337         * loader/FrameLoader.cpp:
3338         (WebCore::FrameLoader::requestObject):
3339
3340 2006-11-15  Adele Peterson  <adele@apple.com>
3341
3342         Build fix.  Another type problem that I don't see locally.
3343
3344         * rendering/RenderSlider.cpp: (WebCore::RenderSlider::setPositionFromValue):
3345
3346 2006-11-15  Adele Peterson  <adele@apple.com>
3347
3348         Reviewed by Adam.
3349
3350         Adding MathExtras header.
3351
3352         * rendering/RenderSlider.cpp:
3353
3354 2006-11-15  Timothy Hatcher  <timothy@apple.com>
3355
3356         Reviewed by Harrison.
3357
3358         <rdar://problem/4832894> Crash deleting an element inside a list while deletion rectangle is visible (compareBoundaryPoints)
3359
3360         * Disable and hide the deletion UI for each editing command. This prevents editing commands from being affected
3361           by the deletion UI elements we insert. The deletion UI is then shown after the editing commands are completely done.
3362
3363         * Multiple calls to DeleteButtonController's disable() needed to be paired with the same number of enable() calls before
3364           the deletion UI is enabled again. This allows for nested editing commands to be called without thrashing the deletion UI.
3365
3366         * Make sure the the renderers are currently reflecting the latest style changes, so call updateLayoutIgnorePendingStylesheets().
3367
3368         * editing/DeleteButtonController.cpp:
3369         (WebCore::DeleteButtonController::DeleteButtonController):
3370         (WebCore::isDeletableElement):
3371         (WebCore::DeleteButtonController::respondToChangedSelection): check the enabled state
3372         (WebCore::DeleteButtonController::respondToChangedContents): check the enabled state
3373         (WebCore::DeleteButtonController::show): call isDeletableElement() to make sure the element is allowed
3374         (WebCore::DeleteButtonController::deleteTarget): check the enabled state
3375         * editing/DeleteButtonController.h:
3376         (WebCore::DeleteButtonController::disable):
3377         (WebCore::DeleteButtonController::enable):
3378         (WebCore::DeleteButtonController::enabled):
3379         * editing/EditCommand.cpp:
3380         (WebCore::EditCommand::apply): hide and disable the deletion UI, then show at the end
3381         (WebCore::EditCommand::unapply): ditto
3382         (WebCore::EditCommand::reapply): ditto
3383
3384 2006-11-15  Adele Peterson  <adele@apple.com>
3385
3386         Reviewed by Adam.
3387
3388         New implementation of slider control.
3389
3390         * WebCore.xcodeproj/project.pbxproj: Removed DeprecatedSlider and Slider classes, added RenderSlider class.
3391         * rendering/DeprecatedSlider.cpp: Removed.
3392         * rendering/DeprecatedSlider.h: Removed.
3393         * platform/Slider.h: Removed.
3394         * platform/mac/SliderMac.mm: Removed.
3395         * platform/win/TemporaryLinkStubs.cpp:
3396
3397         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoElement for thumb, PseudoSliderThumb.
3398         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added code for "-webkit-slider-thumb".
3399         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): 
3400         * rendering/RenderStyle.cpp:
3401         (WebCore::):
3402         (WebCore::pseudoBit):
3403         * rendering/RenderStyle.h: (WebCore::RenderStyle::):
3404
3405         * css/html4.css: Added style for input[type="range"] and input[type="range"]::-webkit-slider-thumb
3406
3407         * html/HTMLInputElement.cpp:
3408         (WebCore::HTMLInputElement::createRenderer): Create RenderSlider for input type="range" elements.
3409         (WebCore::HTMLInputElement::defaultEventHandler): Allow the renderer to forward events, and set thumb position when click occurs on the track.
3410
3411         * page/EventHandler.cpp:  Added concept of a node that will capture all mouse events.  This will be used by the slider thumb, so it can
3412           continue to capture mouse move events during the drag, even though those events aren't directly over the slider.
3413         (WebCore::EventHandler::EventHandler):
3414         (WebCore::EventHandler::setCapturingMouseEventsNode):
3415         (WebCore::EventHandler::dispatchMouseEvent): If the capturingMouseEventsNode is set, then dispatch all mouse events to that node.
3416         * page/EventHandler.h:
3417
3418         * rendering/RenderSlider.cpp: Added.
3419         (WebCore::HTMLSliderThumbElement::isShadowNode):
3420         (WebCore::HTMLSliderThumbElement::shadowParentNode):
3421         (WebCore::HTMLSliderThumbElement::inDragMode): Keeps track of whether or not the thumb is in drag mode.
3422         (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
3423         (WebCore::HTMLSliderThumbElement::defaultEventHandler): Handles positioning of slider thumb during drag.
3424         (WebCore::RenderSlider::RenderSlider):
3425         (WebCore::RenderSlider::~RenderSlider):
3426         (WebCore::RenderSlider::baselinePosition):
3427         (WebCore::RenderSlider::calcMinMaxWidth):
3428         (WebCore::RenderSlider::setStyle):
3429         (WebCore::RenderSlider::createThumbStyle):
3430         (WebCore::RenderSlider::layout): Positions the thumb to be centered on the track.
3431         (WebCore::RenderSlider::updateFromElement):
3432         (WebCore::RenderSlider::mouseEventIsInThumb):
3433         (WebCore::RenderSlider::setValueForPosition):
3434         (WebCore::RenderSlider::setPositionFromValue):
3435         (WebCore::RenderSlider::positionForOffset):
3436         (WebCore::RenderSlider::valueChanged):
3437         (WebCore::RenderSlider::currentPosition):
3438         (WebCore::RenderSlider::setCurrentPosition):
3439         (WebCore::RenderSlider::trackSize):
3440         (WebCore::RenderSlider::forwardEvent):
3441         (WebCore::RenderSlider::inDragMode):
3442         * rendering/RenderSlider.h: Added.
3443         (WebCore::RenderSlider::renderName):
3444
3445          * rendering/RenderTheme.cpp: Added drawing code for slider track and thumb.
3446         (WebCore::RenderTheme::adjustStyle):
3447         (WebCore::RenderTheme::paint):
3448         (WebCore::RenderTheme::paintBorderOnly):
3449         (WebCore::RenderTheme::paintDecorations):
3450         (WebCore::RenderTheme::adjustSliderTrackStyle):
3451         (WebCore::RenderTheme::adjustSliderThumbStyle):
3452         * rendering/RenderTheme.h:
3453         (WebCore::RenderTheme::paintSliderTrack):
3454         (WebCore::RenderTheme::paintSliderThumb):
3455         * rendering/RenderThemeMac.h:
3456         * rendering/RenderThemeMac.mm:
3457         (WebCore::RenderThemeMac::RenderThemeMac):
3458         (WebCore::TrackGradientInterpolate):
3459         (WebCore::RenderThemeMac::paintSliderTrack):
3460         (WebCore::RenderThemeMac::paintSliderThumb):
3461         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
3462         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
3463
3464 2006-11-15  Beth Dakin  <bdakin@apple.com>
3465
3466         Reviewed by Adam.
3467
3468         Oops! Forgot to add this!
3469
3470         * platform/mac/ContextMenuMac.mm: Added.
3471         (-[MenuTarget forwardContextMenuAction:initWithContextMenu:WebCore::]):
3472         (-[MenuTarget WebCore::]):
3473         (-[MenuTarget setMenu:WebCore::]):
3474         (-[MenuTarget forwardContextMenuAction:]):
3475         (getNSMenuItem):
3476         (ContextMenu::appendItem):
3477         (ContextMenu::itemCount):
3478         (ContextMenu::insertItem):
3479         (ContextMenu::setPlatformMenuDescription):
3480
3481 2006-11-15  Beth Dakin  <bdakin@apple.com>
3482         &   Adam Roben  <aroben@apple.com>
3483
3484         Reviewed by Adam and Beth.
3485
3486         Initial cut at pushing Context Menus into WebCore. Nobody actually 
3487         calls this code just yet.
3488
3489         * WebCore.exp:
3490         * WebCore.xcodeproj/project.pbxproj:
3491         * page/Chrome.cpp:
3492         (WebCore::Chrome::addCustomContextMenuItems): Use the chrome to 
3493         call into addContextMenuItems on the UIDelegate.
3494         * page/Chrome.h:
3495         * page/ChromeClient.h:
3496         * platform/ContextMenu.cpp: Added.
3497         (WebCore::addDefaultItems):
3498         (WebCore::ContextMenu::populate):
3499         * platform/ContextMenu.h: Added.
3500         (WebCore::):
3501         (WebCore::ContextMenuItem::ContextMenuItem):
3502         (WebCore::ContextMenu::ContextMenu):
3503         (WebCore::ContextMenu::hitTestResult):
3504         (WebCore::ContextMenu::platformMenuDescription):
3505
3506 2006-11-15  Adele Peterson  <adele@apple.com>
3507
3508         Reviewed by Hyatt.
3509
3510         - Fix for <rdar://problem/4780306> REGRESSION: clicking in textarea does not set selection at PunBB.org
3511
3512         * css/html4.css: Removed "-webkit-user-select: ignore" for labels.
3513
3514 2006-11-15  David Harrison  <harrison@apple.com>
3515
3516         Reviewed by Darin.
3517
3518         <rdar://problem/4836034> REGRESSION: Hang while spell-checking (advanceToNextMisspelling)
3519
3520         Test:
3521         * manual-tests/keep_spelling_markers.html: