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