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