2006-11-02 David Carson <dacarson@gmail.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2006-11-02  David Carson  <dacarson@gmail.com>
2
3         Reviewed by Geoff, landed by Anders.
4
5         Fix for: http://bugs.webkit.org/show_bug.cgi?id=11471
6         Initializing variable in constructor.
7
8         * page/FramePrivate.h:
9         (WebCore::FramePrivate::FramePrivate):
10
11 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
12
13         Reviewed by Geoff.
14
15         Use CFMutableURLRequestRef instead of CFHTTPMessageRef since not all URL requests are http requests.
16         
17         * platform/network/cf/ResourceHandleCFNet.cpp:
18         (WebCore::addHeadersFromHashMap):
19         Don't set all headers at once since that clears any previous headers set.
20         
21         (WebCore::ResourceHandle::start):
22
23 2006-11-02  Adele Peterson  <adele@apple.com>
24
25         Reviewed by Mitz and Geoff.
26
27         - Fix for:
28         <rdar://problem/4650271> REGRESSION(NativeTextArea): Textareas don't get scrollbars when text gets too big for content area (10105)
29         <rdar://problem/4650813> REGRESSION(tiger-leopard): typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
30         <rdar://problem/4658779> REGRESSION: Text selection is weird in textareas in Trac wiki editing pages
31
32         Test: fast/forms/textarea-scrollbar.html
33
34         To avoid some of our flexbox bugs for textareas, we're moving the text controls back to RenderBlock.  This should make them
35         a lot more stable.  In the future, when we've worked out more of the flexbox kinks, we may want to consider moving them back.
36
37         * rendering/RenderTextControl.h: Convert text controls back to RenderBlock instead of RenderFlexibleBox.
38         * rendering/RenderTextControl.cpp: 
39         (WebCore::RenderTextControl::RenderTextControl):
40         (WebCore::RenderTextControl::setStyle):
41         (WebCore::RenderTextControl::createDivStyle):
42         (WebCore::RenderTextControl::updateFromElement):
43         (WebCore::RenderTextControl::calcHeight):
44         (WebCore::RenderTextControl::baselinePosition):
45         (WebCore::RenderTextControl::nodeAtPoint):
46         (WebCore::RenderTextControl::layout): Set the inner div's height explicitly before doing a normal layout.
47         (WebCore::RenderTextControl::scrollWidth):
48         (WebCore::RenderTextControl::scrollHeight):
49         (WebCore::RenderTextControl::scrollLeft):
50         (WebCore::RenderTextControl::scrollTop):
51
52         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layout optimization work for textareas.
53
54 2006-11-02  John Sullivan  <sullivan@apple.com>
55
56         Reviewed by Geoff Garen
57
58         * editing/Selection.cpp:
59         (WebCore::Selection::showTreeForThis):
60         this debugging method now displays start offset and end offset, at Darin's suggestion
61
62 2006-11-01  Justin Garcia  <justin.garcia@apple.com>
63
64         Reviewed by darin
65
66         <rdar://problem/4062865>
67         Copy/paste of a select element fails to include the options
68         
69         * editing/SelectionController.cpp:
70         (WebCore::SelectionController::modify): Added paragraphBoundary.
71         * editing/htmlediting.cpp:
72         (WebCore::canHaveChildrenForEditing): Added checks for input elements
73         and textareas.  Insertion operations would fail when performed just 
74         before/after one of these elements b/c the content would be put inside 
75         the element.
76         (WebCore::enclosingNodeWithTag): Fixed a problem when calling these in non
77         editable content, and made the code to stop at an root faster (don't check
78         isDescendantOf on every iteration).
79         (WebCore::enclosingNodeOfType): Ditto.
80         (WebCore::enclosingList): Ditto.
81         (WebCore::enclosingListChild): Ditto.  Added a FIXME, this function seems
82         inappropriately named.
83         * editing/markup.cpp:
84         (WebCore::startMarkup): Use the text node's value instead of its rendered
85         content for text nodes inside select elements.  One might also turn off
86         annotation when createMarkup enters a select element, but createMarkup
87         is iterative, not recursive, so doing so would be complicated.
88         (WebCore::createMarkup): Add markup for unrendered nodes if they are 
89         descendants of a select element.
90         * editing/visible_units.cpp:
91         (WebCore::startOfParagraph): Migrate to isBlock/enclosingBlock.  Fixes bug
92         where various replaced elements can't be copied when they are the only
93         thing selected.
94         (WebCore::endOfParagraph): Ditto.
95
96 2006-11-01  Oliver Hunt  <oliver@apple.com>
97
98         Reviewed by Adam.
99
100         Converting more or kcanvas/quartz from Obj-C to C++
101         Minor SVG updates
102         compatibility fixes
103
104         * WebCore.xcodeproj/project.pbxproj:
105         * kcanvas/device/KRenderingPaintServer.h:
106         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Added.
107         (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
108         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: Removed.
109         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Added.
110         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: Removed.
111         * kcanvas/device/quartz/QuartzSupport.h:
112         * ksvg2/css/SVGCSSStyleSelector.cpp:
113         * ksvg2/misc/KCanvasRenderingStyle.h:
114         * ksvg2/scripts/cssmakeprops:
115         * ksvg2/scripts/cssmakevalues:
116         * ksvg2/scripts/make_names.pl:
117         * ksvg2/svg/SVGAnimateColorElement.cpp:
118         * ksvg2/svg/SVGAnimateTransformElement.cpp:
119         * ksvg2/svg/SVGAnimationElement.cpp:
120         * ksvg2/svg/SVGMaskElement.cpp:
121         * ksvg2/svg/SVGPatternElement.cpp:
122         * ksvg2/svg/svgpathparser.cpp:
123         * platform/Path.cpp:
124         * platform/graphics/svg/SVGResourceImage.h:
125         * rendering/RenderPath.cpp:
126         * rendering/SVGRenderAsText.cpp:
127
128 2006-11-02  Mitz Pettel  <mitz@webkit.org>
129
130         Reviewed by Adele.
131
132         - Fix a regression from r17521: painting of and crash caused by tables
133           with collapsed borders
134
135         * rendering/RenderTable.cpp:
136         (WebCore::RenderTable::paint): Changed 'paintInfo' to 'info'. Prior to
137         r17521, 'paintInfo' was the local variable. Now 'info' is the local variable
138         and 'paintInfo' is the parameter, which we were accidently modifying.
139
140 2006-11-01  Adele Peterson  <adele@apple.com>
141
142         Reviewed by Mitz.
143
144         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11277
145         REGRESSION: Incomplete repaint of overflow areas when deleting
146
147         Restrict the repaint rect for overflow blocks after the height has been fully computed.
148         Also, adjust the repaint rect coordinates for the scroll offset.
149
150         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
151         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
152
153 2006-11-01  Sam Weinig  <sam.weinig@gmail.com>
154
155         Reviewed by Mitz.
156
157         Fix for http://bugs.webkit.org/show_bug.cgi?id=11474
158         Rename the "p" member variable of the PaintInfo struct to "context"
159
160         - Renames the 'p' and 'r' member variables of the PaintInfo struct to
161           'context' and 'rect' respectively.
162
163         - Assorted surrounding cleanups.
164
165         * rendering/EllipsisBox.cpp:
166         (WebCore::EllipsisBox::paint):
167         * rendering/EllipsisBox.h:
168         * rendering/InlineBox.cpp:
169         (WebCore::InlineBox::paint):
170         * rendering/InlineFlowBox.cpp:
171         (WebCore::InlineFlowBox::paint):
172         (WebCore::InlineFlowBox::paintBackground):
173         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
174         (WebCore::InlineFlowBox::paintDecorations):
175         * rendering/InlineFlowBox.h:
176         * rendering/InlineRunBox.h:
177         * rendering/InlineTextBox.cpp:
178         (WebCore::InlineTextBox::paint):
179         * rendering/InlineTextBox.h:
180         * rendering/RenderBlock.cpp:
181         (WebCore::RenderBlock::paint):
182         (WebCore::RenderBlock::paintChildren):
183         (WebCore::RenderBlock::paintCaret):
184         (WebCore::RenderBlock::paintObject):
185         (WebCore::RenderBlock::paintFloats):
186         (WebCore::RenderBlock::paintEllipsisBoxes):
187         (WebCore::RenderBlock::paintSelection):
188         (WebCore::RenderBlock::fillSelectionGaps):
189         (WebCore::RenderBlock::fillInlineSelectionGaps):
190         (WebCore::RenderBlock::fillBlockSelectionGaps):
191         (WebCore::RenderBlock::fillHorizontalSelectionGap):
192         (WebCore::RenderBlock::fillVerticalSelectionGap):
193         (WebCore::RenderBlock::fillLeftSelectionGap):
194         (WebCore::RenderBlock::fillRightSelectionGap):
195         * rendering/RenderBox.cpp:
196         (WebCore::RenderBox::paint):
197         (WebCore::RenderBox::paintRootBoxDecorations):
198         (WebCore::RenderBox::paintBoxDecorations):
199         * rendering/RenderBox.h:
200         * rendering/RenderButton.cpp:
201         (WebCore::RenderButton::paintObject):
202         * rendering/RenderFieldset.cpp:
203         (WebCore::RenderFieldset::paintBoxDecorations):
204         * rendering/RenderFileUploadControl.cpp:
205         (WebCore::RenderFileUploadControl::paintObject):
206         * rendering/RenderFlow.cpp:
207         (WebCore::RenderFlow::continuationBefore):
208         (WebCore::RenderFlow::addChildWithContinuation):
209         (WebCore::RenderFlow::addChild):
210         (WebCore::RenderFlow::attachLineBox):
211         (WebCore::RenderFlow::destroy):
212         (WebCore::RenderFlow::dirtyLinesFromChangedChild):
213         (WebCore::RenderFlow::dirtyLineBoxes):
214         (WebCore::RenderFlow::createInlineBox):
215         (WebCore::RenderFlow::paintLines):
216         (WebCore::RenderFlow::getAbsoluteRepaintRect):
217         (WebCore::RenderFlow::lowestPosition):
218         (WebCore::RenderFlow::rightmostPosition):
219         (WebCore::RenderFlow::leftmostPosition):
220         (WebCore::RenderFlow::caretRect):
221         (WebCore::RenderFlow::addFocusRingRects):
222         (WebCore::RenderFlow::paintOutline):
223         (WebCore::RenderFlow::paintOutlineForLine):
224         * rendering/RenderForeignObject.cpp:
225         (WebCore::RenderForeignObject::paint):
226         * rendering/RenderHTMLCanvas.cpp:
227         (WebCore::RenderHTMLCanvas::paint):
228         * rendering/RenderImage.cpp:
229         (WebCore::RenderImage::paint):
230         * rendering/RenderLayer.cpp:
231         (WebCore::RenderLayer::paintLayer):
232         * rendering/RenderListBox.cpp:
233         (WebCore::RenderListBox::paintObject):
234         (WebCore::RenderListBox::paintScrollbar):
235         (WebCore::RenderListBox::paintItemForeground):
236         (WebCore::RenderListBox::paintItemBackground):
237         * rendering/RenderListMarker.cpp:
238         (WebCore::RenderListMarker::paint):
239         * rendering/RenderMenuList.cpp:
240         (WebCore::RenderMenuList::paintObject):
241         * rendering/RenderObject.cpp:
242         (WebCore::RenderObject::paint):
243         * rendering/RenderObject.h:
244         (WebCore::RenderObject::PaintInfo::PaintInfo):
245         (WebCore::RenderObject::paintBoxDecorations):
246         (WebCore::RenderObject::paintingRootForChildren):
247         (WebCore::RenderObject::shouldPaintWithinRoot):
248         (WebCore::RenderObject::printBoxDecorations):
249         * rendering/RenderPath.cpp:
250         (WebCore::RenderPath::paint):
251         * rendering/RenderReplaced.cpp:
252         (WebCore::RenderReplaced::shouldPaint):
253         * rendering/RenderSVGContainer.cpp:
254         (WebCore::RenderSVGContainer::paint):
255         * rendering/RenderSVGContainer.h:
256         * rendering/RenderSVGImage.cpp:
257         (WebCore::RenderSVGImage::paint):
258         * rendering/RenderSVGText.cpp:
259         (WebCore::RenderSVGText::paint):
260         * rendering/RenderSVGText.h:
261         (WebCore::RenderSVGText::renderName):
262         * rendering/RenderTable.cpp:
263         (WebCore::RenderTable::paint):
264         (WebCore::RenderTable::paintBoxDecorations):
265         * rendering/RenderTable.h:
266         * rendering/RenderTableCell.cpp:
267         (WebCore::RenderTableCell::paint):
268         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
269         (WebCore::RenderTableCell::paintBoxDecorations):
270         * rendering/RenderTableCell.h:
271         * rendering/RenderTableRow.cpp:
272         (WebCore::RenderTableRow::paint):
273         * rendering/RenderTableRow.h:
274         * rendering/RenderTableSection.cpp:
275         (WebCore::RenderTableSection::paint):
276         * rendering/RenderTableSection.h:
277         (WebCore::RenderTableSection::getBaseline):
278         (WebCore::RenderTableSection::setNeedCellRecalc):
279         * rendering/RenderText.h:
280         (WebCore::RenderText::renderName):
281         (WebCore::RenderText::paint):
282         (WebCore::RenderText::element):
283         * rendering/RenderTheme.cpp:
284         (WebCore::RenderTheme::paint):
285         (WebCore::RenderTheme::paintBorderOnly):
286         (WebCore::RenderTheme::paintDecorations):
287         * rendering/RenderTheme.h:
288         (WebCore::RenderTheme::RenderTheme):
289         (WebCore::RenderTheme::~RenderTheme):
290         (WebCore::RenderTheme::controlSupportsTints):
291         (WebCore::RenderTheme::adjustRepaintRect):
292         (WebCore::RenderTheme::themeChanged):
293         (WebCore::RenderTheme::supportsHover):
294         (WebCore::RenderTheme::paintCheckbox):
295         (WebCore::RenderTheme::setCheckboxSize):
296         (WebCore::RenderTheme::paintRadio):
297         (WebCore::RenderTheme::setRadioSize):
298         (WebCore::RenderTheme::paintButton):
299         (WebCore::RenderTheme::setButtonSize):
300         (WebCore::RenderTheme::paintTextField):
301         (WebCore::RenderTheme::paintTextArea):
302         (WebCore::RenderTheme::paintMenuList):
303         (WebCore::RenderTheme::paintMenuListButton):
304         * rendering/RenderThemeMac.mm:
305         (WebCore::RenderThemeMac::paintCheckbox):
306         (WebCore::RenderThemeMac::paintRadio):
307         (WebCore::RenderThemeMac::paintButton):
308         (WebCore::RenderThemeMac::paintTextField):
309         (WebCore::RenderThemeMac::paintTextArea):
310         (WebCore::RenderThemeMac::paintMenuList):
311         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
312         (WebCore::RenderThemeMac::paintMenuListButton):
313         * rendering/RenderView.cpp:
314         (WebCore::RenderView::paint):
315         (WebCore::RenderView::paintBoxDecorations):
316         * rendering/RenderView.h:
317         * rendering/RenderWidget.cpp:
318         (WebCore::RenderWidget::paint):
319         * rendering/RenderWidget.h:
320         (WebCore::RenderWidget::isWidget):
321         * rendering/RootInlineBox.cpp:
322         (WebCore::RootInlineBox::paintEllipsisBox):
323         (WebCore::RootInlineBox::paintCustomHighlight):
324         (WebCore::RootInlineBox::paint):
325         (WebCore::RootInlineBox::fillLineSelectionGap):
326         * rendering/RootInlineBox.h:
327         * rendering/SVGInlineFlowBox.cpp:
328         (WebCore::paintSVGInlineFlow):
329
330 2006-11-01  Anders Carlsson  <acarlsson@apple.com>
331
332         Reviewed by Oliver, Brady.
333
334         * platform/network/ResourceResponse.h:
335         (WebCore::ResourceResponse::setLastModifiedDate):
336         (WebCore::ResourceResponse::lastModifiedDate):
337         Add getters and setters for last modified dadte.
338         
339         * platform/network/cf/ResourceResponseCFNet.cpp:
340         (WebCore::getResourceResponse):
341         Fetch the last modified date. Add correct offset to expired date.
342
343 2006-11-01  David Kilzer  <ddkilzer@kilzer.net>
344
345         Reviewed by Mitz.
346
347         Added missing "break;" statement in switch statement from r17493.
348
349         Bug 11442: [CSS 3] support for cursor: all-scroll
350         http://bugs.webkit.org/show_bug.cgi?id=11442
351
352         * css/CSSComputedStyleDeclaration.cpp:
353         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
354
355 2006-10-31  Mitz Pettel  <mitz@webkit.org>
356
357         Reviewed by Maciej.
358
359         - fix image dragging
360
361         This is covered by editing/selection/drag-to-contenteditable-iframe.html
362
363         * rendering/HitTestResult.cpp:
364         (WebCore::HitTestResult::altDisplayString): Changed imageTag to imgTag, for
365         HTML IMG elements.
366         (WebCore::HitTestResult::absoluteImageURL): Ditto.
367
368 2006-10-31  Beth Dakin  <bdakin@apple.com>
369
370         Reviewed by Maciej.
371
372         This adds the back-end of the remaining WebElementDictionary 
373         functions into HitTestResult.
374
375         * WebCore.exp:
376         * rendering/HitTestResult.cpp:
377         (WebCore::HitTestResult::title):
378         (WebCore::displayString): This is nearly identical to the 
379         displayString() defined in DOMInternal.mm except that it returns a 
380         String instead of an NSString. The old code path used the 
381         DOMInternal method, so I made a new one here for the new code path.
382         (WebCore::HitTestResult::altDisplayString):
383         (WebCore::HitTestResult::image):
384         (WebCore::HitTestResult::absoluteImageURL):
385         (WebCore::HitTestResult::absoluteLinkURL):
386         (WebCore::HitTestResult::titleDisplayString):
387         (WebCore::HitTestResult::textContent):
388         * rendering/HitTestResult.h:
389
390 2006-10-31  John Sullivan  <sullivan@apple.com>
391
392         * bridge/mac/FrameMac.mm:
393         (WebCore::FrameMac::markMisspellings):
394         Tiger build fix: added an #ifndef BUILDING_ON_TIGER where one was needed.
395
396 2006-10-31  John Sullivan  <sullivan@apple.com>
397
398         Reviewed by Maciej
399         
400         - fixed <rdar://problem/4804627> ToolTips do not appear for grammar suggestions
401         
402         The foundation of this was in my last checkin. This checkin is all about displaying
403         the correct string in the toolTip.
404
405         * dom/DocumentMarker.h:
406         New description field in this struct.
407
408         * bridge/mac/FrameMac.mm:
409         (WebCore::FrameMac::advanceToNextMisspelling):
410         When adding a grammar marker, supply the appropriate description. Also, added a comment
411         about the remaining work to make grammar checking return sensible answers.
412         (WebCore::FrameMac::markMisspellings):
413         ditto (yes, still needs some refactoring to minimize duplicated code)
414         
415         * dom/Document.h:
416         * dom/Document.cpp:
417         (WebCore::Document::addMarker):
418         Now takes an optional description string
419         (WebCore::Document::markerContainingPoint):
420         New function, returns a pointer to the (first) marker of the specified type whose rect 
421         contains the specified point, or 0 if none.
422         
423         * rendering/HitTestResult.cpp:
424         (WebCore::HitTestResult::spellingToolTip):
425         Replaced hardwired string placeholder implementation with code that uses markerContainingPoint
426         and gets the description from the marker.
427
428 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
429
430         Reviewed by Maciej.
431         
432         Fixed crash resulting from Darin's last patch to remove BrowserExtension.
433
434         * loader/mac/FrameLoaderMac.mm:
435         (WebCore::FrameLoader::createWindow):
436         * manual-tests/window-open-features-parsing.html: Updated for clarity.
437
438 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
439
440         Reviewed by Alice.
441
442         Moved some Editing code from WebKit, the bridge, and WebCore::Frame down 
443         to WebCore::Editor.
444         
445         Layout tests pass.
446         
447         Renamed "may*" to "can*" because "can" is more accurate (these functions
448         aren't just about permission) and it matches WebKit.
449
450         (WebCore::FrameMac::handleMouseMoveEvent): Directly test for dragging in a 
451         password field. Now that WebCore fully implements canCopy(), it doesn't just
452         mean "the selection is not in a password field" anymore.
453         (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Removed this #ifed-out code. 
454         The fact that it's not called anymore may represent a security issue, but I
455         don't see how commented-out code will help reveal the issue, and the
456         bridge is going away, anyway.
457         * editing/SelectionController.h: Changed selection() calls to references
458         to m_sel, to match the rest of the file.
459
460 2006-10-31  Justin Garcia  <justin.garcia@apple.com>
461
462         Reviewed by harrison
463         
464         <rdar://problem/4711063>
465         Pasting 10K lines into Mail/Blot takes ~7sec, in TextEdit it takes ~1.5sec
466
467         * editing/ReplaceSelectionCommand.cpp:
468         (WebCore::ReplacementFragment::ReplacementFragment): Don't do the test
469         insertion and plain text string creation unless we need the string
470         for a BeforeTextInserted event handler or for a plain text only region.
471         (WebCore::ReplacementFragment::removeInterchangeNodes): Added, moved
472         code here from ReplacementFragment's constructor.
473         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Added a
474         FIXME.
475         * editing/ReplaceSelectionCommand.h:
476
477 2006-10-31  Ada Chan  <adachan@apple.com>
478
479         Reviewed by Adam
480
481         Correct forward declarations of the HitTestRequest struct.
482
483         * rendering/EllipsisBox.h:
484         * rendering/InlineBox.h:
485         * rendering/InlineFlowBox.h:
486         * rendering/RenderLayer.h:
487         * rendering/RenderObject.h:
488
489 2006-10-31  John Sullivan  <sullivan@apple.com>
490
491         Reviewed by Beth and Adam
492
493         Support for displaying tooltips for bad grammar. Currently this always displays the same tooltip; 
494         next I'll make it use a string that's relevant for a specific grammar error.
495
496         * WebCore.exp:
497         export symbol for spellingToolTip function
498         
499         * rendering/HitTestResult.h:
500         * rendering/HitTestResult.cpp:
501         (WebCore::HitTestResult::spellingToolTip):
502         new function, returns the string to be used in a tool tip that describes the questionable grammar
503         
504         * rendering/InlineTextBox.h:
505         * rendering/InlineTextBox.cpp:
506         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
507         now takes a style and font, needed to compute the rect representing the range containing
508         questionable grammar. Computes the rect and associates it with the marker.
509         (WebCore::InlineTextBox::paintDocumentMarkers):
510         Pass in the style and font now needed by paintSpellingOrGrammarMarker
511
512 2006-10-31  Adele Peterson  <adele@apple.com>
513
514         Removed commented out variable from last checkin.
515
516         * html/HTMLSelectElement.cpp:
517         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
518
519 2006-10-31  Brady Eidson  <beidson@apple.com>
520
521         Build fix (unused variable in release builds)
522
523         * html/HTMLSelectElement.cpp:
524         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
525
526 2006-10-31  Adele Peterson  <adele@apple.com>
527
528         Reviewed by Adam.
529
530         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11127 NativeListBox: arrow and drag selection should pivot around one list item
531         and http://bugs.webkit.org/show_bug.cgi?id=11173 REGRESSION (NativeListBox): Shift-clicking items in list box doesn't expand the current selection
532         and http://bugs.webkit.org/show_bug.cgi?id=11417 REGRESSION: onchange does not fire for list-style select elements
533
534         Tests: 
535         * LayoutTests/fast/forms/listbox-selection.html
536         * LayoutTests/fast/forms/listbox-onchange.html
537
538         * html/HTMLSelectElement.h: Added m_selectedListIndexBase and m_selectedListIndexExtent to track indices for the active selection in progress.
539           Added 2 vectors to cache selection state.  One is kept so that the previous selection state can be restored as the active selection grows and shrinks.
540           And one for onChange, that is updated after onChange is fired.
541           Added m_activeSelectionState to keep track of whether the current drag selection is selecting or deselecting.
542  
543         * html/HTMLSelectElement.cpp:
544         (WebCore::HTMLSelectElement::HTMLSelectElement): Initialized new variables.
545         (WebCore::HTMLSelectElement::setSelectedIndex): If needed, initialize m_selectedListIndexBase and m_selectedListIndexExtent.
546         (WebCore::HTMLSelectElement::dispatchBlurEvent): Only fire the onChange event here for menu lists.
547         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Updates base and extent variables for mouse and key events.
548         (WebCore::HTMLSelectElement::setBase): Added. Also caches the selection state.
549         (WebCore::HTMLSelectElement::setExtent): Added.
550         (WebCore::HTMLSelectElement::updateListBoxSelection): Added.
551         (WebCore::HTMLSelectElement::listBoxOnChange): Added.
552
553         * rendering/RenderListBox.cpp:
554         (WebCore::RenderListBox::updateFromElement): Only scroll to reveal the first index if both the first and last indices aren't visible.
555         (WebCore::RenderListBox::listIndexAtOffset): Added.  Replaces optionAtPoint, which is no longer used.
556         (WebCore::RenderListBox::autoscroll): Now sets the selection using the select's base and extent.
557         (WebCore::RenderListBox::stopAutoscroll): Added.  Tells the select element to fire onChange.  This is needed because the autoscroll can end from a mouseUp
558          outside of the list box, and the select element won't get a mouseUp event directly.  But the frame will stop the autoscroll at that point, and now we can
559          notify the select element from here.
560         (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Checks new listIndexIsVisible method.
561         (WebCore::RenderListBox::listIndexIsVisible): Added.
562         (WebCore::RenderListBox::valueChanged): Removed unnecessary printf.
563
564         * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Added rendererIsBeingDestroyed argument, so when the renderer calls this during destruction, 
565         we don't try to use the pointer to that renderer to call stopAutoscroll.  This is done so a renderer that's still alive has a chance to do some cleanup after autoscroll.
566         * rendering/RenderListBox.h: (WebCore::RenderListBox::shouldAutoscroll): Always returns true now, since we're also updating selection from the autoscroll timer.
567         * rendering/RenderObject.h: (WebCore::RenderObject::stopAutoscroll): Added.
568         * rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): Calls stopAutoscrollTimer with rendererIsBeingDestroyed argument.
569
570 2006-10-31  Beth Dakin  <bdakin@apple.com>
571
572         Forgot to check this in a minute ago. Oops!! Thanks Mitz!
573
574         * rendering/HitTestRequest.h: Added.
575         (WebCore::HitTestRequest::HitTestRequest):
576
577 2006-10-31  Beth Dakin  <bdakin@apple.com>
578
579         Reviewed by Maciej.
580
581         Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult 
582         should be split into HitTestRequest and HitTestResult
583
584         This patch creates a new struct called HitTestRequest that holds 
585         the three boolean values (readonly, active, and mouseMove) that 
586         were formerly a part of HitTestResult. All hitTest() and 
587         nodeAtPoint() functions now take a HitTestRequest in addition to 
588         the HitTestResult.
589
590         * WebCore.exp:
591         * WebCore.xcodeproj/project.pbxproj:
592         * bridge/mac/FrameMac.mm:
593         (WebCore::FrameMac::eventMayStartDrag):
594         (WebCore::FrameMac::handleMouseMoveEvent):
595         * bridge/mac/WebCoreAXObject.mm:
596         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
597         (-[WebCoreAXObject accessibilityHitTest:]):
598         * dom/Document.cpp:
599         (WebCore::Document::elementFromPoint):
600         (WebCore::Document::prepareMouseEvent):
601         * editing/SelectionController.cpp:
602         (WebCore::SelectionController::contains):
603         * page/Frame.cpp:
604         (WebCore::Frame::hitTestResultAtPoint):
605         * page/FrameView.cpp:
606         (WebCore::FrameView::handleWheelEvent):
607         * rendering/EllipsisBox.cpp:
608         (WebCore::EllipsisBox::nodeAtPoint):
609         * rendering/EllipsisBox.h:
610         * rendering/HitTestResult.cpp:
611         (WebCore::HitTestResult::HitTestResult):
612         (WebCore::HitTestResult::operator=):
613         * rendering/HitTestResult.h:
614         * rendering/InlineBox.cpp:
615         (WebCore::InlineBox::nodeAtPoint):
616         * rendering/InlineBox.h:
617         * rendering/InlineFlowBox.cpp:
618         (WebCore::InlineFlowBox::nodeAtPoint):
619         * rendering/InlineFlowBox.h:
620         * rendering/InlineTextBox.cpp:
621         (WebCore::InlineTextBox::nodeAtPoint):
622         * rendering/InlineTextBox.h:
623         * rendering/RenderBlock.cpp:
624         (WebCore::RenderBlock::nodeAtPoint):
625         * rendering/RenderBlock.h:
626         * rendering/RenderBox.cpp:
627         (WebCore::RenderBox::nodeAtPoint):
628         * rendering/RenderBox.h:
629         * rendering/RenderFlow.cpp:
630         (WebCore::RenderFlow::hitTestLines):
631         * rendering/RenderFlow.h:
632         * rendering/RenderForeignObject.cpp:
633         (WebCore::RenderForeignObject::nodeAtPoint):
634         * rendering/RenderForeignObject.h:
635         * rendering/RenderFrameSet.cpp:
636         (WebCore::RenderFrameSet::nodeAtPoint):
637         * rendering/RenderFrameSet.h:
638         * rendering/RenderImage.cpp:
639         (WebCore::RenderImage::nodeAtPoint):
640         * rendering/RenderImage.h:
641         * rendering/RenderInline.cpp:
642         (WebCore::RenderInline::nodeAtPoint):
643         * rendering/RenderInline.h:
644         * rendering/RenderLayer.cpp:
645         (WebCore::RenderLayer::autoscroll):
646         (WebCore::RenderLayer::hitTest):
647         (WebCore::RenderLayer::hitTestLayer):
648         (WebCore::RenderLayer::updateHoverActiveState):
649         * rendering/RenderLayer.h:
650         * rendering/RenderObject.cpp:
651         (WebCore::RenderObject::hitTest):
652         (WebCore::RenderObject::nodeAtPoint):
653         * rendering/RenderObject.h:
654         * rendering/RenderPath.cpp:
655         (WebCore::RenderPath::nodeAtPoint):
656         * rendering/RenderPath.h:
657         * rendering/RenderSVGImage.cpp:
658         (WebCore::RenderSVGImage::nodeAtPoint):
659         * rendering/RenderSVGImage.h:
660         * rendering/RenderSVGText.cpp:
661         (WebCore::RenderSVGText::nodeAtPoint):
662         * rendering/RenderSVGText.h:
663         * rendering/RenderTableRow.cpp:
664         (WebCore::RenderTableRow::nodeAtPoint):
665         * rendering/RenderTableRow.h:
666         * rendering/RenderTableSection.cpp:
667         (WebCore::RenderTableSection::nodeAtPoint):
668         * rendering/RenderTableSection.h:
669         * rendering/RenderText.h:
670         (WebCore::RenderText::nodeAtPoint):
671         * rendering/RenderTextControl.cpp:
672         (WebCore::RenderTextControl::nodeAtPoint):
673         * rendering/RenderTextControl.h:
674         * rendering/RootInlineBox.cpp:
675         (WebCore::RootInlineBox::nodeAtPoint):
676         * rendering/RootInlineBox.h:
677
678 2006-10-31  Lars Naesbye Christensen <larsnaesbye@stud.ku.dk>
679
680         Reviewed by Maciej.
681
682         Bug 11442: [CSS 3] support for cursor: all-scroll
683         http://bugs.webkit.org/show_bug.cgi?id=11442
684
685         * css/CSSComputedStyleDeclaration.cpp:
686         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
687         * css/CSSValueKeywords.in:
688         * css/cssparser.cpp:
689         (WebCore::CSSParser::parseValue):
690         * page/FrameView.cpp:
691         (WebCore::selectCursor):
692         * rendering/RenderStyle.h:
693
694 2006-10-31  Oliver Hunt  <oliver@apple.com>
695
696         Reviewed by Geoff.
697
698         Converting Obj-C++ to C++ in kcanvas
699
700         * WebCore.xcodeproj/project.pbxproj:
701         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
702         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
703         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Added.
704         * kcanvas/device/quartz/KCanvasItemQuartz.mm: Removed.
705         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Added.
706         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
707         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: Removed.
708         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
709         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
710         * kcanvas/device/quartz/QuartzSupport.cpp: Added.
711         * kcanvas/device/quartz/QuartzSupport.h:
712         * kcanvas/device/quartz/QuartzSupport.mm: Removed.
713         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Added.
714         (WebCore::SVGResourceClipper::applyClip):
715         * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Removed.
716         * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Added.
717         * platform/graphics/svg/cg/SVGResourceImageCg.mm: Removed.
718
719 2006-10-31  Justin Garcia  <justin.garcia@apple.com>
720
721         Reviewed by harrison
722         
723         <rdar://problem/4808375>
724         REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) [11460}
725         
726         Completely back out r17276 because of performance issues.
727
728         * editing/TextIterator.cpp:
729         (WebCore::TextIterator::TextIterator):
730         (WebCore::TextIterator::advance):
731         (WebCore::TextIterator::handleTextNode):
732         (WebCore::TextIterator::handleTextBox):
733         (WebCore::TextIterator::handleReplacedElement):
734         (WebCore::TextIterator::handleNonTextNode):
735         (WebCore::TextIterator::exitNode):
736         (WebCore::TextIterator::emitCharacter):
737         (WebCore::TextIterator::range):
738         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
739         (WebCore::SimplifiedBackwardsTextIterator::advance):
740         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
741         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
742         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter):
743         (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
744         (WebCore::SimplifiedBackwardsTextIterator::range):
745         (WebCore::CharacterIterator::range):
746         (WebCore::TextIterator::rangeFromLocationAndLength):
747         * editing/TextIterator.h:
748         (WebCore::TextIterator::atEnd):
749         (WebCore::SimplifiedBackwardsTextIterator::atEnd):
750
751 2006-10-31  Darin Adler  <darin@apple.com>
752
753         Reviewed by Brady.
754
755         - got "action dictionary" code out of FrameLoader,
756           replacing with a class called NavigationAction
757
758         * loader/DocumentLoader.h: Changed m_triggeringAction to a NavigationAction.
759         * loader/mac/DocumentLoaderMac.mm:
760         (WebCore::DocumentLoader::triggeringAction): Ditto.
761         (WebCore::DocumentLoader::setTriggeringAction): Ditto.
762
763         * loader/FrameLoader.h: Changed action parameters to NavigationAction.
764
765         * loader/FrameLoaderClient.h: Changed action parameters to NavigationAction.
766         Removed elementForEvent.
767         * loader/mac/FrameLoaderMac.mm:
768         (WebCore::FrameLoader::load): Ditto.
769         (WebCore::FrameLoader::reload): Ditto.
770         (WebCore::FrameLoader::checkNewWindowPolicy): Ditto.
771         (WebCore::FrameLoader::checkNavigationPolicy): Ditto.
772         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Ditto.
773         (WebCore::FrameLoader::post): Ditto.
774
775         * loader/NavigationAction.h: Added.
776         * loader/NavigationAction.cpp: Added.
777         * loader/mac/NavigationActionMac.mm: Added.
778
779         * loader/mac/MainResourceLoaderMac.mm: Fixed copyright.
780
781         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
782         * WebCore.exp: Updated.
783
784 2006-10-31  Steve Falkenburg  <sfalken@apple.com>
785
786         Reviewed by Adam.
787
788         Build fix
789
790         * platform/win/CookieJarWin.cpp:
791         (WebCore::cookies):
792
793 2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
794
795         Reviewed by Maciej. Landed by Adam.
796
797         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11463
798
799         Move KCanvasTreeDebug into rendering, named as SVGRenderTreeAsText.*,
800         as dicussed with Dave. Also kill the outdated DESIGN document.
801
802         * CMakeLists.txt:
803         * WebCore.xcodeproj/project.pbxproj:
804         * kcanvas/DESIGN: Removed.
805         * kcanvas/KCanvasFilters.cpp:
806         * kcanvas/KCanvasTreeDebug.cpp: Moved to rendering/SVGRenderTreeAsText
807         * kcanvas/KCanvasTreeDebug.h: Ditto.
808         * kcanvas/device/KRenderingPaintServerGradient.cpp:
809         * kcanvas/device/KRenderingPaintServerPattern.cpp:
810         * kcanvas/device/KRenderingPaintServerSolid.cpp:
811         * platform/graphics/svg/SVGResourceClipper.cpp:
812         * rendering/RenderTreeAsText.cpp:
813         * rendering/SVGRenderTreeAsText.cpp: Added.
814         * rendering/SVGRenderTreeAsText.h: Added.
815         (WebCore::operator<<):
816
817 2006-10-31  MorganL  <morganl.webkit@yahoo.com>
818
819         Reviewed by Maciej.
820
821         Fixes http://bugs.webkit.org/show_bug.cgi?id=11286
822         Includes some CRLF -> LF fixups.
823
824         * platform/win/CookieJarWin.cpp:
825         (WebCore::cookies):
826
827 2006-10-31  Adam Roben  <aroben@apple.com>
828
829         Reviewed by Steve.
830
831         Fix some incorrect forward declarations.
832
833         * loader/FrameLoader.h:
834         * page/Frame.h:
835
836 2006-10-31  Darin Adler  <darin@apple.com>
837
838         * WebCore.xcodeproj/project.pbxproj: Change GraphicsTypes.h to a private header to
839         try to fix the build on the buildbot.
840
841 2006-10-31  Darin Adler  <darin@apple.com>
842
843         * bridge/mac/FrameMac.mm:
844         (WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds.
845         (WebCore::FrameMac::markMisspellings): Ditto.
846
847 2006-10-31  John Sullivan  <sullivan@apple.com>
848
849         * bridge/mac/FrameMac.mm:
850         (WebCore::FrameMac::advanceToNextMisspelling):
851         build fix: needed #ifndef BUILDING_ON_TIGER in one more place
852
853 2006-10-30  John Sullivan  <sullivan@apple.com>
854
855         Reviewed by Adam Roben
856         
857         - fixes <rdar://problem/4804614> Bad grammar ranges are not visibly marked
858         
859         This patch introduces much of the guts of grammar checking, though still not enough to actually
860         check grammar sensibly, due to:
861           
862         <rdar://problem/4811175> Many false reports of bad grammar appear, caused by insufficient 
863         context passed to grammar checker
864
865         * platform/Logging.h:
866         * platform/Logging.cpp:
867         new log channel SpellingAndGrammar
868
869         * bridge/mac/WebCorePageBridge.mm:
870         (initializeLoggingChannelsIfNecessary):
871         initialize new log channel
872
873         * bridge/mac/FrameMac.mm:
874         (WebCore::FrameMac::advanceToNextMisspelling):
875         Compute bad grammar range when computing misspelling range. Find first detailed grammar range from the
876         set NSSpellChecker determines. Compare it with misspelling range to see which is earliest (or shortest
877         in the event of a tie), and do further processing with that one (select range; create marker that
878         causes range to be visibly marked with a funky underline; update spelling panel appropriately).
879         (WebCore::FrameMac::markMisspellings):
880         More or less the same types of changes as in advanceToNextMisspelling The loops are structured just 
881         differently enough to make sharing code between these two functions a little tricky, so I decided to 
882         save that for a later patch.
883         
884         (WebCore::FrameMac::respondToChangedSelection):
885         remove grammar markers when we remove spelling markers        
886
887 2006-10-31  Nikolas Zimmermann <zimmermann@kde.org>
888
889         Reviewed by Mitz.
890
891         Fix Qt/Linux build with older gcc3.3.4.
892
893         * bindings/js/kjs_window.cpp:
894         (KJS::WindowFunc::callAsFunction):
895
896 2006-10-31  Zack Rusin  <zack@kde.org>
897
898         Reviewed by Mitz.
899
900         Fix the Qt build after last nights changes.
901
902         * WebCore/platform/qt/FrameQt.cpp:
903         * WebCore/platform/qt/EditorClientQt.h:
904         * WebCore/platform/qt/EditorClientQt.cpp:
905         * WebCore/platform/graphics/svg/qt/SVGResourceImageQt.cpp:
906         * WebCore/platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
907         * WebCore/CMakeLists.txt:
908         * WebCore/kcanvas/device/qt/KRenderingDeviceQt.cpp:
909         * WebKitQt/QtLauncher/CMakeLists.txt:
910         * WebKitQt/WebKitPart/CMakeLists.txt:
911
912 2006-10-30  Darin Adler  <darin@apple.com>
913
914         Reviewed by Anders.
915
916         - remove BrowserExtension
917
918         * WebCore.vcproj/WebCore/WebCore.vcproj:
919         * WebCore.xcodeproj/project.pbxproj:
920         * bindings/js/kjs_window.cpp:
921         (KJS::createNewWindow):
922         (KJS::WindowFunc::callAsFunction):
923         * bridge/BrowserExtension.h: Removed.
924         * bridge/mac/BrowserExtensionMac.h: Removed.
925         * bridge/mac/BrowserExtensionMac.mm: Removed.
926         * bridge/mac/FrameMac.mm:
927         (WebCore::FrameMac::FrameMac):
928         (WebCore::FrameMac::submitForm):
929         (WebCore::FrameMac::urlSelected):
930         * bridge/win/BrowserExtensionWin.cpp: Removed.
931         * bridge/win/BrowserExtensionWin.h: Removed.
932         * bridge/win/FrameWin.cpp:
933         (WebCore::FrameWin::FrameWin):
934         * loader/FrameLoader.cpp:
935         (WebCore::FrameLoader::createWindow):
936         * loader/FrameLoader.h:
937         * loader/icon/IconLoader.cpp:
938         * loader/mac/FrameLoaderMac.mm:
939         (WebCore::FrameLoader::safeLoad):
940         (WebCore::FrameLoader::load):
941         (WebCore::FrameLoader::createWindow):
942         * page/Frame.cpp:
943         (WebCore::Frame::urlSelected):
944         (WebCore::Frame::requestFrame):
945         (WebCore::Frame::submitForm):
946         (WebCore::Frame::scheduleHistoryNavigation):
947         (WebCore::Frame::redirectionTimerFired):
948         * page/Frame.h:
949         * page/FrameLoadRequest.h:
950         (WebCore::FrameLoadRequest::FrameLoadRequest):
951         (WebCore::FrameLoadRequest::isEmpty):
952         (WebCore::FrameLoadRequest::resourceRequest):
953         (WebCore::FrameLoadRequest::frameName):
954         (WebCore::FrameLoadRequest::setFrameName):
955         * page/FramePrivate.h:
956         (WebCore::FramePrivate::FramePrivate):
957         (WebCore::FramePrivate::~FramePrivate):
958         * platform/gdk/BrowserExtensionGdk.h: Removed.
959         * platform/gdk/FrameGdk.cpp:
960         (WebCore::FrameGdk::FrameGdk):
961         * platform/gdk/TemporaryLinkStubs.cpp:
962         * platform/network/ResourceRequest.h:
963         (WebCore::ResourceRequest::isEmpty):
964
965 2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
966
967         Reviewed by Oliver.
968
969         Modified from original due to earlier reversion
970
971         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11436
972
973         Better SVG integration in WebKit, Part I.
974
975         The patch is mostly about creating a new platform/graphics directory, and
976         moving the kcanvas resources (clipper/masker/marker) there (in svg budir),
977         with a new name (KCanvasClipper -> SVGResourceClipper). Also fix several ownership
978         issues, by using ref counting (the SVG classes now store RefPtrs to the resources).
979
980         KCanvasFilters is still left in kcanvas/ subdirectory, to be converted in a next patch.
981         All details of the patch, and upcoming patches can be found in the bug report.
982
983         * CMakeLists.txt:
984         * WebCore.xcodeproj/project.pbxproj:
985         * graphics/svg/SVGResource.cpp: Removed.
986         * graphics/svg/SVGResourceClipper.cpp: Removed.
987         * graphics/svg/SVGResourceClipper.h: Removed.
988         * graphics/svg/SVGResourceImage.h: Removed.
989         * graphics/svg/SVGResourceListener.h: Removed.
990         * graphics/svg/SVGResourceMarker.cpp: Removed.
991         * graphics/svg/SVGResourceMarker.h: Removed.
992         * graphics/svg/SVGResourceMasker.cpp: Removed.
993         * graphics/svg/SVGResourceMasker.h: Removed.
994         * kcanvas/KCanvasClipper.cpp: Removed.
995         * kcanvas/KCanvasClipper.h: Removed.
996         * kcanvas/KCanvasCreator.cpp: Removed.
997         * kcanvas/KCanvasCreator.h: Removed.
998         * kcanvas/KCanvasFilters.cpp:
999         (WebCore::getFilterById):
1000         * kcanvas/KCanvasFilters.h:
1001         * kcanvas/KCanvasImage.h: Removed.
1002         * kcanvas/KCanvasMarker.cpp: Removed.
1003         * kcanvas/KCanvasMarker.h: Removed.
1004         * kcanvas/KCanvasMasker.cpp: Removed.
1005         * kcanvas/KCanvasMasker.h: Removed.
1006         * kcanvas/KCanvasResource.cpp: Removed.
1007         * kcanvas/KCanvasResource.h: Removed.
1008         * kcanvas/KCanvasResourceListener.h: Removed.
1009         * kcanvas/KCanvasTreeDebug.cpp:
1010         (WebCore::writeRenderResources):
1011         * kcanvas/device/KRenderingDevice.h:
1012         * kcanvas/device/KRenderingPaintServer.h:
1013         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
1014         * kcanvas/device/KRenderingPaintServerGradient.cpp:
1015         (WebCore::KRenderingPaintServerGradient::listener):
1016         (WebCore::KRenderingPaintServerGradient::setListener):
1017         * kcanvas/device/KRenderingPaintServerGradient.h:
1018         * kcanvas/device/KRenderingPaintServerPattern.cpp:
1019         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
1020         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
1021         (WebCore::KRenderingPaintServerPattern::tile):
1022         (WebCore::KRenderingPaintServerPattern::setTile):
1023         (WebCore::KRenderingPaintServerPattern::listener):
1024         (WebCore::KRenderingPaintServerPattern::setListener):
1025         * kcanvas/device/KRenderingPaintServerPattern.h:
1026         * kcanvas/device/KRenderingPaintServerSolid.h:
1027         * kcanvas/device/qt/KCanvasClipperQt.cpp: Removed.
1028         * kcanvas/device/qt/KCanvasClipperQt.h:
1029         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1030         (WebCore::KRenderingDeviceQt::contextForImage):
1031         (WebCore::KRenderingDeviceQt::createResource):
1032         (WebCore::KRenderingDeviceQt::createPaintServer):
1033         * kcanvas/device/qt/KRenderingDeviceQt.h:
1034         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
1035         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
1036         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
1037         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
1038         * kcanvas/device/qt/RenderPathQt.h: Removed.
1039         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1040         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
1041         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1042         * kcanvas/device/quartz/KCanvasMaskerQuartz.h: Removed.
1043         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Removed.
1044         * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Removed.
1045         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: Removed.
1046         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1047         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1048         (WebCore::KRenderingDeviceQuartz::contextForImage):
1049         (WebCore::KRenderingDeviceQuartz::createPaintServer):
1050         (WebCore::KRenderingDeviceQuartz::createResource):
1051         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1052         (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
1053         (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
1054         (WebCore::KRenderingPaintServerGradientQuartz::setup):
1055         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
1056         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
1057         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1058         (WebCore::patternCallback):
1059         (WebCore::KRenderingPaintServerPatternQuartz::setup):
1060         * kcanvas/device/quartz/QuartzSupport.mm:
1061         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1062         (WebCore::sharedSolidPaintServer):
1063         * ksvg2/svg/SVGClipPathElement.cpp:
1064         (WebCore::SVGClipPathElement::SVGClipPathElement):
1065         (WebCore::SVGClipPathElement::~SVGClipPathElement):
1066         (WebCore::SVGClipPathElement::canvasResource):
1067         * ksvg2/svg/SVGClipPathElement.h:
1068         * ksvg2/svg/SVGFEImageElement.cpp:
1069         * ksvg2/svg/SVGFilterElement.cpp:
1070         (WebCore::SVGFilterElement::SVGFilterElement):
1071         (WebCore::SVGFilterElement::~SVGFilterElement):
1072         (WebCore::SVGFilterElement::canvasResource):
1073         * ksvg2/svg/SVGFilterElement.h:
1074         * ksvg2/svg/SVGGradientElement.cpp:
1075         (WebCore::SVGGradientElement::SVGGradientElement):
1076         (WebCore::SVGGradientElement::~SVGGradientElement):
1077         (WebCore::SVGGradientElement::canvasResource):
1078         (WebCore::SVGGradientElement::resourceNotification):
1079         * ksvg2/svg/SVGGradientElement.h:
1080         * ksvg2/svg/SVGImageElement.cpp:
1081         * ksvg2/svg/SVGLinearGradientElement.cpp:
1082         (WebCore::SVGLinearGradientElement::buildGradient):
1083         * ksvg2/svg/SVGLinearGradientElement.h:
1084         * ksvg2/svg/SVGMarkerElement.cpp:
1085         (WebCore::SVGMarkerElement::SVGMarkerElement):
1086         (WebCore::SVGMarkerElement::~SVGMarkerElement):
1087         (WebCore::SVGMarkerElement::canvasResource):
1088         * ksvg2/svg/SVGMarkerElement.h:
1089         * ksvg2/svg/SVGMaskElement.cpp:
1090         (WebCore::SVGMaskElement::SVGMaskElement):
1091         (WebCore::SVGMaskElement::~SVGMaskElement):
1092         (WebCore::SVGMaskElement::drawMaskerContent):
1093         (WebCore::SVGMaskElement::canvasResource):
1094         * ksvg2/svg/SVGMaskElement.h:
1095         * ksvg2/svg/SVGPatternElement.cpp:
1096         (WebCore::SVGPatternElement::SVGPatternElement):
1097         (WebCore::SVGPatternElement::~SVGPatternElement):
1098         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1099         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1100         (WebCore::SVGPatternElement::canvasResource):
1101         * ksvg2/svg/SVGPatternElement.h:
1102         * ksvg2/svg/SVGRadialGradientElement.cpp:
1103         (WebCore::SVGRadialGradientElement::buildGradient):
1104         * ksvg2/svg/SVGRadialGradientElement.h:
1105         * ksvg2/svg/SVGStyledElement.h:
1106         (WebCore::SVGStyledElement::canvasResource):
1107         * platform/GraphicsContext.cpp: Removed.
1108         * platform/GraphicsContext.h: Removed.
1109         * platform/GraphicsTypes.cpp: Removed.
1110         * platform/GraphicsTypes.h: Removed.
1111         * platform/graphics/GraphicsContext.cpp:
1112         (WebCore::GraphicsContextState::GraphicsContextState):
1113         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
1114         (WebCore::GraphicsContext::createGraphicsContextPrivate):
1115         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
1116         (WebCore::GraphicsContext::save):
1117         (WebCore::GraphicsContext::restore):
1118         (WebCore::GraphicsContext::font):
1119         (WebCore::GraphicsContext::setFont):
1120         (WebCore::GraphicsContext::pen):
1121         (WebCore::GraphicsContext::setPen):
1122         (WebCore::GraphicsContext::setFillColor):
1123         (WebCore::GraphicsContext::fillColor):
1124         (WebCore::GraphicsContext::updatingControlTints):
1125         (WebCore::GraphicsContext::setUpdatingControlTints):
1126         (WebCore::GraphicsContext::setPaintingDisabled):
1127         (WebCore::GraphicsContext::paintingDisabled):
1128         (WebCore::GraphicsContext::drawImage):
1129         (WebCore::GraphicsContext::drawText):
1130         (WebCore::GraphicsContext::drawHighlightForText):
1131         (WebCore::GraphicsContext::initFocusRing):
1132         (WebCore::GraphicsContext::clearFocusRing):
1133         (WebCore::GraphicsContext::focusRingBoundingRect):
1134         (WebCore::GraphicsContext::addFocusRingRect):
1135         (WebCore::GraphicsContext::focusRingWidth):
1136         (WebCore::GraphicsContext::focusRingOffset):
1137         (WebCore::GraphicsContext::focusRingRects):
1138         (WebCore::GraphicsContext::drawTiledImage):
1139         * platform/graphics/GraphicsContext.h:
1140         * platform/graphics/GraphicsTypes.cpp:
1141         (WebCore::):
1142         (WebCore::parseCompositeOperator):
1143         (WebCore::compositeOperatorName):
1144         (WebCore::parseLineCap):
1145         (WebCore::lineCapName):
1146         (WebCore::parseLineJoin):
1147         (WebCore::lineJoinName):
1148         * platform/graphics/GraphicsTypes.h:
1149         (WebCore::):
1150         * platform/graphics/svg/SVGResource.cpp: Added.
1151         (WebCore::SVGResource::SVGResource):
1152         (WebCore::SVGResource::~SVGResource):
1153         (WebCore::SVGResource::invalidate):
1154         (WebCore::SVGResource::addClient):
1155         (WebCore::SVGResource::clients):
1156         (WebCore::SVGResource::idInRegistry):
1157         (WebCore::SVGResource::setIdInRegistry):
1158         (WebCore::SVGResource::externalRepresentation):
1159         (WebCore::getResourceById):
1160         (WebCore::getPaintServerById):
1161         (WebCore::operator<<):
1162         * platform/graphics/svg/SVGResource.h: Added.
1163         (WebCore::):
1164         (WebCore::SVGResource::isPaintServer):
1165         (WebCore::SVGResource::isFilter):
1166         (WebCore::SVGResource::isClipper):
1167         (WebCore::SVGResource::isMarker):
1168         (WebCore::SVGResource::isMasker):
1169         (WebCore::SVGResourceListener::~SVGResourceListener):
1170         * platform/graphics/svg/SVGResourceClipper.cpp: Added.
1171         (WebCore::SVGResourceClipper::SVGResourceClipper):
1172         (WebCore::SVGResourceClipper::~SVGResourceClipper):
1173         (WebCore::SVGResourceClipper::resetClipData):
1174         (WebCore::SVGResourceClipper::addClipData):
1175         (WebCore::SVGResourceClipper::clipData):
1176         (WebCore::SVGResourceClipper::externalRepresentation):
1177         (WebCore::operator<<):
1178         (WebCore::getClipperById):
1179         * platform/graphics/svg/SVGResourceClipper.h: Added.
1180         (WebCore::ClipDataList::addPath):
1181         (WebCore::SVGResourceClipper::isClipper):
1182         * platform/graphics/svg/SVGResourceImage.h: Added.
1183         * platform/graphics/svg/SVGResourceMarker.cpp: Added.
1184         (WebCore::SVGResourceMarker::SVGResourceMarker):
1185         (WebCore::SVGResourceMarker::~SVGResourceMarker):
1186         (WebCore::SVGResourceMarker::setMarker):
1187         (WebCore::SVGResourceMarker::setRef):
1188         (WebCore::SVGResourceMarker::draw):
1189         (WebCore::SVGResourceMarker::externalRepresentation):
1190         (WebCore::getMarkerById):
1191         * platform/graphics/svg/SVGResourceMarker.h: Added.
1192         (WebCore::SVGResourceMarker::refX):
1193         (WebCore::SVGResourceMarker::refY):
1194         (WebCore::SVGResourceMarker::setAngle):
1195         (WebCore::SVGResourceMarker::setAutoAngle):
1196         (WebCore::SVGResourceMarker::angle):
1197         (WebCore::SVGResourceMarker::setUseStrokeWidth):
1198         (WebCore::SVGResourceMarker::useStrokeWidth):
1199         (WebCore::SVGResourceMarker::isMarker):
1200         * platform/graphics/svg/SVGResourceMasker.cpp: Added.
1201         (WebCore::SVGResourceMasker::SVGResourceMasker):
1202         (WebCore::SVGResourceMasker::~SVGResourceMasker):
1203         (WebCore::SVGResourceMasker::setMask):
1204         (WebCore::SVGResourceMasker::mask):
1205         (WebCore::SVGResourceMasker::externalRepresentation):
1206         (WebCore::getMaskerById):
1207         * platform/graphics/svg/SVGResourceMasker.h: Added.
1208         (WebCore::SVGResourceMasker::isMasker):
1209         * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Added.
1210         (WebCore::SVGResourceClipper::applyClip):
1211         * platform/graphics/svg/cg/SVGResourceImageCg.mm: Added.
1212         (WebCore::SVGResourceImage::SVGResourceImage):
1213         (WebCore::SVGResourceImage::~SVGResourceImage):
1214         (WebCore::SVGResourceImage::init):
1215         (WebCore::SVGResourceImage::size):
1216         (WebCore::SVGResourceImage::cgLayer):
1217         (WebCore::SVGResourceImage::setCGLayer):
1218         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Added.
1219         (WebCore::applyLuminanceToAlphaFilter):
1220         (WebCore::applyExpandAlphatoGrayscaleFilter):
1221         (WebCore::transformImageIntoGrayscaleMask):
1222         (WebCore::SVGResourceMasker::applyMask):
1223         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Added.
1224         (WebCore::SVGResourceClipper::applyClip):
1225         * platform/graphics/svg/qt/SVGResourceImageQt.cpp: Added.
1226         (WebCore::SVGResourceImage::init):
1227         (WebCore::SVGResourceImage::size):
1228         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Added.
1229         (WebCore::SVGResourceMasker::applyMask):
1230         * platform/qt/GraphicsContextQt.cpp:
1231         * rendering/RenderPath.cpp:
1232         (WebCore::RenderPath::paint):
1233         (WebCore::DrawMarkersData::DrawMarkersData):
1234         (WebCore::RenderPath::drawMarkersIfNeeded):
1235         * rendering/RenderSVGContainer.cpp:
1236         (WebCore::RenderSVGContainer::paint):
1237         * rendering/RenderSVGImage.cpp:
1238         (WebCore::RenderSVGImage::paint):
1239         * rendering/SVGInlineFlowBox.cpp:
1240         (WebCore::paintSVGInlineFlow):
1241
1242 2006-10-30  John Sullivan  <sullivan@apple.com>
1243
1244         Reviewed by Brady
1245         
1246         - minor cleanup to make future patches clearer
1247
1248         * bridge/mac/FrameMac.mm:
1249         (WebCore::FrameMac::advanceToNextMisspelling):
1250         renamed misspelling to misspellingNSRange for clarity; changed > 0 test to == 0 test
1251         with "continue" to better match structure of similar code in markMisspellings; a few
1252         other style tweaks.
1253         
1254         (WebCore::FrameMac::markMisspellings):
1255         renamed misspelling to misspellingNSRange for clarity; removed unnecessary braces around
1256         a block just after a break and outdented accordingly.
1257
1258 2006-10-30  John Sullivan  <sullivan@apple.com>
1259
1260         Reviewed by Geoff Garen
1261         
1262         WebCore part of change to push the code that updates the spelling panel
1263         into WebCore, in preparation for some grammar-checking stuff.
1264
1265         * bridge/mac/FrameMac.h:
1266         * bridge/mac/FrameMac.mm:
1267         (WebCore::FrameMac::advanceToNextMisspelling):
1268         no more return value for this method, and update the spelling panel with
1269         the misspelled word here rather than in the WebKit callers.
1270
1271 2006-10-30  Oliver Hunt  <oliver@apple.com>
1272
1273         Reviewed by Anders.
1274
1275         Roll out last patch
1276
1277         * CMakeLists.txt:
1278         * ChangeLog:
1279         * WebCore.xcodeproj/project.pbxproj:
1280         * graphics/svg/SVGResource.cpp:
1281         * graphics/svg/SVGResourceClipper.cpp:
1282         * graphics/svg/SVGResourceClipper.h:
1283         * graphics/svg/SVGResourceImage.h:
1284         * graphics/svg/SVGResourceListener.h:
1285         * graphics/svg/SVGResourceMarker.cpp:
1286         * graphics/svg/SVGResourceMarker.h:
1287         * graphics/svg/SVGResourceMasker.cpp:
1288         * graphics/svg/SVGResourceMasker.h:
1289         * kcanvas/KCanvasClipper.cpp: Added.
1290         (WebCore::operator<<):
1291         (WebCore::KCanvasClipper::KCanvasClipper):
1292         (WebCore::KCanvasClipper::~KCanvasClipper):
1293         (WebCore::KCanvasClipper::resetClipData):
1294         (WebCore::KCanvasClipper::addClipData):
1295         (WebCore::KCanvasClipper::clipData):
1296         (WebCore::KCanvasClipper::externalRepresentation):
1297         (WebCore::getClipperById):
1298         * kcanvas/KCanvasClipper.h: Added.
1299         (WebCore::KCClipData::windRule):
1300         (WebCore::KCClipDataList::KCClipDataList):
1301         (WebCore::KCClipDataList::addPath):
1302         (WebCore::KCanvasClipper::isClipper):
1303         * kcanvas/KCanvasFilters.cpp:
1304         (WebCore::getFilterById):
1305         * kcanvas/KCanvasFilters.h:
1306         * kcanvas/KCanvasImage.h: Added.
1307         (WebCore::KCanvasImage::KCanvasImage):
1308         (WebCore::KCanvasImage::~KCanvasImage):
1309         * kcanvas/KCanvasMarker.cpp: Added.
1310         (WebCore::KCanvasMarker::KCanvasMarker):
1311         (WebCore::KCanvasMarker::~KCanvasMarker):
1312         (WebCore::KCanvasMarker::setMarker):
1313         (WebCore::KCanvasMarker::setRef):
1314         (WebCore::KCanvasMarker::refX):
1315         (WebCore::KCanvasMarker::refY):
1316         (WebCore::KCanvasMarker::setAngle):
1317         (WebCore::KCanvasMarker::angle):
1318         (WebCore::KCanvasMarker::setAutoAngle):
1319         (WebCore::KCanvasMarker::setUseStrokeWidth):
1320         (WebCore::KCanvasMarker::useStrokeWidth):
1321         (WebCore::KCanvasMarker::draw):
1322         (WebCore::KCanvasMarker::externalRepresentation):
1323         (WebCore::getMarkerById):
1324         * kcanvas/KCanvasMarker.h: Added.
1325         (WebCore::KCanvasMarker::isMarker):
1326         * kcanvas/KCanvasMasker.cpp: Added.
1327         (WebCore::KCanvasMasker::KCanvasMasker):
1328         (WebCore::KCanvasMasker::~KCanvasMasker):
1329         (WebCore::KCanvasMasker::setMask):
1330         (WebCore::KCanvasMasker::externalRepresentation):
1331         (WebCore::getMaskerById):
1332         * kcanvas/KCanvasMasker.h: Added.
1333         (WebCore::KCanvasMasker::isMasker):
1334         (WebCore::KCanvasMasker::mask):
1335         * kcanvas/KCanvasResource.cpp: Added.
1336         (WebCore::operator<<):
1337         (WebCore::KCanvasResource::KCanvasResource):
1338         (WebCore::KCanvasResource::~KCanvasResource):
1339         (WebCore::KCanvasResource::addClient):
1340         (WebCore::KCanvasResource::clients):
1341         (WebCore::KCanvasResource::invalidate):
1342         (WebCore::KCanvasResource::idInRegistry):
1343         (WebCore::KCanvasResource::setIdInRegistry):
1344         (WebCore::KCanvasResource::externalRepresentation):
1345         (WebCore::getResourceById):
1346         (WebCore::getPaintServerById):
1347         * kcanvas/KCanvasResource.h:
1348         (WebCore::):
1349         (WebCore::KCanvasResource::isPaintServer):
1350         (WebCore::KCanvasResource::isFilter):
1351         (WebCore::KCanvasResource::isClipper):
1352         (WebCore::KCanvasResource::isMarker):
1353         (WebCore::KCanvasResource::isMasker):
1354         * kcanvas/KCanvasResourceListener.h: Added.
1355         (KCanvasResourceListener::KCanvasResourceListener):
1356         (KCanvasResourceListener::~KCanvasResourceListener):
1357         * kcanvas/KCanvasTreeDebug.cpp:
1358         (WebCore::writeRenderResources):
1359         * kcanvas/device/KRenderingDevice.h:
1360         * kcanvas/device/KRenderingPaintServer.h:
1361         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
1362         (WebCore::KRenderingPaintServer::idInRegistry):
1363         (WebCore::KRenderingPaintServer::setIdInRegistry):
1364         * kcanvas/device/KRenderingPaintServerGradient.cpp:
1365         (WebCore::KRenderingPaintServerGradient::listener):
1366         (WebCore::KRenderingPaintServerGradient::setListener):
1367         * kcanvas/device/KRenderingPaintServerGradient.h:
1368         * kcanvas/device/KRenderingPaintServerPattern.cpp:
1369         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
1370         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
1371         (WebCore::KRenderingPaintServerPattern::tile):
1372         (WebCore::KRenderingPaintServerPattern::setTile):
1373         (WebCore::KRenderingPaintServerPattern::listener):
1374         (WebCore::KRenderingPaintServerPattern::setListener):
1375         * kcanvas/device/KRenderingPaintServerPattern.h:
1376         * kcanvas/device/KRenderingPaintServerSolid.h:
1377         * kcanvas/device/qt/KCanvasClipperQt.cpp:
1378         (WebCore::KCanvasClipperQt::applyClip):
1379         * kcanvas/device/qt/KCanvasClipperQt.h:
1380         (WebCore::KCanvasClipperQt::KCanvasClipperQt):
1381         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1382         (WebCore::KRenderingDeviceQt::contextForImage):
1383         (WebCore::KRenderingDeviceQt::createResource):
1384         (WebCore::KRenderingDeviceQt::createPaintServer):
1385         * kcanvas/device/qt/KRenderingDeviceQt.h:
1386         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
1387         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
1388         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
1389         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
1390         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1391         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
1392         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1393         * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
1394         (WebCore::KCanvasMaskerQuartz::KCanvasMaskerQuartz):
1395         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
1396         (WebCore::applyLuminanceToAlphaFilter):
1397         (WebCore::applyExpandAlphatoGrayscaleFilter):
1398         (WebCore::transformImageIntoGrayscaleMask):
1399         (WebCore::KCanvasMaskerQuartz::applyMask):
1400         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
1401         (WebCore::KCanvasClipperQuartz::KCanvasClipperQuartz):
1402         (WebCore::KCanvasImageQuartz::KCanvasImageQuartz):
1403         (WebCore::KCanvasImageQuartz::init):
1404         (WebCore::KCanvasImageQuartz::size):
1405         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1406         (WebCore::KCanvasClipperQuartz::applyClip):
1407         (WebCore::KCanvasImageQuartz::~KCanvasImageQuartz):
1408         (WebCore::KCanvasImageQuartz::cgLayer):
1409         (WebCore::KCanvasImageQuartz::setCGLayer):
1410         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1411         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1412         (WebCore::KRenderingDeviceQuartz::contextForImage):
1413         (WebCore::KRenderingDeviceQuartz::createPaintServer):
1414         (WebCore::KRenderingDeviceQuartz::createResource):
1415         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1416         (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
1417         (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
1418         (WebCore::KRenderingPaintServerGradientQuartz::setup):
1419         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
1420         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
1421         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1422         (WebCore::patternCallback):
1423         (WebCore::KRenderingPaintServerPatternQuartz::setup):
1424         * kcanvas/device/quartz/QuartzSupport.mm:
1425         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1426         (WebCore::sharedSolidPaintServer):
1427         * ksvg2/svg/SVGClipPathElement.cpp:
1428         (WebCore::SVGClipPathElement::SVGClipPathElement):
1429         (WebCore::SVGClipPathElement::~SVGClipPathElement):
1430         (WebCore::SVGClipPathElement::canvasResource):
1431         * ksvg2/svg/SVGClipPathElement.h:
1432         * ksvg2/svg/SVGFEImageElement.cpp:
1433         * ksvg2/svg/SVGFilterElement.cpp:
1434         (WebCore::SVGFilterElement::SVGFilterElement):
1435         (WebCore::SVGFilterElement::~SVGFilterElement):
1436         (WebCore::SVGFilterElement::canvasResource):
1437         * ksvg2/svg/SVGFilterElement.h:
1438         * ksvg2/svg/SVGGradientElement.cpp:
1439         (WebCore::SVGGradientElement::SVGGradientElement):
1440         (WebCore::SVGGradientElement::~SVGGradientElement):
1441         (WebCore::SVGGradientElement::canvasResource):
1442         (WebCore::SVGGradientElement::resourceNotification):
1443         * ksvg2/svg/SVGGradientElement.h:
1444         * ksvg2/svg/SVGImageElement.cpp:
1445         * ksvg2/svg/SVGLinearGradientElement.cpp:
1446         (WebCore::SVGLinearGradientElement::buildGradient):
1447         * ksvg2/svg/SVGLinearGradientElement.h:
1448         * ksvg2/svg/SVGMarkerElement.cpp:
1449         (WebCore::SVGMarkerElement::SVGMarkerElement):
1450         (WebCore::SVGMarkerElement::~SVGMarkerElement):
1451         (WebCore::SVGMarkerElement::canvasResource):
1452         * ksvg2/svg/SVGMarkerElement.h:
1453         * ksvg2/svg/SVGMaskElement.cpp:
1454         (WebCore::SVGMaskElement::SVGMaskElement):
1455         (WebCore::SVGMaskElement::~SVGMaskElement):
1456         (WebCore::SVGMaskElement::drawMaskerContent):
1457         (WebCore::SVGMaskElement::canvasResource):
1458         * ksvg2/svg/SVGMaskElement.h:
1459         * ksvg2/svg/SVGPatternElement.cpp:
1460         (WebCore::SVGPatternElement::SVGPatternElement):
1461         (WebCore::SVGPatternElement::~SVGPatternElement):
1462         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
1463         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1464         (WebCore::SVGPatternElement::canvasResource):
1465         * ksvg2/svg/SVGPatternElement.h:
1466         * ksvg2/svg/SVGRadialGradientElement.cpp:
1467         (WebCore::SVGRadialGradientElement::buildGradient):
1468         * ksvg2/svg/SVGRadialGradientElement.h:
1469         * ksvg2/svg/SVGStyledElement.h:
1470         (WebCore::SVGStyledElement::canvasResource):
1471         * platform/GraphicsContext.cpp: Added.
1472         (WebCore::GraphicsContextState::GraphicsContextState):
1473         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
1474         (WebCore::GraphicsContext::createGraphicsContextPrivate):
1475         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
1476         (WebCore::GraphicsContext::save):
1477         (WebCore::GraphicsContext::restore):
1478         (WebCore::GraphicsContext::font):
1479         (WebCore::GraphicsContext::setFont):
1480         (WebCore::GraphicsContext::pen):
1481         (WebCore::GraphicsContext::setPen):
1482         (WebCore::GraphicsContext::setFillColor):
1483         (WebCore::GraphicsContext::fillColor):
1484         (WebCore::GraphicsContext::updatingControlTints):
1485         (WebCore::GraphicsContext::setUpdatingControlTints):
1486         (WebCore::GraphicsContext::setPaintingDisabled):
1487         (WebCore::GraphicsContext::paintingDisabled):
1488         (WebCore::GraphicsContext::drawImage):
1489         (WebCore::GraphicsContext::drawText):
1490         (WebCore::GraphicsContext::drawHighlightForText):
1491         (WebCore::GraphicsContext::initFocusRing):
1492         (WebCore::GraphicsContext::clearFocusRing):
1493         (WebCore::GraphicsContext::focusRingBoundingRect):
1494         (WebCore::GraphicsContext::addFocusRingRect):
1495         (WebCore::GraphicsContext::focusRingWidth):
1496         (WebCore::GraphicsContext::focusRingOffset):
1497         (WebCore::GraphicsContext::focusRingRects):
1498         (WebCore::GraphicsContext::drawTiledImage):
1499         * platform/GraphicsContext.h: Added.
1500         * platform/GraphicsTypes.cpp: Added.
1501         (WebCore::):
1502         (WebCore::parseCompositeOperator):
1503         (WebCore::compositeOperatorName):
1504         (WebCore::parseLineCap):
1505         (WebCore::lineCapName):
1506         (WebCore::parseLineJoin):
1507         (WebCore::lineJoinName):
1508         * platform/GraphicsTypes.h: Added.
1509         (WebCore::):
1510         * platform/graphics/GraphicsContext.cpp:
1511         * platform/graphics/GraphicsContext.h:
1512         * platform/graphics/GraphicsTypes.cpp:
1513         * platform/graphics/GraphicsTypes.h:
1514         * platform/qt/GraphicsContextQt.cpp:
1515         * rendering/RenderPath.cpp:
1516         (WebCore::RenderPath::paint):
1517         (WebCore::DrawMarkersData::DrawMarkersData):
1518         (WebCore::RenderPath::drawMarkersIfNeeded):
1519         * rendering/RenderSVGContainer.cpp:
1520         (WebCore::RenderSVGContainer::paint):
1521         * rendering/RenderSVGImage.cpp:
1522         (WebCore::RenderSVGImage::paint):
1523         * rendering/SVGInlineFlowBox.cpp:
1524         (WebCore::paintSVGInlineFlow):
1525
1526 2006-10-30  John Sullivan  <sullivan@apple.com>
1527
1528         Reviewed by Geoff Garen.
1529         
1530         Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
1531         grammar-related method.
1532
1533         * bridge/EditorClient.h:
1534         declare isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
1535         isGrammarCheckingEnabled()
1536         
1537         * bridge/mac/WebCoreFrameBridge.h:
1538         removed bridge equivalents
1539
1540         * bridge/mac/FrameMac.mm:
1541         (WebCore::FrameMac::advanceToNextMisspelling):
1542         convert bridge-using code to editor()->client()-using code
1543         (WebCore::FrameMac::markMisspellingsInAdjacentWords):
1544         ditto
1545         (WebCore::FrameMac::markMisspellings):
1546         ditto
1547         (WebCore::FrameMac::respondToChangedSelection):
1548         ditto
1549         
1550         * editing/Editor.h:
1551         * editing/Editor.cpp:
1552         (WebCore::Editor::client):
1553         new method, returns EditorClient pointer. In an ideal world all the code that needed to
1554         access the EditorClient would be in Editor.cpp, and we wouldn't need this accessor.
1555         But for now it's too tricky to extricate the spelling-related code from FrameMac.mm.
1556
1557 2006-10-30  Geoffrey Garen  <ggaren@apple.com>
1558
1559         Reviewed by Darin.
1560
1561         Removed a number of editing and selection methods from the bridge.
1562         
1563         I moved cross-platform editing and selection code into Editor and 
1564         SelectionController, respecitvely.
1565
1566         I moved ObjC and AppKit stuff up into WebKit, so I ended up exporting
1567         everything + the kitchen sink.
1568         
1569         Specific comments below for interesting things.
1570         
1571         * bindings/objc/DOMInternal.h: Moved exception handling helper methods into
1572         a new file so that WebKit can use them, too. Added a helper method for
1573         handling exceptions when selecting a Range.
1574         * bridge/mac/FrameMac.h: Moved attributedString creation and helper functions into 
1575         WebKit, since they have to do with creating an NSAttributedString for API
1576         consumption, and not much to do with general Frame functionality.
1577         * editing/Editor.h: Moved lastEditCommand tracking (at least the data,
1578         for now) into the Editor. Eventually, the Frame will not have to notify 
1579         the Editor of what the lastEditCommand was, since the Editor will perform
1580         all EditCommands.
1581         * editing/SelectionController.h: The code here is just stuff moved from the bridge.
1582         * editing/SelectionController.cpp:
1583         (WebCore::SelectionController::setSelectedRange): We now explicitly check from DOM exceptions
1584         and return them. The bridge method to select a DOM range did this implicitly,
1585         since all ObjC DOM operations handle DOM exceptions by throwing them as
1586         ObjC exceptions.
1587         * editing/TextAffinity.h: Added helper functions for conversion to NSSelectionAffinity.
1588         The two enumerations are numerically identical, but that's an implementation
1589         detail of TextAffinity that clients shouldn't be required to know about.
1590
1591 2006-10-30  Timothy Hatcher  <timothy@apple.com>
1592
1593         Rolling out the following change because this crash:
1594         <rdar://problem/4806705> REGRESSION: Crash occurs at WebCore::Font::lineSpacing() when loading site (http://www.photoplusexpo.com/ppe/index.jsp) 
1595
1596         And this regression:
1597         <rdar://problem/4728514> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/
1598
1599     2006-09-06  David Harrison  <harrison@apple.com>
1600
1601         Reviewed and tweaked by Tim H. 
1602
1603         <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation 
1604
1605         If we don't find the font in the available fonts list, call [NSFont fontWithName:size:] 
1606         to trigger a search that will include auto activation. No PLT or iBench perf impact. 
1607         No layout tests affected. Not testable in an automated way that will work on all systems. 
1608
1609         * platform/mac/WebFontCache.mm: 
1610         (+[WebFontCache fontWithFamily:traits:size:]): 
1611
1612 2006-10-30  Justin Garcia  <justin.garcia@apple.com>
1613
1614         Reviewed by harrison
1615
1616         <rdar://problem/4808375>
1617         REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) (11460)
1618
1619         * editing/TextIterator.cpp:
1620         (WebCore::TextIterator::exitNode): Only create VisiblePositions
1621         when we're going to use them to create a range for an emitted character.
1622         We should further speed TextIterators up by avoiding creating VisiblePositions
1623         for TIs that are only used for the characters they emit (like the one that 
1624         plainText uses).
1625
1626 2006-10-30  Sam Weinig  <sam.weinig@gmail.com>
1627
1628         Reviewed by Mitz.
1629
1630         Fix for http://bugs.webkit.org/show_bug.cgi?id=11441
1631         More rendering code cleaning
1632
1633         * WebCore.xcodeproj/project.pbxproj:
1634         * rendering/RenderApplet.cpp:
1635         (WebCore::RenderApplet::RenderApplet):
1636         (WebCore::RenderApplet::createWidgetIfNecessary):
1637         * rendering/RenderApplet.h:
1638         * rendering/RenderArena.cpp:
1639         (WebCore::):
1640         (WebCore::RenderArena::RenderArena):
1641         (WebCore::RenderArena::allocate):
1642         (WebCore::RenderArena::free):
1643         * rendering/RenderArena.h:
1644         * rendering/RenderBR.cpp:
1645         (WebCore::RenderBR::RenderBR):
1646         (WebCore::RenderBR::baselinePosition):
1647         (WebCore::RenderBR::lineHeight):
1648         (WebCore::RenderBR::setStyle):
1649         (WebCore::RenderBR::caretMinOffset):
1650         (WebCore::RenderBR::positionForCoordinates):
1651         (WebCore::RenderBR::inlineBox):
1652         * rendering/RenderBR.h:
1653         * rendering/RenderBlock.cpp:
1654         * rendering/RenderBlock.h:
1655         (WebCore::RenderBlock::maxTopMargin):
1656         (WebCore::RenderBlock::maxBottomMargin):
1657         (WebCore::RenderBlock::initMaxMarginValues):
1658         (WebCore::RenderBlock::containsFloats):
1659         (WebCore::RenderBlock::setHasMarkupTruncation):
1660         (WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
1661         (WebCore::RenderBlock::BlockSelectionInfo::block):
1662         (WebCore::RenderBlock::BlockSelectionInfo::state):
1663         (WebCore::RenderBlock::FloatingObject::FloatingObject):
1664         (WebCore::RenderBlock::CompactInfo::clear):
1665         * rendering/RenderButton.cpp:
1666         (WebCore::RenderButton::removeChild):
1667         (WebCore::RenderButton::paintObject):
1668         * rendering/RenderButton.h:
1669         (WebCore::RenderButton::renderName):
1670         (WebCore::RenderButton::removeLeftoverAnonymousBoxes):
1671         * rendering/RenderContainer.cpp:
1672         (WebCore::RenderContainer::RenderContainer):
1673         * rendering/RenderContainer.h:
1674         (WebCore::RenderContainer::firstChild):
1675         (WebCore::RenderContainer::lastChild):
1676         (WebCore::RenderContainer::calcMinMaxWidth):
1677         * rendering/RenderCounter.cpp:
1678         (WebCore::RenderCounter::RenderCounter):
1679         (WebCore::toRoman):
1680         (WebCore::toHebrew):
1681         (WebCore::RenderCounter::calcMinMaxWidth):
1682         * rendering/RenderCounter.h:
1683         * rendering/RenderFieldset.cpp:
1684         (WebCore::RenderFieldset::paintBoxDecorations):
1685         (WebCore::RenderFieldset::paintBorderMinusLegend):
1686         (WebCore::RenderFieldset::setStyle):
1687         * rendering/RenderFileUploadControl.cpp:
1688         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
1689         (WebCore::RenderFileUploadControl::setStyle):
1690         (WebCore::RenderFileUploadControl::paintObject):
1691         (WebCore::RenderFileUploadControl::calcMinMaxWidth):
1692         * rendering/RenderFileUploadControl.h:
1693         (WebCore::RenderFileUploadControl::renderName):
1694         * rendering/RenderFlexibleBox.h:
1695         * rendering/RenderFlow.cpp:
1696         * rendering/RenderFlow.h:
1697         * rendering/RenderForeignObject.cpp:
1698         (WebCore::RenderForeignObject::RenderForeignObject):
1699         (WebCore::RenderForeignObject::paint):
1700         (WebCore::RenderForeignObject::computeAbsoluteRepaintRect):
1701         (WebCore::RenderForeignObject::layout):
1702         (WebCore::RenderForeignObject::nodeAtPoint):
1703         * rendering/RenderForeignObject.h:
1704         (WebCore::RenderForeignObject::renderName):
1705         * rendering/RenderFormElement.cpp:
1706         (WebCore::RenderFormElement::setStyle):
1707         (WebCore::RenderFormElement::layout):
1708         (WebCore::RenderFormElement::textAlignment):
1709         * rendering/RenderFormElement.h:
1710         * rendering/RenderFrame.cpp:
1711         * rendering/RenderFrame.h:
1712         (WebCore::RenderFrame::element):
1713         * rendering/RenderFrameSet.cpp:
1714         * rendering/RenderFrameSet.h:
1715         (WebCore::RenderFrameSet::element):
1716         * rendering/RenderHTMLCanvas.cpp:
1717         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
1718         (WebCore::RenderHTMLCanvas::paint):
1719         * rendering/RenderHTMLCanvas.h:
1720         (WebCore::RenderHTMLCanvas::renderName):
1721         * rendering/RenderImage.cpp:
1722         (WebCore::RenderImage::RenderImage):
1723         (WebCore::RenderImage::setStyle):
1724         (WebCore::RenderImage::setContentObject):
1725         (WebCore::RenderImage::setCachedImage):
1726         (WebCore::RenderImage::imageChanged):
1727         (WebCore::RenderImage::paint):
1728         (WebCore::RenderImage::layout):
1729         (WebCore::RenderImage::updateAltText):
1730         * rendering/RenderImage.h:
1731         (WebCore::RenderImage::element):
1732         * rendering/RenderInline.cpp:
1733         (WebCore::RenderInline::RenderInline):
1734         (WebCore::RenderInline::~RenderInline):
1735         (WebCore::RenderInline::setStyle):
1736         (WebCore::RenderInline::addChildToFlow):
1737         (WebCore::RenderInline::cloneInline):
1738         (WebCore::RenderInline::splitInlines):
1739         (WebCore::RenderInline::splitFlow):
1740         (WebCore::RenderInline::paint):
1741         (WebCore::RenderInline::absoluteRects):
1742         (WebCore::RenderInline::calcMinMaxWidth):
1743         (WebCore::RenderInline::requiresLayer):
1744         (WebCore::RenderInline::width):
1745         (WebCore::RenderInline::height):
1746         (WebCore::RenderInline::renderName):
1747         (WebCore::RenderInline::nodeAtPoint):
1748         (WebCore::RenderInline::positionForCoordinates):
1749         * rendering/RenderInline.h:
1750         (WebCore::RenderInline::layout):
1751         * rendering/RenderLayer.cpp:
1752         * rendering/RenderLayer.h:
1753         (WebCore::ClipRects::ClipRects):
1754         (WebCore::RenderLayer::nextSibling):
1755         (WebCore::RenderLayer::root):
1756         (WebCore::RenderLayer::setPos):
1757         (WebCore::RenderLayer::height):
1758         (WebCore::RenderLayer::relativePositionOffset):
1759         * rendering/RenderLineEdit.cpp:
1760         (WebCore::RenderLineEdit::setStyle):
1761         (WebCore::RenderLineEdit::updateFromElement):
1762         (WebCore::RenderLineEdit::selectionStart):
1763         (WebCore::RenderLineEdit::selectionEnd):
1764         (WebCore::RenderLineEdit::setSelectionStart):
1765         (WebCore::RenderLineEdit::setSelectionEnd):
1766         (WebCore::RenderLineEdit::setSelectionRange):
1767         * rendering/RenderLineEdit.h:
1768         * rendering/RenderListBox.cpp:
1769         * rendering/RenderListBox.h:
1770         (WebCore::RenderListBox::renderName):
1771         * rendering/RenderListItem.cpp:
1772         (WebCore::RenderListItem::setStyle):
1773         (WebCore::getParentOfFirstLineBox):
1774         (WebCore::RenderListItem::updateMarkerLocation):
1775         (WebCore::RenderListItem::positionListMarker):
1776         (WebCore::RenderListItem::paint):
1777         * rendering/RenderListItem.h:
1778         * rendering/RenderListMarker.cpp:
1779         * rendering/RenderListMarker.h:
1780         (WebCore::RenderListMarker::renderName):
1781         (WebCore::RenderListMarker::isListMarker):
1782
1783 2006-10-30  Timothy Hatcher  <timothy@apple.com>
1784
1785         Reviewed by Hyatt.
1786
1787         <rdar://problem/4478625> Basic table editing and culling
1788
1789         Refined the criteria for deletable elements, rely on the renderer more.
1790         Corrected the interface positioning for elements that have borders.
1791
1792         * editing/DeleteButtonController.cpp:
1793         (WebCore::isDeletableElement):
1794         (WebCore::DeleteButtonController::show):
1795
1796 2006-10-30  Darin Adler  <darin@apple.com>
1797
1798         - fix build
1799
1800         * loader/ResourceLoader.h: Added header guard.
1801
1802 2006-10-31  Darin Adler  <darin@apple.com>
1803
1804         Reviewed by Adam.
1805
1806         - fix FrameLoader files so they can be built on non-Mac platforms
1807
1808         * page/FramePrivate.h:
1809         (WebCore::FramePrivate::FramePrivate): Added code to create the frame loader.
1810         (WebCore::FramePrivate::~FramePrivate): Added code to delete the frame loader.
1811
1812         * page/Page.h:
1813         * page/Page.cpp: (WebCore::Page::setDefersLoading): Removed the
1814         #if PLATFORM(MAC) that Adam added as a stop-gap when I did this wrong
1815         the other day.
1816
1817         * bridge/mac/FrameMac.mm:
1818         (WebCore::FrameMac::FrameMac): Removed code to create the frame loader.
1819         (WebCore::FrameMac::~FrameMac): Removed code to delete the frame loader.
1820
1821         * loader/FrameLoader.h: Changed import to include, added #if PLATFORM(MAC)
1822         around the PolicyCheck definition.
1823
1824         * loader/FormState.cpp: Changed import to include.
1825         * loader/FrameLoader.cpp: Ditto.
1826         * loader/MainResourceLoader.h: Ditto.
1827
1828         * loader/FrameLoaderTypes.h: Added a header guard.
1829
1830         * loader/NetscapePlugInStreamLoader.h: Changed import to include.
1831         Added #if PLATFORM(MAC) around Mac-specific details.
1832         * loader/SubresourceLoader.h: Ditto.
1833
1834         * page/Frame.cpp: (WebCore::Frame::loader): Updated name of loader to
1835         m_loader from m_frameLoader.
1836
1837         * CMakeLists.txt: Updated.
1838         * WebCoreSources.bkl: Updated.
1839
1840 2006-10-30  Nikolas Zimmermann  <zimmermann@kde.org>
1841
1842         Reviewed and landed by Anders.
1843
1844         Patch by Zack rusin to fix: 
1845         http://bugs.webkit.org/show_bug.cgi?id=11429
1846
1847         Fix startup crash.
1848
1849         * platform/qt/FrameQtClient.cpp:
1850         (WebCore::FrameQtClientDefault::openURL):
1851
1852 2006-10-30  Zach Rusin  <zack@kde.org>
1853
1854         Reviewed and landed by Anders.
1855
1856         * platform/network/qt/ResourceHandleQt.cpp:
1857         (WebCore::ResourceHandle::receivedResponse):
1858         * platform/qt/FrameQtClient.cpp:
1859         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
1860         * platform/qt/LoaderFunctionsQt.cpp:
1861         (WebCore::ServeSynchronousRequest):
1862         More build fixes.
1863
1864 2006-10-30  Simon Hausmann  <hausmann@kde.org>
1865
1866         Reviewed and landed by Anders.
1867         
1868         - fix Qt build
1869         * platform/qt/FrameQtClient.cpp: ResourceLoaderClient ->
1870         ResourceHandleClient
1871
1872 2006-10-30  Darin Adler  <darin@apple.com>
1873
1874         Reviewed by John Sullivan.
1875
1876         - work toward removing Objective-C data types from FrameLoader.h:
1877           removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
1878           and WebCoreResourceHandle
1879         - moved bodyBackgroundColor function from Frame to WebFrame in WebKit
1880
1881         * page/PageState.h:
1882         * page/PageState.cpp: Added, C++ class with much of what WebCorePageState had.
1883
1884         * bridge/mac/FrameMac.h: Removed uneeeded declarations and bodyBackgroundColor().
1885         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::startRedirectionTimer): Use a
1886         double for the date instead of an NSDate.
1887
1888         * bridge/mac/WebCoreFrameBridge.h:
1889         * bridge/mac/WebCoreFrameBridge.mm: Removed invalidatePageCache and
1890         saveDocumentToPageCache methods.
1891
1892         * bridge/mac/WebCorePageState.h:
1893         * bridge/mac/WebCorePageState.mm: Removed most of the class and turned it into
1894         an Objective-C wrapper for PageState.
1895
1896         * loader/FrameLoader.h: Removed unused Objective-C types, eliminated use of
1897         NSDate and WebCorePageState.
1898         * loader/FrameLoaderClient.h: Changed NSDate to double.
1899         * loader/mac/FrameLoaderMac.mm:
1900         (WebCore::FrameLoader::receivedMainResourceError): Moved call to setInPageCache
1901         here that used to be in invalidateCurrentItemPageCache on the WebKit side.
1902         (WebCore::FrameLoader::clientRedirected): Changed NSDate to double for date.
1903         (WebCore::FrameLoader::open): Moved one of the open functions that was part of
1904         commitProvisionalLoad inside the commitProvisionalLoad function, so that it can
1905         extract the parameters from the response. Changed the open function that takes
1906         a PageState to use the new C++ PageState.
1907         (WebCore::FrameLoader::commitProvisionalLoad): Added the code from the open
1908         function; tightened up logic, removing a few cases that could never happen, as
1909         well as the unused reload boolean.
1910
1911         * ForwardingHeaders/kjs/property_map.h: Added.
1912
1913         * WebCore.exp: Updated.
1914         * WebCore.xcodeproj/project.pbxproj: Updated.
1915
1916 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
1917
1918         Reviewed by Anders.
1919
1920         - added ResourceResponse class and didReceiveResponse delegate call
1921         
1922         * WebCore.xcodeproj/project.pbxproj: Added new files.
1923         * bridge/mac/WebCoreFrameBridge.h: Removed no longer needed
1924         expiresTimeForResponse: method.
1925         * dom/XMLTokenizer.cpp:
1926         (WebCore::openFunc): Updated to use ResourceResponse.
1927         * loader/FrameLoader.h: Update loadResourceSynchronously to
1928         use ResourceResponse.
1929         * loader/LoaderFunctions.h:
1930         * loader/icon/IconLoader.cpp:
1931         (IconLoader::didReceiveResponse): Updated from receivedResponse
1932         and made cross-platform.
1933         * loader/icon/IconLoader.h: updated for above change
1934         * loader/loader.cpp:
1935         (WebCore::Loader::receivedResponse): reduced to just saving
1936         the PlatformResponse (ideally we'd phase out use of this).
1937         (WebCore::Loader::didReceivedResponse): most of the ReceivedResponse 
1938         logic.
1939         * loader/loader.h:
1940         * loader/mac/FrameLoaderMac.mm:
1941         (WebCore::FrameLoader::loadResourceSynchronously): Return results
1942         as ResourceResponse.
1943         * loader/mac/IconLoaderMac.mm: remove receivedResponse.
1944         * loader/mac/LoaderFunctionsMac.mm:
1945         (WebCore::ServeSynchronousRequest): take ResourceResponse as
1946         argument.
1947         * platform/network/ResourceHandle.cpp:
1948         * platform/network/ResourceHandle.h: Remove calls for
1949         broken out response pieces.
1950         * platform/network/ResourceHandleClient.h:
1951         (WebCore::ResourceHandleClient::didReceiveResponse): New
1952         delegate method.
1953         * platform/network/ResourceHandleInternal.h:
1954         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Remove
1955         storage of response bits, we're not gonna return them
1956         seprately any more.
1957         * platform/network/ResourceResponse.h: Added.
1958         (WebCore::ResourceResponse::ResourceResponse): Freshly
1959         implemented. Same for below.
1960         (WebCore::ResourceResponse::url):
1961         (WebCore::ResourceResponse::mimeType):
1962         (WebCore::ResourceResponse::expectedContentLength):
1963         (WebCore::ResourceResponse::textEncodingName):
1964         (WebCore::ResourceResponse::suggestedFilename):
1965         (WebCore::ResourceResponse::httpStatusCode):
1966         (WebCore::ResourceResponse::setHTTPStatusCode):
1967         (WebCore::ResourceResponse::httpHeaderField):
1968         (WebCore::ResourceResponse::httpHeaderFields):
1969         (WebCore::ResourceResponse::isMultipart):
1970         (WebCore::ResourceResponse::setExpirationDate):
1971         (WebCore::ResourceResponse::expirationDate):
1972         * platform/network/cf/ResourceHandleCFNet.cpp:
1973         (WebCore::didReceiveResponse): Send didReceiveResponse
1974         client method.
1975         * platform/network/cf/ResourceResponseCFNet.h: Added.
1976         * platform/network/cf/ResourceResponseCFNet.mm: Added.
1977         (getResourceResponse): Helper function to get a ResourceResponse 
1978         from CFURLResponseRef.
1979         * platform/network/mac/ResourceHandleMac.mm:
1980         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1981         Don't bother cleaning up fields we no longer have.
1982         (WebCore::ResourceHandle::receivedResponse): Send
1983         didReceiveResponse client method.
1984         * platform/network/mac/ResourceResponseMac.h: Added.
1985         * platform/network/mac/ResourceResponseMac.mm: Added.
1986         (getResourceResponse): Helper function to get a ResourceResponse 
1987         from an NSURLResponse*.
1988         * rendering/HitTestResult.cpp:
1989         * xml/XSLTProcessor.cpp:
1990         (WebCore::docLoaderFunc): Prepare for use of ResourceResponse.
1991         * xml/xmlhttprequest.cpp:
1992         (WebCore::XMLHttpRequest::getResponseText): Store http response
1993         info in the form of a ResourceResponse, change all methods to
1994         account for this.
1995         (WebCore::XMLHttpRequest::getResponseXML):
1996         (WebCore::XMLHttpRequest::XMLHttpRequest):
1997         (WebCore::XMLHttpRequest::open):
1998         (WebCore::XMLHttpRequest::send):
1999         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2000         (WebCore::XMLHttpRequest::getResponseHeader):
2001         (WebCore::XMLHttpRequest::getStatus):
2002         (WebCore::XMLHttpRequest::getStatusText):
2003         (WebCore::XMLHttpRequest::processSyncLoadResults):
2004         (WebCore::XMLHttpRequest::didFinishLoading):
2005         (WebCore::XMLHttpRequest::didReceiveResponse):
2006         (WebCore::XMLHttpRequest::didReceiveData):
2007         * xml/xmlhttprequest.h:
2008
2009 2006-10-29  Darin Adler  <darin@apple.com>
2010
2011         - fix build
2012
2013         * loader/DocumentLoader.h: Add declarations so this compiles without ObjC.
2014         * loader/NetscapePlugInStreamLoader.h: Ditto.
2015         * loader/ResourceLoader.h: Ditto.
2016
2017 2006-10-29  Darin Adler  <darin@apple.com>
2018
2019         - one last name change -- WebFormState.h to FormState.h
2020         - added more empty placeholder platform-independent files
2021           for currently-Mac-specific loader classes
2022
2023         * loader/FormState.cpp: Updated include.
2024         * loader/FrameLoader.cpp: Updated include.
2025         * loader/mac/FrameLoaderMac.mm: Updated include.
2026
2027         * loader/WebFormState.h: Removed.
2028         * loader/FormState.h: Added.
2029
2030         * loader/DocumentLoader.cpp: Added.
2031         * loader/MainResourceLoader.cpp: Added.
2032         * loader/NetscapePlugInStreamLoader.cpp: Added.
2033         * loader/ResourceLoader.cpp: Added.
2034         * loader/SubresourceLoader.cpp: Added.
2035
2036         * WebCore.xcodeproj/project.pbxproj: Updated for changes above.
2037
2038 2006-10-29  Darin Adler  <darin@apple.com>
2039
2040         - did the do-webcore-rename renames, including a number of changes
2041           to the names of loader files (and WebResourceLoader -> ResourceLoader),
2042           jScript() to scriptProxy(), jScriptEnabled() to javaScriptEnabled(),
2043           and improvements to the names of decoder classes and their source
2044           files (Decoder -> TextResourceDecoder, StreamingTextDecoder -> TextCodec)
2045
2046         * CMakeLists.txt:
2047         * WebCore.exp:
2048         * WebCore.vcproj/WebCore/WebCore.vcproj:
2049         * WebCore.xcodeproj/project.pbxproj:
2050         * WebCoreSources.bkl:
2051         * bindings/js/kjs_binding.cpp:
2052         (KJS::ScriptInterpreter::updateDOMNodeDocument):
2053         * bindings/js/kjs_events.cpp:
2054         (KJS::JSAbstractEventListener::handleEvent):
2055         (KJS::JSLazyEventListener::parseCode):
2056         * bindings/js/kjs_html.cpp:
2057         (KJS::JSHTMLElement::implementsCall):
2058         * bindings/js/kjs_traversal.cpp:
2059         (KJS::JSNodeFilterCondition::acceptNode):
2060         * bindings/js/kjs_window.cpp:
2061         (KJS::Window::interpreter):
2062         (KJS::Window::retrieveWindow):
2063         (KJS::Window::retrieve):
2064         (KJS::ScheduledAction::execute):
2065         * bindings/objc/DOMInternal.mm:
2066         (-[WebScriptObject _initializeScriptDOMNodeImp]):
2067         * bridge/mac/FrameMac.mm:
2068         (WebCore::FrameMac::executionContextForDOM):
2069         (WebCore::FrameMac::bindingRootObject):
2070         (WebCore::FrameMac::windowScriptObject):
2071         (WebCore::FrameMac::windowScriptNPObject):
2072         (WebCore::FrameMac::partClearedInBegin):
2073         * bridge/mac/WebCoreEncodings.mm:
2074         * bridge/mac/WebCoreFrameBridge.mm:
2075         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
2076         (-[WebCoreFrameBridge stringWithData:]):
2077         (-[WebCoreFrameBridge executionContextForView:]):
2078         * bridge/win/FrameWin.cpp:
2079         * dom/Document.cpp:
2080         (WebCore::Document::inputEncoding):
2081         (WebCore::Document::setCharset):
2082         (WebCore::Document::createHTMLEventListener):
2083         (WebCore::Document::setDecoder):
2084         * dom/Document.h:
2085         (WebCore::Document::decoder):
2086         * dom/EventTargetNode.cpp:
2087         (WebCore::EventTargetNode::dispatchGenericEvent):
2088         * html/HTMLParser.cpp:
2089         (WebCore::HTMLParser::noscriptCreateErrorCheck):
2090         (WebCore::HTMLParser::canvasCreateErrorCheck):
2091         (WebCore::HTMLParser::isInline):
2092         * html/HTMLPlugInElement.cpp:
2093         (WebCore::HTMLPlugInElement::createNPObject):
2094         * html/HTMLScriptElement.cpp:
2095         (WebCore::HTMLScriptElement::evaluateScript):
2096         * html/HTMLTokenizer.cpp:
2097         (WebCore::HTMLTokenizer::parseTag):
2098         (WebCore::HTMLTokenizer::processToken):
2099         * ksvg2/misc/SVGDocumentExtensions.cpp:
2100         (WebCore::SVGDocumentExtensions::createSVGEventListener):
2101         * loader/CachedCSSStyleSheet.cpp:
2102         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
2103         (WebCore::CachedCSSStyleSheet::setEncoding):
2104         * loader/CachedCSSStyleSheet.h:
2105         * loader/CachedXBLDocument.cpp:
2106         (WebCore::CachedXBLDocument::CachedXBLDocument):
2107         (WebCore::CachedXBLDocument::setEncoding):
2108         * loader/CachedXBLDocument.h:
2109         * loader/CachedXSLStyleSheet.cpp:
2110         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
2111         (WebCore::CachedXSLStyleSheet::setEncoding):
2112         * loader/CachedXSLStyleSheet.h:
2113         * loader/Decoder.cpp: Removed.
2114         * loader/Decoder.h: Removed.
2115         * loader/FrameLoader.cpp:
2116         * loader/FrameLoader.h:
2117         * loader/FrameLoaderClient.h:
2118         * loader/MainResourceLoader.h: Added.
2119         * loader/NetscapePlugInStreamLoader.h: Added.
2120         * loader/Request.h:
2121         (WebCore::Request::cachedResource):
2122         * loader/ResourceLoader.h: Added.
2123         * loader/SubresourceLoader.h: Added.
2124         * loader/TextResourceDecoder.cpp: Added.
2125         (WebCore::TextResourceDecoder::determineContentType):
2126         (WebCore::TextResourceDecoder::defaultEncoding):
2127         (WebCore::TextResourceDecoder::TextResourceDecoder):
2128         (WebCore::TextResourceDecoder::~TextResourceDecoder):
2129         (WebCore::TextResourceDecoder::setEncoding):
2130         (WebCore::TextResourceDecoder::checkForBOM):
2131         (WebCore::TextResourceDecoder::checkForCSSCharset):
2132         (WebCore::TextResourceDecoder::checkForHeadCharset):
2133         (WebCore::TextResourceDecoder::detectJapaneseEncoding):
2134         (WebCore::TextResourceDecoder::decode):
2135         (WebCore::TextResourceDecoder::flush):
2136         * loader/TextResourceDecoder.h: Added.
2137         * loader/WebDocumentLoader.h: Removed.
2138         * loader/WebLoader.h: Removed.
2139         * loader/WebMainResourceLoader.h: Removed.
2140         * loader/WebNetscapePlugInStreamLoader.h: Removed.
2141         * loader/WebSubresourceLoader.h: Removed.
2142         * loader/loader.cpp:
2143         (WebCore::Loader::servePendingRequests):
2144         (WebCore::Loader::receivedAllData):
2145         (WebCore::Loader::receivedResponse):
2146         (WebCore::Loader::didReceiveData):
2147         (WebCore::Loader::cancelRequests):
2148         (WebCore::Loader::jobForRequest):
2149         * loader/mac/DocumentLoaderMac.mm:
2150         * loader/mac/FormDataStream.m: Added.
2151         * loader/mac/FrameLoaderMac.mm:
2152         (WebCore::FrameLoader::cancelPendingArchiveLoad):
2153         (WebCore::FrameLoader::addPlugInStreamLoader):
2154         (WebCore::FrameLoader::removePlugInStreamLoader):
2155         (WebCore::FrameLoader::addSubresourceLoader):
2156         (WebCore::FrameLoader::removeSubresourceLoader):
2157         (WebCore::FrameLoader::willSendRequest):
2158         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
2159         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
2160         (WebCore::FrameLoader::didReceiveResponse):
2161         (WebCore::FrameLoader::didReceiveData):
2162         (WebCore::FrameLoader::didFinishLoad):
2163         (WebCore::FrameLoader::didFailToLoad):
2164         (WebCore::FrameLoader::open):
2165         (WebCore::FrameLoader::willUseArchive):
2166         (WebCore::FrameLoader::isArchiveLoadPending):
2167         * loader/mac/ImageDocumentMac.mm:
2168         * loader/mac/LoaderFunctionsMac.mm:
2169         (WebCore::CheckCacheObjectStatus):
2170         * loader/mac/MainResourceLoaderMac.mm:
2171         (WebCore::MainResourceLoader::MainResourceLoader):
2172         (WebCore::MainResourceLoader::releaseDelegate):
2173         (WebCore::MainResourceLoader::didCancel):
2174         (WebCore::MainResourceLoader::addData):
2175         (WebCore::MainResourceLoader::willSendRequest):
2176         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2177         (WebCore::MainResourceLoader::didReceiveData):
2178         (WebCore::MainResourceLoader::didFinishLoading):
2179         (WebCore::MainResourceLoader::setDefersLoading):
2180         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
2181         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
2182         (WebCore::NetscapePlugInStreamLoader::releaseResources):
2183         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
2184         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
2185         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
2186         (WebCore::NetscapePlugInStreamLoader::didFail):
2187         (WebCore::NetscapePlugInStreamLoader::didCancel):
2188         * loader/mac/ResourceLoaderMac.mm:
2189         (WebCore::ResourceLoader::ResourceLoader):
2190         (WebCore::ResourceLoader::~ResourceLoader):
2191         (WebCore::ResourceLoader::releaseResources):
2192         (WebCore::ResourceLoader::load):
2193         (WebCore::ResourceLoader::setDefersLoading):
2194         (WebCore::ResourceLoader::frameLoader):
2195         (WebCore::ResourceLoader::addData):
2196         (WebCore::ResourceLoader::resourceData):
2197         (WebCore::ResourceLoader::clearResourceData):
2198         (WebCore::ResourceLoader::willSendRequest):
2199         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2200         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2201         (WebCore::ResourceLoader::didReceiveResponse):
2202         (WebCore::ResourceLoader::didReceiveData):
2203         (WebCore::ResourceLoader::willStopBufferingData):
2204         (WebCore::ResourceLoader::didFinishLoading):
2205         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2206         (WebCore::ResourceLoader::didFail):
2207         (WebCore::ResourceLoader::willCacheResponse):
2208         (WebCore::ResourceLoader::didCancel):
2209         (WebCore::ResourceLoader::cancel):
2210         (WebCore::ResourceLoader::setIdentifier):
2211         (WebCore::ResourceLoader::response):
2212         (WebCore::ResourceLoader::inConnectionCallback):
2213         (WebCore::ResourceLoader::cancelledError):
2214         (WebCore::ResourceLoader::receivedCredential):
2215         (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
2216         (WebCore::ResourceLoader::receivedCancellation):
2217         (WebCore::ResourceLoader::delegate):
2218         (WebCore::ResourceLoader::releaseDelegate):
2219         (-[WebCoreResourceLoaderAsDelegate initWithLoader:]):
2220         * loader/mac/SubresourceLoaderMac.mm:
2221         (WebCore::SubresourceLoader::SubresourceLoader):
2222         (WebCore::SubresourceLoader::willSendRequest):
2223         (WebCore::SubresourceLoader::didReceiveResponse):
2224         (WebCore::SubresourceLoader::didReceiveData):
2225         (WebCore::SubresourceLoader::didFinishLoading):
2226         (WebCore::SubresourceLoader::didFail):
2227         (WebCore::SubresourceLoader::didCancel):
2228         * loader/mac/WebFormDataStream.h: Removed.
2229         * loader/mac/WebFormDataStream.m: Removed.
2230         * page/Frame.cpp:
2231         (WebCore::Frame::javaScriptEnabled):
2232         (WebCore::Frame::scriptProxy):
2233         (WebCore::Frame::executeScript):
2234         (WebCore::Frame::write):
2235         (WebCore::Frame::userGestureHint):
2236         (WebCore::Frame::saveInterpreterBuiltins):
2237         (WebCore::Frame::restoreInterpreterBuiltins):
2238         (WebCore::Frame::backslashAsCurrencySymbol):
2239         * page/Frame.h:
2240         * page/FramePrivate.h:
2241         * platform/StreamingTextDecoder.cpp: Removed.
2242         * platform/StreamingTextDecoder.h: Removed.
2243         * platform/StreamingTextDecoderICU.cpp: Removed.
2244         * platform/StreamingTextDecoderICU.h: Removed.
2245         * platform/TextCodec.cpp: Added.
2246         * platform/TextCodec.h: Added.
2247         * platform/TextCodecICU.cpp: Added.
2248         * platform/TextCodecICU.h: Added.
2249         * platform/TextCodecLatin1.h:
2250         * platform/TextCodecUTF16.h:
2251         * platform/TextDecoder.h:
2252         * platform/TextEncoding.cpp:
2253         * platform/TextEncodingRegistry.cpp:
2254         * platform/image-decoders/jpeg/jmorecfg.h:
2255         * platform/mac/StreamingTextDecoderMac.cpp: Removed.
2256         * platform/mac/StreamingTextDecoderMac.h: Removed.
2257         * platform/mac/TextCodecMac.cpp: Added.
2258         * platform/mac/TextCodecMac.h: Added.
2259         * platform/network/ResourceHandleInternal.h:
2260         * platform/network/mac/ResourceHandleMac.mm:
2261         * platform/qt/FrameQt.cpp:
2262         (WebCore::FrameQt::bindingRootObject):
2263         * platform/qt/LoaderFunctionsQt.cpp:
2264         (WebCore::CheckCacheObjectStatus):
2265         * rendering/RenderObject.cpp:
2266         (WebCore::RenderObject::backslashAsCurrencySymbol):
2267         * xml/XSLTProcessor.cpp:
2268         (WebCore::XSLTProcessor::createDocumentFromSource):
2269         * xml/xmlhttprequest.cpp:
2270         (WebCore::XMLHttpRequest::didReceiveData):
2271         * xml/xmlhttprequest.h:
2272
2273 2006-10-29  Darin Adler  <darin@apple.com>
2274
2275         Rubber stamped by Adam (kinda).
2276
2277         - add Mac suffixes and correct filenames inside loader/mac
2278
2279         * WebCore.xcodeproj/project.pbxproj: Updated for changes below.
2280
2281         * loader/mac/FrameLoader.mm: Removed.
2282         * loader/mac/WebDocumentLoader.mm: Removed.
2283         * loader/mac/WebLoader.mm: Removed.
2284         * loader/mac/WebMainResourceLoader.mm: Removed.
2285         * loader/mac/WebNetscapePlugInStreamLoader.mm: Removed.
2286         * loader/mac/WebSubresourceLoader.mm: Removed.
2287
2288         * loader/mac/FrameLoaderMac.mm: Added.
2289         * loader/mac/DocumentLoaderMac.mm: Added.
2290         * loader/mac/ResourceLoaderMac.mm: Added.
2291         * loader/mac/MainResourceLoaderMac.mm: Added.
2292         * loader/mac/WebNetscapePlugInStreamLoaderMac.mm: Added.
2293         * loader/mac/SubresourceLoaderMac.mm: Removed.
2294
2295 2006-10-29  Darin Adler  <darin@apple.com>
2296
2297         Reviewed by Adam.
2298
2299         - moving towards use of FrameLoader cross-platform; get FrameLoader.h
2300           and FrameLoader.cpp mostly ready
2301
2302         * WebCore.xcodeproj/project.pbxproj: Added FrameLoader.cpp and
2303         FormState.cpp. Removed WebFormState.mm.
2304
2305         * loader/FrameLoader.h: Put in lots of #if statements to see if we can
2306         get this header compiling on non-Mac.
2307         * loader/FrameLoader.cpp: Added. Has non-Mac-specific bits of FrameLoader.
2308         * loader/mac/FrameLoader.mm: Moved some non-Mac-specific bits out.
2309
2310         * loader/FrameLoaderClient.h: Added some ifdefs.
2311         * loader/WebDocumentLoader.h: Ditto.
2312         * loader/WebLoader.h: Ditto.
2313         * loader/WebMainResourceLoader.h: Ditto.
2314
2315         * loader/mac/WebDocumentLoader.mm:
2316         (WebCore::DocumentLoader::isLoadingInAPISense):
2317         Rewrote to work without bridge, partly to remove the need for ObjC
2318         bridge type in the header, and also because we're tearing down the bridge.
2319
2320         * loader/mac/WebMainResourceLoader.mm:
2321         (WebCore::MainResourceLoader::MainResourceLoader): Removed unused
2322         m_contentLength and m_bytesReceived.
2323         (WebCore::MainResourceLoader::didReceiveResponse): Ditto.
2324         (WebCore::MainResourceLoader::didReceiveData): Ditto.
2325
2326         * bridge/mac/WebCoreFrameBridge.h: Removed doneProcessingData.
2327         * bridge/mac/WebCoreFrameBridge.mm: Ditto.
2328
2329         * loader/mac/FormState.mm: Removed.
2330         * loader/FormState.cpp: Added.
2331
2332 2006-10-29  Darin Adler  <darin@apple.com>
2333
2334         Rubber stamped by Adam.
2335
2336         - moving towards use of FrameLoader cross-platform; move the headers
2337           for the Mac loader from loader/mac into loader, in preparation for
2338           making them useful on non-Mac
2339
2340         * WebCore.xcodeproj/project.pbxproj:
2341
2342         * loader/mac/FrameLoader.h: Removed.
2343         * loader/mac/WebDocumentLoader.h: Removed.
2344         * loader/mac/WebFormState.h: Removed.
2345         * loader/mac/WebLoader.h: Removed.
2346         * loader/mac/WebMainResourceLoader.h: Removed.
2347         * loader/mac/WebNetscapePlugInStreamLoader.h: Removed.
2348         * loader/mac/WebSubresourceLoader.h: Removed.
2349
2350         * loader/FrameLoader.h: Added.
2351         * loader/WebDocumentLoader.h: Added.
2352         * loader/WebFormState.h: Added.
2353         * loader/WebLoader.h: Added.
2354         * loader/WebMainResourceLoader.h: Added.
2355         * loader/WebNetscapePlugInStreamLoader.h: Added.
2356         * loader/WebSubresourceLoader.h: Added.
2357
2358 2006-10-29  Adam Roben  <aroben@apple.com>
2359
2360         Reviewed by Geoff.
2361
2362         Finish Darin's clean up of the use of __APPLE__ in WebCore, begun in
2363         r17405.
2364
2365         * platform/DeprecatedString.h:
2366
2367 2006-10-29  Beth Dakin  <bdakin@apple.com>
2368
2369         Rubber stamped by Geoff.
2370
2371         This is a followup to my HitTestResult checkin. Most of the 
2372         HitTestResult local variables in the code were named i or info for 
2373         when the class was named NodeInfo. This patch renames all of these 
2374         local variables to result.
2375
2376         * dom/Document.cpp:
2377         (WebCore::Document::prepareMouseEvent):
2378         * html/HTMLAreaElement.cpp:
2379         (WebCore::HTMLAreaElement::mapMouseEvent):
2380         * html/HTMLMapElement.cpp:
2381         (WebCore::HTMLMapElement::mapMouseEvent):
2382         * rendering/EllipsisBox.cpp:
2383         (WebCore::EllipsisBox::nodeAtPoint):
2384         * rendering/EllipsisBox.h:
2385         * rendering/InlineBox.cpp:
2386         (WebCore::InlineBox::nodeAtPoint):
2387         * rendering/InlineFlowBox.cpp:
2388         (WebCore::InlineFlowBox::nodeAtPoint):
2389         * rendering/InlineTextBox.cpp:
2390         (WebCore::InlineTextBox::nodeAtPoint):
2391         * rendering/RenderBlock.cpp:
2392         (WebCore::RenderBlock::isPointInScrollbar):
2393         (WebCore::RenderBlock::nodeAtPoint):
2394         * rendering/RenderBlock.h:
2395         * rendering/RenderBox.cpp:
2396         (WebCore::RenderBox::nodeAtPoint):
2397         * rendering/RenderBox.h:
2398         * rendering/RenderFlow.cpp:
2399         (WebCore::RenderFlow::hitTestLines):
2400         * rendering/RenderFlow.h:
2401         * rendering/RenderForeignObject.cpp:
2402         (WebCore::RenderForeignObject::nodeAtPoint):
2403         * rendering/RenderFrameSet.cpp:
2404         (WebCore::RenderFrameSet::nodeAtPoint):
2405         * rendering/RenderImage.cpp:
2406         (WebCore::RenderImage::nodeAtPoint):
2407         * rendering/RenderInline.cpp:
2408         (WebCore::RenderInline::nodeAtPoint):
2409         * rendering/RenderInline.h:
2410         * rendering/RenderLayer.cpp:
2411         (WebCore::RenderLayer::autoscroll):
2412         (WebCore::RenderLayer::hitTest):
2413         (WebCore::RenderLayer::hitTestLayer):
2414         (WebCore::RenderLayer::updateHoverActiveState):
2415         * rendering/RenderListBox.cpp:
2416         (WebCore::RenderListBox::isPointInScrollbar):
2417         * rendering/RenderObject.cpp:
2418         (WebCore::RenderObject::hitTest):
2419         (WebCore::RenderObject::setInnerNode):
2420         (WebCore::RenderObject::nodeAtPoint):
2421         * rendering/RenderObject.h:
2422         * rendering/RenderPath.cpp:
2423         (WebCore::RenderPath::nodeAtPoint):
2424         * rendering/RenderSVGImage.cpp:
2425         (WebCore::RenderSVGImage::nodeAtPoint):
2426         * rendering/RenderSVGText.cpp:
2427         (WebCore::RenderSVGText::nodeAtPoint):
2428         * rendering/RenderTableRow.cpp:
2429         (WebCore::RenderTableRow::nodeAtPoint):
2430         * rendering/RenderTableRow.h:
2431         * rendering/RenderTableSection.cpp:
2432         (WebCore::RenderTableSection::nodeAtPoint):
2433         * rendering/RenderTableSection.h:
2434         * rendering/RenderTextControl.cpp:
2435         (WebCore::RenderTextControl::nodeAtPoint):
2436         * rendering/RootInlineBox.cpp:
2437         (WebCore::RootInlineBox::nodeAtPoint):
2438         * rendering/RootInlineBox.h:
2439
2440 2006-10-29  Adam Roben  <aroben@apple.com>
2441
2442         More semi-fixes.
2443
2444         * page/Page.cpp: Forgot to wrap the actual definition of
2445         setDefersLoading() in PLATFORM(MAC).
2446         * platform/PlatformWheelEvent.h: Fix up preprocessor directives.
2447
2448 2006-10-29  Adam Roben  <aroben@apple.com>
2449
2450         Build semi-fix.
2451
2452         Move all FrameLoader-related code in Page.{cpp,h} within #if
2453         PLATFORM(MAC), since this class currently only exists on Mac.
2454
2455         * page/Page.cpp:
2456         * page/Page.h:
2457
2458 2006-10-29  Geoffrey Garen  <ggaren@apple.com>
2459
2460         build fix.
2461         
2462         * platform/PlatformString.h:
2463         (WebCore::String::operator NSString*):
2464
2465 2006-10-29  Geoffrey Garen  <ggaren@apple.com>
2466
2467         Rolled out accidental commit.
2468         
2469         * platform/AtomicString.h:
2470         (WebCore::AtomicString::AtomicString):
2471         (WebCore::AtomicString::operator NSString*):
2472
2473 2006-10-29  Geoffrey Garen  <ggaren@apple.com>
2474
2475         RS by Darin.
2476
2477         Rolled out change to map NULL Strings to nil NSStrings because it caused
2478         even more AppKit crashes. Maybe we should remove the NSString * operator
2479         entirely, since its use is not straight-forward, and require callers to
2480         specify explicitly whether they tolerate NULL.
2481         
2482         * platform/AtomicString.h:
2483         * platform/PlatformString.h:
2484         (WebCore::String::operator NSString*):
2485         * platform/mac/TextFieldMac.mm:
2486         (-[NSSearchFieldCell _addStringToRecentSearches:]):
2487
2488 2006-10-29  Darin Adler  <darin@apple.com>
2489
2490         Reviewed by Geoff.
2491
2492         - fixed storage leak showing up on the buildbot
2493
2494         * loader/mac/WebSubresourceLoader.mm: (WebCore::SubresourceLoader::create):
2495         Release the NSURLRequest after passing it to load. Also clean up logic a bit.
2496
2497 2006-10-29  Darin Adler  <darin@apple.com>
2498
2499         Rubber stamped by Adam.
2500
2501         - renamed WebFrameLoaderClient to match the class name inside it
2502
2503         * loader/mac/WebFrameLoaderClient.h: Removed.
2504         * loader/FrameLoaderClient.h: Moved it here.
2505
2506         * WebCore.xcodeproj/project.pbxproj: Updated project.
2507
2508         * bridge/mac/FrameMac.mm: Updated includes.
2509         * bridge/mac/WebCoreFrameBridge.mm: Ditto.
2510         * loader/mac/FrameLoader.mm: Ditto.
2511         * loader/mac/WebLoader.h: Ditto.
2512
2513 2006-10-29  Darin Adler  <darin@apple.com>
2514
2515         Reviewed by Mitz.
2516
2517         - fix crash visible on buildbot and also when running the test
2518           anchor-image-scrolled-x-y.html under libgmalloc
2519
2520         * loader/mac/WebSubresourceLoader.h: Renamed m_loader to m_handle
2521         now that the class is named ResourceHandle.
2522         * loader/mac/WebSubresourceLoader.mm: Renaming, plus:
2523         (WebCore::SubresourceLoader::didFinishLoading): Get the handle into
2524         a local RefPtr before calling finishJobAndHandle, since we might get
2525         cancelled inside that function, so we should not rely on m_handle to
2526         keep the ResourceHandle alive.
2527         (WebCore::SubresourceLoader::didFail): Ditto.
2528         (WebCore::SubresourceLoader::didCancel): Ditto.
2529
2530 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
2531
2532         - build fix
2533
2534         * platform/network/mac/ResourceHandleMac.mm:
2535
2536 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
2537
2538         Rubber stamped by Darin.
2539
2540         - renamed ResourceLoader to ResourceHandle (and same for related classes)
2541
2542         * CMakeLists.txt:
2543         * Projects/gdk/webcore-gdk.bkl:
2544         * WebCore.vcproj/WebCore/WebCore.vcproj:
2545         * WebCore.xcodeproj/project.pbxproj:
2546         * WebCoreSources.bkl:
2547         * bridge/mac/FrameMac.mm:
2548         * bridge/win/FrameWin.cpp:
2549         * dom/XMLTokenizer.cpp:
2550         * loader/Cache.cpp:
2551         * loader/CachedResource.h:
2552         * loader/LoaderFunctions.h:
2553         * loader/icon/IconLoader.cpp:
2554         (IconLoader::startLoading):
2555         (IconLoader::didReceiveData):
2556         (IconLoader::didFinishLoading):
2557         * loader/icon/IconLoader.h:
2558         * loader/loader.cpp:
2559         (WebCore::Loader::servePendingRequests):
2560         (WebCore::Loader::receivedAllData):
2561         (WebCore::Loader::receivedResponse):
2562         (WebCore::Loader::didReceiveData):
2563         (WebCore::Loader::cancelRequests):
2564         (WebCore::Loader::jobForRequest):
2565         * loader/loader.h:
2566         * loader/mac/IconLoaderMac.mm:
2567         (IconLoader::receivedResponse):
2568         * loader/mac/LoaderFunctionsMac.mm:
2569         * loader/mac/WebLoader.h:
2570         * loader/mac/WebSubresourceLoader.h:
2571         * loader/mac/WebSubresourceLoader.mm:
2572         (WebCore::SubresourceLoader::SubresourceLoader):
2573         (WebCore::SubresourceLoader::create):
2574         * platform/gdk/FrameGdk.cpp:
2575         (WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
2576         (WebCore::FrameGdkClientDefault::openURL):
2577         (WebCore::FrameGdkClientDefault::submitForm):
2578         (WebCore::FrameGdkClientDefault::receivedResponse):
2579         (WebCore::FrameGdkClientDefault::didReceiveData):
2580         (WebCore::FrameGdkClientDefault::receivedAllData):
2581         * platform/gdk/FrameGdk.h:
2582         * platform/gdk/TemporaryLinkStubs.cpp:
2583         (WebCore::ServeSynchronousRequest):
2584         (WebCore::ResourceHandle::assembleResponseHeaders):
2585         (WebCore::ResourceHandle::retrieveCharset):
2586         * platform/network/ResourceHandle.cpp: Added.
2587         (WebCore::ResourceHandle::ResourceHandle):
2588         (WebCore::ResourceHandle::create):
2589         (WebCore::ResourceHandle::isErrorPage):
2590         (WebCore::ResourceHandle::error):
2591         (WebCore::ResourceHandle::setError):
2592         (WebCore::ResourceHandle::responseEncoding):
2593         (WebCore::ResourceHandle::responseHTTPHeadersAsString):
2594         (WebCore::ResourceHandle::kill):
2595         (WebCore::ResourceHandle::requestHeaders):
2596         (WebCore::ResourceHandle::url):
2597         (WebCore::ResourceHandle::postData):
2598         (WebCore::ResourceHandle::method):
2599         (WebCore::ResourceHandle::client):
2600         * platform/network/ResourceHandle.h: Added.
2601         (WebCore::ResourceHandle::getInternal):
2602         * platform/network/ResourceHandleClient.h: Added.
2603         (WebCore::ResourceHandleClient::~ResourceHandleClient):
2604         (WebCore::ResourceHandleClient::didReceiveData):
2605         (WebCore::ResourceHandleClient::didFinishLoading):
2606         (WebCore::ResourceHandleClient::receivedRedirect):
2607         (WebCore::ResourceHandleClient::receivedResponse):
2608         (WebCore::ResourceHandleClient::receivedAllData):
2609         * platform/network/ResourceHandleInternal.h: Added.
2610         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2611         * platform/network/ResourceLoader.cpp: Removed.
2612         * platform/network/ResourceLoader.h: Removed.
2613         * platform/network/ResourceLoaderClient.h: Removed.
2614         * platform/network/ResourceLoaderInternal.h: Removed.
2615         * platform/network/cf/ResourceHandleCFNet.cpp: Added.
2616         (WebCore::willSendRequest):
2617         (WebCore::didReceiveResponse):
2618         (WebCore::didReceiveData):
2619         (WebCore::didFinishLoading):
2620         (WebCore::didFail):
2621         (WebCore::willCacheResponse):
2622         (WebCore::didReceiveChallenge):
2623         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2624         (WebCore::ResourceHandle::~ResourceHandle):
2625         (WebCore::ResourceHandle::start):
2626         (WebCore::ResourceHandle::cancel):
2627         * platform/network/cf/ResourceLoaderCFNet.cpp: Removed.
2628         * platform/network/gdk/ResourceHandleCurl.cpp: Added.
2629         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2630         (WebCore::ResourceHandle::~ResourceHandle):
2631         (WebCore::ResourceHandle::start):
2632         (WebCore::ResourceHandle::cancel):
2633         * platform/network/gdk/ResourceHandleManager.cpp: Added.
2634         (WebCore::ResourceHandleManager::ResourceHandleManager):
2635         (WebCore::ResourceHandleManager::get):
2636         (WebCore::ResourceHandleManager::useSimpleTransfer):
2637         (WebCore::writeCallback):
2638         (WebCore::ResourceHandleManager::downloadTimerCallback):
2639         (WebCore::ResourceHandleManager::remove):
2640         (WebCore::ResourceHandleManager::add):
2641         (WebCore::ResourceHandleManager::cancel):
2642         * platform/network/gdk/ResourceHandleManager.h: Added.
2643         * platform/network/gdk/ResourceLoaderCurl.cpp: Removed.
2644         * platform/network/gdk/ResourceLoaderManager.cpp: Removed.
2645         * platform/network/gdk/ResourceLoaderManager.h: Removed.
2646         * platform/network/mac/ResourceHandleMac.mm: Added.
2647         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2648         (WebCore::ResourceHandle::~ResourceHandle):
2649         (WebCore::ResourceHandle::start):
2650         (WebCore::ResourceHandle::assembleResponseHeaders):
2651         (WebCore::ResourceHandle::retrieveResponseEncoding):
2652         (WebCore::ResourceHandle::receivedResponse):
2653         (WebCore::ResourceHandle::cancel):
2654         (WebCore::ResourceHandle::redirectedToURL):
2655         (WebCore::ResourceHandle::addData):
2656         (WebCore::ResourceHandle::finishJobAndHandle):
2657         (WebCore::ResourceHandle::reportError):
2658         * platform/network/mac/ResourceLoaderMac.mm: Removed.
2659         * platform/network/qt/ResourceHandleManager.cpp: Added.
2660         (WebCore::ResourceHandleManager::ResourceHandleManager):
2661         (WebCore::ResourceHandleManager::~ResourceHandleManager):
2662         (WebCore::ResourceHandleManager::self):
2663         (WebCore::ResourceHandleManager::slotData):
2664         (WebCore::ResourceHandleManager::slotMimetype):
2665         (WebCore::ResourceHandleManager::slotResult):
2666         (WebCore::ResourceHandleManager::remove):
2667         (WebCore::ResourceHandleManager::add):
2668         (WebCore::ResourceHandleManager::cancel):
2669         * platform/network/qt/ResourceHandleManager.h: Added.
2670         * platform/network/qt/ResourceHandleQt.cpp: Added.
2671         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2672         (WebCore::ResourceHandle::~ResourceHandle):
2673         (WebCore::ResourceHandle::start):
2674         (WebCore::ResourceHandle::cancel):
2675         (WebCore::ResourceHandle::assembleResponseHeaders):
2676         (WebCore::ResourceHandle::retrieveResponseEncoding):
2677         (WebCore::ResourceHandle::receivedResponse):
2678         (WebCore::ResourceHandle::extractCharsetFromHeaders):
2679         * platform/network/qt/ResourceLoaderManager.cpp: Removed.
2680         * platform/network/qt/ResourceLoaderManager.h: Removed.
2681         * platform/network/qt/ResourceLoaderQt.cpp: Removed.
2682         * platform/network/win/ResourceHandleWin.cpp: Added.
2683         (WebCore::):
2684         (WebCore::addToOutstandingJobs):
2685         (WebCore::lookupResourceHandle):
2686         (WebCore::ResourceHandleWndProc):
2687         (WebCore::initializeOffScreenResourceHandleWindow):
2688         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2689         (WebCore::ResourceHandle::~ResourceHandle):
2690         (WebCore::ResourceHandle::onHandleCreated):
2691         (WebCore::ResourceHandle::onRequestRedirected):
2692         (WebCore::ResourceHandle::onRequestComplete):
2693         (WebCore::ResourceHandle::start):
2694         (WebCore::ResourceHandle::fileLoadTimer):
2695         (WebCore::ResourceHandle::cancel):
2696         (WebCore::ResourceHandle::setHasReceivedResponse):
2697         (WebCore::ResourceHandle::hasReceivedResponse):
2698         * platform/network/win/ResourceHandleWin.h: Added.
2699         * platform/network/win/ResourceLoaderWin.cpp: Removed.
2700         * platform/network/win/ResourceLoaderWin.h: Removed.
2701         * platform/qt/FrameQt.cpp:
2702         * platform/qt/FrameQtClient.cpp:
2703         (WebCore::FrameQtClientDefault::openURL):
2704         (WebCore::FrameQtClientDefault::submitForm):
2705         (WebCore::FrameQtClientDefault::receivedResponse):
2706         (WebCore::FrameQtClientDefault::didReceiveData):
2707         (WebCore::FrameQtClientDefault::receivedAllData):
2708         * platform/qt/FrameQtClient.h:
2709         * platform/win/TemporaryLinkStubs.cpp:
2710         (WebCore::ResourceHandle::assembleResponseHeaders):
2711         (WebCore::ResourceHandle::retrieveResponseEncoding):
2712         (WebCore::ServeSynchronousRequest):
2713         * xml/XSLTProcessor.cpp:
2714         * xml/xmlhttprequest.cpp:
2715         (WebCore::XMLHttpRequest::send):
2716         (WebCore::XMLHttpRequest::didFinishLoading):
2717         (WebCore::XMLHttpRequest::receivedRedirect):
2718         (WebCore::XMLHttpRequest::didReceiveData):
2719         * xml/xmlhttprequest.h:
2720
2721 t2006-10-29  Darin Adler  <darin@apple.com>
2722
2723         Reviewed by Maciej.
2724
2725         - eliminate use of NSArray to carry form data around
2726
2727         * WebCore.exp:
2728         * WebCore.xcodeproj/project.pbxproj:
2729         * bridge/mac/FormDataMac.h: Removed.
2730         * bridge/mac/FormDataMac.mm: Removed.
2731         * bridge/mac/FrameMac.h:
2732         * bridge/mac/WebCoreFrameBridge.h:
2733         * bridge/mac/WebCoreFrameBridge.mm:
2734         * html/HTMLFormElement.cpp:
2735         (WebCore::HTMLFormElement::submit):
2736         * loader/FormData.h:
2737         (WebCore::FormData::isEmpty):
2738         * loader/mac/FrameLoader.h:
2739         * loader/mac/FrameLoader.mm:
2740         (WebCore::FrameLoader::load):
2741         (WebCore::FrameLoader::post):
2742         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2743         (WebCore::FrameLoader::loadResourceSynchronously):
2744         * loader/mac/LoaderFunctionsMac.mm:
2745         (WebCore::ServeSynchronousRequest):
2746         * loader/mac/WebFormDataStream.h:
2747         * loader/mac/WebFormDataStream.m:
2748         (WebCore::pairRetain):
2749         (WebCore::pairRelease):
2750         (WebCore::pairEqual):
2751         (WebCore::pairHash):
2752         (WebCore::closeCurrentStream):
2753         (WebCore::scheduleWithPair):
2754         (WebCore::advanceCurrentStream):
2755         (WebCore::openNextStream):
2756         (WebCore::formCreate):
2757         (WebCore::formFinalize):
2758         (WebCore::formOpen):
2759         (WebCore::formRead):
2760         (WebCore::formCanRead):
2761         (WebCore::formClose):
2762         (WebCore::formSchedule):
2763         (WebCore::formUnschedule):
2764         (WebCore::formEventCallback):
2765         (WebCore::setHTTPBody):
2766         * loader/mac/WebSubresourceLoader.h:
2767         * loader/mac/WebSubresourceLoader.mm:
2768         (WebCore::SubresourceLoader::create):
2769         * platform/network/mac/ResourceLoaderMac.mm:
2770
2771 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
2772
2773         Reviewed by Darin.
2774
2775         - create SubresourceLoader with a ResourceRequest, not broken out request bits
2776
2777         * loader/mac/WebSubresourceLoader.h:
2778         * loader/mac/WebSubresourceLoader.mm:
2779         (WebCore::SubresourceLoader::create):
2780         * platform/network/mac/ResourceLoaderMac.mm:
2781         (WebCore::ResourceLoader::start):
2782
2783 2006-10-29  Maciej Stachowiak  <mjs@apple.com>
2784
2785         Reviewed by Darin.
2786
2787         - removed ObjC glue between ResourceLoader and SubresourceLoader, then now talk to each other directly
2788
2789         Removed WebCoreResourceLoader, WebCoreResourceHandle and WebCoreResourceLoaderImp
2790         
2791         * WebCore.xcodeproj/project.pbxproj:
2792         * bridge/mac/WebCoreFrameBridge.h:
2793         * loader/mac/FrameLoader.h:
2794         * loader/mac/FrameLoader.mm:
2795         * loader/mac/LoaderFunctionsMac.mm:
2796         * loader/mac/WebLoader.h:
2797         * loader/mac/WebSubresourceLoader.h:
2798         * loader/mac/WebSubresourceLoader.mm:
2799         (WebCore::SubresourceLoader::SubresourceLoader):
2800         (WebCore::SubresourceLoader::create):
2801         (WebCore::SubresourceLoader::willSendRequest):
2802         (WebCore::SubresourceLoader::didReceiveResponse):
2803         (WebCore::SubresourceLoader::didReceiveData):
2804         (WebCore::SubresourceLoader::didFinishLoading):
2805         (WebCore::SubresourceLoader::didFail):
2806         (WebCore::SubresourceLoader::didCancel):
2807         * platform/network/ResourceLoader.h:
2808         * platform/network/ResourceLoaderInternal.h:
2809         * platform/network/mac/ResourceLoaderMac.mm:
2810         (WebCore::ResourceLoader::~ResourceLoader):
2811         (WebCore::ResourceLoader::start):
2812         (WebCore::ResourceLoader::receivedResponse):
2813         (WebCore::ResourceLoader::cancel):
2814         (WebCore::ResourceLoader::redirectedToURL):
2815         (WebCore::ResourceLoader::addData):
2816         (WebCore::ResourceLoader::finishJobAndHandle):
2817         (WebCore::ResourceLoader::reportError):
2818         * platform/network/mac/WebCoreResourceLoader.h: Removed.
2819         * platform/network/mac/WebCoreResourceLoaderImp.h: Removed.
2820         * platform/network/mac/WebCoreResourceLoaderImp.mm: Removed.
2821
2822 2006-10-28  Darin Adler  <darin@apple.com>
2823
2824         Reviewed by Maciej.
2825
2826         - eliminated the use of Objective-C for the policy decider
2827           machinery, obviating the need for WebPolicyDecider,
2828           WebCoreFrameLoaderAsDelegate, and
2829           WebCoreMainResourceLoaderAsPolicyDelegate
2830
2831         - grouped the state related to policy decisions into a PolicyCheck
2832           class to simplify the FrameLoader logic
2833
2834         - removed six methods from the bridge, reducing FrameLoader's use of
2835           the bridge to a single method
2836
2837         - changed form state to always use HashMap instead of NSDictionary
2838
2839         - moved the defersLoading flag from WebView to WebCore::Page
2840           and changed code to consistently call it defersLoading rather
2841           than defersCallbacks
2842
2843         - updated for rename of PassRefPtr::release to releaseRef
2844         - replaced all uses of __APPLE__ with appropriate PLATFORM defines
2845         - cleaned up kjs_binding.h a bit
2846         - cleaned up FrameMac.h a bit
2847
2848         * loader/mac/WebPolicyDecider.h: Removed.
2849         * loader/mac/WebPolicyDecider.mm: Removed.
2850         * WebCore.xcodeproj/project.pbxproj: Updated for removal.
2851
2852         * WebCore.exp:
2853         * bindings/js/kjs_binding.cpp:
2854         (KJS::ScriptInterpreter::ScriptInterpreter):
2855         (KJS::ScriptInterpreter::wasRunByUserGesture):
2856         * bindings/js/kjs_binding.h:
2857         (KJS::ScriptInterpreter::setCurrentEvent):
2858         (KJS::ScriptInterpreter::setInlineCode):
2859         (KJS::ScriptInterpreter::setProcessingTimerCallback):
2860         (KJS::ScriptInterpreter::getCurrentEvent):
2861         (KJS::cacheDOMObject):
2862         (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
2863         * bridge/AXObjectCache.h:
2864         * bridge/mac/BrowserExtensionMac.mm:
2865         (WebCore::BrowserExtensionMac::createNewWindow):
2866         * bridge/mac/FrameMac.h:
2867         * bridge/mac/FrameMac.mm:
2868         (WebCore::FrameMac::loadRequest):
2869         (WebCore::FrameMac::submitForm):
2870         (WebCore::FrameMac::urlSelected):
2871         (WebCore::FrameMac::userAgent):
2872         (WebCore::FrameMac::passMouseDownEventToWidget):
2873         (WebCore::FrameMac::handleMouseMoveEvent):
2874         * bridge/mac/PageMac.mm:
2875         (WebCore::Page::Page):
2876         * bridge/mac/WebCoreEditCommand.mm:
2877         * bridge/mac/WebCoreFrameBridge.h:
2878         * bridge/mac/WebCoreFrameBridge.mm:
2879         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
2880         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2881         * css/CSSComputedStyleDeclaration.cpp:
2882         (WebCore::):
2883         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2884         * css/CSSPrimitiveValue.cpp:
2885         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2886         (WebCore::CSSPrimitiveValue::cleanup):
2887         (WebCore::CSSPrimitiveValue::cssText):
2888         * css/CSSPrimitiveValue.h:
2889         (WebCore::CSSPrimitiveValue::):
2890         * css/CSSValueList.cpp:
2891         (WebCore::CSSValueList::append):
2892         * css/cssparser.cpp:
2893         (WebCore::CSSParser::parseValue):
2894         * css/cssparser.h:
2895         * css/cssstyleselector.cpp:
2896         (WebCore::CSSStyleSelector::applyProperty):
2897         * dom/Document.cpp:
2898         (WebCore::Document::Document):
2899         (WebCore::Document::updateSelection):
2900         (WebCore::Document::implicitClose):
2901         (WebCore::Document::setFocusNode):
2902         * dom/Document.h:
2903         * editing/ReplaceSelectionCommand.h:
2904         * html/HTMLParser.cpp:
2905         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2906         * loader/mac/FrameLoader.h:
2907         (WebCore::PolicyCheck::request):
2908         * loader/mac/FrameLoader.mm:
2909         (WebCore::FrameLoader::~FrameLoader):
2910         (WebCore::FrameLoader::safeLoad):
2911         (WebCore::FrameLoader::load):
2912         (WebCore::FrameLoader::open):
2913         (WebCore::FrameLoader::stopLoading):
2914         (WebCore::setAllDefersLoading):
2915         (WebCore::FrameLoader::setDefersLoading):
2916         (WebCore::FrameLoader::willSendRequest):
2917         (WebCore::FrameLoader::receivedMainResourceError):
2918         (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
2919         (WebCore::FrameLoader::commitProvisionalLoad):
2920         (WebCore::FrameLoader::checkNavigationPolicy):
2921         (WebCore::FrameLoader::checkContentPolicy):
2922         (WebCore::FrameLoader::cancelContentPolicyCheck):
2923         (WebCore::FrameLoader::stopPolicyCheck):
2924         (WebCore::FrameLoader::checkNewWindowPolicy):
2925         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
2926         (WebCore::FrameLoader::continueAfterNavigationPolicy):
2927         (WebCore::FrameLoader::continueAfterContentPolicy):
2928         (WebCore::FrameLoader::continueAfterWillSubmitForm):
2929         (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
2930         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2931         (WebCore::FrameLoader::closeDocument):
2932         (WebCore::FrameLoader::transitionToCommitted):
2933         (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
2934         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2935         (WebCore::FrameLoader::post):
2936         (WebCore::FrameLoader::detachFromParent):
2937         (WebCore::FrameLoader::addExtraFieldsToRequest):
2938         (WebCore::PolicyCheck::PolicyCheck):
2939         (WebCore::PolicyCheck::clear):
2940         (WebCore::PolicyCheck::set):
2941         (WebCore::PolicyCheck::call):
2942         (WebCore::PolicyCheck::dropRequest):
2943         (WebCore::FrameLoaderClient::~FrameLoaderClient):
2944         * loader/mac/WebFormState.h:
2945         * loader/mac/WebFormState.mm:
2946         * loader/mac/WebFrameLoaderClient.h:
2947         * loader/mac/WebLoader.h:
2948         (WebCore::WebResourceLoader::defersLoading):
2949         * loader/mac/WebLoader.mm:
2950         (WebCore::WebResourceLoader::WebResourceLoader):
2951         (WebCore::WebResourceLoader::load):
2952         (WebCore::WebResourceLoader::setDefersLoading):
2953         * loader/mac/WebMainResourceLoader.h:
2954         * loader/mac/WebMainResourceLoader.mm:
2955         (WebCore::MainResourceLoader::MainResourceLoader):
2956         (WebCore::MainResourceLoader::releaseDelegate):
2957         (WebCore::MainResourceLoader::didCancel):
2958         (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
2959         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
2960         (WebCore::MainResourceLoader::willSendRequest):
2961         (WebCore::MainResourceLoader::callContinueAfterContentPolicy):
2962         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2963         (WebCore::MainResourceLoader::didReceiveResponse):
2964         (WebCore::MainResourceLoader::didReceiveData):
2965         (WebCore::MainResourceLoader::didFinishLoading):
2966         (WebCore::MainResourceLoader::didFail):
2967         (WebCore::MainResourceLoader::loadNow):
2968         (WebCore::MainResourceLoader::load):
2969         (WebCore::MainResourceLoader::setDefersLoading):
2970         * page/Frame.cpp:
2971         (WebCore::Frame::paint):
2972         * page/FrameView.cpp:
2973         (WebCore::FrameView::layout):
2974         * page/FrameView.h:
2975         * page/Page.cpp:
2976         (WebCore::Page::setDefersLoading):
2977         * page/Page.h:
2978         (WebCore::Page::defersLoading):
2979         * platform/DeprecatedString.h:
2980         * platform/DeprecatedStringList.h:
2981         * platform/FontFallbackList.h:
2982         * platform/PlatformKeyboardEvent.h:
2983         * platform/PlatformMouseEvent.h:
2984         * platform/PlatformWheelEvent.h:
2985         * platform/mac/ClipboardMac.h:
2986         * platform/mac/ClipboardMac.mm:
2987         (WebCore::ClipboardMac::setDragImage):
2988         (WebCore::ClipboardMac::dragNSImage):
2989         (WebCore::ClipboardMac::sourceOperation):
2990         (WebCore::ClipboardMac::destinationOperation):
2991         * rendering/RenderObject.cpp:
2992         (WebCore::RenderObject::setStyle):
2993         * rendering/break_lines.cpp:
2994         (WebCore::nextBreakablePosition):
2995
2996 2006-10-28  Adam Roben  <aroben@apple.com>
2997
2998         Reviewed by Maciej.
2999
3000         Fix layout tests that broke after r17399. Mitz discovered that the
3001         failures were caused by HitTestResult::m_point being uninitialized
3002         much of the time. HitTestResults are now always constructed with a
3003         point, and RenderLayer::hitTest and RenderLayer::hitTestLayer use that
3004         point instead of being passed one explicitly.
3005
3006         * WebCore.exp: Change constructor symbol.
3007         * bridge/mac/FrameMac.mm:
3008         (WebCore::FrameMac::eventMayStartDrag): Update to new constructor and
3009         hitTest().
3010         (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
3011         * bridge/mac/WebCoreAXObject.mm:
3012         (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
3013         (-[WebCoreAXObject accessibilityHitTest:]): Ditto.
3014         * dom/Document.cpp:
3015         (WebCore::Document::elementFromPoint): Ditto.
3016         (WebCore::Document::prepareMouseEvent): Ditto.
3017         * page/Frame.cpp:
3018         (WebCore::Frame::isPointInsideSelection): Ditto.
3019         (WebCore::Frame::hitTestResultAtPoint): Ditto.
3020         * page/FrameView.cpp:
3021         (WebCore::FrameView::handleWheelEvent): Ditto.
3022         * rendering/HitTestResult.cpp:
3023         (WebCore::HitTestResult::HitTestResult): Initalize m_point with the
3024         passed point.
3025         * rendering/HitTestResult.h: Update constructor declaration.
3026         * rendering/RenderLayer.cpp:
3027         (WebCore::RenderLayer::autoscroll): Update to new constructor and
3028         hitTest().
3029         (WebCore::RenderLayer::hitTest): Use the IntPoint stored in the
3030         HitTestResult instead of being passed one.
3031         (WebCore::RenderLayer::hitTestLayer): Ditto.
3032         * rendering/RenderLayer.h: Update declarations.
3033
3034 2006-10-28  Nikolas Zimmermann  <zimmermann@kde.org>
3035
3036         Reviewed by Anders.
3037
3038         Fix Qt/Linux build.
3039
3040         * CMakeLists.txt:
3041         * platform/qt/FrameQtClient.cpp:
3042         (WebCore::numRequests):
3043         (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
3044         * platform/qt/PopupMenuQt.cpp:
3045         (WebCore::PopupMenu::updateFromElement):
3046
3047 2006-10-28  David Carson  <dacarson@gmail.com>
3048
3049         Tweaked by Sam. Reviewed by Brady.
3050
3051         Fix for: http://bugs.webkit.org/show_bug.cgi?id=11437
3052         Initialize m_modifyBiasSet to false, as it sometimes gets 
3053         used before it has been initalized.
3054
3055         * editing/SelectionController.cpp:
3056         (WebCore::SelectionController::SelectionController):
3057
3058 2006-10-28  Beth Dakin  <bdakin@apple.com>
3059
3060         Reviewed by Darin.
3061
3062         This is the WebCore half of pushing elementAtPoint and the backend 
3063         of WebElementDictionary into WebCore. Most of the changes below are 
3064         to accommodate one of the following:
3065                 
3066         -NodeInfo is now a stand-alone class called HitTestResult. 
3067                 Previously it was defined in RenderObject.h, but not for 
3068                 any particular reason. The WebElementDictionary 
3069                 functionality that was pushed into WebCore has been pushed 
3070                 specifically into the this class. In fact, 
3071                 WebElementDictionary now keeps a HitTestResult as a member 
3072                 varibale.
3073                 
3074         -The enumeration AccessPolicy is now called 
3075                 ClipboardAccessPolicy and is defined in its own header. It 
3076                 was previously defined in ClipboardMac.h, but is now 
3077                 defined independently to avoid including ClipboardMac.h 
3078                 from within FrameMac.h since FrameMac.h is now included in 
3079                 WebElementDictionary.m in WebKit.
3080                 
3081         -Element now has a virtual target() for the sake of 
3082                 NodeInfo::targetFrame() 
3083
3084         * WebCore.exp: Several WebCore functions are newly called from 
3085         WebKit, so they have been added here. 
3086         * WebCore.xcodeproj/project.pbxproj:
3087         * bindings/objc/DOM.mm: Must include Image.h because of adjustments 
3088         to ClipboardMac.
3089         * bridge/mac/FrameMac.h: Adjust to HitTestResult changes.
3090         * bridge/mac/FrameMac.mm:
3091         (WebCore::FrameMac::freeClipboard): Adjust to ClipboardAccessPolicy 
3092         and HitTestResult changes.
3093         (WebCore::FrameMac::eventMayStartDrag): Same.
3094         (WebCore::FrameMac::handleMouseMoveEvent): Same.
3095         (WebCore::FrameMac::dispatchCPPEvent): Same.
3096         (WebCore::FrameMac::mayDHTMLCut): Same.
3097         (WebCore::FrameMac::mayDHTMLCopy): Same.
3098         (WebCore::FrameMac::mayDHTMLPaste): Same.
3099         (WebCore::FrameMac::tryDHTMLCut): Same
3100         (WebCore::FrameMac::tryDHTMLCopy): Same.
3101         (WebCore::FrameMac::tryDHTMLPaste): Same.
3102         * bridge/mac/WebCoreAXObject.mm:
3103         (-[WebCoreAXObject doAXTextMarkerForPosition:]): Adjust to 
3104         HitTestResult changes.
3105         (-[WebCoreAXObject accessibilityHitTest:]): Same.
3106         * bridge/mac/WebCoreFrameBridge.h: Same.
3107         * bridge/mac/WebCoreFrameBridge.mm:
3108         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): Adjust for 
3109         ClipboardAccessPolicy changes.
3110         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): Same.
3111         (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): Same.
3112         * dom/Document.cpp:
3113         (WebCore::Document::elementFromPoint): Adjust for HitTestResult 
3114         changes.
3115         (WebCore::Document::prepareMouseEvent): Same.
3116         * dom/Element.h:
3117         (WebCore::Element::target): Now has a virtual target()
3118         * html/HTMLAnchorElement.h: Same.
3119         * html/HTMLAreaElement.cpp:
3120         (WebCore::HTMLAreaElement::mapMouseEvent): Adjust for HitTestResult 
3121         changes.
3122         * html/HTMLAreaElement.h: Virtual target()
3123         * html/HTMLBaseElement.h:
3124         (WebCore::HTMLBaseElement::target): Same.
3125         * html/HTMLFormElement.h: Same.
3126         * html/HTMLLinkElement.h: Same.
3127         * html/HTMLMapElement.cpp:
3128         (WebCore::HTMLMapElement::mapMouseEvent): Adjust for HitTestResult 
3129         changes.
3130         * html/HTMLMapElement.h: Same.
3131         * page/Frame.cpp:
3132         (WebCore::Frame::isPointInsideSelection): Same.
3133         (WebCore::Frame::hitTestResultAtPoint): Same. 
3134         * page/Frame.h: Same.
3135         * page/FrameView.cpp:
3136         (WebCore::FrameView::handleWheelEvent): Same.
3137         * platform/mac/ClipboardAccessPolicy.h: Added.
3138         (WebCore::):
3139         * platform/mac/ClipboardMac.h: Remove definition of AccessPolicy, 
3140         include ClipboardAccessPolicy.h, and rename AccessPolicy to 
3141         ClipboardAccessPolicy.
3142         * platform/mac/ClipboardMac.mm: Rename ClipboardAccessPolicy.
3143         (WebCore::ClipboardMac::ClipboardMac):
3144         (WebCore::ClipboardMac::setAccessPolicy):
3145         (WebCore::ClipboardMac::clearData):
3146         (WebCore::ClipboardMac::clearAllData):
3147         (WebCore::ClipboardMac::getData):
3148         (WebCore::ClipboardMac::setData):
3149         (WebCore::ClipboardMac::types):
3150         (WebCore::ClipboardMac::setDragImage):
3151         (WebCore::ClipboardMac::setDropEffect):
3152         (WebCore::ClipboardMac::setEffectAllowed):
3153         * rendering/EllipsisBox.cpp:
3154         (WebCore::EllipsisBox::nodeAtPoint): Adjust for HitTestResult 
3155         changes.
3156         * rendering/EllipsisBox.h:
3157         * rendering/HitTestResult.cpp: Added.
3158         (WebCore::HitTestResult::HitTestResult):
3159         (WebCore::HitTestResult::~HitTestResult):
3160         (WebCore::HitTestResult::operator=):
3161         (WebCore::HitTestResult::setInnerNode):
3162         (WebCore::HitTestResult::setInnerNonSharedNode):
3163         (WebCore::HitTestResult::setURLElement):
3164         (WebCore::HitTestResult::setScrollbar):
3165         (WebCore::HitTestResult::targetFrame):
3166         (WebCore::HitTestResult::boundingBox):
3167         (WebCore::HitTestResult::isSelected):
3168         (WebCore::HitTestResult::title):
3169         * rendering/HitTestResult.h: Added.
3170         (WebCore::HitTestResult::readonly):
3171         (WebCore::HitTestResult::active):
3172         (WebCore::HitTestResult::mouseMove):
3173         (WebCore::HitTestResult::innerNode):
3174         (WebCore::HitTestResult::innerNonSharedNode):
3175         (WebCore::HitTestResult::point):
3176         (WebCore::HitTestResult::URLElement):
3177         (WebCore::HitTestResult::scrollbar):
3178         (WebCore::HitTestResult::setPoint):
3179         (WebCore::HitTestResult::setReadonly):
3180         (WebCore::HitTestResult::setActive):
3181         (WebCore::HitTestResult::setMouseMove):
3182         * rendering/InlineBox.cpp:
3183         (WebCore::InlineBox::nodeAtPoint): Adjust to HitTestResult changes.
3184         * rendering/InlineBox.h: Same.
3185         * rendering/InlineFlowBox.cpp:
3186         (WebCore::InlineFlowBox::nodeAtPoint): Same.
3187         * rendering/InlineFlowBox.h: Same.
3188         * rendering/InlineTextBox.cpp: 
3189         (WebCore::InlineTextBox::nodeAtPoint): Same.
3190         * rendering/InlineTextBox.h: Same.
3191         * rendering/RenderBlock.cpp:
3192         (WebCore::RenderBlock::isPointInScrollbar): Same.
3193         (WebCore::RenderBlock::nodeAtPoint): Same.
3194         * rendering/RenderBlock.h: Same.
3195         * rendering/RenderBox.cpp:
3196         (WebCore::RenderBox::nodeAtPoint): Same.
3197         * rendering/RenderBox.h: Same.
3198         * rendering/RenderFlow.cpp:
3199         (WebCore::RenderFlow::hitTestLines): Same.
3200         * rendering/RenderFlow.h: Same.
3201         * rendering/RenderForeignObject.cpp:
3202         (WebCore::RenderForeignObject::nodeAtPoint): Same.
3203         * rendering/RenderForeignObject.h: Same.
3204         * rendering/RenderFrameSet.cpp:
3205         (WebCore::RenderFrameSet::nodeAtPoint): Same.
3206         * rendering/RenderFrameSet.h: Same.
3207         * rendering/RenderImage.cpp:
3208         (WebCore::RenderImage::nodeAtPoint): Same.
3209         * rendering/RenderImage.h: Same.
3210         * rendering/RenderInline.cpp:
3211         (WebCore::RenderInline::nodeAtPoint): Same.
3212         * rendering/RenderInline.h: Same.
3213         * rendering/RenderLayer.cpp:
3214         (WebCore::RenderLayer::autoscroll): Same.
3215         (WebCore::RenderLayer::hitTest): Same.
3216         (WebCore::RenderLayer::hitTestLayer): Same.
3217         (WebCore::RenderLayer::updateHoverActiveState): Same.
3218         * rendering/RenderLayer.h: Same.
3219         * rendering/RenderListBox.cpp:
3220         (WebCore::RenderListBox::isPointInScrollbar): Same.
3221         * rendering/RenderListBox.h: Same.
3222         * rendering/RenderObject.cpp:
3223         (WebCore::RenderObject::hitTest): Same.
3224         (WebCore::RenderObject::setInnerNode): Same.
3225         (WebCore::RenderObject::nodeAtPoint): Same.
3226         * rendering/RenderObject.h: Remove NodeInfo class and forward 
3227         declare HitTestResult.
3228         * rendering/RenderPath.cpp:
3229         (WebCore::RenderPath::nodeAtPoint): Adjust to HitTestResult 
3230         changes.
3231         * rendering/RenderPath.h: Same.
3232         * rendering/RenderSVGImage.cpp:
3233         (WebCore::RenderSVGImage::nodeAtPoint): Same.
3234         * rendering/RenderSVGImage.h: Same
3235         * rendering/RenderSVGText.cpp:
3236         (WebCore::RenderSVGText::nodeAtPoint): Same.
3237         * rendering/RenderSVGText.h: Same.
3238         * rendering/RenderTableRow.cpp:
3239         (WebCore::RenderTableRow::nodeAtPoint): Same.
3240         * rendering/RenderTableRow.h: Same.
3241         * rendering/RenderTableSection.cpp:
3242         (WebCore::RenderTableSection::nodeAtPoint): Same.
3243         * rendering/RenderTableSection.h: Same.
3244         * rendering/RenderText.h: Same.
3245         (WebCore::RenderText::nodeAtPoint): Same.
3246         * rendering/RenderTextControl.cpp:
3247         (WebCore::RenderTextControl::nodeAtPoint): Same.
3248         * rendering/RenderTextControl.h: Same.
3249         * rendering/RootInlineBox.cpp:
3250         (WebCore::RootInlineBox::nodeAtPoint): Same.
3251         * rendering/RootInlineBox.h: Same.
3252
3253 2006-10-27  Maciej Stachowiak  <mjs@apple.com>
3254
3255         Reviewed by Anders.
3256
3257         - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=11212, later we will address the performance
3258         impact of fixing it again.
3259
3260         * bridge/mac/FrameMac.mm:
3261         (WebCore::FrameMac::clear):
3262
3263 2006-10-27  Maciej Stachowiak  <mjs@apple.com>
3264
3265         Reviewed by John & Adam.
3266
3267         - assorted speedups to fix perf regression from fixing correctness regression
3268
3269         * WebCore.exp: exported new methods.
3270         * WebCore.xcodeproj/project.pbxproj: Added CachedResourceMac.mm
3271         * bridge/mac/WebCoreFrameBridge.h:
3272         * bridge/mac/WebCoreFrameBridge.mm:
3273         * loader/CachedResource.cpp: Removed now obsolete getCFURL.
3274         * loader/CachedResource.h:
3275         * loader/mac/CachedResourceMac.mm: Added.
3276         (WebCore::CachedResource::getNSURLRequest): New method; the NSURLRequest is
3277         now cached in the CachedObject.
3278         * loader/mac/FrameLoader.h:
3279         * loader/mac/FrameLoader.mm:
3280         (WebCore::FrameLoader::loadedResourceFromMemoryCache): New method - lets
3281         the WebKit side do faster dispatch for clients that implement the fast path delegate. 
3282         * loader/mac/LoaderFunctionsMac.mm:
3283         (WebCore::CheckCacheObjectStatus): Instead of calling several FrameLoader methods,
3284         just call loadedResourceFromMemoryCache.
3285         * loader/mac/WebFrameLoaderClient.h:
3286
3287 2006-10-27  Oliver Hunt  <oliver@apple.com>
3288
3289         Reviewed by Maciej.
3290
3291         build fix
3292
3293         * dom/Document.cpp:
3294         (WebCore::Document::referrer):
3295
3296 2006-10-27  Geoffrey Garen  <ggaren@apple.com>
3297
3298         Reviewed by Maciej.
3299
3300         Moved some WebCoreFrameBridge functions into FrameLoader.
3301         
3302         I had to make FrameLoader.h capable of compiling in C++-only source files
3303         by adding some forward declarations and __OBJC__ #ifdefs.
3304
3305         * WebCore.exp:
3306         * bridge/mac/FrameMac.h:
3307         * bridge/mac/FrameMac.mm:
3308         (WebCore::FrameMac::createEmptyDocument):
3309         (WebCore::FrameMac::tokenizerProcessedData):
3310         * bridge/mac/WebCoreFrameBridge.h:
3311         * bridge/mac/WebCoreFrameBridge.mm:
3312         * dom/Document.cpp:
3313         (WebCore::Document::processHttpEquiv):
3314         (WebCore::Document::referrer):
3315         * loader/LoaderFunctions.h:
3316         * loader/mac/FrameLoader.h:
3317         * loader/mac/FrameLoader.mm:
3318         (WebCore::numRequests):
3319         (WebCore::FrameLoader::numPendingOrLoadingRequests):
3320         (WebCore::FrameLoader::isReloading):
3321         (WebCore::FrameLoader::referrer):
3322         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
3323         (WebCore::FrameLoader::startLoadingResource):
3324         * loader/mac/LoaderFunctionsMac.mm:
3325         (WebCore::CheckIfReloading):
3326         * page/Frame.h:
3327         * page/FrameTree.cpp:
3328         (WebCore::FrameTree::isDescendantOf):
3329         (WebCore::FrameTree::traverseNext):
3330         * page/FrameTree.h:
3331         * platform/network/mac/ResourceLoaderMac.mm:
3332         (WebCore::ResourceLoader::start):
3333
3334 2006-10-27  Timothy Hatcher  <timothy@apple.com>
3335
3336         Reviewed by Darin.
3337
3338         <rdar://problem/4478625> HTML Editing: Basic table editing and culling
3339
3340         Expanded the Deletion UI to lists, positioned block element and block elementss with borders.
3341
3342         * editing/DeleteButtonController.cpp:
3343         (WebCore::isDeletableElement):
3344         (WebCore::enclosingDeletableElement):
3345         (WebCore::DeleteButtonController::respondToChangedSelection):
3346
3347 2006-10-27  John Sullivan  <sullivan@apple.com>
3348
3349         Reviewed by Kevin Decker
3350         
3351         Some more grammar-checking plumbing. No additional grammar jokes will have been made by the time
3352         you haven't not finished reading this.
3353
3354         * rendering/InlineTextBox.h:
3355         * rendering/InlineTextBox.cpp:
3356         (WebCore::InlineTextBox::paint):
3357         Updated for changed signature of paintDocumentMarkers, which causes grammar markers to be
3358         considered also.
3359         (WebCore::InlineTextBox::paintDocumentMarkers):
3360         Renamed from paintAllMarkersOfType; now takes a bool for whether background or foreground
3361         markers should be painted, instead of a marker type. This avoids walking the collection of
3362         markers multiple times back to back. Now handles grammar markers.
3363
3364 2006-10-27  Timothy Hatcher  <timothy@apple.com>
3365
3366         Reviewed by Beth.
3367
3368         Renamed Copy Files to Copy Generated Headers.
3369         Copy 4 DOM*Internal.h headers.
3370
3371         * WebCore.xcodeproj/project.pbxproj:
3372         * bindings/scripts/CodeGeneratorObjC.pm:
3373
3374 2006-10-27  John Sullivan  <sullivan@apple.com>
3375
3376         Reviewed by Anders
3377
3378         * WebCore.exp:
3379         exported symbol for FrameMac->advanceToNextSpelling()
3380         
3381         * bridge/mac/WebCoreFrameBridge.h:
3382         * bridge/mac/WebCoreFrameBridge.mm:
3383         removed advanceToNextMisspelling callers. Clients in WebKit must now call FrameMac directly.
3384
3385 2006-10-27  Justin Garcia  <justin.garcia@apple.com>
3386
3387         Reviewed by harrison
3388         
3389         <http://bugs.webkit.org/show_bug.cgi?id=11423>
3390         REGRESSION: First newline missing from textarea's value
3391         
3392         The regression is that foo, return, bar in a textarea serializes as 'foobar'.
3393         
3394         Before my change in r17223, return (an InsertLineBreak) would insert a '\n' 
3395         (the line break) then a br to prevent the '\n' from collapsing, since the 
3396         insertion is being done at the end of a block (the textarea's shadow div).  Then, 
3397         inserting "bar" would displace the br, and "foo\nbar" would serialize as "foo\nbar".  
3398         After my change in r17223, InsertLineBreak would insert a br then a '\n' (reversed 
3399         the order).  Then inserting "bar" would displace the '\n' and "foo"<br>"bar" would 
3400         serialize as "foobar" because when serializing RenderTextControl intentionally asks 
3401         textContent to not convert brs to newlines.  It seems to think that the only brs in 
3402         the shadow div will be placeholders or collapsed.
3403         
3404         We could remove this assumption, but, for consistancy's sake, I changed InsertLineBreak 
3405         to insert two '\n's when at the end of a block in white-space:pre text.  This alone 
3406         would have fixed the bug, but introduced a new one, because foo, return, bar would 
3407         produce "foo\nbar\n" which would serialize as "foo\nbar\n" (even though the second 
3408         '\n' is collapsed, because of 9661).  So, then I changed placeholder displacement to 
3409         displace a '\n' if it's acting as a placeholder.  A "placeholder" is now defined as 
3410         a br or '\n' that will collapse (become superfluous) when content is inserted just 
3411         before it.
3412         
3413         * editing/CompositeEditCommand.cpp:
3414         (WebCore::CompositeEditCommand::removePlaceholderAt): Renamed.  Remove
3415         a br or '\n' if content inserted just before it will cause it to collapse.
3416         * editing/CompositeEditCommand.h:
3417         * editing/InsertLineBreakCommand.cpp:
3418         (WebCore::InsertLineBreakCommand::doApply): Insert the same type of node
3419         to prevent a collapse as was used for the line break.  Fixed comments.
3420         * editing/InsertTextCommand.cpp:
3421         (WebCore::InsertTextCommand::input): Call the renamed function.
3422         
3423 2006-10-27  Geoffrey Garen  <ggaren@apple.com>
3424
3425         Reviewed by Brady.
3426
3427         Fixed semantic inaccuracy in String::operator NSString *(), where a NULL
3428         String became an empty NSString *, instead of nil. This will become important
3429         as we start using this conversion more.
3430         
3431         Added work-around for AppKit crash that semantic accuracy revealed.
3432         
3433         No testcase because I don't think there's a way to reflect this change
3434         in a webpage yet.
3435
3436         * platform/PlatformString.h:
3437         (WebCore::String::operator NSString*):
3438         * platform/mac/TextFieldMac.mm:
3439         (-[NSSearchFieldCell _addStringToRecentSearches:]):
3440
3441 2006-10-27  David Harrison  <harrison@apple.com>
3442
3443         Reviewed by Maciej,
3444
3445         <rdar://problem/4003820> Expose blockquotes in AXAttributedStringForTextMarkerRange
3446
3447         * bridge/mac/WebCoreAXObject.mm:
3448         (blockquoteLevel):
3449         Calculate and return the blockquote level of the element.
3450         
3451         (AXAttributeStringSetBlockquoteLevel):
3452         Add, if non-zero, or clear the block quote level attribute.
3453         
3454         (AXAttributedStringAppendText):
3455         Send AXAttributeStringSetBlockquoteLevel.
3456
3457 2006-10-27  Darin Adler  <darin@apple.com>
3458
3459         - fix one error in the Qt build
3460
3461         * platform/qt/GraphicsContextQt.cpp:
3462         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
3463         Updated.
3464
3465 2006-10-27  Darin Adler  <darin@apple.com>
3466
3467         Reviewed by Maciej.
3468
3469         * WebCore.exp: Export more symbols needed by WebKit.
3470
3471 2006-10-26  Geoffrey Garen  <ggaren@apple.com>
3472
3473         Reviewed by the Baroness Esmeralda Von Scratch N' Purr XIV.
3474
3475         Fixed layout test crash. Oops.
3476         
3477         * loader/mac/WebDocumentLoader.mm:
3478         (WebCore::canonicalizedTitle):
3479
3480 2006-10-26  John Sullivan  <sullivan@apple.com>
3481
3482         Reviewed by Brady
3483         
3484         - fixed <rdar://problem/4806064> Repro crash in FrameMac::loadRequest following iTunes music store link from salon.com
3485         
3486         This restores some of the nil-handling that was implicit before some of the code was converted from
3487         Objective-C to C++.
3488
3489         * bridge/mac/FrameMac.mm:
3490         (WebCore::FrameMac::loadRequest):
3491         handle nil FrameMac
3492         
3493         * bridge/mac/WebCoreFrameBridge.mm:
3494         (-[WebCoreFrameBridge canTargetLoadInFrame:]):
3495         handle nil Frame
3496
3497 2006-10-26  Geoffrey Garen  <ggaren@apple.com>
3498
3499         Reviewed by Darin, Maciej.
3500
3501         Removed many uses of NSString *.
3502         Moved a few methods from WebCoreFrameBridge to FrameLoader, replacing 
3503         stringByCollapsingNonPrintingCharacters with a c++ equivalent.
3504         
3505         PLT says no performance regression.
3506         
3507         * WebCore.exp:
3508         * bridge/mac/WebCoreFrameBridge.mm:
3509         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
3510         * loader/mac/FrameLoader.h:
3511         * loader/mac/FrameLoader.mm:
3512         (WebCore::FrameLoader::setupForReplaceByMIMEType):
3513         (WebCore::FrameLoader::load):
3514         (WebCore::FrameLoader::canShowMIMEType):
3515         (WebCore::FrameLoader::representationExistsForURLScheme):
3516         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
3517         (WebCore::FrameLoader::checkContentPolicy):
3518         (WebCore::FrameLoader::reloadAllowingStaleData):
3519         (WebCore::FrameLoader::invalidatePendingPolicyDecision):
3520         (WebCore::FrameLoader::checkNewWindowPolicy):
3521         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
3522         (WebCore::FrameLoader::transitionToCommitted):
3523         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
3524         (WebCore::FrameLoader::post):
3525         * loader/mac/WebDocumentLoader.h:
3526         * loader/mac/WebDocumentLoader.mm:
3527         (WebCore::DocumentLoader::doesProgressiveLoad):
3528         (WebCore::DocumentLoader::setupForReplaceByMIMEType):