Reviewed by Anders.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-11-09  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Anders.
4
5         - fixed "Regression: Can't log into gmail.com"
6         - fixed "iBench doesn't report results - tests run but no number is recorded"
7         
8         * platform/network/cf/FormDataStreamCFNet.cpp:
9         (WebCore::setHTTPBody): Removed extra ! character.
10
11 2006-11-09  Beth Dakin  <bdakin@apple.com>
12
13         Reviewed by Hyatt.
14
15         Fix for <rdar://problem/4805409> REGRESSION: Reproducible crash in 
16         WebCore::RenderBlock::skipWhitespace
17
18         Note that this will still crash on Debug builds because it will hit 
19         an assertion failure in editing. (One of the reasons there is no 
20         layout test along with this fix.) There is definitely some editing 
21         wackiness happening. See http://bugs.webkit.org/show_bug.cgi?
22         id=10144 for updates on the assertion failure bug.
23
24         * rendering/RootInlineBox.cpp:
25         (WebCore::RootInlineBox::childRemoved): It is possible for a 
26         prevRootBox and its prevRootBox to share a lineBreakObj. So instead 
27         of just clearing the lineBreakObj of the prevRootBox, cycle through 
28         all prevRootBoxs with the same lineBreakObj. 
29
30 2006-11-09  Adam Roben  <aroben@apple.com>
31
32         Reviewed by Geoff.
33
34         Fix the change in behavior I caused in r17680 with my build fix.
35
36         * rendering/RenderObject.cpp:
37         (WebCore::RenderObject::maxTopMargin):
38         (WebCore::RenderObject::maxBottomMargin):
39
40 2006-11-09  Anders Carlsson  <acarlsson@apple.com>
41
42         Reviewed by Adam, Oliver.
43
44         Move more functions to Editor.
45
46         * bridge/EditorClient.h:
47         * bridge/mac/FrameMac.h:
48         * bridge/mac/FrameMac.mm:
49         * bridge/mac/WebCoreFrameBridge.h:
50         * editing/EditCommand.cpp:
51         (WebCore::EditCommand::apply):
52         (WebCore::EditCommand::unapply):
53         (WebCore::EditCommand::reapply):
54         * editing/Editor.cpp:
55         (WebCore::Editor::respondToChangedContents):
56         (WebCore::dispatchEditableContentChangedEvents):
57         (WebCore::Editor::appliedEditing):
58         (WebCore::Editor::unappliedEditing):
59         (WebCore::Editor::reappliedEditing):
60         * editing/Editor.h:
61         * editing/TypingCommand.cpp:
62         (WebCore::TypingCommand::typingAddedToOpenCommand):
63         * page/Frame.cpp:
64         * page/Frame.h:
65
66 2006-11-09  Darin Adler  <darin@apple.com>
67
68         * rendering/RenderObject.h: Oops! Fixed accidentally checked-in ifdef.
69
70 2006-11-09  Alice Liu  <alice.liu@apple.com>
71
72         Reviewed by Beth Dakin.
73
74         Fixed <rdar://problem/4808720> Hamachi test tool crashes Safari in WebCore::HTMLTableSectionElement::deleteRow
75         All existing layout tests pass
76
77         * html/HTMLTableElement.cpp:
78         (WebCore::HTMLTableElement::deleteRow):
79         check lastSection before deleting row
80
81 2006-11-09  Darin Adler  <darin@apple.com>
82
83         - improved version of last night's build fix (should not do using namespace in a header)
84
85         * rendering/RenderObject.h:
86         * rendering/RenderObject.cpp:
87         (WebCore::RenderObject::maxTopMargin):
88         (WebCore::RenderObject::maxBottomMargin):
89
90 2006-11-08  Maciej Stachowiak  <mjs@apple.com>
91
92         Reviewed by Geoff.
93         
94         - added ResourceError class and didFailWithError client method
95
96         * WebCore.xcodeproj/project.pbxproj:
97         * loader/icon/IconLoader.cpp:
98         (WebCore::IconLoader::didFailWithError):
99         (WebCore::IconLoader::didFinishLoading):
100         * loader/icon/IconLoader.h:
101         * loader/loader.cpp:
102         (WebCore::Loader::receivedAllData):
103         (WebCore::Loader::didFailWithError):
104         * loader/loader.h:
105         * loader/mac/SubresourceLoaderMac.mm:
106         (WebCore::SubresourceLoader::didFail):
107         (WebCore::SubresourceLoader::didCancel):
108         * platform/cf/RetainPtr.h:
109         (WebCore::):
110         (WebCore::adoptCFReference):
111         (WebCore::RetainPtr::RetainPtr):
112         (WebCore::::adopt):
113         * platform/network/ResourceError.cpp: Added.
114         * platform/network/ResourceError.h: Added.
115         (WebCore::ResourceError::ResourceError):
116         (WebCore::ResourceError::domain):
117         (WebCore::ResourceError::errorCode):
118         (WebCore::ResourceError::failingURL):
119         (WebCore::ResourceError::localizedDescription):
120         (WebCore::ResourceError::unpackPlatformErrorIfNeeded):
121         * platform/network/ResourceHandle.cpp:
122         * platform/network/ResourceHandle.h:
123         * platform/network/ResourceHandleClient.h:
124         (WebCore::ResourceHandleClient::didFailWithError):
125         * platform/network/cf/ResourceHandleCFNet.cpp:
126         (WebCore::didFail):
127         (WebCore::ResourceHandle::cancel):
128         * platform/network/mac/ResourceErrorMac.mm: Added.
129         (-[NSError WebCore]):
130         * platform/network/mac/ResourceHandleMac.mm:
131         (WebCore::ResourceHandle::reportError):
132         * xml/xmlhttprequest.cpp:
133         (WebCore::XMLHttpRequest::didFailWithError):
134         (WebCore::XMLHttpRequest::didFinishLoading):
135         * xml/xmlhttprequest.h:
136
137 2006-11-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
138
139         Reviewed by Maciej.
140
141         Linux\Gdk fixes.
142
143         * platform/gdk/ChromeClientGdk.h:
144         (WebCore::ChromeClientGdk::~ChromeClientGdk):
145         * platform/gdk/CursorGdk.cpp:
146         (WebCore::Cursor::Cursor):
147         (WebCore::moveCursor):
148         * platform/gdk/FrameGdk.cpp:
149         (WebCore::FrameGdk::FrameGdk):
150         (WebCore::FrameGdk::submitForm):
151         (WebCore::FrameGdk::urlSelected):
152         * platform/gdk/PageGdk.cpp:
153         * platform/gdk/ScreenClientGdk.h: Added.
154         (WebCore::ScreenClientGdk::~ScreenClientGdk):
155         * platform/gdk/ScreenGdk.cpp:
156         (WebCore::ScreenClientGdk::depth):
157         (WebCore::ScreenClientGdk::depthPerComponent):
158         (WebCore::ScreenClientGdk::isMonochrome):
159         (WebCore::ScreenClientGdk::rect):
160         (WebCore::ScreenClientGdk::usableRect):
161         * platform/gdk/TemporaryLinkStubs.cpp:
162         (FrameGdk::historyURL):
163         (ChromeClientGdk::windowRect):
164         (ChromeClientGdk::setWindowRect):
165         (ChromeClientGdk::pageRect):
166         (ChromeClientGdk::scaleFactor):
167         (ChromeClientGdk::focus):
168         (ChromeClientGdk::unfocus):
169         (ChromeClientGdk::createWindow):
170         (ChromeClientGdk::createModalDialog):
171         (ChromeClientGdk::show):
172         (ChromeClientGdk::canRunModal):
173         (ChromeClientGdk::runModal):
174         (ChromeClientGdk::setToolbarsVisible):
175         (ChromeClientGdk::toolbarsVisible):
176         (ChromeClientGdk::setStatusbarVisible):
177         (ChromeClientGdk::statusbarVisible):
178         (ChromeClientGdk::setScrollbarsVisible):
179         (ChromeClientGdk::scrollbarsVisible):
180         (ChromeClientGdk::setMenubarVisible):
181         (ChromeClientGdk::menubarVisible):
182         (ChromeClientGdk::setResizable):
183         * platform/network/ResourceHandleInternal.h:
184         (WebCore::ResourceHandleInternal::client):
185         * platform/network/gdk/ResourceHandleManager.cpp:
186         (WebCore::writeCallback):
187         (WebCore::ResourceHandleManager::downloadTimerCallback):
188         (WebCore::ResourceHandleManager::remove):
189
190 2006-11-08  Adam Roben  <aroben@apple.com>
191
192         Build fix.
193
194         * rendering/RenderObject.h:
195         (WebCore::RenderObject::maxTopMargin):
196         (WebCore::RenderObject::maxBottomMargin):
197
198 2006-11-08  Geoffrey Garen  <ggaren@apple.com>
199
200         Reviewed by Anders Carlsson.
201
202         Made Screen a good platform citizen by removing its reference to Page. This
203         made a class unnecessary, so all screen fuctions are stand-alone now.
204
205         * bindings/js/kjs_window.cpp: Removed unnecessary subtractions
206         when computing the screen's available dimensions.
207
208 2006-11-08  Sam Weinig  <sam.weinig@gmail.com>
209
210         Reviewed by Mitz.
211
212         Fix for http://bugs.webkit.org/show_bug.cgi?id=11506
213         Cleanup RenderObject
214
215         * rendering/RenderObject.cpp:
216         (WebCore::RenderObject::operator delete):
217         (WebCore::RenderObject::createObject):
218         (WebCore::RenderObjectCounter::~RenderObjectCounter):
219         (WebCore::RenderObject::RenderObject):
220         (WebCore::RenderObject::isDescendantOf):
221         (WebCore::RenderObject::isRoot):
222         (WebCore::RenderObject::addChild):
223         (WebCore::RenderObject::removeChildNode):
224         (WebCore::RenderObject::removeChild):
225         (WebCore::RenderObject::appendChildNode):
226         (WebCore::RenderObject::insertChildNode):
227         (WebCore::RenderObject::nextInPreOrder):
228         (WebCore::RenderObject::nextInPreOrderAfterChildren):
229         (WebCore::RenderObject::previousInPreOrder):
230         (WebCore::RenderObject::isEditable):
231         (WebCore::RenderObject::nextEditable):
232         (WebCore::RenderObject::previousEditable):
233         (WebCore::RenderObject::firstLeafChild):
234         (WebCore::RenderObject::lastLeafChild):
235         (WebCore::RenderObject::addLayers):
236         (WebCore::RenderObject::removeLayers):
237         (WebCore::RenderObject::moveLayers):
238         (WebCore::RenderObject::findNextLayer):
239         (WebCore::RenderObject::enclosingLayer):
240         (WebCore::RenderObject::updateFirstLetter):
241         (WebCore::RenderObject::offsetParent):
242         (WebCore::RenderObject::scroll):
243         (WebCore::RenderObject::hasStaticX):
244         (WebCore::RenderObject::setNeedsLayout):
245         (WebCore::RenderObject::setChildNeedsLayout):
246         (WebCore::RenderObject::markContainingBlocksForLayout):
247         (WebCore::RenderObject::containingBlock):
248         (WebCore::RenderObject::containingBlockWidth):
249         (WebCore::RenderObject::containingBlockHeight):
250         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
251         (WebCore::RenderObject::drawBorderArc):
252         (WebCore::RenderObject::drawBorder):
253         (WebCore::RenderObject::paintBorderImage):
254         (WebCore::RenderObject::paintBorder):
255         (WebCore::RenderObject::absoluteRects):
256         (WebCore::RenderObject::addPDFURLRect):
257         (WebCore::RenderObject::addFocusRingRects):
258         (WebCore::RenderObject::paintOutline):
259         (WebCore::RenderObject::repaint):
260         (WebCore::RenderObject::repaintRectangle):
261         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
262         (WebCore::RenderObject::repaintObjectsBeforeLayout):
263         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
264         (WebCore::RenderObject::information):
265         (WebCore::RenderObject::dump):
266         (WebCore::selectStartNode):
267         (WebCore::RenderObject::shouldSelect):
268         (WebCore::RenderObject::draggableNode):
269         (WebCore::RenderObject::createAnonymousBlock):
270         (WebCore::RenderObject::handleDynamicFloatPositionChange):
271         (WebCore::RenderObject::setStyle):
272         (WebCore::RenderObject::setStyleInternal):
273         (WebCore::RenderObject::updateBackgroundImages):
274         (WebCore::RenderObject::absolutePosition):
275         (WebCore::RenderObject::caretRect):
276         (WebCore::RenderObject::paddingTop):
277         (WebCore::RenderObject::paddingBottom):
278         (WebCore::RenderObject::paddingLeft):
279         (WebCore::RenderObject::paddingRight):
280         (WebCore::RenderObject::tabWidth):
281         (WebCore::RenderObject::container):
282         (WebCore::RenderObject::removeFromObjectLists):
283         (WebCore::RenderObject::destroy):
284         (WebCore::RenderObject::arenaDelete):
285         (WebCore::RenderObject::hitTest):
286         (WebCore::RenderObject::setInnerNode):
287         (WebCore::RenderObject::nodeAtPoint):
288         (WebCore::RenderObject::verticalPositionHint):
289         (WebCore::RenderObject::getVerticalPosition):
290         (WebCore::RenderObject::lineHeight):
291         (WebCore::RenderObject::invalidateVerticalPositions):
292         (WebCore::RenderObject::recalcMinMaxWidths):
293         (WebCore::RenderObject::scheduleRelayout):
294         (WebCore::RenderObject::setInlineBoxWrapper):
295         (WebCore::RenderObject::firstLineStyle):
296         (WebCore::RenderObject::getPseudoStyle):
297         (WebCore::RenderObject::getTextDecorationColors):
298         (WebCore::RenderObject::addDashboardRegions):
299         (WebCore::RenderObject::collectDashboardRegions):
300         (WebCore::RenderObject::avoidsFloats):
301         (WebCore::RenderObject::findCounter):
302         (WebCore::RenderObject::backslashAsCurrencySymbol):
303         (WebCore::RenderObject::imageChanged):
304         (WebCore::RenderObject::previousOffset):
305         (WebCore::RenderObject::nextOffset):
306         (WebCore::RenderObject::inlineBox):
307         * rendering/RenderObject.h:
308         (WebCore::):
309         (WebCore::RenderObject::renderName):
310         (WebCore::RenderObject::parent):
311         (WebCore::RenderObject::previousSibling):
312         (WebCore::RenderObject::nextSibling):
313         (WebCore::RenderObject::firstChild):
314         (WebCore::RenderObject::lastChild):
315         (WebCore::RenderObject::getOverflowClipRect):
316         (WebCore::RenderObject::getClipRect):
317         (WebCore::RenderObject::getBaselineOfFirstLineBox):
318         (WebCore::RenderObject::setEdited):
319         (WebCore::RenderObject::setStaticX):
320         (WebCore::RenderObject::setStaticY):
321         (WebCore::RenderObject::setPreviousSibling):
322         (WebCore::RenderObject::setNextSibling):
323         (WebCore::RenderObject::setParent):
324         (WebCore::RenderObject::isInlineBlockOrInlineTable):
325         (WebCore::RenderObject::isRenderView):
326         (WebCore::RenderObject::childrenInline):
327         (WebCore::RenderObject::setChildrenInline):
328         (WebCore::RenderObject::isAnonymousBlock):
329         (WebCore::RenderObject::isDragging):
330         (WebCore::RenderObject::needsLayout):
331         (WebCore::RenderObject::setMinMaxKnown):
332         (WebCore::RenderObject::setNeedsLayoutAndMinMaxRecalc):
333         (WebCore::RenderObject::setPositioned):
334         (WebCore::RenderObject::setRelPositioned):
335         (WebCore::RenderObject::setFloating):
336         (WebCore::RenderObject::setInline):
337         (WebCore::RenderObject::setShouldPaintBackgroundOrBorder):
338         (WebCore::RenderObject::setReplaced):
339         (WebCore::RenderObject::PaintInfo::PaintInfo):
340         (WebCore::RenderObject::paintBackgroundExtended):
341         (WebCore::RenderObject::calcWidth):
342         (WebCore::RenderObject::updateFromElement):
343         (WebCore::RenderObject::RepaintInfo::RepaintInfo):
344         (WebCore::RenderObject::setOverrideSize):
345         (WebCore::RenderObject::setPos):
346         (WebCore::RenderObject::setWidth):
347         (WebCore::RenderObject::setHeight):
348         (WebCore::RenderObject::absolutePositionForContent):
349         (WebCore::RenderObject::overflowHeight):
350         (WebCore::RenderObject::overflowWidth):
351         (WebCore::RenderObject::setOverflowHeight):
352         (WebCore::RenderObject::setOverflowWidth):
353         (WebCore::RenderObject::overflowLeft):
354         (WebCore::RenderObject::overflowTop):
355         (WebCore::RenderObject::overflowRect):
356         (WebCore::RenderObject::stopAutoscroll):
357         (WebCore::RenderObject::collapsedMarginTop):
358         (WebCore::RenderObject::collapsedMarginBottom):
359         (WebCore::RenderObject::maxTopMargin):
360         (WebCore::RenderObject::maxBottomMargin):
361         (WebCore::RenderObject::):
362         (WebCore::RenderObject::setTable):
363         (WebCore::RenderObject::isFloatingOrPositioned):
364         (WebCore::RenderObject::containsFloat):
365         (WebCore::RenderObject::setSelectionState):
366         (WebCore::RenderObject::SelectionInfo::SelectionInfo):
367         (WebCore::RenderObject::lowestPosition):
368         (WebCore::RenderObject::rightmostPosition):
369         (WebCore::RenderObject::leftmostPosition):
370         (WebCore::RenderObject::calcVerticalMargins):
371         (WebCore::RenderObject::font):
372
373 >>>>>>> .r17689
374 2006-11-08  Darin Adler  <darin@apple.com>
375
376         Reviewed by Anders.
377
378         - added event parameters to focus-related functions so we can
379           implement the "option-tab to all links" behavior without relying
380           on a global "current event" -- also makes it work with DOM events
381
382         * page/Frame.h: Removed unneeded includes. Moved some functions
383         that were misplaced into the appropriate sections.
384         * page/Frame.cpp:
385         (WebCore::Frame::doTextFieldCommandFromEvent): Changed parameter from
386         PlatformKeyboardEvent to the DOM keyboard event class.
387         (WebCore::Frame::tabsToLinks): Added event parameter.
388         (WebCore::Frame::tabsToAllControls): Ditto.
389         (WebCore::scanForForm): Fixed code that incorrectly assumes
390         that an iframe is an HTMLFrameElement (no longer true since Geoff
391         changed the class hierarchy a bit).
392         (WebCore::Frame::hitTestResultAtPoint): Ditto.
393
394         * bridge/mac/FrameMac.h: Removed unneeded includes. Moved some functions
395         that were misplaced into the appropriate sections.
396         * bridge/mac/FrameMac.mm:
397         (WebCore::selectorForKeyEvent): Changed to use a DOM event instead of
398         a PlatformKeyboardEvent.
399         (WebCore::FrameMac::nextKeyViewInFrame): Changed to use currentKeyboardEvent()
400         and pass event into next/previousFocusNode.
401         (WebCore::FrameMac::currentKeyboardEvent): Added. Creates a DOM event from
402         the AppKit current event, if it's a keyboard event. Really just a hack that's
403         needed to preserve some code we can remove once we deal with the last NSView-
404         based form control.
405         (WebCore::isKeyboardOptionTab): Added.
406         (WebCore::FrameMac::tabsToLinks): Added event parameter, used to check if the
407         option (alt) key is down.
408         (WebCore::FrameMac::tabsToAllControls): Ditto.
409         (WebCore::FrameMac::keyEvent): Changed call to prepareForUserAction() to just
410         call resetMultipleFormSubmissionProtection() explicitly instead.
411         (WebCore::FrameMac::mouseDown): Ditto.
412
413         * bridge/mac/WebCoreAXObject.mm:
414         (-[WebCoreAXObject accessibilityDescription]): Fixed code that incorrectly
415         assumes that an iframe is an HTMLFrameElement (no longer true since Geoff
416         changed the class hierarchy a bit).
417         (-[WebCoreAXObject accessibilityPerformAction:]): Changed call to
418         prepareForUserAction() to call resetMultipleFormSubmissionProtection()
419         explicitly instead.
420
421         * page/FrameView.h:
422         * page/FrameView.cpp:
423         (WebCore::FrameView::advanceFocus): Changed function to take an
424         event parameter, and decide the direction based on the shift key
425         modifier instead of a passed-in boolean.
426
427         * dom/Document.h:
428         * dom/Document.cpp:
429         (WebCore::Document::nextFocusNode): Added event parameter.
430         (WebCore::Document::previousFocusNode): Ditto.
431         * dom/Node.h:
432         * dom/Node.cpp:
433         (WebCore::Node::isKeyboardFocusable): Ditto.
434         * html/HTMLAnchorElement.h:
435         * html/HTMLAnchorElement.cpp:
436         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Ditto.
437         * html/HTMLGenericFormElement.h:
438         * html/HTMLGenericFormElement.cpp:
439         (WebCore::HTMLGenericFormElement::isKeyboardFocusable): Ditto.
440         * html/HTMLInputElement.h:
441         * html/HTMLInputElement.cpp:
442         (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
443         (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
444         * html/HTMLSelectElement.h:
445         * html/HTMLSelectElement.cpp:
446         (WebCore::HTMLSelectElement::isKeyboardFocusable): Ditto.
447         * html/HTMLTextAreaElement.h:
448         * html/HTMLTextAreaElement.cpp:
449         (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Ditto.
450
451         * dom/EventTargetNode.cpp:
452         (WebCore::EventTargetNode::defaultEventHandler): Pass event to the
453         advanceFocus function.
454
455         * platform/TextField.h:
456         * platform/mac/TextFieldMac.mm: Removed the non-search field code.
457
458         * platform/mac/WebCoreTextField.h:
459         * platform/mac/WebCoreTextField.mm: Removed the non-search field code.
460         (-[WebCoreTextFieldController controlTextDidChange:]): Removed the
461         call to FrameMac::handleKeyboardOptionTabInView, which is no longer
462         needed since the default handler in HTMLInputElement takes care of
463         option-tab.
464
465         * platform/mac/SliderMac.mm:
466         (-[WebCoreSlider canBecomeKeyView]): Changed to use currentKeyboardEvent()
467         and pass event into tabsToAllControls.
468         (Slider::focusPolicy): Ditto.
469
470         * rendering/RenderLineEdit.cpp:
471         (WebCore::RenderLineEdit::RenderLineEdit): Removed the non-search field code.
472         (WebCore::RenderLineEdit::updateFromElement): Ditto.
473
474 2006-11-08  Brady Eidson  <beidson@apple.com>
475
476         Reviewed by Dave Harrison, Oliver, and Darin 
477         (oh my!  where was superkevin on this one?)
478
479         <rdar://problem/4816196> "Xcode Help" crashes in WebCore::DocumentLoader::setPrimaryLoadComplete(bool)
480
481         More "free nil checking" we lost in the transition from ObjC to C++
482
483         * loader/mac/FrameLoaderMac.mm:
484         (WebCore::FrameLoader::startLoading): Null check m_provisionalDocumentLoader and bail early.
485         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto
486
487 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
488
489         Reviewed by Adam.
490
491         Move more code into editor.
492         
493         * WebCore.exp:
494         * bridge/EditorClient.h:
495         * bridge/mac/FrameMac.h:
496         * bridge/mac/FrameMac.mm:
497         * bridge/mac/WebCoreFrameBridge.h:
498         * dom/Document.cpp:
499         (WebCore::Document::relinquishesEditingFocus):
500         (WebCore::Document::acceptsEditingFocus):
501         (WebCore::Document::didBeginEditing):
502         (WebCore::Document::didEndEditing):
503         * editing/Editor.cpp:
504         (WebCore::Editor::indent):
505         (WebCore::Editor::outdent):
506         * editing/Editor.h:
507         * page/Frame.cpp:
508         * page/Frame.h:
509
510 2006-11-08  Beth Dakin  <bdakin@apple.com>
511
512         Reviewed by Adam.
513
514         Add ability to HitTestResult to ask if the inner non-shared node is 
515         content editable.
516
517         * WebCore.exp: Export HitTestResult::isContentEditable()
518         * rendering/HitTestResult.cpp:
519         (WebCore::HitTestResult::isContentEditable):
520         * rendering/HitTestResult.h:
521
522 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
523
524         Build fix.
525         
526         * WebCore.xcodeproj/project.pbxproj:
527         Add DOMCSSStyleDeclarationInternal.h to the "Copy Generated Headers" build phase.
528
529 2006-11-08  Timothy Hatcher  <timothy@apple.com>
530
531         Reviewed by Darin.
532
533         <rdar://problem/4713280> Would like to get an array of bounding rects rather than just the union of them for a DOMRange
534         <rdar://problem/4804317> Would like SPI to get bounding box for a DOM range without having to change the selection
535
536         Added lineBoxRects and boundingBox to Range and DOMRange. These methods correspond to the DOMNode methods.
537
538         * bindings/objc/DOM.mm:
539         (WebCore::kit):
540         (-[DOMNode lineBoxRects]):
541         (-[DOMRange boundingBox]):
542         (-[DOMRange lineBoxRects]):
543         * bindings/objc/DOMPrivate.h:
544         * dom/Range.cpp:
545         (WebCore::Range::boundingBox):
546         (WebCore::Range::addLineBoxRects):
547         * dom/Range.h:
548         * rendering/RenderContainer.cpp:
549         (WebCore::RenderContainer::addLineBoxRects):
550         * rendering/RenderContainer.h:
551         * rendering/RenderObject.cpp:
552         (WebCore::RenderObject::addLineBoxRects):
553         * rendering/RenderObject.h:
554         * rendering/RenderText.cpp:
555         (WebCore::RenderText::addLineBoxRects):
556         * rendering/RenderText.h:
557
558 2006-11-08  Anders Carlsson  <acarlsson@apple.com>
559
560         Reviewed by Oliver.
561         
562         Move methods from the bridge and frame into editor.
563         
564         * WebCore.exp:
565         * bridge/EditorClient.h:
566         * bridge/mac/WebCoreFrameBridge.h:
567         * bridge/mac/WebCoreFrameBridge.mm:
568         * editing/Editor.cpp:
569         (WebCore::Editor::removeFormattingAndStyle):
570         (WebCore::Editor::applyStyle):
571         (WebCore::Editor::applyParagraphStyle):
572         (WebCore::Editor::applyStyleToSelection):
573         (WebCore::Editor::applyParagraphStyleToSelection):
574         (WebCore::Editor::toggleBold):
575         (WebCore::Editor::toggleItalic):
576         (WebCore::Editor::selectionStartHasStyle):
577         * editing/Editor.h:
578         * editing/JSEditor.cpp:
579         * page/Frame.cpp:
580         * page/Frame.h:
581
582 2006-11-08  Geoffrey Garen  <ggaren@apple.com>
583
584         Reviewed by Beth.
585         
586         Fixed regression in fast/events/objc-event-api. DumpRenderTree expects to
587         be able to dispatch user events even when off-screen, so we have to support
588         off-screen windows when handling mouse events.
589
590         * platform/Screen.h:
591         * platform/mac/PlatformMouseEventMac.mm:
592         (WebCore::globalPoint): Grab the best screen instead of the screen you're
593         on, since you might be off-screen.
594         * platform/mac/ScreenMac.mm:
595         (WebCore::screenForWindow):
596
597 2006-11-08  Darin Adler  <darin@apple.com>
598
599         - fix bug caused by last-minute change to my check-in last night
600           that is causing layout tests to hang
601
602         * dom/Document.cpp: (WebCore::Document::completeURL): Added comments.
603         * loader/FrameLoader.cpp: (WebCore::FrameLoader::submitForm): Turn
604         a null string into an empty string before calling completeURL.
605
606 2006-11-08  Brady Eidson <beidson@apple.com>
607
608         Reviewed by Maciej
609
610         If the request has already been aborted, bail out of didFinishLoading()
611         immediately.  This prevents state change notifications that aren't
612         needed.
613
614         * xml/xmlhttprequest.cpp:
615         (WebCore::XMLHttpRequest::didFinishLoading):
616
617 2006-11-08  Darin Adler  <darin@apple.com>
618
619         - another attempt to fix Qt build
620
621         * loader/qt/FrameLoaderQt.cpp: Added missing include of FrameLoader.h.
622
623 2006-11-08  Darin Adler  <darin@apple.com>
624
625         Reviewed by Geoff.
626
627         - stray bits of my FrameLoader patch that I left out by accident
628
629         * loader/FrameLoader.cpp:
630         (WebCore::FrameLoader::createWindow): Use m_outgoingReferrer instead of outgoingReferrer()
631         inside the FrameLoader class.
632         (WebCore::FrameLoader::requestFrame): Use less DeprecatedString.
633         (WebCore::FrameLoader::clear): Stop the redirection timer.
634         (WebCore::FrameLoader::receivedFirstData): Added an early return instead of nesting the
635         entire function in an if statement. Use less DeprecatedString.
636         (WebCore::FrameLoader::scheduleLocationChange): Fix backwards ? : operator.
637         (WebCore::FrameLoader::scheduleRefresh): Ditto.
638         (WebCore::FrameLoader::urlSelected): Use m_outgoingReferrer instead of outgoingReferrer()
639         inside the FrameLoader class.
640         * loader/mac/FrameLoaderMac.mm:
641         (WebCore::FrameLoader::load): Ditto.
642         (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
643
644 2006-11-07  Beth Dakin  <bdakin@apple.com>
645
646         Reviewed by Hyatt.
647
648         Another go at fix for <rdar://problem/4820814> A crash occurs at 
649         WebCore::HitTestResult::spellingToolTip() when mousing down on 
650         iframe at www.macsurfer.com
651
652         The fix from yesterday caused a layout test regression which 
653         exposed an existing bug. The existing bug was that we allowed text 
654         nodes to stay in the head tag, but other browsers move them to the 
655         body. The previous fix also caused a performance regression, which 
656         was seemingly easy to fix by moving the new clause in 
657         HTMLParser::handleError() to be below the HTMLElement case.
658
659         * html/HTMLDocument.cpp:
660         (WebCore::HTMLDocument::childAllowed): Don't allow comment nodes to 
661         be the child of the document.
662         * html/HTMLHeadElement.cpp:
663         (WebCore::HTMLHeadElement::childAllowed): Do not allow non-
664         whitespace text nodes to be children of the head.
665         * html/HTMLHeadElement.h:
666         * html/HTMLParser.cpp:
667         (WebCore::HTMLParser::handleError): Error case for comment nodes.
668         * page/FrameView.cpp:
669         (WebCore::FrameView::handleMousePressEvent): Safety-net null check 
670         for the original crash. 
671
672 2006-11-07  Darin Adler  <darin@apple.com>
673
674         - another attempt to fix Qt build
675
676         * loader/icon/IconLoader.h: Added missing include.
677
678 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
679
680         Reviewed by Tim Hatcher.
681         
682         Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
683         
684         None of Screen's responsibilities require up-calls to WebKit or delegates, 
685         so WebCore can handle it all.
686         
687         Moved Screen back from page/ to platform/ because it's a platform
688         abstraction again.
689
690         Merged scaling and flipping functions into 'toUserSpace' and 'toDeviceSpace',
691         since the two were always used together.
692         
693         Changed pixel depth queries to query the deepest screen. Darin mentioned
694         that it might have been a feature, not a bug, to use the main/menubar screen
695         regardless of the screen you were on. For scaling and flipping that's not
696         the case, but for querying pixel depth I think it is. You want to know
697         about the highest pixel depth your content may display on.
698         
699         Tests still pass.
700
701         * WebCore.exp:
702         * WebCore.xcodeproj/project.pbxproj:
703         * page/Page.cpp:
704         (WebCore::Page::Page):
705         * page/Page.h:
706         * page/Screen.cpp: Removed.
707         * page/Screen.h: Removed.
708         * page/ScreenClient.h: Removed.
709         * platform/mac/PlatformMouseEventMac.mm:
710         (WebCore::globalPoint):
711         * platform/mac/ScreenMac.mm:
712         (WebCore::window):
713         (WebCore::bestScreen):
714         (WebCore::Screen::depth):
715         (WebCore::Screen::depthPerComponent):
716         (WebCore::Screen::isMonochrome):
717         (WebCore::Screen::rect):
718         (WebCore::Screen::usableRect):
719         (WebCore::toUserSpace):
720         (WebCore::toDeviceSpace):
721
722 2006-11-07  Darin Adler  <darin@apple.com>
723
724         - try to fix Qt build
725
726         * CMakeLists.txt: Updated for some file changes.
727         * WebCoreSources.bkl: Ditto.
728
729 2006-11-07  Darin Adler  <darin@apple.com>
730
731         Reviewed by Geoff.
732
733         - moved loader code from Frame/FrameMac to FrameLoader
734
735         * WebCore.exp:
736         * WebCore.xcodeproj/project.pbxproj:
737         * bindings/js/JSXSLTProcessor.h:
738         * bindings/js/kjs_events.cpp:
739         (KJS::JSLazyEventListener::parseCode):
740         * bindings/js/kjs_html.cpp:
741         (KJS::JSHTMLDocument::putValueProperty):
742         * bindings/js/kjs_navigator.cpp:
743         (KJS::Navigator::getValueProperty):
744         * bindings/js/kjs_proxy.cpp:
745         (WebCore::KJSProxy::initScriptIfNeeded):
746         * bindings/js/kjs_window.cpp:
747         (KJS::Screen::Screen):
748         (KJS::createNewWindow):
749         (KJS::Window::getValueProperty):
750         (KJS::Window::put):
751         (KJS::Window::isSafeScript):
752         (KJS::WindowFunc::callAsFunction):
753         (KJS::ScheduledAction::execute):
754         (KJS::Location::getValueProperty):
755         (KJS::Location::put):
756         (KJS::Location::toString):
757         (KJS::LocationFunc::callAsFunction):
758         (KJS::History::getValueProperty):
759         (KJS::HistoryFunc::callAsFunction):
760         * bindings/objc/DOM.mm:
761         (+[DOMNode _nodeWith:WebCore::]):
762         * bridge/mac/FrameMac.h:
763         * bridge/mac/FrameMac.mm:
764         (WebCore::FrameMac::~FrameMac):
765         (WebCore::FrameMac::setView):
766         (WebCore::FrameMac::setStatusBarText):
767         * bridge/mac/WebCoreFrameBridge.h:
768         * bridge/mac/WebCoreFrameBridge.mm:
769         (-[WebCoreFrameBridge close]):
770         (-[WebCoreFrameBridge addData:]):
771         (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
772         (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
773         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
774         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
775         (-[WebCoreFrameBridge baseURL]):
776         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
777         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
778         (-[WebCoreFrameBridge canProvideDocumentSource]):
779         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
780         * css/cssparser.cpp:
781         (WebCore::CSSParser::parseContent):
782         * dom/DOMImplementation.cpp:
783         (WebCore::DOMImplementation::createDocument):
784         (WebCore::DOMImplementation::createHTMLDocument):
785         * dom/DOMImplementation.h:
786         * dom/Document.cpp:
787         (WebCore::Document::readyState):
788         (WebCore::Document::updateTitle):
789         (WebCore::Document::open):
790         (WebCore::Document::close):
791         (WebCore::Document::implicitClose):
792         (WebCore::Document::processHttpEquiv):
793         (WebCore::Document::referrer):
794         (WebCore::Document::finishedParsing):
795         * dom/ProcessingInstruction.cpp:
796         (WebCore::ProcessingInstruction::checkStyleSheet):
797         * dom/XMLTokenizer.cpp:
798         (WebCore::XMLTokenizer::endElementNs):
799         (WebCore::ignorableWhitespaceHandler):
800         (WebCore::XMLTokenizer::notifyFinished):
801         * editing/TextIterator.cpp:
802         (WebCore::TextIterator::rangeFromLocationAndLength):
803         * html/HTMLAnchorElement.cpp:
804         (WebCore::HTMLAnchorElement::defaultEventHandler):
805         * html/HTMLBaseElement.cpp:
806         (WebCore::HTMLBaseElement::process):
807         * html/HTMLDocument.cpp:
808         (WebCore::HTMLDocument::lastModified):
809         * html/HTMLFormElement.cpp:
810         (WebCore::HTMLFormElement::formData):
811         (WebCore::HTMLFormElement::submit):
812         * html/HTMLFrameElementBase.cpp:
813         (WebCore::HTMLFrameElementBase::isURLAllowed):
814         (WebCore::HTMLFrameElementBase::openURL):
815         (WebCore::HTMLFrameElementBase::willRemove):
816         * html/HTMLInputElement.cpp:
817         (WebCore::HTMLInputElement::setValueFromRenderer):
818         * html/HTMLLinkElement.cpp:
819         (WebCore::HTMLLinkElement::process):
820         * html/HTMLParser.cpp:
821         (WebCore::HTMLParser::handleError):
822         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
823         * html/HTMLPreElement.idl:
824         * html/HTMLScriptElement.cpp:
825         (WebCore::HTMLScriptElement::parseMappedAttribute):
826         (WebCore::HTMLScriptElement::insertedIntoDocument):
827         * html/HTMLTokenizer.cpp:
828         (WebCore::HTMLTokenizer::scriptExecution):
829         (WebCore::HTMLTokenizer::parseTag):
830         (WebCore::HTMLTokenizer::write):
831         (WebCore::HTMLTokenizer::stopParsing):
832         (WebCore::HTMLTokenizer::timerFired):
833         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
834         (WebCore::KCanvasFilterQuartz::prepareFilter):
835         * ksvg2/svg/SVGAElement.cpp:
836         (WebCore::SVGAElement::defaultEventHandler):
837         * ksvg2/svg/SVGElement.cpp:
838         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
839         * loader/DocLoader.cpp:
840         (WebCore::DocLoader::setLoadInProgress):
841         * loader/FrameLoader.cpp:
842         (WebCore::FormSubmission::FormSubmission):
843         (WebCore::ScheduledRedirection::):
844         (WebCore::ScheduledRedirection::ScheduledRedirection):
845         (WebCore::cancelAll):
846         (WebCore::getString):
847         (WebCore::isBackForwardLoadType):
848         (WebCore::numRequests):
849         (WebCore::FrameLoader::FrameLoader):
850         (WebCore::FrameLoader::~FrameLoader):
851         (WebCore::FrameLoader::createWindow):
852         (WebCore::FrameLoader::changeLocation):
853         (WebCore::FrameLoader::urlSelected):
854         (WebCore::FrameLoader::requestFrame):
855         (WebCore::FrameLoader::loadSubframe):
856         (WebCore::FrameLoader::submitFormAgain):
857         (WebCore::FrameLoader::submitForm):
858         (WebCore::FrameLoader::stopLoading):
859         (WebCore::FrameLoader::stop):
860         (WebCore::FrameLoader::closeURL):
861         (WebCore::FrameLoader::cancelRedirection):
862         (WebCore::FrameLoader::iconURL):
863         (WebCore::FrameLoader::didOpenURL):
864         (WebCore::FrameLoader::didExplicitOpen):
865         (WebCore::FrameLoader::replaceContentsWithScriptResult):
866         (WebCore::FrameLoader::executeScript):
867         (WebCore::FrameLoader::cancelAndClear):
868         (WebCore::FrameLoader::clear):
869         (WebCore::FrameLoader::receivedFirstData):
870         (WebCore::FrameLoader::responseMIMEType):
871         (WebCore::FrameLoader::setResponseMIMEType):
872         (WebCore::FrameLoader::begin):
873         (WebCore::FrameLoader::write):
874         (WebCore::FrameLoader::end):
875         (WebCore::FrameLoader::endIfNotLoading):
876         (WebCore::FrameLoader::startIconLoader):
877         (WebCore::FrameLoader::commitIconURLToIconDatabase):
878         (WebCore::FrameLoader::gotoAnchor):
879         (WebCore::FrameLoader::finishedParsing):
880         (WebCore::FrameLoader::loadDone):
881         (WebCore::FrameLoader::checkCompleted):
882         (WebCore::FrameLoader::checkEmitLoadEvent):
883         (WebCore::FrameLoader::baseURL):
884         (WebCore::FrameLoader::baseTarget):
885         (WebCore::FrameLoader::completeURL):
886         (WebCore::FrameLoader::scheduleRedirection):
887         (WebCore::FrameLoader::scheduleLocationChange):
888         (WebCore::FrameLoader::scheduleRefresh):
889         (WebCore::FrameLoader::isScheduledLocationChangePending):
890         (WebCore::FrameLoader::scheduleHistoryNavigation):
891         (WebCore::FrameLoader::redirectionTimerFired):
892         (WebCore::FrameLoader::encoding):
893         (WebCore::FrameLoader::requestObject):
894         (WebCore::FrameLoader::shouldUsePlugin):
895         (WebCore::FrameLoader::loadPlugin):
896         (WebCore::FrameLoader::clearRecordedFormValues):
897         (WebCore::FrameLoader::recordFormValue):
898         (WebCore::FrameLoader::parentCompleted):
899         (WebCore::FrameLoader::outgoingReferrer):
900         (WebCore::FrameLoader::lastModified):
901         (WebCore::FrameLoader::opener):
902         (WebCore::FrameLoader::setOpener):
903         (WebCore::FrameLoader::openedByJavaScript):
904         (WebCore::FrameLoader::setOpenedByJavaScript):
905         (WebCore::FrameLoader::handleFallbackContent):
906         (WebCore::FrameLoader::provisionalLoadStarted):
907         (WebCore::FrameLoader::userGestureHint):
908         (WebCore::FrameLoader::didNotOpenURL):
909         (WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
910         (WebCore::FrameLoader::setEncoding):
911         (WebCore::FrameLoader::addData):
912         (WebCore::FrameLoader::canCachePage):
913         (WebCore::FrameLoader::updatePolicyBaseURL):
914         (WebCore::FrameLoader::setPolicyBaseURL):
915         (WebCore::FrameLoader::scrollToAnchor):
916         (WebCore::FrameLoader::isComplete):
917         (WebCore::FrameLoader::isLoadingMainResource):
918         (WebCore::FrameLoader::url):
919         (WebCore::FrameLoader::startRedirectionTimer):
920         (WebCore::FrameLoader::stopRedirectionTimer):
921         (WebCore::FrameLoader::updateBaseURLForEmptyDocument):
922         (WebCore::FrameLoader::completed):
923         (WebCore::FrameLoader::started):
924         (WebCore::FrameLoader::containsPlugins):
925         (WebCore::FrameLoader::prepareForLoadStart):
926         (WebCore::FrameLoader::setupForReplace):
927         (WebCore::FrameLoader::setupForReplaceByMIMEType):
928         (WebCore::FrameLoader::finalSetupForReplace):
929         (WebCore::FrameLoader::load):
930         (WebCore::FrameLoader::canTarget):
931         (WebCore::FrameLoader::stopLoadingPlugIns):
932         (WebCore::FrameLoader::stopLoadingSubresources):
933         (WebCore::FrameLoader::stopLoadingSubframes):
934         (WebCore::FrameLoader::stopAllLoaders):
935         (WebCore::FrameLoader::cancelMainResourceLoad):
936         (WebCore::FrameLoader::cancelPendingArchiveLoad):
937         (WebCore::FrameLoader::activeDocumentLoader):
938         (WebCore::FrameLoader::addPlugInStreamLoader):
939         (WebCore::FrameLoader::removePlugInStreamLoader):
940         (WebCore::FrameLoader::hasMainResourceLoader):
941         (WebCore::FrameLoader::isLoadingSubresources):
942         (WebCore::FrameLoader::isLoadingPlugIns):
943         (WebCore::FrameLoader::isLoading):
944         (WebCore::FrameLoader::addSubresourceLoader):
945         (WebCore::FrameLoader::removeSubresourceLoader):
946         (WebCore::FrameLoader::releaseMainResourceLoader):
947         (WebCore::FrameLoader::setDocumentLoader):
948         (WebCore::FrameLoader::documentLoader):
949         (WebCore::FrameLoader::setPolicyDocumentLoader):
950         (WebCore::FrameLoader::provisionalDocumentLoader):
951         (WebCore::FrameLoader::setProvisionalDocumentLoader):
952         (WebCore::FrameLoader::state):
953         (WebCore::FrameLoader::timeOfLastCompletedLoad):
954         (WebCore::FrameLoader::setState):
955         (WebCore::FrameLoader::clearProvisionalLoad):
956         (WebCore::FrameLoader::markLoadComplete):
957         (WebCore::FrameLoader::commitProvisionalLoad):
958         (WebCore::FrameLoader::privateBrowsingEnabled):
959         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
960         (WebCore::FrameLoader::clientRedirected):
961         (WebCore::FrameLoader::shouldReload):
962         (WebCore::FrameLoader::closeOldDataSources):
963         (WebCore::FrameLoader::open):
964         (WebCore::FrameLoader::isStopping):
965         (WebCore::FrameLoader::finishedLoading):
966         (WebCore::FrameLoader::URL):
967         (WebCore::FrameLoader::isArchiveLoadPending):
968         (WebCore::FrameLoader::isHostedByObjectElement):
969         (WebCore::FrameLoader::isLoadingMainFrame):
970         (WebCore::FrameLoader::canShowMIMEType):
971         (WebCore::FrameLoader::representationExistsForURLScheme):
972         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
973         (WebCore::FrameLoader::cancelContentPolicyCheck):
974         (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
975         (WebCore::FrameLoader::finishedLoadingDocument):
976         (WebCore::FrameLoader::isReplacing):
977         (WebCore::FrameLoader::setReplacing):
978         (WebCore::FrameLoader::revertToProvisional):
979         (WebCore::FrameLoader::subframeIsLoading):
980         (WebCore::FrameLoader::willChangeTitle):
981         (WebCore::FrameLoader::loadType):
982         (WebCore::FrameLoader::stopPolicyCheck):
983         (WebCore::FrameLoader::continueAfterContentPolicy):
984         (WebCore::FrameLoader::continueAfterWillSubmitForm):
985         (WebCore::FrameLoader::didFirstLayout):
986         (WebCore::FrameLoader::frameLoadCompleted):
987         (WebCore::FrameLoader::firstLayoutDone):
988         (WebCore::FrameLoader::isQuickRedirectComing):
989         (WebCore::FrameLoader::closeDocument):
990         (WebCore::FrameLoader::detachChildren):
991         (WebCore::FrameLoader::checkLoadComplete):
992         (WebCore::FrameLoader::numPendingOrLoadingRequests):
993         (WebCore::FrameLoader::setClient):
994         (WebCore::FrameLoader::client):
995         (WebCore::FrameLoader::userAgent):
996         (WebCore::FrameLoader::createEmptyDocument):
997         (WebCore::FrameLoader::tokenizerProcessedData):
998         (WebCore::FrameLoader::didTellBridgeAboutLoad):
999         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
1000         (WebCore::FrameLoader::handledOnloadEvents):
1001         (WebCore::FrameLoader::frameDetached):
1002         (WebCore::FrameLoader::setTitle):
1003         (WebCore::FrameLoaderClient::~FrameLoaderClient):
1004         * loader/FrameLoader.h:
1005         (WebCore::):
1006         * loader/FrameLoaderClient.h:
1007         * loader/PluginDocument.cpp:
1008         (WebCore::PluginTokenizer::createDocumentStructure):
1009         (WebCore::PluginTokenizer::writeRawData):
1010         * loader/ResourceLoader.h:
1011         * loader/TextResourceDecoder.cpp:
1012         (WebCore::TextResourceDecoder::checkForHeadCharset):
1013         * loader/icon/IconLoader.cpp:
1014         (WebCore::IconLoader::startLoading):
1015         (WebCore::IconLoader::finishLoading):
1016         * loader/loader.cpp:
1017         (WebCore::Loader::didReceiveResponse):
1018         * loader/mac/DocumentLoaderMac.mm:
1019         (WebCore::DocumentLoader::~DocumentLoader):
1020         (WebCore::DocumentLoader::stopLoading):
1021         (WebCore::DocumentLoader::finishedLoading):
1022         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1023         (WebCore::DocumentLoader::setPrimaryLoadComplete):
1024         * loader/mac/FrameLoaderMac.mm:
1025         (WebCore::FrameLoader::load):
1026         (WebCore::FrameLoader::startLoading):
1027         (WebCore::FrameLoader::cancelMainResourceLoad):
1028         (WebCore::FrameLoader::receivedMainResourceError):
1029         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1030         (WebCore::FrameLoader::commitProvisionalLoad):
1031         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1032         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1033         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1034         (WebCore::FrameLoader::detachFromParent):
1035         (WebCore::FrameLoader::addExtraFieldsToRequest):
1036         (WebCore::FrameLoader::loadResourceSynchronously):
1037         (WebCore::FrameLoader::createFrame):
1038         (WebCore::FrameLoader::objectContentType):
1039         (WebCore::nsArray):
1040         (WebCore::FrameLoader::createPlugin):
1041         (WebCore::FrameLoader::redirectDataToPlugin):
1042         (WebCore::FrameLoader::createJavaAppletWidget):
1043         (WebCore::FrameLoader::partClearedInBegin):
1044         (WebCore::FrameLoader::saveDocumentState):
1045         (WebCore::FrameLoader::restoreDocumentState):
1046         (WebCore::FrameLoader::overrideMediaType):
1047         (WebCore::FrameLoader::mainResourceData):
1048         (WebCore::FrameLoader::canGoBackOrForward):
1049         (WebCore::FrameLoader::originalRequestURL):
1050         (WebCore::FrameLoader::getHistoryLength):
1051         (WebCore::FrameLoader::goBackOrForward):
1052         (WebCore::FrameLoader::historyURL):
1053         (WebCore::FrameLoader::didFinishLoad):
1054         * loader/mac/LoaderFunctionsMac.mm:
1055         (WebCore::ServeSynchronousRequest):
1056         (WebCore::CheckCacheObjectStatus):
1057         * loader/mac/ResourceLoaderMac.mm:
1058         (WebCore::ResourceLoader::cancel):
1059         * loader/mac/SubresourceLoaderMac.mm:
1060         (WebCore::SubresourceLoader::create):
1061         * loader/qt/FrameLoaderQt.cpp: Added.
1062         (WebCore::FrameLoader::submitForm):
1063         (WebCore::FrameLoader::urlSelected):
1064         (WebCore::FrameLoader::setTitle):
1065         (WebCore::FrameLoader::createFrame):
1066         (WebCore::FrameLoader::objectContentType):
1067         (WebCore::FrameLoader::createPlugin):
1068         (WebCore::FrameLoader::createJavaAppletWidget):
1069         (WebCore::FrameLoader::originalRequestURL):
1070         * page/DOMWindow.cpp:
1071         (WebCore::DOMWindow::document):
1072         * page/Frame.cpp:
1073         (WebCore::Frame::~Frame):
1074         (WebCore::Frame::reparseConfiguration):
1075         (WebCore::Frame::shouldDragAutoNode):
1076         (WebCore::Frame::prepareForUserAction):
1077         (WebCore::FramePrivate::FramePrivate):
1078         (WebCore::FramePrivate::~FramePrivate):
1079         * page/Frame.h:
1080         * page/FramePrivate.h:
1081         * page/FrameView.cpp:
1082         (WebCore::FrameView::layout):
1083         (WebCore::FrameView::mediaType):
1084         * page/FrameView.h:
1085         * page/PageState.cpp:
1086         (WebCore::PageState::PageState):
1087         (WebCore::PageState::restoreJavaScriptState):
1088         * platform/mac/CookieJar.mm:
1089         (WebCore::setCookies):
1090         * platform/mac/TextCodecMac.cpp:
1091         * platform/mac/WebFontCache.mm:
1092         (+[WebFontCache fontWithFamily:traits:size:]):
1093         * platform/network/cf/ResourceHandleCFNet.cpp:
1094         (WebCore::ResourceHandle::start):
1095         * platform/network/mac/ResourceHandleMac.mm:
1096         (WebCore::ResourceHandle::start):
1097         * platform/qt/FrameQt.cpp:
1098         * platform/qt/FrameQt.h:
1099         * rendering/RenderApplet.cpp:
1100         (WebCore::RenderApplet::createWidgetIfNecessary):
1101         * rendering/RenderBlock.h:
1102         * rendering/RenderPartObject.cpp:
1103         (WebCore::isURLAllowed):
1104         (WebCore::RenderPartObject::updateWidget):
1105         * xml/DOMParser.cpp:
1106         (WebCore::DOMParser::parseFromString):
1107         * xml/XSLTProcessor.cpp:
1108         (WebCore::XSLTProcessor::createDocumentFromSource):
1109         * xml/xmlhttprequest.cpp:
1110         (WebCore::XMLHttpRequest::getResponseXML):
1111
1112 2006-11-07  Anders Carlsson  <acarlsson@apple.com>
1113
1114         Reviewed by Geoff.
1115
1116         Get rid of some duplicate editing enums. Also rename EAlter to EAlteration.
1117         
1118         * bridge/mac/FrameMac.mm:
1119         (WebCore::FrameMac::registerCommandForUndoOrRedo):
1120         * bridge/mac/WebCoreFrameBridge.h:
1121         * bridge/mac/WebCoreFrameBridge.mm:
1122         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
1123         (-[WebCoreFrameBridge alterCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
1124         (-[WebCoreFrameBridge alterCurrentSelection:SelectionController::verticalDistance:]):
1125         (-[WebCoreFrameBridge selectionGranularity]):
1126         (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
1127         (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
1128         (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
1129         (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
1130         (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
1131         * editing/SelectionController.cpp:
1132         (WebCore::SelectionController::setModifyBias):
1133         (WebCore::SelectionController::modify):
1134         * editing/SelectionController.h:
1135         (WebCore::SelectionController::):
1136         * editing/TextGranularity.h:
1137
1138 2006-11-07  Brady Eidson  <beidson@apple.com>
1139
1140         Reviewed by Maciej
1141
1142         Changed the check for "top level frame" to something much more valid
1143
1144         * page/Frame.cpp:
1145         (WebCore::Frame::endIfNotLoading):
1146
1147 2006-11-07  Beth Dakin  <bdakin@apple.com>
1148
1149         Reviewed by Hyatt (yesterday).
1150
1151         Here is part of my patch from yesterday that is safe to roll back 
1152         in. It will make the BuildBot happy.
1153
1154         * rendering/HitTestResult.cpp:
1155         (WebCore::HitTestResult::spellingToolTip): Null-check 
1156         m_innerNonSharedNode.
1157
1158 2006-11-07  Darin Adler  <darin@apple.com>
1159
1160         * loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse):
1161         Comment grammar fix.
1162
1163 2006-11-07  Darin Adler  <darin@apple.com>
1164
1165         Rolled out change for <rdar://problem/4820814>.
1166
1167         Beth's planning on landing a new change for it soon, but in the mean time
1168         we need layout tests succeeding again.
1169
1170 2006-11-07  Darin Adler  <darin@apple.com>
1171
1172         Reviewed by Brady.
1173
1174         - fix <rdar://problem/4752069> 9A274: World of Warcraft Launcher
1175           crashes on launch in WebCore::ResourceLoader::start
1176
1177         No layout test, because this depends on cached icons, although there's
1178         perhaps a way to write a test for it with some further ingenuity.
1179
1180         * loader/icon/IconLoader.h: Make IconLoader inherit from Noncopyable
1181         to make explicit the fact that it can't be successfully copied.
1182         Remove notifyIconChanged function and put the contents in the caller.
1183         This eliminates the need for IconLoaderMac.mm. Added finishedLoading
1184         and clearLoadingState functions to share code. Removed m_url, since the
1185         resource handle already stores the URL. Renamed m_resourceLoader to
1186         m_handle to reflect the class's name change. Removed the 4096-byte
1187         inline buffer from m_data, since the malloc savings is not sufficient
1188         to offset the additional memory use. Removed m_httpStatusCode because
1189         we can instead cancel the load when we get a status code that reflects
1190         failure. Added m_loadIsInProgress boolean because we need to detect
1191         loads that complete during the ResourceHandle::create function call.
1192
1193         * loader/icon/IconLoader.cpp:
1194         (WebCore::IconLoader::IconLoader): Initialize m_loadIsInProgress.
1195         Don't initialize m_httpStatusCode.
1196         (WebCore::IconLoader::~IconLoader): Updated for name change.
1197         (WebCore::IconLoader::startLoading): Added code to use the
1198         m_loadIsInProgress flag to detect if the load completed while inside
1199         the ResourceHandle::create function. Removed code to set m_url.
1200         (WebCore::IconLoader::stopLoading): Call clearLoadingState to share
1201         more code.
1202         (WebCore::IconLoader::didReceiveResponse): Kill the ResourceHandle
1203         and finish loading if the HTTP status code indicates failure.
1204         (WebCore::IconLoader::didReceiveData): Removed assertion that checks
1205         the ResourceHandle, since we can't do that any more.
1206         (WebCore::IconLoader::didFinishLoading): Changed to call finishLoading
1207         so we can share code with the new didReceiveResponse code path.
1208         (WebCore::IconLoader::finishLoading): Moved code here from the
1209         didFinishLoading callback. Pass a URL when calling
1210         commitIconURLToIconDatabase. Call notifyIconChanged directly here
1211         instead of using a separate function. Call clearLoadingState to
1212         share more code with stopLoading.
1213         (WebCore::IconLoader::clearLoadingState): Added.
1214
1215         * loader/mac/IconLoaderMac.mm: Removed.
1216         * WebCore.xcodeproj/project.pbxproj: Removed IconLoaderMac.mm.
1217
1218 2006-11-06  David Harrison  <harrison@apple.com>
1219
1220         Reviewed by Darin.
1221
1222         <rdar://problem/4714993> REGRESSION: After replacing a misspelled word in a sentence, the selected word wraps down to next line (10428)
1223
1224         * editing/pasteboard/3976872-expected.txt:
1225         * editing/pasteboard/4076267-2-expected.txt:
1226         * editing/pasteboard/4076267-3-expected.txt:
1227         * editing/pasteboard/4076267-expected.txt:
1228         * editing/pasteboard/8145-1-expected.txt:
1229         * editing/pasteboard/paste-empty-startcontainer-expected.txt: Removed.
1230         * editing/pasteboard/paste-match-style-001-expected.txt:
1231         * editing/pasteboard/paste-match-style-002-expected.txt:
1232         * editing/pasteboard/paste-text-019-expected.txt:
1233         * editing/pasteboard/pasting-tabs-expected.txt:
1234         Updated because pasting text with no newlines does not use intermediate div.
1235         
1236         * editing/markup.cpp:
1237         (WebCore::fillContainerFromString):
1238         First parameter is now a Container so a fragment can be passed.
1239         
1240         (WebCore::createFragmentFromText):
1241         A string with no newlines gets added inline, rather than being put into a paragraph.
1242
1243 2006-11-06  Beth Dakin  <bdakin@apple.com>
1244
1245         Reviewed by Hyatt.
1246
1247         Fix for <rdar://problem/4820814> A crash occurs at 
1248         WebCore::HitTestResult::spellingToolTip() when mousing down on 
1249         iframe at www.macsurfer.com
1250
1251         The bug here is that the source of the iframe is only a comment, 
1252         and we were not properly constructing the frame because it was 
1253         sort-of empty but not.
1254
1255         * html/HTMLDocument.cpp:
1256         (WebCore::HTMLDocument::childAllowed): newChild is NOT allowed if 
1257         it is a comment node.
1258         * html/HTMLParser.cpp:
1259         (WebCore::HTMLParser::handleError): if n is a comment node and 
1260         there is no head, we create a head, insert in the document, and add 
1261         the comment node as a child. This is what Firefox does too. 
1262         * page/FrameView.cpp:
1263         (WebCore::FrameView::handleMousePressEvent): Safe-guard for the 
1264         fix. It is possible to get a mouse event without a target node, so 
1265         we null check it. (Of course, in the case of this bug, it should 
1266         not have been null, but it is a good thing to check for anyway.
1267         * rendering/HitTestResult.cpp:
1268         (WebCore::HitTestResult::spellingToolTip): Null-check 
1269         m_innerNonSharedNode.
1270
1271 2006-11-06  Justin Garcia  <justin.garcia@apple.com>
1272
1273         Reviewed by harrison
1274         
1275         <rdar://problem/4641880>
1276         Setting bullets to existing text grabs subsequent paragraph
1277         
1278         When a selection ends at the start of a paragraph, we rarely paint 
1279         the selection gap before that paragraph, because there often is no gap.  
1280         In a case like this, it's not obvious to the user that the selection 
1281         ends "inside" that paragraph, so it would be confusing if 
1282         InsertUn{Ordered}List and Indent/Outdent operated on that paragraph.
1283         
1284         * editing/FormatBlockCommand.cpp:
1285         (WebCore::FormatBlockCommand::doApply): Moved the check for editability of
1286         the selection to a more appropriate place.  Change the endingSelection
1287         if it ends at the start of a paragraph.
1288         * editing/IndentOutdentCommand.cpp:
1289         (WebCore::IndentOutdentCommand::doApply): Ditto.
1290         * editing/InsertListCommand.cpp:
1291         (WebCore::InsertListCommand::doApply): Ditto.
1292
1293 2006-11-06  Brady Eidson  <beidson@apple.com>
1294
1295         Reviewed by Sarge
1296
1297         <rdar://problem/4822911> - ASSERTION was a little overzealous.  
1298         Toned it down a bit.
1299
1300         * xml/xmlhttprequest.cpp:
1301         (WebCore::XMLHttpRequest::didFinishLoading):  Toned down assertion
1302
1303 2006-11-06  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
1304
1305         Reviewed by Maciej.
1306
1307         Linux\Gdk build fixes.
1308
1309         * loader/icon/IconDatabase.cpp:
1310         * loader/icon/SQLStatement.h:
1311         * platform/gdk/ChromeClientGdk.h: Added.
1312         (WebCore::ChromeClientGdk::~ChromeClientGdk):
1313         * platform/gdk/CursorGdk.cpp:
1314         (WebCore::pointerCursor):
1315         * platform/gdk/FrameGdk.cpp:
1316         (WebCore::doScroll):
1317         (WebCore::FrameGdk::FrameGdk):
1318         (WebCore::FrameGdk::submitForm):
1319         (WebCore::FrameGdk::urlSelected):
1320         (WebCore::FrameGdk::openURL):
1321         (WebCore::FrameGdk::handleGdkEvent):
1322         * platform/gdk/FrameGdk.h:
1323         (WebCore::FrameGdk::client):
1324         * platform/gdk/RenderPopupMenuGdk.cpp:
1325         (WebCore::PopupMenu::updateFromElement):
1326         * platform/gdk/ScreenGdk.cpp:
1327         * platform/gdk/TemporaryLinkStubs.cpp:
1328         (Slider::focusPolicy):
1329         (WebCore::ServeSynchronousRequest):
1330         (FrameGdk::goBackOrForward):
1331         (FrameGdk::getHistoryLength):
1332         (FrameGdk::historyURL):
1333         (ChromeClientGdk::canRunModal):
1334         (ChromeClientGdk::runModal):
1335         (WebCore::systemBeep):
1336         (WebCore::CachedResource::setPlatformResponse):
1337         (Path::transform):
1338         (ResourceLoader::loadsBlocked):
1339         (IconLoader::notifyIconChanged):
1340         * platform/network/gdk/ResourceHandleManager.cpp:
1341         (WebCore::writeCallback):
1342         (WebCore::ResourceHandleManager::downloadTimerCallback):
1343         (WebCore::ResourceHandleManager::remove):
1344         (WebCore::ResourceHandleManager::add):
1345
1346 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
1347
1348         build fix.
1349         
1350         * WebCore.xcodeproj/project.pbxproj:
1351
1352 2006-11-06  Geoffrey Garen  <ggaren@apple.com>
1353
1354         Reviewed by Maciej, Anders, Darin.
1355
1356         Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
1357         Fixed a minor where WebCore would always assume it was displayed on the 
1358         monitor containing the menubar. window.open and window.showModalDialog 
1359         are now cross-platform. 
1360         
1361         Layout tests, manual-tests/show-modal-dialog, and manual-tests/
1362         window-open-features-parsing all pass. I verified the new screen functionality
1363         by running in DRT, and checking whether WebCore knew it was off-screen.
1364         
1365         Some refactoring remains, as all were not pleased by this design. I see
1366         in my future another patch.
1367
1368         * bindings/js/kjs_window.cpp: Screen is now a stand-alone object with a
1369         client, to encapsulate asking the platform questions about the screen occupied by
1370         the page. (Previously, we always assumed we were on screen 0, which was a bug.)
1371         * bridge/mac/WebCoreFrameBridge.mm:
1372         (createMouseEventFromDraggingInfo): Reversed argument order, to match other
1373         functions.
1374         (-[WebCoreFrameBridge dragSourceMovedTo:]): ditto
1375         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): ditto
1376         * bridge/mac/WebCoreFrameNamespaces.h: Removed. Dead Code.
1377         * bridge/mac/WebCoreFrameNamespaces.mm: Removed. Dead Code.
1378         * bridge/mac/WebCorePageBridge.h: Removed. Dead Code.
1379         * bridge/mac/WebCorePageBridge.mm: Removed. Dead Code.
1380         * manual-tests/window-open-features-parsing.html: Updated for accuracy.
1381         (In this case, neither size nor position is specified, so you should
1382         get the default window size and position.)
1383         * page/Screen.cpp: Added. Includes screen-related helper functions used
1384         in WebCore and WebKit.
1385         * platform/PlatformMouseEvent.h: Exported common code so it doesn't have
1386         to be duplicated. Renamed "position" to "point" since both were used,
1387         and "point" seemed clearer.
1388         * platform/Screen.h: Removed. Dead Code.
1389         * platform/mac/LoggingMac.mm: Added. Moved code here from WebCorePageBridge
1390         initialization.
1391
1392 2006-11-06  Graham Dennis  <graham.dennis@gmail.com>
1393
1394         Reviewed by Tim Hatcher.
1395
1396         Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
1397         Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
1398         
1399         No layout tests added as this must be tested manually by the test
1400         WebCore/manual-tests/contenteditable-link.html
1401
1402         * WebCore.exp: Exported HitTestResult::isLiveLink().
1403         * html/HTMLAnchorElement.cpp:
1404         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
1405         (WebCore::HTMLAnchorElement::defaultEventHandler):
1406         (WebCore::HTMLAnchorElement::isLiveLink):
1407         * html/HTMLAnchorElement.h: added m_wasShiftKeyDownOnMouseDown variable
1408         to track shift key status.
1409         * manual-tests/contenteditable-link.html: Added description about link
1410         dragging behaviour.
1411         * rendering/HitTestResult.cpp:
1412         (WebCore::HitTestResult::isLiveLink): Added.
1413         * rendering/HitTestResult.h:
1414
1415 2006-11-06  Brady Eidson  <beidson@apple.com>
1416
1417         Reviewed by Oliver
1418
1419         Fixes <rdar://problem/4812674> and http://bugs.webkit.org/show_bug.cgi?id=11530
1420         For now, we have to not load favicons when we have no Document - linking directly 
1421         to PDFs being the common case
1422
1423         * loader/icon/IconLoader.cpp:
1424         (WebCore::IconLoader::startLoading): Check for the document and return if none
1425
1426 2006-11-06  Brady Eidson  <beidson@apple.com>
1427
1428         Reviewed by Dave Harrison
1429
1430         <rdar://problem/4801066>
1431         Added a critical null frameLoader() check
1432
1433         * loader/mac/MainResourceLoaderMac.mm:
1434         (WebCore::MainResourceLoader::loadNow):
1435
1436 2006-11-06  David Harrison  <harrison@apple.com>
1437
1438         Reviewed by Darin.
1439
1440         <rdar://problem/4813973> Pressing delete key to remove empty quoted line leaves cursor mis-positioned
1441
1442         Test:
1443         * editing/deleting/delete-br-012.html
1444         
1445         * editing/DeleteSelectionCommand.cpp:
1446         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
1447         Update m_endingPosition when preventing merge.
1448         Also removed setting of m_mergeBlocksAfterDelete when this function returns true, because is is not checked in this case.
1449
1450 2006-11-06  Mark Rowe  <bdash@webkit.org>
1451
1452         Reviewed by Maciej.
1453
1454         http://bugs.webkit.org/show_bug.cgi?id=11526
1455         Bug 11526: REGRESSION(r17610): Layout test failure in svg/custom/create-metadata-element.svg
1456
1457         Update DOMNode::toString to always use className rather than preferring nodeName.
1458
1459         * bindings/js/kjs_dom.cpp:
1460         (KJS::DOMNode::toString): Match the format returned by valueOf.
1461
1462 2006-11-06  Oliver Hunt  <oliver@apple.com>
1463
1464         Reviewed by Maciej.
1465
1466         Fix RTL text in SVG to have correct positioning
1467
1468         * rendering/SVGRootInlineBox.cpp:
1469         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
1470
1471 2006-11-06  Alexey Proskuryakov  <ap@webkit.org>
1472
1473         Reviewed by Maciej.
1474
1475         http://bugs.webkit.org/show_bug.cgi?id=11517
1476         REGRESSION: Flash clicks/interactivity not working properly
1477
1478         * bridge/mac/FrameMac.mm:
1479         (WebCore::FrameMac::handleMouseMoveEvent):
1480         (WebCore::FrameMac::handleMouseReleaseEvent):
1481         Restore parts of event dispatching that were removed when fixing
1482         bug 7323 - just bypass those for subframes.
1483
1484 2006-11-05  Darin Adler  <darin@apple.com>
1485
1486         - quick attempt to fix the no-SVG build
1487
1488         * platform/graphics/svg/SVGResource.cpp:
1489         * platform/graphics/svg/SVGResource.h:
1490         * platform/graphics/svg/SVGResourceClipper.cpp:
1491         * platform/graphics/svg/SVGResourceClipper.h:
1492         * platform/graphics/svg/SVGResourceImage.h:
1493         * platform/graphics/svg/SVGResourceMarker.cpp:
1494         * platform/graphics/svg/SVGResourceMarker.h:
1495         * platform/graphics/svg/SVGResourceMasker.cpp:
1496         * platform/graphics/svg/SVGResourceMasker.h:
1497         * platform/graphics/svg/cg/SVGResourceMaskerCg.h:
1498         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
1499         * platform/graphics/svg/qt/SVGResourceImageQt.cpp:
1500         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
1501         Added #ifdef SVG_SUPPORT to these files.
1502
1503 2006-11-05  MorganL  <morganl.webkit@yahoo.com>
1504
1505         Reviewed & landed by Maciej.
1506
1507         Fixes http://bugs.webkit.org/show_bug.cgi?id=11265
1508
1509         * platform/win/ResourceLoaderWin.cpp:
1510         (WebCore::transferJobStatusCallback):
1511         (WebCore::ResourceLoader::start):
1512
1513 2006-11-04  Maciej Stachowiak  <mjs@apple.com>
1514
1515         Reviewed by Oliver.
1516
1517         - moved FormData and FormDataStream to platform/network directory
1518
1519         * WebCore.xcodeproj/project.pbxproj:
1520         * bridge/mac/WebCoreFrameBridge.mm:
1521         * loader/FormData.cpp: Removed.
1522         * loader/FormData.h: Removed.
1523         * loader/mac/FormDataStream.h: Removed.
1524         * loader/mac/FormDataStream.m: Removed.
1525         * loader/mac/FrameLoaderMac.mm:
1526         * loader/mac/SubresourceLoaderMac.mm:
1527         * platform/network/mac/FormDataStreamMac.h: Added.
1528         * platform/network/mac/FormDataStreamMac.mm: Added.
1529         * platform/network/mac/ResourceRequestMac.mm:
1530
1531 2006-11-05  Steve Falkenburg  <sfalken@apple.com>
1532
1533         Fix build breaks
1534
1535         * loader/DocumentLoader.h:
1536         * platform/win/ScreenWin.cpp:
1537
1538 2006-11-05  Darin Adler  <darin@apple.com>
1539
1540         Reviewed by Geoff.
1541
1542         - more preparation for splitting up Frame into sub-pieces
1543         - removed unnecessary includes from Frame.h
1544
1545         * page/Frame.h: Removed unneeded includes and forward declarations.
1546         Added additional forward declarations. Removed the constant
1547         NoXPosForVerticalArrowNavigation, now moved inside SelectionController.
1548         Created sections of functions to be moved into Chrome, Editor,
1549         EventHandler, FrameLoader, SelectionController, and the Platform
1550         directory, as well as marking one function for deletion.
1551
1552         * page/FramePrivate.h: Removed the definition of the constructor and
1553         destructor and removed unnecessary includes.
1554
1555         * page/FrameView.h: Removed unneeded forward declarations and friend
1556         declarations. Created a section of functions and data to be moved into
1557         EventHandler.
1558
1559         * bridge/mac/FrameMac.h: Removed unneeded forward declarations.
1560         Created sections of functions and data to be moved into Chrome,
1561         Editor, EventHandler, FrameLoader, and the Platform directory.
1562
1563         * bridge/mac/WebCoreFrameBridge.h: Removed obsolete comment.
1564         Removed unused methods areScrollbarsVisible,
1565         nextValidKeyViewOutsideWebFrameViews, and fileWrapperForURL:.
1566
1567         * page/Frame.cpp:
1568         (WebCore::Frame::begin): Added an overload, so Frame.h doesn't have
1569         to include KURL.h just for the KURL default constructor.
1570         (WebCore::FramePrivate::FramePrivate): Moved here from FramePrivate.h.
1571         (WebCore::FramePrivate::~FramePrivate): Ditto.
1572
1573         * page/FrameView.cpp: Removed unused scrollbarMoved and scrollingSelf
1574         booleans, scrollbarMoved and cleared funcitons.
1575         (WebCore::FrameView::clear): Moved the code from the cleared
1576         function in here.
1577         (WebCore::FrameView::scrollTo): Removed code to set scrollingSelf.
1578
1579         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Updated
1580         for changes to header.
1581
1582         * editing/SelectionController.cpp:
1583         (WebCore::SelectionController::setSelection):
1584         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1585         Moved NoXPosForVerticalArrowNavigation into this file.
1586
1587         * bindings/js/kjs_events.cpp:
1588         * bindings/js/kjs_html.cpp:
1589         * bindings/js/kjs_window.cpp:
1590         * bridge/mac/WebCoreAXObject.mm:
1591         * bridge/mac/WebCoreFrameBridge.mm:
1592         * css/cssstyleselector.cpp:
1593         * dom/Document.cpp:
1594         * dom/Element.cpp:
1595         * dom/EventTargetNode.cpp:
1596         * dom/MouseRelatedEvent.cpp:
1597         * dom/XMLTokenizer.cpp:
1598         * html/HTMLBaseElement.cpp:
1599         * html/HTMLDocument.cpp:
1600         * html/HTMLEmbedElement.cpp:
1601         * html/HTMLFrameElementBase.cpp:
1602         * html/HTMLGenericFormElement.cpp:
1603         * html/HTMLObjectElement.cpp:
1604         * html/HTMLTokenizer.cpp:
1605         * loader/mac/FrameLoaderMac.mm:
1606         * page/PageState.cpp:
1607         * rendering/RenderApplet.cpp:
1608         * rendering/RenderBlock.cpp:
1609         * rendering/RenderLayer.cpp:
1610         * rendering/RenderObject.cpp:
1611         * rendering/RenderPartObject.cpp:
1612         * rendering/RenderTreeAsText.cpp:
1613         * xml/XSLTProcessor.cpp:
1614         Added includes as needed to keep compiling, since there are fewer
1615         includes in Frame.h.
1616
1617 2006-11-05  Alexey Proskuryakov  <ap@nypop.com>
1618
1619         Reviewed by Dave Harrison.
1620
1621         http://bugs.webkit.org/show_bug.cgi?id=11402
1622         REGRESSION: onChange does not work anymore for 1st item in popup
1623
1624         * html/HTMLSelectElement.cpp:
1625         (WebCore::HTMLSelectElement::HTMLSelectElement):
1626         (WebCore::HTMLSelectElement::reset):
1627         Set m_lastOnChangeIndex to -1.
1628
1629 2006-11-04  Darin Adler  <darin@apple.com>
1630
1631         Reviewed by Anders.
1632
1633         - fix http://bugs.webkit.org/show_bug.cgi?id=11453
1634           REGRESSION: Status bar always shows cancelled opening the page
1635
1636         * platform/network/mac/ResourceHandleMac.mm:
1637         (WebCore::ResourceHandle::~ResourceHandle): Removed call to cancel.
1638         Since the subresource owns the resource handle, there's no need to cancel.
1639         This arrangement is only temporary, anyway, since Maciej will soon change
1640         things so that the subresource loader uses the resource handle and the
1641         resource handle doesn't know anything about the subresource loader.
1642
1643 2006-11-04  Darin Adler  <darin@apple.com>
1644
1645         Reviewed by Maciej.
1646
1647         - converted more of the loader machinery to work with cross-platform
1648           data structures instead of Macintosh-specific ones
1649
1650           converted most uses of NSURL to KURL and NSEvent to DOM Event in
1651           loader classes
1652
1653           moved download function out of FrameLoader.h to avoid reference to
1654           NSURLConnection
1655
1656           added DOM Event parameters to various functions so that the handlers
1657           can use the DOM Event instead of the global "current NSEvent";
1658           includes Frame::submitForm, HTMLFormElement::prepareSubmit,
1659           HTMLFormElement::submit, FrameLoader::load
1660
1661           moved the setMainFrame call that hands ownership to the Page
1662           into one of the Frame constructors, and removed it from all
1663           the clients
1664
1665           removed const from Event parameter to the urlSelected function
1666           (we rarely use const with DOM elements)
1667
1668           removed some redundant includes and declarations from various
1669           header files
1670
1671           removed NSURL parameter from userAgent function -- if we need it we
1672           can add it back, but converting from NSURL to KURL and back is
1673           inefficient enough that it's best to have it out for now (since it's
1674           been unused for years) -- if we add it back, we can choose an
1675           appropriate parameter type that's always inexpensive to pass
1676
1677           did some basic cleanup in the IconLoader class, including removing
1678           an unnecessary loop that added icon data a byte at a time
1679
1680           renamed safeLoad to load, since it's no different from the other
1681           FrameLoader load functions, safety-wise
1682
1683           fixed some code that was trying to distinguish null frame name from
1684           empty string frame name -- both should be handled the same, but callers
1685           were doing it by checking for empty and turning it into null (in a way
1686           that was causing extra round trips between NSString and WebCore::String)
1687
1688           corrected all uses of "get" and "post" to be uppercase "GET" and "POST"
1689           and got rid of case-insensitive compares of methods
1690
1691         * WebCore.exp:
1692         * WebCore.xcodeproj/project.pbxproj:
1693         * bindings/js/kjs_navigator.cpp:
1694         (KJS::Navigator::getValueProperty):
1695         * bridge/mac/FrameMac.h:
1696         * bridge/mac/FrameMac.mm:
1697         (WebCore::FrameMac::submitForm):
1698         (WebCore::FrameMac::urlSelected):
1699         (WebCore::FrameMac::userAgent):
1700         * bridge/mac/FrameViewMac.mm:
1701         * bridge/mac/WebCoreAXObject.mm:
1702         (-[WebCoreAXObject rendererForView:]):
1703         * bridge/mac/WebCorePageBridge.h:
1704         * bridge/mac/WebCorePageBridge.mm:
1705         * bridge/mac/WebCoreSettings.mm:
1706         * bridge/win/FrameWin.cpp:
1707         (WebCore::FrameWin::urlSelected):
1708         (WebCore::FrameWin::submitForm):
1709         * bridge/win/FrameWin.h:
1710         * dom/MouseRelatedEvent.cpp:
1711         * dom/MouseRelatedEvent.h:
1712         * dom/UIEvent.cpp:
1713         (WebCore::UIEvent::~UIEvent):
1714         * dom/UIEvent.h:
1715         * dom/UIEventWithKeyState.h:
1716         * dom/XMLTokenizer.cpp:
1717         (WebCore::openFunc):
1718         * html/HTMLAnchorElement.cpp:
1719         (WebCore::HTMLAnchorElement::defaultEventHandler):
1720         * html/HTMLButtonElement.cpp:
1721         (WebCore::HTMLButtonElement::defaultEventHandler):
1722         * html/HTMLFormElement.cpp:
1723         (WebCore::HTMLFormElement::submitClick):
1724         (WebCore::HTMLFormElement::prepareSubmit):
1725         (WebCore::HTMLFormElement::submit):
1726         * html/HTMLFormElement.h:
1727         * html/HTMLInputElement.cpp:
1728         (WebCore::HTMLInputElement::defaultEventHandler):
1729         * html/HTMLSelectElement.cpp:
1730         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
1731         * loader/DocumentLoader.h:
1732         * loader/FrameLoader.h:
1733         * loader/FrameLoaderClient.h:
1734         * loader/NavigationAction.h:
1735         (WebCore::NavigationAction::event):
1736         * loader/icon/IconLoader.cpp:
1737         (WebCore::IconLoader::create):
1738         (WebCore::IconLoader::startLoading):
1739         (WebCore::IconLoader::didReceiveData):
1740         (WebCore::IconLoader::didFinishLoading):
1741         * loader/icon/IconLoader.h:
1742         * loader/loader.cpp:
1743         * loader/mac/DocumentLoaderMac.mm:
1744         (WebCore::DocumentLoader::URL):
1745         (WebCore::DocumentLoader::unreachableURL):
1746         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1747         (WebCore::DocumentLoader::URLForHistory):
1748         * loader/mac/FrameLoaderMac.mm:
1749         (WebCore::FrameLoader::load):
1750         (WebCore::FrameLoader::willSendRequest):
1751         (WebCore::FrameLoader::clientRedirected):
1752         (WebCore::FrameLoader::shouldReload):
1753         (WebCore::FrameLoader::notifyIconChanged):
1754         (WebCore::FrameLoader::URL):
1755         (WebCore::FrameLoader::reloadAllowingStaleData):
1756         (WebCore::FrameLoader::reload):
1757         (WebCore::FrameLoader::didChangeTitle):
1758         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1759         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1760         (WebCore::FrameLoader::post):
1761         (WebCore::FrameLoader::addExtraFieldsToRequest):
1762         (WebCore::FrameLoader::loadResourceSynchronously):
1763         * loader/mac/IconLoaderMac.mm:
1764         (WebCore::IconLoader::notifyIconChanged):
1765         * loader/mac/LoaderFunctionsMac.mm:
1766         * loader/mac/MainResourceLoaderMac.mm:
1767         (WebCore::shouldLoadAsEmptyDocument):
1768         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1769         * loader/mac/NavigationActionMac.mm:
1770         (WebCore::navigationType):
1771         (WebCore::NavigationAction::NavigationAction):
1772         * loader/mac/ResourceLoaderMac.mm:
1773         * loader/mac/SubresourceLoaderMac.mm:
1774         * page/Frame.cpp:
1775         (WebCore::Frame::Frame):
1776         (WebCore::Frame::urlSelected):
1777         (WebCore::Frame::submitFormAgain):
1778         (WebCore::Frame::submitForm):
1779         (WebCore::Frame::endIfNotLoading):
1780         (WebCore::Frame::hitTestResultAtPoint):
1781         * page/Frame.h:
1782         * page/FramePrivate.h:
1783         * platform/gdk/FrameGdk.cpp:
1784         (WebCore::FrameGdk::FrameGdk):
1785         (WebCore::FrameGdk::submitForm):
1786         (WebCore::FrameGdk::urlSelected):
1787         * platform/gdk/FrameGdk.h:
1788         * platform/mac/TextFieldMac.mm:
1789         * platform/network/HTTPHeaderMap.h:
1790         * platform/network/ResourceHandle.h:
1791         * platform/network/ResourceHandleClient.h:
1792         * platform/network/ResourceHandleInternal.h:
1793         * platform/network/mac/ResourceHandleMac.mm:
1794         * platform/network/mac/ResourceResponseMac.h:
1795         * platform/network/mac/ResourceResponseMac.mm:
1796         (-[NSURLResponse WebCore]):
1797         * platform/network/win/ResourceHandleWin.cpp:
1798         * platform/qt/FrameQt.cpp:
1799         (WebCore::FrameQt::submitForm):
1800         (WebCore::FrameQt::urlSelected):
1801         * platform/qt/FrameQt.h:
1802         * rendering/RenderLineEdit.cpp:
1803         (WebCore::RenderLineEdit::returnPressed):
1804         * xml/XSLTProcessor.cpp:
1805         (WebCore::docLoaderFunc):
1806         * xml/xmlhttprequest.cpp:
1807
1808 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
1809
1810         Reviewed by Adele.
1811
1812         - replaced receivedRedirect with new willSendRequest delegate
1813         - removed most mac-specific loader functions
1814         - use ResourceResponse more in loader code
1815
1816         * WebCore.xcodeproj/project.pbxproj: Add new files.
1817         * bridge/mac/WebCoreFrameBridge.mm:
1818         (-[WebCoreFrameBridge getData:andResponse:forURL:]): Adapted
1819         for CachedResource method renames.
1820         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1821         Ditto.
1822         * loader/CachedCSSStyleSheet.cpp:
1823         (WebCore::CachedCSSStyleSheet::checkNotify): simplified
1824         based on ResourceResponse
1825         * loader/CachedImage.cpp:
1826         (WebCore::CachedImage::createImage): adapt for ResourceResponse
1827         * loader/CachedResource.cpp:
1828         (WebCore::CachedResource::CachedResource): store a ResourceResponse;
1829         platform response is now called platformResponse and expiration date
1830         is removed.
1831         (WebCore::CachedResource::~CachedResource): ditto
1832         (WebCore::CachedResource::isExpired): ditto
1833         * loader/CachedResource.h:
1834         (WebCore::CachedResource::platformResponse): ditto
1835         (WebCore::CachedResource::setResponse): ditto
1836         (WebCore::CachedResource::canDelete): ditto
1837         * loader/LoaderFunctions.h:
1838         * loader/loader.cpp:
1839         (WebCore::Loader::receivedResponse): Adjusted for renames.
1840         (WebCore::Loader::didReceiveResponse): Store whole ResourceResponse
1841         in the CachedResource.
1842         * loader/loader.h:
1843         * loader/mac/FormDataStream.h:
1844         * loader/mac/FormDataStream.m:
1845         (WebCore::getStreamFormDatas): Rearranged things so it's
1846         possible to get a FormData back out of a form data stream.
1847         (WebCore::formCreate): ditto
1848         (WebCore::formFinalize): ditto
1849         (WebCore::httpBodyFromStream): ditto
1850         * loader/mac/ImageDocumentMac.mm:
1851         (WebCore::finishImageLoad): s/response/platformResponse/
1852         * loader/mac/LoaderFunctionsMac.mm:
1853         (WebCore::CheckCacheObjectStatus): ditto
1854         (WebCore::CachedResource::setPlatformResponse): ditto
1855         * loader/mac/SubresourceLoaderMac.mm:
1856         (WebCore::SubresourceLoader::willSendRequest): send redirect
1857         to client appropriately
1858         * platform/network/ResourceHandle.h:
1859         * platform/network/ResourceHandleClient.h:
1860         (WebCore::ResourceHandleClient::willSendRequest): new entry
1861         point for SubresourceLoader, dispatch to client.
1862         * platform/network/ResourceRequest.h:
1863         (WebCore::ResourceRequest::allowHTTPCookies): implemented
1864         (WebCore::ResourceRequest::setAllowHTTPCookies): ditto
1865         * platform/network/ResourceResponse.h:
1866         (WebCore::ResourceResponse::ResourceResponse): initialize expiration
1867         date(!)
1868         * platform/network/cf/FormDataStreamCFNet.cpp: Added.
1869         (WebCore::getStreamFormDatas): Added this, ported from NSURL version.
1870         (WebCore::openNextStream): ditto
1871         (WebCore::formCreate): ditto
1872         (WebCore::formFinalize): ditto
1873         (WebCore::formCanRead): ditto
1874         (WebCore::formEventCallback): ditto
1875         (WebCore::setHTTPBody): ditto
1876         (WebCore::httpBodyFromStream): ditto
1877         * platform/network/cf/FormDataStreamCFNet.h: Added.
1878         * platform/network/cf/ResourceHandleCFNet.cpp:
1879         (WebCore::willSendRequest): implemented
1880         (WebCore::ResourceHandle::start): use new ResourceRequest stuff
1881         * platform/network/cf/ResourceResponseCFNet.cpp:
1882         (WebCore::getResourceResponse): do nothing for a null response
1883         * platform/network/mac/ResourceHandleMac.mm:
1884         (WebCore::ResourceHandle::willSendRequest): Implemented; dispatch to client.
1885         * platform/network/mac/ResourceRequestMac.h: Added.
1886         * platform/network/mac/ResourceRequestMac.mm: Added.
1887         (WebCore::getResourceRequest): Added way to convert an NSURLRequest
1888         to a ResourceRequest.
1889         (WebCore::nsURLRequest): Opposite of the above.
1890         * platform/network/cf/ResourceRequestCFNet.h: Added.
1891         * platform/network/cf/ResourceRequestCFNet.cpp: Added.
1892         (WebCore::getResourceRequest): Added way to convert an CFURLRequest
1893         to a ResourceRequest.
1894         (WebCore::cfURLRequest): Opposite of the above.
1895         * xml/xmlhttprequest.cpp:
1896         (WebCore::XMLHttpRequest::willSendRequest): Renamed from receivedRedirect,
1897         adjusted.
1898         * xml/xmlhttprequest.h:
1899
1900 2006-11-04  Darin Adler  <darin@apple.com>
1901
1902         Change suggested by Mitz.
1903
1904         - fix http://bugs.webkit.org/show_bug.cgi?id=11514
1905           REGRESSION (r17438): Repro crash when opening a web archive
1906
1907         * bridge/mac/WebCorePageState.mm:
1908         (-[WebCorePageState dealloc]): Add null check.
1909         (-[WebCorePageState finalize]): Ditto.
1910
1911 2006-11-04  Bertrand Guiheneuf <guiheneuf@gmail.com>
1912
1913         Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Don Gibson).
1914
1915         http://bugs.webkit.org/show_bug.cgi?id=11433
1916         Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
1917
1918         * WebCore.vcproj/WebCore/WebCore.vcproj:
1919         Added platform/graphics platform/network and platform/network/win to headers search paths
1920         Created platform/graphics and platform/network filters in hierarchy
1921         Moved GraphicsContext and GraphicsTypes to their respective filters
1922         Added EditorClient.h
1923         Added FrameLoader* files in loader/
1924         Added HitTest* files in rendering/
1925         Added Editor.* files in editing/
1926         Added DeleteButton.* and DeleteButtonController.* in editing/
1927
1928         * bridge/win/ChromeClientWin.h: Added.
1929         (WebCore::ChromeClientWin::~ChromeClientWin):
1930         * bridge/win/EditorClientWin.h: Added.
1931         (WebCore::EditorClientWin::~EditorClientWin):
1932
1933         * bridge/win/FrameWin.cpp:
1934         (WebCore::FrameWin::FrameWin):
1935         (WebCore::FrameWin::urlSelected):
1936         (WebCore::FrameWin::submitForm):
1937         (WebCore::FrameWin::createNewWindow):
1938         * bridge/win/FrameWin.h:
1939         Added EditorClient parameter to constructor
1940         Replace usage of FrameLoadRequest::m_request with FrameLoadRequest::resourceRequest()
1941         Removed openURL() and openURLRequest from class definition
1942
1943         * bridge/win/PageWin.cpp:
1944         * platform/AffineTransform.h:
1945         * platform/cairo/AffineTransformCairo.cpp: Added.
1946         (WebCore::AffineTransform::AffineTransform):
1947         (WebCore::AffineTransform::setMatrix):
1948         (WebCore::AffineTransform::map):
1949         (WebCore::AffineTransform::mapRect):
1950         (WebCore::AffineTransform::isIdentity):
1951         (WebCore::AffineTransform::m11):
1952         (WebCore::AffineTransform::m12):
1953         (WebCore::AffineTransform::m21):
1954         (WebCore::AffineTransform::m22):
1955         (WebCore::AffineTransform::dx):
1956         (WebCore::AffineTransform::dy):
1957         (WebCore::AffineTransform::reset):
1958         (WebCore::AffineTransform::scale):
1959         (WebCore::AffineTransform::rotate):
1960         (WebCore::AffineTransform::translate):
1961         (WebCore::AffineTransform::shear):
1962         (WebCore::AffineTransform::det):
1963         (WebCore::AffineTransform::invert):
1964         (WebCore::AffineTransform::operator cairo_matrix_t):
1965         (WebCore::AffineTransform::operator== ):
1966         (WebCore::AffineTransform::operator*= ):
1967         (WebCore::AffineTransform::operator* ):
1968         * platform/cairo/GraphicsContextCairo.cpp:
1969         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1970         * platform/network/win/ResourceHandleWin.cpp:
1971         (WebCore::ResourceHandle::onHandleCreated):
1972         (WebCore::ResourceHandle::start):
1973         (WebCore::ResourceHandle::fileLoadTimer):
1974         (WebCore::ResourceHandle::cancel):
1975         * platform/win/TemporaryLinkStubs.cpp:
1976         (WebCore::FrameWin::goBackOrForward):
1977         (WebCore::FrameWin::getHistoryLength):
1978         (WebCore::FrameWin::historyURL):
1979         (WebCore::ServeSynchronousRequest):
1980         (WebCore::ChromeClientWin::canRunModal):
1981         (WebCore::ChromeClientWin::runModal):
1982         (WebCore::EditorClientWin::shouldDeleteRange):
1983         (WebCore::EditorClientWin::shouldShowDeleteInterface):
1984         (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
1985         (WebCore::EditorClientWin::isGrammarCheckingEnabled):
1986         (WebCore::EditorClientWin::spellCheckerDocumentTag):
1987         (WebCore::Path::transform):
1988         (WebCore::PopupMenu::updateFromElement):
1989         (WebCore::ResourceLoader::loadsBlocked):
1990         (WebCore::systemBeep):
1991         * rendering/RenderThemeWin.cpp:
1992         (WebCore::RenderThemeWin::paintButton):
1993         (WebCore::RenderThemeWin::paintTextField):
1994
1995 2006-11-04  Alexey Proskuryakov  <ap@nypop.com>
1996
1997         Reviewed by Maciej.
1998
1999         http://bugs.webkit.org/show_bug.cgi?id=11448
2000         &lang; and &rang; entities are mapped to the incorrect Unicode codepoint
2001
2002         * html/HTMLEntityNames.gperf: Use canonical Unicode equivalents for these characters.
2003
2004 2006-11-03  Mark Rowe  <bdash@webkit.org>
2005
2006         Reviewed by Oliver.
2007
2008         Update Windows and Qt project files for file removals in r17585.
2009
2010         * CMakeLists.txt:
2011         * WebCore.vcproj/WebCore/WebCore.vcproj:
2012
2013 2006-11-03  Zack Rusin  <zack@kde.org>
2014
2015         Reviewed by Maciej.
2016
2017         The patch fixes text field drawing on the Qt platform.
2018
2019         * platform/qt/RenderThemeQt.cpp:
2020         (WebCore::RenderThemeQt::paintTextField): Use the style to correctly
2021         render the text field
2022
2023 2006-11-03  Oliver Hunt  <oliver@apple.com>
2024
2025         Reviewed by Tim.
2026
2027         Correct incorrect call to SetCursor
2028
2029         * rendering/RenderFrameSet.cpp:
2030         (WebCore::RenderFrameSet::userResize):
2031
2032 2006-11-03  Adele Peterson  <adele@apple.com>
2033
2034         Reviewed by Oliver.
2035
2036         Removed DeprecatedRenderSelect and ListBox classes.
2037
2038         * WebCore.xcodeproj/project.pbxproj:
2039         * css/html4.css:
2040         * html/HTMLOptionElement.h:
2041         * html/HTMLSelectElement.cpp:
2042         (WebCore::HTMLSelectElement::recalcStyle):
2043         (WebCore::HTMLSelectElement::isKeyboardFocusable):
2044         (WebCore::HTMLSelectElement::isMouseFocusable):
2045         (WebCore::HTMLSelectElement::createRenderer):
2046         (WebCore::HTMLSelectElement::setRecalcListItems):
2047         (WebCore::HTMLSelectElement::notifyOptionSelected):
2048         (WebCore::HTMLSelectElement::defaultEventHandler):
2049         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2050         (WebCore::HTMLSelectElement::updateListBoxSelection):
2051         * html/HTMLSelectElement.h:
2052         * platform/ListBox.h: Removed.
2053         * platform/mac/FontCacheMac.mm:
2054         * platform/mac/ListBoxMac.mm: Removed.
2055         * platform/win/TemporaryLinkStubs.cpp:
2056         * rendering/DeprecatedRenderSelect.cpp: Removed.
2057         * rendering/DeprecatedRenderSelect.h: Removed.
2058
2059 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
2060
2061         Not reviewed, fix for accidental commit.
2062
2063         - rolled back more of the accidentall commit that I forgot.
2064
2065         * platform/network/mac/ResourceRequestMac.h: Removed.
2066         * platform/network/mac/ResourceRequestMac.mm: Removed.
2067
2068 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
2069
2070         Not reviewed, fix for accidental commit.
2071
2072         - roll back some network changes accidentally committed with a previous patch.
2073
2074         * WebCore.xcodeproj/project.pbxproj:
2075         * bridge/mac/WebCoreFrameBridge.mm:
2076         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
2077         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
2078         * loader/CachedCSSStyleSheet.cpp:
2079         (WebCore::CachedCSSStyleSheet::checkNotify):
2080         * loader/CachedImage.cpp:
2081         (WebCore::CachedImage::createImage):
2082         * loader/CachedResource.cpp:
2083         (WebCore::CachedResource::CachedResource):
2084         (WebCore::CachedResource::~CachedResource):
2085         (WebCore::CachedResource::setExpireDate):
2086         (WebCore::CachedResource::isExpired):
2087         * loader/CachedResource.h:
2088         (WebCore::CachedResource::response):
2089         * loader/LoaderFunctions.h:
2090         * loader/loader.cpp:
2091         (WebCore::Loader::receivedResponse):
2092         (WebCore::Loader::didReceivedResponse):
2093         * loader/loader.h:
2094         * loader/mac/FormDataStream.h:
2095         * loader/mac/FormDataStream.m:
2096         (WebCore::formCreate):
2097         (WebCore::formFinalize):
2098         * loader/mac/ImageDocumentMac.mm:
2099         (WebCore::finishImageLoad):
2100         * loader/mac/LoaderFunctionsMac.mm:
2101         (WebCore::CheckCacheObjectStatus):
2102         (WebCore::CachedResource::setResponse):
2103         * loader/mac/SubresourceLoaderMac.mm:
2104         (WebCore::SubresourceLoader::willSendRequest):
2105         * platform/network/ResourceHandle.h:
2106         * platform/network/ResourceHandleClient.h:
2107         (WebCore::ResourceHandleClient::receivedRedirect):
2108         * platform/network/ResourceRequest.h:
2109         * platform/network/ResourceResponse.h:
2110         (WebCore::ResourceResponse::ResourceResponse):
2111         * platform/network/mac/ResourceHandleMac.mm:
2112         (WebCore::ResourceHandle::redirectedToURL):
2113         * xml/xmlhttprequest.cpp:
2114         (WebCore::XMLHttpRequest::receivedRedirect):
2115         * xml/xmlhttprequest.h:
2116
2117 2006-11-03  Anders Carlsson  <acarlsson@apple.com>
2118
2119         Rubber-stamped by Oliver.
2120
2121         Remove these, they have been merged with SVGRenderTreeAsText.
2122         
2123         * rendering/SVGRenderAsText.cpp: Removed.
2124         * rendering/SVGRenderAsText.h: Removed.
2125
2126 2006-11-03  Anders Carlsson  <acarlsson@apple.com>
2127
2128         Build fix.
2129         
2130         * platform/network/cf/ResourceHandleCFNet.cpp:
2131         (WebCore::willSendRequest):
2132
2133 2006-11-02  Geoffrey Garen  <ggaren@apple.com>
2134
2135         Reviewed by Darin, Beth.
2136         
2137         First cut at factoring Page's UIDelegate-related functions into Chrome
2138         and ChromeClient.
2139
2140         Layout tests pass.
2141         
2142         * bridge/mac/PageMac.mm: Removed platform-specific constructor, added
2143         setBridge method to replace it.
2144         (WebCore::Page::setBridge):
2145
2146         * bridge/mac/WebCorePageBridge.h: Simplified some things based on the fact
2147         that WebCorePageBridge.h doesn't need to be included by ObjC-only files,
2148         and, now that it uses PassRefPtr, can't be.
2149         
2150         * page/Chrome.cpp: Added. Code copied and converted to c++ from WebCorePageBridge.mm.
2151
2152         * page/Page.h:
2153         (WebCore::Page::dragCaretController): Made this function non-const so that
2154         m_dragCaretController doesn't have to be mutable.
2155
2156 2006-11-03  Alexey Proskuryakov  <ap@nypop.com>
2157
2158         Reviewed by Adele.
2159
2160         http://bugs.webkit.org/show_bug.cgi?id=7323
2161         REGRESSION (10.4.4): ondrag* events don't fire on page in a frame
2162
2163         * bridge/mac/FrameMac.h: Moved drag source information to a static variable
2164         in FrameMac.mm. There can be only one drag active at any moment, and having 
2165         this information here was making sharing this information between 
2166         subframes hard.
2167
2168         * bridge/mac/FrameMac.mm:
2169         (WebCore::FrameMac::FrameMac): Initialize sharedDragInfo.
2170         (WebCore::FrameMac::freeClipboard):
2171         (WebCore::FrameMac::dragHysteresisExceeded):
2172         (WebCore::FrameMac::handleMouseMoveEvent):
2173         (WebCore::FrameMac::handleMouseReleaseEvent):
2174         (WebCore::FrameMac::mouseDown):
2175         (WebCore::FrameMac::dragSourceMovedTo):
2176         (WebCore::FrameMac::dragSourceEndedAt):
2177         (WebCore::FrameMac::dispatchDragSrcEvent):
2178         Access drag source info via sharedDragInfo - this fixes drag source even dispatching.
2179         Also removed some old code that was forwarding mouse events to subviews to make 
2180         HTML editing work in subframes.
2181
2182         * page/FrameView.cpp:
2183         (WebCore::FrameView::updateDragAndDrop):
2184         (WebCore::FrameView::cancelDragAndDrop):
2185         (WebCore::FrameView::performDragAndDrop):
2186         Forward events to subframes for dispatching - this fixes drag target events.
2187
2188 2006-11-03  Zack Rusin  <zack@kde.org>
2189
2190         Reviewed by Tim.
2191
2192         Fixing compile.
2193
2194         * platform/qt/LoaderFunctionsQt.cpp:
2195         (WebCore::CachedResource::setPlatformResponse): Renamed from setResponse
2196
2197 2006-11-01  Zack Rusin  <zack@kde.org>
2198
2199         Reviewed by Maciej.
2200
2201         Moving the word/sentence seperators into a file of their own
2202         and implementing findWordBoundary.
2203
2204         * CMakeLists.txt:
2205         * platform/qt/TemporaryLinkStubs.cpp:
2206         * platform/qt/TextBoundaries.cpp: Added.
2207         (WebCore::findNextSentenceFromIndex):
2208         (WebCore::findSentenceBoundary):
2209         (WebCore::findNextWordFromIndex):
2210         (WebCore::findWordBoundary):
2211
2212 2006-11-03  Zack Rusin  <zack@kde.org>
2213
2214         Reviewed by Maciej.
2215
2216         Compile on both KDE and Qt platforms
2217
2218         * CMakeLists.txt: add zlib explicitly
2219         * platform/network/qt/ResourceHandleManager.cpp:
2220         (WebCore::ResourceHandleManager::self):
2221         (WebCore::QtJob::QtJob):
2222         (WebCore::QtJob::timerEvent): Integrate both implementations
2223         so that moc can parse it
2224         (WebCore::ResourceHandleManager::deliverJobData):
2225         (WebCore::ResourceHandleManager::remove):
2226         * platform/network/qt/ResourceHandleManager.h:
2227
2228 2006-11-03  Maciej Stachowiak  <mjs@apple.com>
2229
2230         No review, suggested by Mitz.
2231
2232         - fix a #if to be #ifdef
2233
2234         * platform/graphics/svg/cg/SVGResourceImageCg.cpp:
2235
2236 2006-11-03  Zack Rusin  <zack@kde.org>
2237
2238         Reviewed and landed by Maciej.
2239         
2240         Compile on the Qt platform.
2241
2242         * ksvg2/misc/KCanvasRenderingStyle.h:
2243         * platform/qt/RenderThemeQt.cpp:
2244         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2245
2246 2006-11-03  Zack Rusin  <zack@kde.org>
2247
2248         Reviewed by Hyatt. Landed by Maciej.
2249
2250         Adding setPlatformPen/setPlatformFont/setPlatformFillColor
2251         to graphics context to be able to set consistant state
2252         on the platform specific painter without having to change
2253         fill/stroke/font on every operation. This fixes color/stroke/fill
2254         and font handling in the Qt port.
2255
2256         * platform/graphics/GraphicsContext.cpp:
2257         (WebCore::GraphicsContext::setFont):
2258         (WebCore::GraphicsContext::setPen):
2259         (WebCore::GraphicsContext::setFillColor):
2260         (WebCore::GraphicsContext::setPlatformPen):
2261         (WebCore::GraphicsContext::setPlatformFillColor):
2262         (WebCore::GraphicsContext::setPlatformFont):
2263         * platform/graphics/GraphicsContext.h:
2264         * platform/qt/GraphicsContextQt.cpp:
2265         (WebCore::toQtCompositionMode):
2266         (WebCore::toQtLineCap):
2267         (WebCore::toQtLineJoin):
2268         (WebCore::toQPenStyle):
2269         (WebCore::penToQPen):
2270         (WebCore::TransparencyLayer::TransparencyLayer):
2271         (WebCore::GraphicsContext::addRoundedRectClip):
2272         (WebCore::GraphicsContext::setPlatformFont):
2273         (WebCore::GraphicsContext::setPlatformPen):
2274         (WebCore::GraphicsContext::setPlatformFillColor):
2275         * platform/qt/ScrollViewCanvasQt.cpp:
2276         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2277         (WebCore::ScrollViewCanvasQt::paintEvent):
2278         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2279         * platform/qt/ScrollViewCanvasQt.h:
2280
2281 2006-11-02  Adele Peterson  <adele@apple.com>
2282
2283         Reviewed by Anders.
2284
2285         - Fix for http://bugs.webkit.org/show_bug.cgi?id=9581
2286         REGRESSION: The new NativeTextArea scrolls to the top when the control is unfocused.
2287
2288         Test: fast/forms/textarea-no-scroll-on-blur.html
2289
2290         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent):
2291           On blur, only scroll back to the start for text fields.
2292
2293 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
2294
2295         Another build fix.
2296         
2297         * rendering/RenderFileUploadControl.cpp:
2298         (WebCore::RenderFileUploadControl::paintObject):
2299
2300 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
2301
2302         Build fix.
2303         
2304         * page/FramePrivate.h:
2305         (WebCore::FramePrivate::FramePrivate):
2306
2307 2006-11-02  Kevin Ollivier <kevino@theolliviers.com>
2308
2309         Reviewed by Geoff, landed by Anders.
2310         
2311         Fix dependency problems caused when running move-js-headers.sh
2312         
2313         * move-js-headers.sh:
2314         Use cp -p instead of just cp so that the modification time
2315         of the original files are used.
2316
2317 2006-11-02  Adam Roben  <aroben@apple.com>
2318
2319         Reviewed by Tim H, landed by Anders.
2320
2321         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10840
2322         REGRESSION: Shadow of file upload button is clipped
2323
2324         * rendering/RenderFileUploadControl.cpp:
2325         (WebCore::RenderFileUploadControl::paintObject): Add 2px to the clip
2326         height to keep from clipping in the shadow
2327
2328 2006-11-02  Eike Preuss  <mail@eikepreuss.de>
2329
2330         Reviewed by Maciej, landed by Anders.
2331
2332         * platform/qt/ScrollViewQt.cpp: Fix translation of coordinates between
2333         content and window. ScrollViewQt already receives correct content
2334         coordinates from QScrollArea.
2335         (WebCore::ScrollView::contentsToWindow):
2336         (WebCore::ScrollView::windowToContents):
2337
2338 2006-11-02  Simon Hausmann  <hausmann@kde.org>
2339
2340         Reviewed by Maciej, landed by Anders
2341
2342         * CMakeLists.txt: Make linkage against KDE libraries conditional
2343         * platform/network/qt/ResourceHandleManager.cpp: Added a simple
2344           Qt base resource handler that supports only requests to the
2345           local filesystem. Used when compiling without KDE support.
2346           ResourceHandleManager.cpp/h are to be split up into ResourceHandleManagerKDE
2347           and ResourceHandleManagerQt in the future, as well as QtJob.cpp/h.
2348         (WebCore::QtJob::QtJob):
2349         (WebCore::QtJob::timerEvent):
2350         (WebCore::ResourceHandleManager::ResourceHandleManager):
2351         (WebCore::ResourceHandleManager::~ResourceHandleManager):
2352         (WebCore::ResourceHandleManager::self):
2353         (WebCore::ResourceHandleManager::remove):
2354         (WebCore::ResourceHandleManager::add):
2355         (WebCore::ResourceHandleManager::cancel):
2356         (WebCore::ResourceHandleManager::deliverJobData):
2357         * platform/network/qt/ResourceHandleManager.h:
2358         * platform/qt/FrameQtClient.cpp:
2359         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
2360         (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
2361         (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
2362         * platform/qt/LoaderFunctionsQt.cpp: Use the Qt messagebox and
2363           input dialog functions when compiling without KDE support
2364         (WebCore::ServeSynchronousRequest):
2365
2366 2006-11-02  David Carson  <dacarson@gmail.com>
2367
2368         Reviewed by Geoff, landed by Anders.
2369
2370         Fix for: http://bugs.webkit.org/show_bug.cgi?id=11471
2371         Initializing variable in constructor.
2372
2373         * page/FramePrivate.h:
2374         (WebCore::FramePrivate::FramePrivate):
2375
2376 2006-11-02  Anders Carlsson  <acarlsson@apple.com>
2377
2378         Reviewed by Geoff.
2379
2380         Use CFMutableURLRequestRef instead of CFHTTPMessageRef since not all URL requests are http requests.
2381         
2382         * platform/network/cf/ResourceHandleCFNet.cpp:
2383         (WebCore::addHeadersFromHashMap):
2384         Don't set all headers at once since that clears any previous headers set.
2385         
2386         (WebCore::ResourceHandle::start):
2387
2388 2006-11-02  Adele Peterson  <adele@apple.com>
2389
2390         Reviewed by Mitz and Geoff.
2391
2392         - Fix for:
2393         <rdar://problem/4650271> REGRESSION(NativeTextArea): Textareas don't get scrollbars when text gets too big for content area (10105)
2394         <rdar://problem/4650813> REGRESSION(tiger-leopard): typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
2395         <rdar://problem/4658779> REGRESSION: Text selection is weird in textareas in Trac wiki editing pages
2396
2397         Test: fast/forms/textarea-scrollbar.html
2398
2399         To avoid some of our flexbox bugs for textareas, we're moving the text controls back to RenderBlock.  This should make them
2400         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.
2401
2402         * rendering/RenderTextControl.h: Convert text controls back to RenderBlock instead of RenderFlexibleBox.
2403         * rendering/RenderTextControl.cpp: 
2404         (WebCore::RenderTextControl::RenderTextControl):
2405         (WebCore::RenderTextControl::setStyle):
2406         (WebCore::RenderTextControl::createDivStyle):
2407         (WebCore::RenderTextControl::updateFromElement):
2408         (WebCore::RenderTextControl::calcHeight):
2409         (WebCore::RenderTextControl::baselinePosition):
2410         (WebCore::RenderTextControl::nodeAtPoint):
2411         (WebCore::RenderTextControl::layout): Set the inner div's height explicitly before doing a normal layout.
2412         (WebCore::RenderTextControl::scrollWidth):
2413         (WebCore::RenderTextControl::scrollHeight):
2414         (WebCore::RenderTextControl::scrollLeft):
2415         (WebCore::RenderTextControl::scrollTop):
2416
2417         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layout optimization work for textareas.
2418
2419 2006-11-02  John Sullivan  <sullivan@apple.com>
2420
2421         Reviewed by Geoff Garen
2422
2423         * editing/Selection.cpp:
2424         (WebCore::Selection::showTreeForThis):
2425         this debugging method now displays start offset and end offset, at Darin's suggestion
2426
2427 2006-11-01  Justin Garcia  <justin.garcia@apple.com>
2428
2429         Reviewed by darin
2430
2431         <rdar://problem/4062865>
2432         Copy/paste of a select element fails to include the options
2433         
2434         * editing/SelectionController.cpp:
2435         (WebCore::SelectionController::modify): Added paragraphBoundary.
2436         * editing/htmlediting.cpp:
2437         (WebCore::canHaveChildrenForEditing): Added checks for input elements
2438         and textareas.  Insertion operations would fail when performed just 
2439         before/after one of these elements b/c the content would be put inside 
2440         the element.
2441         (WebCore::enclosingNodeWithTag): Fixed a problem when calling these in non
2442         editable content, and made the code to stop at an root faster (don't check
2443         isDescendantOf on every iteration).
2444         (WebCore::enclosingNodeOfType): Ditto.
2445         (WebCore::enclosingList): Ditto.
2446         (WebCore::enclosingListChild): Ditto.  Added a FIXME, this function seems
2447         inappropriately named.
2448         * editing/markup.cpp:
2449         (WebCore::startMarkup): Use the text node's value instead of its rendered
2450         content for text nodes inside select elements.  One might also turn off
2451         annotation when createMarkup enters a select element, but createMarkup
2452         is iterative, not recursive, so doing so would be complicated.
2453         (WebCore::createMarkup): Add markup for unrendered nodes if they are 
2454         descendants of a select element.
2455         * editing/visible_units.cpp:
2456         (WebCore::startOfParagraph): Migrate to isBlock/enclosingBlock.  Fixes bug
2457         where various replaced elements can't be copied when they are the only
2458         thing selected.
2459         (WebCore::endOfParagraph): Ditto.
2460
2461 2006-11-01  Oliver Hunt  <oliver@apple.com>
2462
2463         Reviewed by Adam.
2464
2465         Converting more or kcanvas/quartz from Obj-C to C++
2466         Minor SVG updates
2467         compatibility fixes
2468
2469         * WebCore.xcodeproj/project.pbxproj:
2470         * kcanvas/device/KRenderingPaintServer.h:
2471         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Added.
2472         (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
2473         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: Removed.
2474         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Added.
2475         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: Removed.
2476         * kcanvas/device/quartz/QuartzSupport.h:
2477         * ksvg2/css/SVGCSSStyleSelector.cpp:
2478         * ksvg2/misc/KCanvasRenderingStyle.h:
2479         * ksvg2/scripts/cssmakeprops:
2480         * ksvg2/scripts/cssmakevalues:
2481         * ksvg2/scripts/make_names.pl:
2482         * ksvg2/svg/SVGAnimateColorElement.cpp:
2483         * ksvg2/svg/SVGAnimateTransformElement.cpp:
2484         * ksvg2/svg/SVGAnimationElement.cpp:
2485         * ksvg2/svg/SVGMaskElement.cpp:
2486         * ksvg2/svg/SVGPatternElement.cpp:
2487         * ksvg2/svg/svgpathparser.cpp:
2488         * platform/Path.cpp:
2489         * platform/graphics/svg/SVGResourceImage.h:
2490         * rendering/RenderPath.cpp:
2491         * rendering/SVGRenderAsText.cpp:
2492
2493 2006-11-02  Mitz Pettel  <mitz@webkit.org>
2494
2495         Reviewed by Adele.
2496
2497         - Fix a regression from r17521: painting of and crash caused by tables
2498           with collapsed borders
2499
2500         * rendering/RenderTable.cpp:
2501         (WebCore::RenderTable::paint): Changed 'paintInfo' to 'info'. Prior to
2502         r17521, 'paintInfo' was the local variable. Now 'info' is the local variable
2503         and 'paintInfo' is the parameter, which we were accidently modifying.
2504
2505 2006-11-01  Adele Peterson  <adele@apple.com>
2506
2507         Reviewed by Mitz.
2508
2509         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11277
2510         REGRESSION: Incomplete repaint of overflow areas when deleting
2511
2512         Restrict the repaint rect for overflow blocks after the height has been fully computed.
2513         Also, adjust the repaint rect coordinates for the scroll offset.
2514
2515         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
2516         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
2517
2518 2006-11-01  Sam Weinig  <sam.weinig@gmail.com>
2519
2520         Reviewed by Mitz.
2521
2522         Fix for http://bugs.webkit.org/show_bug.cgi?id=11474
2523         Rename the "p" member variable of the PaintInfo struct to "context"
2524
2525         - Renames the 'p' and 'r' member variables of the PaintInfo struct to
2526           'context' and 'rect' respectively.
2527
2528         - Assorted surrounding cleanups.
2529
2530         * rendering/EllipsisBox.cpp:
2531         (WebCore::EllipsisBox::paint):
2532         * rendering/EllipsisBox.h:
2533         * rendering/InlineBox.cpp:
2534         (WebCore::InlineBox::paint):
2535         * rendering/InlineFlowBox.cpp:
2536         (WebCore::InlineFlowBox::paint):
2537         (WebCore::InlineFlowBox::paintBackground):
2538         (WebCore::InlineFlowBox::paintBackgroundAndBorder):
2539         (WebCore::InlineFlowBox::paintDecorations):
2540         * rendering/InlineFlowBox.h:
2541         * rendering/InlineRunBox.h:
2542         * rendering/InlineTextBox.cpp:
2543         (WebCore::InlineTextBox::paint):
2544         * rendering/InlineTextBox.h:
2545         * rendering/RenderBlock.cpp:
2546         (WebCore::RenderBlock::paint):
2547         (WebCore::RenderBlock::paintChildren):
2548         (WebCore::RenderBlock::paintCaret):
2549         (WebCore::RenderBlock::paintObject):
2550         (WebCore::RenderBlock::paintFloats):
2551         (WebCore::RenderBlock::paintEllipsisBoxes):
2552         (WebCore::RenderBlock::paintSelection):
2553         (WebCore::RenderBlock::fillSelectionGaps):
2554         (WebCore::RenderBlock::fillInlineSelectionGaps):
2555         (WebCore::RenderBlock::fillBlockSelectionGaps):
2556         (WebCore::RenderBlock::fillHorizontalSelectionGap):
2557         (WebCore::RenderBlock::fillVerticalSelectionGap):
2558         (WebCore::RenderBlock::fillLeftSelectionGap):
2559         (WebCore::RenderBlock::fillRightSelectionGap):
2560         * rendering/RenderBox.cpp:
2561         (WebCore::RenderBox::paint):
2562         (WebCore::RenderBox::paintRootBoxDecorations):
2563         (WebCore::RenderBox::paintBoxDecorations):
2564         * rendering/RenderBox.h:
2565         * rendering/RenderButton.cpp:
2566         (WebCore::RenderButton::paintObject):
2567         * rendering/RenderFieldset.cpp:
2568         (WebCore::RenderFieldset::paintBoxDecorations):
2569         * rendering/RenderFileUploadControl.cpp:
2570         (WebCore::RenderFileUploadControl::paintObject):
2571         * rendering/RenderFlow.cpp:
2572         (WebCore::RenderFlow::continuationBefore):
2573         (WebCore::RenderFlow::addChildWithContinuation):
2574         (WebCore::RenderFlow::addChild):
2575         (WebCore::RenderFlow::attachLineBox):
2576         (WebCore::RenderFlow::destroy):
2577         (WebCore::RenderFlow::dirtyLinesFromChangedChild):
2578         (WebCore::RenderFlow::dirtyLineBoxes):
2579         (WebCore::RenderFlow::createInlineBox):
2580         (WebCore::RenderFlow::paintLines):
2581         (WebCore::RenderFlow::getAbsoluteRepaintRect):
2582         (WebCore::RenderFlow::lowestPosition):
2583         (WebCore::RenderFlow::rightmostPosition):
2584         (WebCore::RenderFlow::leftmostPosition):
2585         (WebCore::RenderFlow::caretRect):
2586         (WebCore::RenderFlow::addFocusRingRects):
2587         (WebCore::RenderFlow::paintOutline):
2588         (WebCore::RenderFlow::paintOutlineForLine):
2589         * rendering/RenderForeignObject.cpp:
2590         (WebCore::RenderForeignObject::paint):
2591         * rendering/RenderHTMLCanvas.cpp:
2592         (WebCore::RenderHTMLCanvas::paint):
2593         * rendering/RenderImage.cpp:
2594         (WebCore::RenderImage::paint):
2595         * rendering/RenderLayer.cpp:
2596         (WebCore::RenderLayer::paintLayer):
2597         * rendering/RenderListBox.cpp:
2598         (WebCore::RenderListBox::paintObject):
2599         (WebCore::RenderListBox::paintScrollbar):
2600         (WebCore::RenderListBox::paintItemForeground):
2601         (WebCore::RenderListBox::paintItemBackground):
2602         * rendering/RenderListMarker.cpp:
2603         (WebCore::RenderListMarker::paint):
2604         * rendering/RenderMenuList.cpp:
2605         (WebCore::RenderMenuList::paintObject):
2606         * rendering/RenderObject.cpp:
2607         (WebCore::RenderObject::paint):
2608         * rendering/RenderObject.h:
2609         (WebCore::RenderObject::PaintInfo::PaintInfo):
2610         (WebCore::RenderObject::paintBoxDecorations):
2611         (WebCore::RenderObject::paintingRootForChildren):
2612         (WebCore::RenderObject::shouldPaintWithinRoot):
2613         (WebCore::RenderObject::printBoxDecorations):
2614         * rendering/RenderPath.cpp:
2615         (WebCore::RenderPath::paint):
2616         * rendering/RenderReplaced.cpp:
2617         (WebCore::RenderReplaced::shouldPaint):
2618         * rendering/RenderSVGContainer.cpp:
2619         (WebCore::RenderSVGContainer::paint):
2620         * rendering/RenderSVGContainer.h:
2621         * rendering/RenderSVGImage.cpp:
2622         (WebCore::RenderSVGImage::paint):
2623         * rendering/RenderSVGText.cpp:
2624         (WebCore::RenderSVGText::paint):
2625         * rendering/RenderSVGText.h:
2626         (WebCore::RenderSVGText::renderName):
2627         * rendering/RenderTable.cpp:
2628         (WebCore::RenderTable::paint):
2629         (WebCore::RenderTable::paintBoxDecorations):
2630         * rendering/RenderTable.h:
2631         * rendering/RenderTableCell.cpp:
2632         (WebCore::RenderTableCell::paint):
2633         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2634         (WebCore::RenderTableCell::paintBoxDecorations):
2635         * rendering/RenderTableCell.h:
2636         * rendering/RenderTableRow.cpp:
2637         (WebCore::RenderTableRow::paint):
2638         * rendering/RenderTableRow.h:
2639         * rendering/RenderTableSection.cpp:
2640         (WebCore::RenderTableSection::paint):
2641         * rendering/RenderTableSection.h:
2642         (WebCore::RenderTableSection::getBaseline):
2643         (WebCore::RenderTableSection::setNeedCellRecalc):
2644         * rendering/RenderText.h:
2645         (WebCore::RenderText::renderName):
2646         (WebCore::RenderText::paint):
2647         (WebCore::RenderText::element):
2648         * rendering/RenderTheme.cpp:
2649         (WebCore::RenderTheme::paint):
2650         (WebCore::RenderTheme::paintBorderOnly):
2651         (WebCore::RenderTheme::paintDecorations):
2652         * rendering/RenderTheme.h:
2653         (WebCore::RenderTheme::RenderTheme):
2654         (WebCore::RenderTheme::~RenderTheme):
2655         (WebCore::RenderTheme::controlSupportsTints):
2656         (WebCore::RenderTheme::adjustRepaintRect):
2657         (WebCore::RenderTheme::themeChanged):
2658         (WebCore::RenderTheme::supportsHover):
2659         (WebCore::RenderTheme::paintCheckbox):
2660         (WebCore::RenderTheme::setCheckboxSize):
2661         (WebCore::RenderTheme::paintRadio):
2662         (WebCore::RenderTheme::setRadioSize):
2663         (WebCore::RenderTheme::paintButton):
2664         (WebCore::RenderTheme::setButtonSize):
2665         (WebCore::RenderTheme::paintTextField):
2666         (WebCore::RenderTheme::paintTextArea):
2667         (WebCore::RenderTheme::paintMenuList):
2668         (WebCore::RenderTheme::paintMenuListButton):
2669         * rendering/RenderThemeMac.mm:
2670         (WebCore::RenderThemeMac::paintCheckbox):
2671         (WebCore::RenderThemeMac::paintRadio):
2672         (WebCore::RenderThemeMac::paintButton):
2673         (WebCore::RenderThemeMac::paintTextField):
2674         (WebCore::RenderThemeMac::paintTextArea):
2675         (WebCore::RenderThemeMac::paintMenuList):
2676         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2677         (WebCore::RenderThemeMac::paintMenuListButton):
2678         * rendering/RenderView.cpp:
2679         (WebCore::RenderView::paint):
2680         (WebCore::RenderView::paintBoxDecorations):
2681         * rendering/RenderView.h:
2682         * rendering/RenderWidget.cpp:
2683         (WebCore::RenderWidget::paint):
2684         * rendering/RenderWidget.h:
2685         (WebCore::RenderWidget::isWidget):
2686         * rendering/RootInlineBox.cpp:
2687         (WebCore::RootInlineBox::paintEllipsisBox):
2688         (WebCore::RootInlineBox::paintCustomHighlight):
2689         (WebCore::RootInlineBox::paint):
2690         (WebCore::RootInlineBox::fillLineSelectionGap):
2691         * rendering/RootInlineBox.h:
2692         * rendering/SVGInlineFlowBox.cpp:
2693         (WebCore::paintSVGInlineFlow):
2694
2695 2006-11-01  Anders Carlsson  <acarlsson@apple.com>
2696
2697         Reviewed by Oliver, Brady.
2698
2699         * platform/network/ResourceResponse.h:
2700         (WebCore::ResourceResponse::setLastModifiedDate):
2701         (WebCore::ResourceResponse::lastModifiedDate):
2702         Add getters and setters for last modified dadte.
2703         
2704         * platform/network/cf/ResourceResponseCFNet.cpp:
2705         (WebCore::getResourceResponse):
2706         Fetch the last modified date. Add correct offset to expired date.
2707
2708 2006-11-01  David Kilzer  <ddkilzer@kilzer.net>
2709
2710         Reviewed by Mitz.
2711
2712         Added missing "break;" statement in switch statement from r17493.
2713
2714         Bug 11442: [CSS 3] support for cursor: all-scroll
2715         http://bugs.webkit.org/show_bug.cgi?id=11442
2716
2717         * css/CSSComputedStyleDeclaration.cpp:
2718         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2719
2720 2006-10-31  Mitz Pettel  <mitz@webkit.org>
2721
2722         Reviewed by Maciej.
2723
2724         - fix image dragging
2725
2726         This is covered by editing/selection/drag-to-contenteditable-iframe.html
2727
2728         * rendering/HitTestResult.cpp:
2729         (WebCore::HitTestResult::altDisplayString): Changed imageTag to imgTag, for
2730         HTML IMG elements.
2731         (WebCore::HitTestResult::absoluteImageURL): Ditto.
2732
2733 2006-10-31  Beth Dakin  <bdakin@apple.com>
2734
2735         Reviewed by Maciej.
2736
2737         This adds the back-end of the remaining WebElementDictionary 
2738         functions into HitTestResult.
2739
2740         * WebCore.exp:
2741         * rendering/HitTestResult.cpp:
2742         (WebCore::HitTestResult::title):
2743         (WebCore::displayString): This is nearly identical to the 
2744         displayString() defined in DOMInternal.mm except that it returns a 
2745         String instead of an NSString. The old code path used the 
2746         DOMInternal method, so I made a new one here for the new code path.
2747         (WebCore::HitTestResult::altDisplayString):
2748         (WebCore::HitTestResult::image):
2749         (WebCore::HitTestResult::absoluteImageURL):
2750         (WebCore::HitTestResult::absoluteLinkURL):
2751         (WebCore::HitTestResult::titleDisplayString):
2752         (WebCore::HitTestResult::textContent):
2753         * rendering/HitTestResult.h:
2754
2755 2006-10-31  John Sullivan  <sullivan@apple.com>
2756
2757         * bridge/mac/FrameMac.mm:
2758         (WebCore::FrameMac::markMisspellings):
2759         Tiger build fix: added an #ifndef BUILDING_ON_TIGER where one was needed.
2760
2761 2006-10-31  John Sullivan  <sullivan@apple.com>
2762
2763         Reviewed by Maciej
2764         
2765         - fixed <rdar://problem/4804627> ToolTips do not appear for grammar suggestions
2766         
2767         The foundation of this was in my last checkin. This checkin is all about displaying
2768         the correct string in the toolTip.
2769
2770         * dom/DocumentMarker.h:
2771         New description field in this struct.
2772
2773         * bridge/mac/FrameMac.mm:
2774         (WebCore::FrameMac::advanceToNextMisspelling):
2775         When adding a grammar marker, supply the appropriate description. Also, added a comment
2776         about the remaining work to make grammar checking return sensible answers.
2777         (WebCore::FrameMac::markMisspellings):
2778         ditto (yes, still needs some refactoring to minimize duplicated code)
2779         
2780         * dom/Document.h:
2781         * dom/Document.cpp:
2782         (WebCore::Document::addMarker):
2783         Now takes an optional description string
2784         (WebCore::Document::markerContainingPoint):
2785         New function, returns a pointer to the (first) marker of the specified type whose rect 
2786         contains the specified point, or 0 if none.
2787         
2788         * rendering/HitTestResult.cpp:
2789         (WebCore::HitTestResult::spellingToolTip):
2790         Replaced hardwired string placeholder implementation with code that uses markerContainingPoint
2791         and gets the description from the marker.
2792
2793 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
2794
2795         Reviewed by Maciej.
2796         
2797         Fixed crash resulting from Darin's last patch to remove BrowserExtension.
2798
2799         * loader/mac/FrameLoaderMac.mm:
2800         (WebCore::FrameLoader::createWindow):
2801         * manual-tests/window-open-features-parsing.html: Updated for clarity.
2802
2803 2006-10-31  Geoffrey Garen  <ggaren@apple.com>
2804
2805         Reviewed by Alice.
2806
2807         Moved some Editing code from WebKit, the bridge, and WebCore::Frame down 
2808         to WebCore::Editor.
2809         
2810         Layout tests pass.
2811         
2812         Renamed "may*" to "can*" because "can" is more accurate (these functions
2813         aren't just about permission) and it matches WebKit.
2814
2815         (WebCore::FrameMac::handleMouseMoveEvent): Directly test for dragging in a 
2816         password field. Now that WebCore fully implements canCopy(), it doesn't just
2817         mean "the selection is not in a password field" anymore.
2818         (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Removed this #ifed-out code. 
2819         The fact that it's not called anymore may represent a security issue, but I
2820         don't see how commented-out code will help reveal the issue, and the
2821         bridge is going away, anyway.
2822         * editing/SelectionController.h: Changed selection() calls to references
2823         to m_sel, to match the rest of the file.
2824
2825 2006-10-31  Justin Garcia  <justin.garcia@apple.com>
2826
2827         Reviewed by harrison
2828         
2829         <rdar://problem/4711063>
2830         Pasting 10K lines into Mail/Blot takes ~7sec, in TextEdit it takes ~1.5sec
2831
2832         * editing/ReplaceSelectionCommand.cpp:
2833         (WebCore::ReplacementFragment::ReplacementFragment): Don't do the test
2834         insertion and plain text string creation unless we need the string
2835         for a BeforeTextInserted event handler or for a plain text only region.
2836         (WebCore::ReplacementFragment::removeInterchangeNodes): Added, moved
2837         code here from ReplacementFragment's constructor.
2838         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Added a
2839         FIXME.
2840         * editing/ReplaceSelectionCommand.h:
2841
2842 2006-10-31  Ada Chan  <adachan@apple.com>
2843
2844         Reviewed by Adam
2845
2846         Correct forward declarations of the HitTestRequest struct.
2847
2848         * rendering/EllipsisBox.h:
2849         * rendering/InlineBox.h:
2850         * rendering/InlineFlowBox.h:
2851         * rendering/RenderLayer.h:
2852         * rendering/RenderObject.h:
2853
2854 2006-10-31  John Sullivan  <sullivan@apple.com>
2855
2856         Reviewed by Beth and Adam
2857
2858         Support for displaying tooltips for bad grammar. Currently this always displays the same tooltip; 
2859         next I'll make it use a string that's relevant for a specific grammar error.
2860
2861         * WebCore.exp:
2862         export symbol for spellingToolTip function
2863         
2864         * rendering/HitTestResult.h:
2865         * rendering/HitTestResult.cpp:
2866         (WebCore::HitTestResult::spellingToolTip):
2867         new function, returns the string to be used in a tool tip that describes the questionable grammar
2868         
2869         * rendering/InlineTextBox.h:
2870         * rendering/InlineTextBox.cpp:
2871         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2872         now takes a style and font, needed to compute the rect representing the range containing
2873         questionable grammar. Computes the rect and associates it with the marker.
2874         (WebCore::InlineTextBox::paintDocumentMarkers):
2875         Pass in the style and font now needed by paintSpellingOrGrammarMarker
2876
2877 2006-10-31  Adele Peterson  <adele@apple.com>
2878
2879         Removed commented out variable from last checkin.
2880
2881         * html/HTMLSelectElement.cpp:
2882         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2883
2884 2006-10-31  Brady Eidson  <beidson@apple.com>
2885
2886         Build fix (unused variable in release builds)
2887
2888         * html/HTMLSelectElement.cpp:
2889         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2890
2891 2006-10-31  Adele Peterson  <adele@apple.com>
2892
2893         Reviewed by Adam.
2894
2895         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11127 NativeListBox: arrow and drag selection should pivot around one list item
2896         and http://bugs.webkit.org/show_bug.cgi?id=11173 REGRESSION (NativeListBox): Shift-clicking items in list box doesn't expand the current selection
2897         and http://bugs.webkit.org/show_bug.cgi?id=11417 REGRESSION: onchange does not fire for list-style select elements
2898
2899         Tests: 
2900         * LayoutTests/fast/forms/listbox-selection.html
2901         * LayoutTests/fast/forms/listbox-onchange.html
2902
2903         * html/HTMLSelectElement.h: Added m_selectedListIndexBase and m_selectedListIndexExtent to track indices for the active selection in progress.
2904           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.
2905           And one for onChange, that is updated after onChange is fired.
2906           Added m_activeSelectionState to keep track of whether the current drag selection is selecting or deselecting.
2907  
2908         * html/HTMLSelectElement.cpp:
2909         (WebCore::HTMLSelectElement::HTMLSelectElement): Initialized new variables.
2910         (WebCore::HTMLSelectElement::setSelectedIndex): If needed, initialize m_selectedListIndexBase and m_selectedListIndexExtent.
2911         (WebCore::HTMLSelectElement::dispatchBlurEvent): Only fire the onChange event here for menu lists.
2912         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Updates base and extent variables for mouse and key events.
2913         (WebCore::HTMLSelectElement::setBase): Added. Also caches the selection state.
2914         (WebCore::HTMLSelectElement::setExtent): Added.
2915         (WebCore::HTMLSelectElement::updateListBoxSelection): Added.
2916         (WebCore::HTMLSelectElement::listBoxOnChange): Added.
2917
2918         * rendering/RenderListBox.cpp:
2919         (WebCore::RenderListBox::updateFromElement): Only scroll to reveal the first index if both the first and last indices aren't visible.
2920         (WebCore::RenderListBox::listIndexAtOffset): Added.  Replaces optionAtPoint, which is no longer used.
2921         (WebCore::RenderListBox::autoscroll): Now sets the selection using the select's base and extent.
2922         (WebCore::RenderListBox::stopAutoscroll): Added.  Tells the select element to fire onChange.  This is needed because the autoscroll can end from a mouseUp
2923          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
2924          notify the select element from here.
2925         (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Checks new listIndexIsVisible method.
2926         (WebCore::RenderListBox::listIndexIsVisible): Added.
2927         (WebCore::RenderListBox::valueChanged): Removed unnecessary printf.
2928
2929         * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Added rendererIsBeingDestroyed argument, so when the renderer calls this during destruction, 
2930         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.
2931         * rendering/RenderListBox.h: (WebCore::RenderListBox::shouldAutoscroll): Always returns true now, since we're also updating selection from the autoscroll timer.
2932         * rendering/RenderObject.h: (WebCore::RenderObject::stopAutoscroll): Added.
2933         * rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): Calls stopAutoscrollTimer with rendererIsBeingDestroyed argument.
2934
2935 2006-10-31  Beth Dakin  <bdakin@apple.com>
2936
2937         Forgot to check this in a minute ago. Oops!! Thanks Mitz!
2938
2939         * rendering/HitTestRequest.h: Added.
2940         (WebCore::HitTestRequest::HitTestRequest):
2941
2942 2006-10-31  Beth Dakin  <bdakin@apple.com>
2943
2944         Reviewed by Maciej.
2945
2946         Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult 
2947         should be split into HitTestRequest and HitTestResult
2948
2949         This patch creates a new struct called HitTestRequest that holds 
2950         the three boolean values (readonly, active, and mouseMove) that 
2951         were formerly a part of HitTestResult. All hitTest() and 
2952         nodeAtPoint() functions now take a HitTestRequest in addition to 
2953         the HitTestResult.
2954
2955         * WebCore.exp:
2956         * WebCore.xcodeproj/project.pbxproj:
2957         * bridge/mac/FrameMac.mm:
2958         (WebCore::FrameMac::eventMayStartDrag):
2959         (WebCore::FrameMac::handleMouseMoveEvent):
2960         * bridge/mac/WebCoreAXObject.mm:
2961         (-[WebCoreAXObject doAXTextMarkerForPosition:]):
2962         (-[WebCoreAXObject accessibilityHitTest:]):
2963         * dom/Document.cpp:
2964         (WebCore::Document::elementFromPoint):
2965         (WebCore::Document::prepareMouseEvent):
2966         * editing/SelectionController.cpp:
2967         (WebCore::SelectionController::contains):
2968         * page/Frame.cpp:
2969         (WebCore::Frame::hitTestResultAtPoint):
2970         * page/FrameView.cpp:
2971         (WebCore::FrameView::handleWheelEvent):
2972         * rendering/EllipsisBox.cpp:
2973         (WebCore::EllipsisBox::nodeAtPoint):
2974         * rendering/EllipsisBox.h:
2975         * rendering/HitTestResult.cpp:
2976         (WebCore::HitTestResult::HitTestResult):
2977         (WebCore::HitTestResult::operator=):
2978         * rendering/HitTestResult.h:
2979         * rendering/InlineBox.cpp:
2980         (WebCore::InlineBox::nodeAtPoint):
2981         * rendering/InlineBox.h:
2982         * rendering/InlineFlowBox.cpp:
2983         (WebCore::InlineFlowBox::nodeAtPoint):
2984         * rendering/InlineFlowBox.h:
2985         * rendering/InlineTextBox.cpp:
2986         (WebCore::InlineTextBox::nodeAtPoint):
2987         * rendering/InlineTextBox.h:
2988         * rendering/RenderBlock.cpp:
2989         (WebCore::RenderBlock::nodeAtPoint):
2990         * rendering/RenderBlock.h:
2991         * rendering/RenderBox.cpp:
2992         (WebCore::RenderBox::nodeAtPoint):
2993         * rendering/RenderBox.h:
2994         * rendering/RenderFlow.cpp:
2995         (WebCore::RenderFlow::hitTestLines):
2996         * rendering/RenderFlow.h:
2997         * rendering/RenderForeignObject.cpp:
2998         (WebCore::RenderForeignObject::nodeAtPoint):
2999         * rendering/RenderForeignObject.h:
3000         * rendering/RenderFrameSet.cpp:
3001         (WebCore::RenderFrameSet::nodeAtPoint):
3002         * rendering/RenderFrameSet.h:
3003         * rendering/RenderImage.cpp:
3004         (WebCore::RenderImage::nodeAtPoint):
3005         * rendering/RenderImage.h:
3006         * rendering/RenderInline.cpp:
3007         (WebCore::RenderInline::nodeAtPoint):
3008         * rendering/RenderInline.h:
3009         * rendering/RenderLayer.cpp:
3010         (WebCore::RenderLayer::autoscroll):
3011         (WebCore::RenderLayer::hitTest):
3012         (WebCore::RenderLayer::hitTestLayer):
3013         (WebCore::RenderLayer::updateHoverActiveState):
3014         * rendering/RenderLayer.h:
3015         * rendering/RenderObject.cpp:
3016         (WebCore::RenderObject::hitTest):
3017         (WebCore::RenderObject::nodeAtPoint):
3018         * rendering/RenderObject.h:
3019         * rendering/RenderPath.cpp:
3020         (WebCore::RenderPath::nodeAtPoint):
3021         * rendering/RenderPath.h:
3022         * rendering/RenderSVGImage.cpp:
3023         (WebCore::RenderSVGImage::nodeAtPoint):
3024         * rendering/RenderSVGImage.h:
3025         * rendering/RenderSVGText.cpp:
3026         (WebCore::RenderSVGText::nodeAtPoint):
3027         * rendering/RenderSVGText.h:
3028         * rendering/RenderTableRow.cpp:
3029         (WebCore::RenderTableRow::nodeAtPoint):
3030         * rendering/RenderTableRow.h:
3031         * rendering/RenderTableSection.cpp:
3032         (WebCore::RenderTableSection::nodeAtPoint):
3033         * rendering/RenderTableSection.h:
3034         * rendering/RenderText.h:
3035         (WebCore::RenderText::nodeAtPoint):
3036         * rendering/RenderTextControl.cpp:
3037         (WebCore::RenderTextControl::nodeAtPoint):
3038         * rendering/RenderTextControl.h:
3039         * rendering/RootInlineBox.cpp:
3040         (WebCore::RootInlineBox::nodeAtPoint):
3041         * rendering/RootInlineBox.h:
3042
3043 2006-10-31  Lars Naesbye Christensen <larsnaesbye@stud.ku.dk>
3044
3045         Reviewed by Maciej.
3046
3047         Bug 11442: [CSS 3] support for cursor: all-scroll
3048         http://bugs.webkit.org/show_bug.cgi?id=11442
3049
3050         * css/CSSComputedStyleDeclaration.cpp:
3051         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3052         * css/CSSValueKeywords.in:
3053         * css/cssparser.cpp:
3054         (WebCore::CSSParser::parseValue):
3055         * page/FrameView.cpp:
3056         (WebCore::selectCursor):
3057         * rendering/RenderStyle.h:
3058
3059 2006-10-31  Oliver Hunt  <oliver@apple.com>
3060
3061         Reviewed by Geoff.
3062
3063         Converting Obj-C++ to C++ in kcanvas
3064
3065         * WebCore.xcodeproj/project.pbxproj:
3066         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
3067         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3068         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Added.
3069         * kcanvas/device/quartz/KCanvasItemQuartz.mm: Removed.
3070         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Added.
3071         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3072         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: Removed.
3073         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3074         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
3075         * kcanvas/device/quartz/QuartzSupport.cpp: Added.
3076         * kcanvas/device/quartz/QuartzSupport.h:
3077         * kcanvas/device/quartz/QuartzSupport.mm: Removed.
3078         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Added.
3079         (WebCore::SVGResourceClipper::applyClip):
3080         * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Removed.
3081         * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Added.
3082         * platform/graphics/svg/cg/SVGResourceImageCg.mm: Removed.
3083
3084 2006-10-31  Justin Garcia  <justin.garcia@apple.com>
3085
3086         Reviewed by harrison
3087         
3088         <rdar://problem/4808375>
3089         REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) [11460}
3090         
3091         Completely back out r17276 because of performance issues.
3092
3093         * editing/TextIterator.cpp:
3094         (WebCore::TextIterator::TextIterator):
3095         (WebCore::TextIterator::advance):
3096         (WebCore::TextIterator::handleTextNode):
3097         (WebCore::TextIterator::handleTextBox):
3098         (WebCore::TextIterator::handleReplacedElement):
3099         (WebCore::TextIterator::handleNonTextNode):
3100         (WebCore::TextIterator::exitNode):
3101         (WebCore::TextIterator::emitCharacter):
3102         (WebCore::TextIterator::range):
3103         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
3104         (WebCore::SimplifiedBackwardsTextIterator::advance):
3105         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
3106         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
3107         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter):
3108         (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
3109         (WebCore::SimplifiedBackwardsTextIterator::range):
3110         (WebCore::CharacterIterator::range):
3111         (WebCore::TextIterator::rangeFromLocationAndLength):
3112         * editing/TextIterator.h:
3113         (WebCore::TextIterator::atEnd):
3114         (WebCore::SimplifiedBackwardsTextIterator::atEnd):
3115
3116 2006-10-31  Darin Adler  <darin@apple.com>
3117
3118         Reviewed by Brady.
3119
3120         - got "action dictionary" code out of FrameLoader,
3121           replacing with a class called NavigationAction
3122
3123         * loader/DocumentLoader.h: Changed m_triggeringAction to a NavigationAction.
3124         * loader/mac/DocumentLoaderMac.mm:
3125         (WebCore::DocumentLoader::triggeringAction): Ditto.
3126         (WebCore::DocumentLoader::setTriggeringAction): Ditto.
3127
3128         * loader/FrameLoader.h: Changed action parameters to NavigationAction.
3129
3130         * loader/FrameLoaderClient.h: Changed action parameters to NavigationAction.
3131         Removed elementForEvent.
3132         * loader/mac/FrameLoaderMac.mm:
3133         (WebCore::FrameLoader::load): Ditto.
3134         (WebCore::FrameLoader::reload): Ditto.
3135         (WebCore::FrameLoader::checkNewWindowPolicy): Ditto.
3136         (WebCore::FrameLoader::checkNavigationPolicy): Ditto.
3137         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Ditto.
3138         (WebCore::FrameLoader::post): Ditto.
3139
3140         * loader/NavigationAction.h: Added.
3141         * loader/NavigationAction.cpp: Added.
3142         * loader/mac/NavigationActionMac.mm: Added.
3143
3144         * loader/mac/MainResourceLoaderMac.mm: Fixed copyright.
3145
3146         * WebCore.xcodeproj/project.pbxproj: Updated for new files.
3147         * WebCore.exp: Updated.
3148
3149 2006-10-31  Steve Falkenburg  <sfalken@apple.com>
3150
3151         Reviewed by Adam.
3152
3153         Build fix
3154
3155         * platform/win/CookieJarWin.cpp:
3156         (WebCore::cookies):
3157
3158 2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
3159
3160         Reviewed by Maciej. Landed by Adam.
3161
3162         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11463
3163
3164         Move KCanvasTreeDebug into rendering, named as SVGRenderTreeAsText.*,
3165         as dicussed with Dave. Also kill the outdated DESIGN document.
3166
3167         * CMakeLists.txt:
3168         * WebCore.xcodeproj/project.pbxproj:
3169         * kcanvas/DESIGN: Removed.
3170         * kcanvas/KCanvasFilters.cpp:
3171         * kcanvas/KCanvasTreeDebug.cpp: Moved to rendering/SVGRenderTreeAsText
3172         * kcanvas/KCanvasTreeDebug.h: Ditto.
3173         * kcanvas/device/KRenderingPaintServerGradient.cpp:
3174         * kcanvas/device/KRenderingPaintServerPattern.cpp:
3175         * kcanvas/device/KRenderingPaintServerSolid.cpp:
3176         * platform/graphics/svg/SVGResourceClipper.cpp:
3177         * rendering/RenderTreeAsText.cpp:
3178         * rendering/SVGRenderTreeAsText.cpp: Added.
3179         * rendering/SVGRenderTreeAsText.h: Added.
3180         (WebCore::operator<<):
3181
3182 2006-10-31  MorganL  <morganl.webkit@yahoo.com>
3183
3184         Reviewed by Maciej.
3185
3186         Fixes http://bugs.webkit.org/show_bug.cgi?id=11286
3187         Includes some CRLF -> LF fixups.
3188
3189         * platform/win/CookieJarWin.cpp:
3190         (WebCore::cookies):
3191
3192 2006-10-31  Adam Roben  <aroben@apple.com>
3193
3194         Reviewed by Steve.
3195
3196         Fix some incorrect forward declarations.
3197
3198         * loader/FrameLoader.h:
3199         * page/Frame.h:
3200
3201 2006-10-31  Darin Adler  <darin@apple.com>
3202
3203         * WebCore.xcodeproj/project.pbxproj: Change GraphicsTypes.h to a private header to
3204         try to fix the build on the buildbot.
3205
3206 2006-10-31  Darin Adler  <darin@apple.com>
3207
3208         * bridge/mac/FrameMac.mm:
3209         (WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds.
3210         (WebCore::FrameMac::markMisspellings): Ditto.
3211
3212 2006-10-31  John Sullivan  <sullivan@apple.com>
3213
3214         * bridge/mac/FrameMac.mm:
3215         (WebCore::FrameMac::advanceToNextMisspelling):
3216         build fix: needed #ifndef BUILDING_ON_TIGER in one more place
3217
3218 2006-10-30  John Sullivan  <sullivan@apple.com>
3219
3220         Reviewed by Adam Roben
3221         
3222         - fixes <rdar://problem/4804614> Bad grammar ranges are not visibly marked
3223         
3224         This patch introduces much of the guts of grammar checking, though still not enough to actually
3225         check grammar sensibly, due to:
3226           
3227         <rdar://problem/4811175> Many false reports of bad grammar appear, caused by insufficient 
3228         context passed to grammar checker
3229
3230         * platform/Logging.h:
3231         * platform/Logging.cpp:
3232         new log channel SpellingAndGrammar
3233
3234         * bridge/mac/WebCorePageBridge.mm:
3235         (initializeLoggingChannelsIfNecessary):
3236         initialize new log channel
3237
3238         * bridge/mac/FrameMac.mm:
3239         (WebCore::FrameMac::advanceToNextMisspelling):
3240         Compute bad grammar range when computing misspelling range. Find first detailed grammar range from the
3241         set NSSpellChecker determines. Compare it with misspelling range to see which is earliest (or shortest
3242         in the event of a tie), and do further processing with that one (select range; create marker that
3243         causes range to be visibly marked with a funky underline; update spelling panel appropriately).
3244         (WebCore::FrameMac::markMisspellings):
3245         More or less the same types of changes as in advanceToNextMisspelling The loops are structured just 
3246         differently enough to make sharing code between these two functions a little tricky, so I decided to 
3247         save that for a later patch.
3248         
3249         (WebCore::FrameMac::respondToChangedSelection):
3250         remove grammar markers when we remove spelling markers        
3251
3252 2006-10-31  Nikolas Zimmermann <zimmermann@kde.org>
3253
3254         Reviewed by Mitz.
3255
3256         Fix Qt/Linux build with older gcc3.3.4.
3257
3258         * bindings/js/kjs_window.cpp:
3259         (KJS::WindowFunc::callAsFunction):
3260
3261 2006-10-31  Zack Rusin  <zack@kde.org>
3262
3263         Reviewed by Mitz.
3264
3265         Fix the Qt build after last nights changes.
3266
3267         * WebCore/platform/qt/FrameQt.cpp:
3268         * WebCore/platform/qt/EditorClientQt.h:
3269         * WebCore/platform/qt/EditorClientQt.cpp:
3270         * WebCore/platform/graphics/svg/qt/SVGResourceImageQt.cpp:
3271         * WebCore/platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
3272         * WebCore/CMakeLists.txt:
3273         * WebCore/kcanvas/device/qt/KRenderingDeviceQt.cpp:
3274         * WebKitQt/QtLauncher/CMakeLists.txt:
3275         * WebKitQt/WebKitPart/CMakeLists.txt:
3276
3277 2006-10-30  Darin Adler  <darin@apple.com>
3278
3279         Reviewed by Anders.
3280
3281         - remove BrowserExtension
3282
3283         * WebCore.vcproj/WebCore/WebCore.vcproj:
3284         * WebCore.xcodeproj/project.pbxproj:
3285         * bindings/js/kjs_window.cpp:
3286         (KJS::createNewWindow):
3287         (KJS::WindowFunc::callAsFunction):
3288         * bridge/BrowserExtension.h: Removed.
3289         * bridge/mac/BrowserExtensionMac.h: Removed.
3290         * bridge/mac/BrowserExtensionMac.mm: Removed.
3291         * bridge/mac/FrameMac.mm:
3292         (WebCore::FrameMac::FrameMac):
3293         (WebCore::FrameMac::submitForm):
3294         (WebCore::FrameMac::urlSelected):
3295         * bridge/win/BrowserExtensionWin.cpp: Removed.
3296         * bridge/win/BrowserExtensionWin.h: Removed.
3297         * bridge/win/FrameWin.cpp:
3298         (WebCore::FrameWin::FrameWin):
3299         * loader/FrameLoader.cpp:
3300         (WebCore::FrameLoader::createWindow):
3301         * loader/FrameLoader.h:
3302         * loader/icon/IconLoader.cpp:
3303         * loader/mac/FrameLoaderMac.mm:
3304         (WebCore::FrameLoader::safeLoad):
3305         (WebCore::FrameLoader::load):
3306         (WebCore::FrameLoader::createWindow):
3307         * page/Frame.cpp:
3308         (WebCore::Frame::urlSelected):
3309         (WebCore::Frame::requestFrame):
3310         (WebCore::Frame::submitForm):
3311         (WebCore::Frame::scheduleHistoryNavigation):
3312         (WebCore::Frame::redirectionTimerFired):
3313         * page/Frame.h:
3314         * page/FrameLoadRequest.h:
3315         (WebCore::FrameLoadRequest::FrameLoadRequest):
3316         (WebCore::FrameLoadRequest::isEmpty):
3317         (WebCore::FrameLoadRequest::resourceRequest):
3318         (WebCore::FrameLoadRequest::frameName):
3319         (WebCore::FrameLoadRequest::setFrameName):
3320         * page/FramePrivate.h:
3321         (WebCore::FramePrivate::FramePrivate):
3322         (WebCore::FramePrivate::~FramePrivate):
3323         * platform/gdk/BrowserExtensionGdk.h: Removed.
3324         * platform/gdk/FrameGdk.cpp:
3325         (WebCore::FrameGdk::FrameGdk):
3326         * platform/gdk/TemporaryLinkStubs.cpp:
3327         * platform/network/ResourceRequest.h:
3328         (WebCore::ResourceRequest::isEmpty):
3329
3330 2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>
3331
3332         Reviewed by Oliver.
3333
3334         Modified from original due to earlier reversion
3335
3336         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11436
3337
3338         Better SVG integration in WebKit, Part I.
3339
3340         The patch is mostly about creating a new platform/graphics directory, and
3341         moving the kcanvas resources (clipper/masker/marker) there (in svg budir),
3342         with a new name (KCanvasClipper -> SVGResourceClipper). Also fix several ownership
3343         issues, by using ref counting (the SVG classes now store RefPtrs to the resources).
3344
3345         KCanvasFilters is still left in kcanvas/ subdirectory, to be converted in a next patch.
3346         All details of the patch, and upcoming patches can be found in the bug report.
3347
3348         * CMakeLists.txt:
3349         * WebCore.xcodeproj/project.pbxproj:
3350         * graphics/svg/SVGResource.cpp: Removed.
3351         * graphics/svg/SVGResourceClipper.cpp: Removed.
3352         * graphics/svg/SVGResourceClipper.h: Removed.
3353         * graphics/svg/SVGResourceImage.h: Removed.
3354         * graphics/svg/SVGResourceListener.h: Removed.
3355         * graphics/svg/SVGResourceMarker.cpp: Removed.
3356         * graphics/svg/SVGResourceMarker.h: Removed.
3357         * graphics/svg/SVGResourceMasker.cpp: Removed.
3358         * graphics/svg/SVGResourceMasker.h: Removed.
3359         * kcanvas/KCanvasClipper.cpp: Removed.
3360         * kcanvas/KCanvasClipper.h: Removed.
3361         * kcanvas/KCanvasCreator.cpp: Removed.
3362         * kcanvas/KCanvasCreator.h: Removed.
3363         * kcanvas/KCanvasFilters.cpp:
3364         (WebCore::getFilterById):
3365         * kcanvas/KCanvasFilters.h:
3366         * kcanvas/KCanvasImage.h: Removed.
3367         * kcanvas/KCanvasMarker.cpp: Removed.
3368         * kcanvas/KCanvasMarker.h: Removed.
3369         * kcanvas/KCanvasMasker.cpp: Removed.
3370         * kcanvas/KCanvasMasker.h: Removed.
3371         * kcanvas/KCanvasResource.cpp: Removed.
3372         * kcanvas/KCanvasResource.h: Removed.
3373         * kcanvas/KCanvasResourceListener.h: Removed.
3374         * kcanvas/KCanvasTreeDebug.cpp:
3375         (WebCore::writeRenderResources):
3376         * kcanvas/device/KRenderingDevice.h:
3377         * kcanvas/device/KRenderingPaintServer.h:
3378         (WebCore::KRenderingPaintServer::KRenderingPaintServer):
3379         * kcanvas/device/KRenderingPaintServerGradient.cpp:
3380         (WebCore::KRenderingPaintServerGradient::listener):
3381         (WebCore::KRenderingPaintServerGradient::setListener):
3382         * kcanvas/device/KRenderingPaintServerGradient.h:
3383         * kcanvas/device/KRenderingPaintServerPattern.cpp:
3384         (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
3385         (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
3386         (WebCore::KRenderingPaintServerPattern::tile):
3387         (WebCore::KRenderingPaintServerPattern::setTile):
3388         (WebCore::KRenderingPaintServerPattern::listener):
3389         (WebCore::KRenderingPaintServerPattern::setListener):
3390         * kcanvas/device/KRenderingPaintServerPattern.h:
3391         * kcanvas/device/KRenderingPaintServerSolid.h:
3392         * kcanvas/device/qt/KCanvasClipperQt.cpp: Removed.
3393         * kcanvas/device/qt/KCanvasClipperQt.h:
3394         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3395         (WebCore::KRenderingDeviceQt::contextForImage):
3396         (WebCore::KRenderingDeviceQt::createResource):
3397         (WebCore::KRenderingDeviceQt::createPaintServer):
3398         * kcanvas/device/qt/KRenderingDeviceQt.h:
3399         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
3400         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
3401         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
3402         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
3403         * kcanvas/device/qt/RenderPathQt.h: Removed.
3404         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3405         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
3406         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3407         * kcanvas/device/quartz/KCanvasMaskerQuartz.h: Removed.
3408         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Removed.
3409         * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Removed.
3410         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: Removed.
3411         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3412         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3413         (WebCore::KRenderingDeviceQuartz::contextForImage):
3414         (WebCore::KRenderingDeviceQuartz::createPaintServer):
3415         (WebCore::KRenderingDeviceQuartz::createResource):
3416         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
3417         (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
3418         (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
3419         (WebCore::KRenderingPaintServerGradientQuartz::setup):
3420         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
3421         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
3422         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
3423         (WebCore::patternCallback):
3424         (WebCore::KRenderingPaintServerPatternQuartz::setup):
3425         * kcanvas/device/quartz/QuartzSupport.mm:
3426         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3427         (WebCore::sharedSolidPaintServer):
3428         * ksvg2/svg/SVGClipPathElement.cpp:
3429         (WebCore::SVGClipPathElement::SVGClipPathElement):
3430         (WebCore::SVGClipPathElement::~SVGClipPathElement):
3431         (WebCore::SVGClipPathElement::canvasResource):
3432         * ksvg2/svg/SVGClipPathElement.h:
3433         * ksvg2/svg/SVGFEImageElement.cpp:
3434         * ksvg2/svg/SVGFilterElement.cpp:
3435         (WebCore::SVGFilterElement::SVGFilterElement):
3436         (WebCore::SVGFilterElement::~SVGFilterElement):
3437         (WebCore::SVGFilterElement::canvasResource):
3438         * ksvg2/svg/SVGFilterElement.h:
3439         * ksvg2/svg/SVGGradientElement.cpp:
3440         (WebCore::SVGGradientElement::SVGGradientElement):
3441         (WebCore::SVGGradientElement::~SVGGradientElement):
3442         (WebCore::SVGGradientElement::canvasResource):
3443         (WebCore::SVGGradientElement::resourceNotification):
3444         * ksvg2/svg/SVGGradientElement.h:
3445         * ksvg2/svg/SVGImageElement.cpp:
3446         * ksvg2/svg/SVGLinearGradientElement.cpp:
3447         (WebCore::SVGLinearGradientElement::buildGradient):
3448         * ksvg2/svg/SVGLinearGradientElement.h:
3449         * ksvg2/svg/SVGMarkerElement.cpp:
3450         (WebCore::SVGMarkerElement::SVGMarkerElement):
3451         (WebCore::SVGMarkerElement::~SVGMarkerElement):
3452         (WebCore::SVGMarkerElement::canvasResource):
3453         * ksvg2/svg/SVGMarkerElement.h:
3454         * ksvg2/svg/SVGMaskElement.cpp:
3455         (WebCore::SVGMaskElement::SVGMaskElement):
3456         (WebCore::SVGMaskElement::~SVGMaskElement):
3457         (WebCore::SVGMaskElement::drawMaskerContent):
3458         (WebCore::SVGMaskElement::canvasResource):
3459         * ksvg2/svg/SVGMaskElement.h:
3460         * ksvg2/svg/SVGPatternElement.cpp:
3461         (WebCore::SVGPatternElement::SVGPatternElement):
3462         (WebCore::SVGPatternElement::~SVGPatternElement):
3463         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
3464         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
3465         (WebCore::SVGPatternElement::canvasResource):
3466         * ksvg2/svg/SVGPatternElement.h:
3467         * ksvg2/svg/SVGRadialGradientElement.cpp:
3468         (WebCore::SVGRadialGradientElement::buildGradient):
3469         * ksvg2/svg/SVGRadialGradientElement.h:
3470         * ksvg2/svg/SVGStyledElement.h:
3471         (WebCore::SVGStyledElement::canvasResource):
3472         * platform/GraphicsContext.cpp: Removed.
3473         * platform/GraphicsContext.h: Removed.
3474         * platform/GraphicsTypes.cpp: Removed.
3475         * platform/GraphicsTypes.h: Removed.
3476         * platform/graphics/GraphicsContext.cpp:
3477         (WebCore::GraphicsContextState::GraphicsContextState):
3478         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
3479         (WebCore::GraphicsContext::createGraphicsContextPrivate):
3480         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
3481         (WebCore::GraphicsContext::save):
3482         (WebCore::GraphicsContext::restore):
3483         (WebCore::GraphicsContext::font):
3484         (WebCore::GraphicsContext::setFont):
3485         (WebCore::GraphicsContext::pen):
3486         (WebCore::GraphicsContext::setPen):
3487         (WebCore::GraphicsContext::setFillColor):
3488         (WebCore::GraphicsContext::fillColor):
3489         (WebCore::GraphicsContext::updatingControlTints):
3490         (WebCore::GraphicsContext::setUpdatingControlTints):
3491         (WebCore::GraphicsContext::setPaintingDisabled):
3492         (WebCore::GraphicsContext::paintingDisabled):
3493         (WebCore::GraphicsContext::drawImage):
3494         (WebCore::GraphicsContext::drawText):
3495         (WebCore::GraphicsContext::drawHighlightForText):
3496         (WebCore::GraphicsContext::initFocusRing):
3497         (WebCore::GraphicsContext::clearFocusRing):
3498         (WebCore::GraphicsContext::focusRingBoundingRect):
3499         (WebCore::GraphicsContext::addFocusRingRect):
3500         (WebCore::GraphicsContext::focusRingWidth):
3501         (WebCore::GraphicsContext::focusRingOffset):
3502         (WebCore::GraphicsContext::focusRingRects):
3503         (WebCore::GraphicsContext::drawTiledImage):
3504         * platform/graphics/GraphicsContext.h:
3505         * platform/graphics/GraphicsTypes.cpp:
3506         (WebCore::):
3507         (WebCore::parseCompositeOperator):
3508         (WebCore::compositeOperatorName):
3509         (WebCore::parseLineCap):
3510         (WebCore::lineCapName):
3511         (WebCore::parseLineJoin):
3512         (WebCore::lineJoinName):
3513         * platform/graphics/GraphicsTypes.h:
3514         (WebCore::):
3515         * platform/graphics/svg/SVGResource.cpp: Added.
3516         (WebCore::SVGResource::SVGResource):
3517         (WebCore::SVGResource::~SVGResource):
3518         (WebCore::SVGResource::invalidate):
3519         (WebCore::SVGResource::addClient):
3520         (WebCore::SVGResource::clients):
3521         (WebCore::SVGResource::idInRegistry):
3522         (WebCore::SVGResource::setIdInRegistry):
3523         (WebCore::SVGResource::externalRepresentation):
3524         (WebCore::getResourceById):
3525         (WebCore::getPaintServerById):
3526         (WebCore::operator<<):
3527         * platform/graphics/svg/SVGResource.h: Added.
3528         (WebCore::):
3529         (WebCore::SVGResource::isPaintServer):
3530         (WebCore::SVGResource::isFilter):
3531         (WebCore::SVGResource::isClipper):
3532         (WebCore::SVGResource::isMarker):
3533         (WebCore::SVGResource::isMasker):
3534         (WebCore::SVGResourceListener::~SVGResourceListener):
3535         * platform/graphics/svg/SVGResourceClipper.cpp: Added.
3536         (WebCore::SVGResourceClipper::SVGResourceClipper):
3537         (WebCore::SVGResourceClipper::~SVGResourceClipper):
3538         (WebCore::SVGResourceClipper::resetClipData):
3539         (WebCore::SVGResourceClipper::addClipData):
3540         (WebCore::SVGResourceClipper::clipData):
3541         (WebCore::SVGResourceClipper::externalRepresentation):
3542         (WebCore::operator<<):
3543         (WebCore::getClipperById):
3544         * platform/graphics/svg/SVGResourceClipper.h: Added.
3545         (WebCore::ClipDataList::addPath):
3546         (WebCore::SVGResourceClipper::isClipper):
3547         * platform/graphics/svg/SVGResourceImage.h: Added.
3548         * platform/graphics/svg/SVGResourceMarker.cpp: Added.
3549         (WebCore::SVGResourceMarker::SVGResourceMarker):
3550         (WebCore::SVGResourceMarker::~SVGResourceMarker):