edc38376f3f873148619eda783215c05454faee8
[WebKit-https.git] / WebCore / ChangeLog
1 2006-10-26  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Anders.
4
5         - .5% speed improvement by avoiding excess CFURLRef allocation
6
7         * loader/CachedResource.cpp:
8         (WebCore::CachedResource::getCFURL): New method. For Mac only (for now), cache the CFURL
9         here for later reuse.
10         * loader/CachedResource.h:
11         * loader/mac/LoaderFunctionsMac.mm:
12         (WebCore::CheckCacheObjectStatus): Use the cached CFURL, don't make a whole new one.
13
14 2006-10-25  Darin Adler  <darin@apple.com>
15
16         Reviewed by Anders.
17
18         - removed 55 methods from WebCoreFrameBridge
19         - changed callers to use Frame directly instead
20         - put FrameLoaderTypes.h types into the WebCore namespace
21         - first steps to get FrameLoader.h ready for cross-platform duty
22
23         * WebCore.exp:
24         * WebCore.xcodeproj/project.pbxproj:
25         * bridge/mac/BrowserExtensionMac.mm:
26         (WebCore::BrowserExtensionMac::createNewWindow):
27         * bridge/mac/FrameMac.h:
28         * bridge/mac/FrameMac.mm:
29         (WebCore::FrameMac::loadRequest):
30         (WebCore::FrameMac::startRedirectionTimer):
31         (WebCore::FrameMac::stopRedirectionTimer):
32         (WebCore::FrameMac::passSubframeEventToSubframe):
33         (WebCore::FrameMac::handledOnloadEvents):
34         (WebCore::FrameMac::isLoadTypeReload):
35         * bridge/mac/WebCoreFrameBridge.h:
36         * bridge/mac/WebCoreFrameBridge.mm:
37         (-[WebCoreFrameBridge executionContextForView:]):
38         (updateRenderingForBindings):
39         (-[WebCoreFrameBridge canTargetLoadInFrame:]):
40         (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]):
41         (-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
42         (-[WebCoreFrameBridge installInFrame:]):
43         (-[WebCoreFrameBridge numPendingOrLoadingRequests]):
44         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
45         (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]):
46         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
47         (stringByCollapsingNonPrintingCharacters):
48         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
49         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
50         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
51         * loader/FrameLoaderTypes.h:
52         * loader/mac/FrameLoader.h:
53         * loader/mac/FrameLoader.mm:
54         (WebCore::FrameLoader::FrameLoader):
55         (WebCore::FrameLoader::setupForReplace):
56         (WebCore::FrameLoader::load):
57         (WebCore::FrameLoader::activeDocumentLoader):
58         (WebCore::FrameLoader::state):
59         (WebCore::FrameLoader::setState):
60         (WebCore::FrameLoader::clearProvisionalLoad):
61         (WebCore::FrameLoader::markLoadComplete):
62         (WebCore::FrameLoader::commitProvisionalLoad):
63         (WebCore::FrameLoader::receivedMainResourceError):
64         (WebCore::FrameLoader::handleFallbackContent):
65         (WebCore::FrameLoader::isLoadingMainFrame):
66         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
67         (WebCore::FrameLoader::continueAfterNavigationPolicy):
68         (WebCore::FrameLoader::continueAfterWillSubmitForm):
69         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
70         (WebCore::FrameLoader::transitionToCommitted):
71         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
72         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
73         (-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
74         (-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
75         (-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
76         * loader/mac/ImageDocumentMac.mm:
77         (WebCore::finishImageLoad):
78         * loader/mac/WebDocumentLoader.mm:
79         (WebCore::DocumentLoader::isLoadingInAPISense):
80         * loader/mac/WebMainResourceLoader.h:
81         * loader/mac/WebMainResourceLoader.mm:
82         (WebCore::MainResourceLoader::continueAfterContentPolicy):
83         (-[WebCoreMainResourceLoaderAsPolicyDelegate continueAfterContentPolicy:]):
84         * loader/mac/WebSubresourceLoader.mm:
85         (-[WebCoreSubresourceHandle initWithLoader:]):
86         * platform/mac/ListBoxMac.mm:
87         (-[WebCoreTableView keyDown:]):
88         (-[WebCoreTableView keyUp:]):
89         * platform/mac/WebCoreTextField.mm:
90         (-[WebCoreTextFieldController textView:shouldHandleEvent:]):
91
92 2006-10-25  Steve Falkenburg  <sfalken@apple.com>
93
94         Reviewed by Darin.
95
96         Printing fixes
97
98         * page/Frame.cpp:
99         (WebCore::Frame::adjustPageHeight):
100         * page/Frame.h:
101         (WebCore::Frame::setupRootForPrinting):
102         (WebCore::Frame::computePageRects):
103
104 2006-10-25  Anders Carlsson  <acarlsson@apple.com>
105
106         Reviewed by Geoff.
107
108         <rdar://problem/4799088>
109         REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.
110
111         * loader/mac/WebSubresourceLoader.h:
112         * loader/mac/WebSubresourceLoader.mm:
113         (-[WebCoreSubresourceHandle initWithLoader:]):
114         Set the HTTP method before the HTTP body.
115
116 2006-10-25  Geoffrey Garen  <ggaren@apple.com>
117
118         Reviewed by Adam.
119
120         Renamed WebFrameLoader to FrameLoader, to match class name.
121
122         * WebCore.xcodeproj/project.pbxproj:
123         * bridge/mac/FrameMac.mm:
124         * bridge/mac/WebCoreFrameBridge.mm:
125         * loader/mac/FrameLoader.mm: Added.
126         * loader/mac/IconLoaderMac.mm:
127         * loader/mac/WebDocumentLoader.mm:
128         * loader/mac/WebFrameLoader.h: Removed.
129         * loader/mac/WebFrameLoader.mm: Removed.
130         * loader/mac/WebLoader.mm:
131         * loader/mac/WebMainResourceLoader.mm:
132         * loader/mac/WebNetscapePlugInStreamLoader.mm:
133         * loader/mac/WebSubresourceLoader.mm:
134
135 2006-10-25  Darin Adler  <darin@apple.com>
136
137         - fix full builds
138
139         * WebCore.xcodeproj/project.pbxproj: Mark bridge/mac/WebCoreResourceLoader.h as private.
140
141 2006-10-25  David Smith  <catfish.man@gmail.com>
142
143         Reviewed by Mitz.
144
145         Fixed REGRESSION (r17280): Repro crash when clicking a link with target="_blank"
146         http://bugs.webkit.org/show_bug.cgi?id=11411
147
148         * bridge/mac/WebCoreFrameBridge.mm:
149         (-[WebCoreFrameBridge canTargetLoadInFrame:]): Check that the target has a frame before using it.
150
151 2006-10-25  Maciej Stachowiak  <mjs@apple.com>
152
153         Rubber stamped by Mitz.
154
155         - moved some files that are essentially part of the ResourceLoader implementation to platform/network/mac
156
157         * WebCore.xcodeproj/project.pbxproj:
158         * bridge/mac/WebCoreResourceLoader.h: Moved to platform/network/mac.
159         * bridge/mac/WebCoreResourceLoaderImp.h: Moved to platform/network/mac.
160         * bridge/mac/WebCoreResourceLoaderImp.mm: Moved to platform/network/mac.
161
162 2006-10-25  Maciej Stachowiak  <mjs@apple.com>
163
164         Rubber stamped by Mark.
165
166         - remove no longer existing symbol that was breaking linking
167
168         * WebCore.exp:
169
170 2006-10-25  Maciej Stachowiak  <mjs@apple.com>
171
172         Reviewed by Mitz.
173         
174         - fixed "REGRESSION: Activity window doesn't always list all files until refresh"
175         http://bugs.webkit.org/show_bug.cgi?id=11212
176
177         I couldn't figure out how to write a test case.
178
179         * bindings/js/kjs_window.cpp:
180         (KJS::Window::clear): Avoid crashing if already detached.
181         * bridge/mac/FrameMac.h:
182         * bridge/mac/FrameMac.mm:
183         (WebCore::FrameMac::clear): Change prototype to make this a proper
184         overload for Frame::clear once again(!).
185
186 2006-10-24  Darin Adler  <darin@apple.com>
187
188         Reviewed by Anders.
189
190         - converted WebFrameLoaderClient to C++
191         - renamed frame->frameLoader() function to frame->loader()
192         - renamed [bridge impl] to [bridge _frame]
193         - removed some bridge methods
194
195         * WebCore.exp: Added more exports.
196         * WebCore.xcodeproj/project.pbxproj: Made FrameTree.h private instead of project-internal
197         so it can be used in WebKit.
198
199         * bridge/mac/BrowserExtensionMac.mm:
200         (WebCore::BrowserExtensionMac::createNewWindow):
201         * bridge/mac/FrameMac.mm:
202         (WebCore::FrameMac::createFrame):
203         (WebCore::FrameMac::didFirstLayout):
204         * bridge/mac/WebCoreAXObject.mm:
205         (-[WebCoreAXObject rendererForView:]):
206         * bridge/mac/WebCoreFrameBridge.h:
207         * bridge/mac/WebCoreFrameBridge.mm:
208         (-[WebCoreFrameBridge _shouldAllowAccessFrom:]):
209         (-[WebCoreFrameBridge canTargetLoadInFrame:]):
210         (-[WebCoreFrameBridge setOpener:]):
211         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
212         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
213         (-[WebCoreFrameBridge setTitle:]):
214         (-[WebCoreFrameBridge originalRequestURL]):
215         (-[WebCoreFrameBridge isLoadTypeReload]):
216         (-[WebCoreFrameBridge frameDetached]):
217         (-[WebCoreFrameBridge tokenizerProcessedData]):
218         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
219         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
220         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
221         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
222         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
223         (-[WebCoreFrameBridge incomingReferrer]):
224         (-[WebCoreFrameBridge isReloading]):
225         (-[WebCoreFrameBridge handledOnloadEvents]):
226         (-[WebCoreFrameBridge mainResourceURLResponse]):
227         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
228         (-[WebCoreFrameBridge _frame]):
229         (-[WebCoreFrameBridge executionContextForView:]):
230         * bridge/mac/WebCorePageBridge.mm:
231         (-[WebCorePageBridge setMainFrame:]):
232         * dom/Position.cpp:
233         (WebCore::Position::upstream):
234         * loader/mac/IconLoaderMac.mm:
235         (IconLoader::notifyIconChanged):
236         * loader/mac/WebDocumentLoader.mm:
237         (WebCore::DocumentLoader::frameLoader):
238         (WebCore::DocumentLoader::stopLoading):
239         (WebCore::DocumentLoader::finishedLoading):
240         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
241         * loader/mac/WebFormState.mm:
242         (WebCore::FormState::FormState):
243         * loader/mac/WebFrameLoader.h:
244         * loader/mac/WebFrameLoader.mm:
245         (WebCore::FrameLoader::~FrameLoader):
246         (WebCore::FrameLoader::prepareForLoadStart):
247         (WebCore::FrameLoader::finalSetupForReplace):
248         (WebCore::FrameLoader::safeLoad):
249         (WebCore::FrameLoader::load):
250         (WebCore::FrameLoader::startLoading):
251         (WebCore::FrameLoader::stopLoadingSubframes):
252         (WebCore::FrameLoader::stopLoading):
253         (WebCore::FrameLoader::cancelPendingArchiveLoad):
254         (WebCore::FrameLoader::defersCallbacksChanged):
255         (WebCore::FrameLoader::setDefersCallbacks):
256         (WebCore::FrameLoader::setDocumentLoader):
257         (WebCore::FrameLoader::provisionalLoadStarted):
258         (WebCore::FrameLoader::clearProvisionalLoad):
259         (WebCore::FrameLoader::identifierForInitialRequest):
260         (WebCore::FrameLoader::willSendRequest):
261         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
262         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
263         (WebCore::FrameLoader::didReceiveResponse):
264         (WebCore::FrameLoader::didReceiveData):
265         (WebCore::FrameLoader::didFinishLoad):
266         (WebCore::FrameLoader::didFailToLoad):
267         (WebCore::FrameLoader::privateBrowsingEnabled):
268         (WebCore::FrameLoader::receivedMainResourceError):
269         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
270         (WebCore::FrameLoader::clientRedirected):
271         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
272         (WebCore::FrameLoader::closeOldDataSources):
273         (WebCore::FrameLoader::opened):
274         (WebCore::FrameLoader::commitProvisionalLoad):
275         (WebCore::FrameLoader::download):
276         (WebCore::FrameLoader::finishedLoading):
277         (WebCore::FrameLoader::notifyIconChanged):
278         (WebCore::FrameLoader::cancelledError):
279         (WebCore::FrameLoader::fileDoesNotExistError):
280         (WebCore::FrameLoader::willUseArchive):
281         (WebCore::FrameLoader::isArchiveLoadPending):
282         (WebCore::FrameLoader::handleUnimplementablePolicy):
283         (WebCore::FrameLoader::cannotShowMIMEType):
284         (WebCore::FrameLoader::interruptionForPolicyChangeError):
285         (WebCore::FrameLoader::canShowMIMEType):
286         (WebCore::FrameLoader::representationExistsForURLScheme):
287         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
288         (WebCore::FrameLoader::checkContentPolicy):
289         (WebCore::FrameLoader::reloadAllowingStaleData):
290         (WebCore::FrameLoader::reload):
291         (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
292         (WebCore::FrameLoader::finishedLoadingDocument):
293         (WebCore::FrameLoader::committedLoad):
294         (WebCore::FrameLoader::revertToProvisional):
295         (WebCore::FrameLoader::setMainDocumentError):
296         (WebCore::FrameLoader::mainReceivedCompleteError):
297         (WebCore::FrameLoader::subframeIsLoading):
298         (WebCore::FrameLoader::willChangeTitle):
299         (WebCore::FrameLoader::didChangeTitle):
300         (WebCore::FrameLoader::checkNewWindowPolicy):
301         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
302         (WebCore::FrameLoader::checkNavigationPolicy):
303         (WebCore::FrameLoader::continueAfterNavigationPolicy):
304         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
305         (WebCore::FrameLoader::didFirstLayout):
306         (WebCore::FrameLoader::frameLoadCompleted):
307         (WebCore::FrameLoader::transitionToCommitted):
308         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
309         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
310         (WebCore::FrameLoader::sendRemainingDelegateMessages):
311         (WebCore::FrameLoader::requestFromDelegate):
312         (WebCore::FrameLoader::post):
313         (WebCore::FrameLoader::detachChildren):
314         (WebCore::FrameLoader::detachFromParent):
315         (WebCore::FrameLoader::addExtraFieldsToRequest):
316         (WebCore::FrameLoader::actionInformation):
317         (WebCore::FrameLoader::checkLoadComplete):
318         (WebCore::FrameLoader::setClient):
319         (WebCore::FrameLoader::client):
320         (WebCore::FrameLoaderClient::~FrameLoaderClient):
321         * loader/mac/WebFrameLoaderClient.h:
322         * loader/mac/WebLoader.mm:
323         (WebCore::WebResourceLoader::frameLoader):
324         * loader/mac/WebSubresourceLoader.mm:
325         (-[WebCoreSubresourceHandle initWithLoader:]):
326         * page/Frame.cpp:
327         (WebCore::Frame::loader):
328         * page/Frame.h:
329         * platform/mac/SliderMac.mm:
330         (Slider::focusPolicy):
331
332 2006-10-24  Darin Adler  <darin@apple.com>
333
334         Rubber stamped by Anders.
335
336         - get rid of the assertion firing while running the layout tests
337
338         This does not fix the real problem, which is that we need to map offsets within
339         possibly-text-transformed text in the render tree to DOM tree offsets and vice
340         versa -- but it gets the tests running again.
341
342         * dom/Position.cpp: (WebCore::Position::upstream): Commented out the assertion.
343
344 2006-10-24  Maciej Stachowiak  <mjs@apple.com>
345
346         Reviewed by Oliver.
347
348         - more ResourceLoader cleanup
349             - moved HTTPHeaderMap out of ResourceRequest class, so ResourceResponse will be able to use it too
350             - took out attempts to suppress setting of "HEAD" and "GET" methods, since underlying bugs are now fixed
351         
352         * loader/LoaderFunctions.h:
353         * loader/mac/LoaderFunctionsMac.mm:
354         (WebCore::ServeSynchronousRequest):
355         * loader/mac/WebSubresourceLoader.mm:
356         (-[WebCoreSubresourceHandle initWithLoader:]):
357         * platform/network/HTTPHeaderMap.h: Added.
358         * platform/network/ResourceLoader.cpp:
359         (WebCore::ResourceLoader::requestHeaders):
360         * platform/network/ResourceLoader.h:
361         * platform/network/ResourceRequest.h:
362         * platform/network/cf/ResourceLoaderCFNet.cpp:
363         (WebCore::addHeadersFromHashMap):
364         * xml/xmlhttprequest.cpp:
365         (WebCore::XMLHttpRequest::send):
366         * xml/xmlhttprequest.h:
367
368 2006-10-24  Justin Garcia  <justin.garcia@apple.com>
369
370         Reviewed by darin
371
372         <http://bugs.webkit.org/show_bug.cgi?id=10993>
373         GMail Editor: Caret doesn't always position itself after list marker
374         
375         List creation uses moveParagraphs to push content into list items.  
376         moveParagraphs uses a TextIterator to restore selections after moves.
377         Some characters emitted by the TextIterator had bad ranges associated
378         with them.  rangeFromLocationAndLength would skip past the range it
379         should have used when asked for ranges of length 0.
380
381         * editing/TextIterator.cpp:
382         (WebCore::TextIterator::TextIterator): No longer need to initialize a
383         removed member variable.
384         (WebCore::TextIterator::advance): An extra newline is emitted when leaving
385         some blocks.  Use the same range for this newline as for the first newline.
386         We should remove this code and just emit two '\n's.
387         (WebCore::TextIterator::handleTextNode): Setup m_range.
388         (WebCore::TextIterator::handleTextBox): Ditto.
389         (WebCore::TextIterator::handleReplacedElement): Ditto.
390         (WebCore::TextIterator::handleNonTextNode): Ditto.
391         (WebCore::TextIterator::exitNode): Use an m_range from the last VisiblePosition
392         in the block we're leaving to that VP after that one.
393         (WebCore::TextIterator::emitCharacter): This function now takes in the start
394         and the end of the range associated with the emited character, and sets up m_range.
395         (WebCore::TextIterator::range): Return m_range.  If it is null (we are atEnd), 
396         return the end of the range used to create the iterator, as a convenience to
397         callers that use call range() on an iterator that is atEnd.
398         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
399         Same as the changes made to TextIterator's constructor.
400         (WebCore::SimplifiedBackwardsTextIterator::advance): Use a null m_range instead of
401         a null m_positionNode to signal that we're finished.
402         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
403         (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Similar to changes
404         made to TextIterator.
405         (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
406         (WebCore::SimplifiedBackwardsTextIterator::emitNewline): Simplified.
407         (WebCore::SimplifiedBackwardsTextIterator::range): Similar to the changes made to
408         TextIterator::range.
409         (WebCore::CharacterIterator::range): This function assumed that an iterator's
410         range() was safe to modify.
411         (WebCore::TextIterator::rangeFromLocationAndLength):
412         If the range we're looking for starts in the current chunk, this function assumed
413         that if the chunk started in a text node, it would end in the same text node.  This
414         is no longer the case.
415         If the range we're looking for starts in the middle of the current chunk, I assume
416         that the chunk is inside a text node, because those are the only chunks with length
417         greater than one at the moment.
418         If the range we're looking for is a zero length range that starts/ends at the end of the
419         current chunk, we used to return the start of the next chunk, but that's wrong and
420         is what caused this bug.
421         * editing/TextIterator.h:
422         (WebCore::TextIterator::atEnd): The iterator is atEnd when m_range is null.
423         (WebCore::SimplifiedBackwardsTextIterator::atEnd):
424         * editing/visible_units.cpp:
425         (WebCore::previousBoundary): Cleaned up by using a convenience function.
426         (WebCore::nextBoundary): Ditto.
427
428 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
429
430         Reviewed by Maciej.
431
432         * platform/network/mac/ResourceLoaderMac.mm:
433         (WebCore::ResourceLoader::start):
434         Don't retain the header dictionary.
435
436 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
437
438         Reviewed by Anders.
439
440         Fixed http://bugs.webkit.org/show_bug.cgi?id=11404
441         REGRESSION: Reproducible assertion failure in Shared<WebCore::StringImpl>::ref() 
442         running svg/custom/svg/custom/gradient-attr-update.svg
443         
444         SVGRenderStyle wasn't ref-ing the shared objects it held onto. Oops.
445
446         * ksvg2/css/SVGRenderStyle.h:
447         * ksvg2/css/SVGRenderStyleDefs.h:
448
449 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
450
451         Reviewed by Mitz.
452
453         * platform/network/ResourceRequest.h:
454         (WebCore::ResourceRequest::ResourceRequest):
455         Set the http method to "GET" in the constructor that takes a String.
456
457 2006-10-24  Sam Weinig  <sam.weinig@gmail.com>
458
459         Reviewed by Tim H.
460
461         Move kcanvas/Render* and kcanvas/SVG* to rendering/Render*
462         and rendering/SVG* respectively.  Fix Xcode project and
463         CMakeLists.txt to account for the moves.
464
465         * CMakeLists.txt:
466         * WebCore.xcodeproj/project.pbxproj:
467         * kcanvas/RenderForeignObject.cpp: Removed.
468         * kcanvas/RenderForeignObject.h: Removed.
469         * kcanvas/RenderPath.cpp: Removed.
470         * kcanvas/RenderPath.h: Removed.
471         * kcanvas/RenderSVGContainer.cpp: Removed.
472         * kcanvas/RenderSVGContainer.h: Removed.
473         * kcanvas/RenderSVGImage.cpp: Removed.
474         * kcanvas/RenderSVGImage.h: Removed.
475         * kcanvas/RenderSVGInline.cpp: Removed.
476         * kcanvas/RenderSVGInline.h: Removed.
477         * kcanvas/RenderSVGInlineText.cpp: Removed.
478         * kcanvas/RenderSVGInlineText.h: Removed.
479         * kcanvas/RenderSVGTSpan.cpp: Removed.
480         * kcanvas/RenderSVGTSpan.h: Removed.
481         * kcanvas/RenderSVGText.cpp: Removed.
482         * kcanvas/RenderSVGText.h: Removed.
483         * kcanvas/SVGInlineFlowBox.cpp: Removed.
484         * kcanvas/SVGInlineFlowBox.h: Removed.
485         * kcanvas/SVGRootInlineBox.cpp: Removed.
486         * kcanvas/SVGRootInlineBox.h: Removed.
487
488 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
489
490         Rolling back in, now fixed:
491         
492         Nixed a few more redundant loading functions in Frame. Did my best to update
493         the non-Mac builds.
494
495         * bridge/mac/FrameMac.h:
496         * bridge/mac/FrameMac.mm:
497         (WebCore::FrameMac::urlSelected): Kept always 'true' argument for userGesture
498         always 'true', because changing it broke the world, and testing seems to
499         indicate that the one caller that might have passed 'false' didn't need to.
500         * page/Frame.cpp:
501         (WebCore::Frame::requestFrame):
502         (WebCore::Frame::frameLoader):
503         (WebCore::Frame::redirectionTimerFired):
504         * page/Frame.h:
505         * platform/gdk/FrameGdk.cpp:
506         * platform/gdk/FrameGdk.h:
507         * platform/gdk/TemporaryLinkStubs.cpp:
508         (FrameGdk::issueCopyCommand):
509         * platform/qt/FrameQt.cpp:
510         * platform/qt/FrameQt.h:
511         * platform/win/TemporaryLinkStubs.cpp:
512         (WebCore::FrameWin::shouldInterruptJavaScript):
513         (WebCore::FrameWin::issueCopyCommand):
514
515 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
516
517         Fix the build (Update for changes to ResourceLoader)
518         
519         * platform/network/cf/ResourceLoaderCFNet.cpp:
520         (WebCore::addHeadersFromHashMap):
521         (WebCore::ResourceLoader::start):
522         (WebCore::ResourceLoader::cancel):
523
524 2006-10-24  Sam Weinig  <sam.weinig@gmail.com>
525
526         Reviewed by Mitz.
527
528         Change #includes using <kcanvas/*.h> to use "*.h" instead
529         to prepare for moving the kcanvas files.
530
531         * kcanvas/RenderSVGContainer.h:
532         * ksvg2/svg/SVGAElement.cpp:
533         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
534         * ksvg2/svg/SVGFETileElement.cpp:
535         * ksvg2/svg/SVGStyledLocatableElement.cpp:
536         * ksvg2/svg/SVGStyledTransformableElement.cpp:
537
538 2006-10-24  Maciej Stachowiak  <mjs@apple.com>
539
540         Reviewed by Darin.
541
542         - More movement towards the final network API.
543         
544         Changed ResourceLoader::create to take a ResurceRequest and start
545         the load. Removed methods relating to setting request
546         headers. Removed methods relating to metaData. Added some more
547         convenience methods to ResourceRequest.
548
549         * dom/XMLTokenizer.cpp:
550         (WebCore::openFunc):
551         * loader/LoaderFunctions.h:
552         * loader/icon/IconLoader.cpp:
553         (IconLoader::startLoading):
554         (IconLoader::didFinishLoading):
555         * loader/icon/IconLoader.h:
556         * loader/loader.cpp:
557         (WebCore::Loader::servePendingRequests):
558         * loader/mac/LoaderFunctionsMac.mm:
559         (WebCore::ServeSynchronousRequest):
560         * platform/gdk/FrameGdk.cpp:
561         (WebCore::FrameGdkClientDefault::openURL):
562         (WebCore::FrameGdkClientDefault::submitForm):
563         * platform/network/ResourceLoader.cpp:
564         (WebCore::ResourceLoader::ResourceLoader):
565         (WebCore::ResourceLoader::create):
566         (WebCore::ResourceLoader::responseHTTPHeadersAsString):
567         (WebCore::ResourceLoader::url):
568         (WebCore::ResourceLoader::postData):
569         (WebCore::ResourceLoader::method):
570         (WebCore::ResourceLoader::client):
571         * platform/network/ResourceLoader.h:
572         * platform/network/ResourceLoaderInternal.h:
573         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
574         * platform/network/ResourceRequest.h:
575         (WebCore::ResourceRequest::ResourceRequest):
576         (WebCore::ResourceRequest::httpAccept):
577         (WebCore::ResourceRequest::setHTTPAccept):
578         (WebCore::ResourceRequest::addHTTPHeaderFields):
579         * platform/network/mac/ResourceLoaderMac.mm:
580         (WebCore::ResourceLoader::start):
581         (WebCore::ResourceLoader::receivedResponse):
582         * platform/qt/FrameQtClient.cpp:
583         (WebCore::FrameQtClientDefault::openURL):
584         (WebCore::FrameQtClientDefault::submitForm):
585         * platform/win/TemporaryLinkStubs.cpp:
586         (WebCore::ResourceLoader::retrieveResponseEncoding):
587         * xml/XSLTProcessor.cpp:
588         (WebCore::docLoaderFunc):
589         * xml/xmlhttprequest.cpp:
590         (WebCore::XMLHttpRequest::send):
591         (WebCore::XMLHttpRequest::didFinishLoading):
592         (WebCore::XMLHttpRequest::didReceiveData):
593         * xml/xmlhttprequest.h:
594
595 2006-10-24  Anders Carlsson  <acarlsson@apple.com>
596
597         Reviewed by Geoff.
598
599         * loader/FormData.cpp:
600         (WebCore::FormData::FormData):
601         * loader/FormData.h:
602         (WebCore::FormData::FormData):
603         Add new constructor that takes a void* and a size.
604
605 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
606
607         Rolling out my last change because it broke the world.
608
609         * bridge/mac/FrameMac.h:
610         * bridge/mac/FrameMac.mm:
611         (WebCore::FrameMac::openURL):
612         (WebCore::FrameMac::openURLRequest):
613         (WebCore::FrameMac::urlSelected):
614         * page/Frame.cpp:
615         (WebCore::Frame::openURL):
616         (WebCore::Frame::frameLoader):
617         (WebCore::Frame::requestFrame):
618         (WebCore::Frame::redirectionTimerFired):
619         * page/Frame.h:
620         * platform/gdk/FrameGdk.cpp:
621         (WebCore::FrameGdk::openURL):
622         * platform/gdk/FrameGdk.h:
623         * platform/gdk/TemporaryLinkStubs.cpp:
624         * platform/qt/FrameQt.cpp:
625         (WebCore::FrameQt::openURL):
626         (WebCore::FrameQt::openURLRequest):
627         * platform/qt/FrameQt.h:
628         * platform/win/TemporaryLinkStubs.cpp:
629         (WebCore::FrameWin::openURL):
630         (WebCore::FrameWin::openURLRequest):
631
632 2006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>
633
634         Reviewed by Adam.
635
636         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11396
637
638         Kill KRenderingFillPainter/KRenderingStrokePainter. Those are not needed
639         anymore, since kcanvas/ksvg2 are tightly integrated. No LayoutTests fixed
640         or broken.
641
642         * CMakeLists.txt:
643         * WebCore.xcodeproj/project.pbxproj:
644         * kcanvas/KCanvasTreeDebug.cpp:
645         (WebCore::operator<<):
646         (WebCore::writeStyle):
647         * kcanvas/RenderPath.cpp:
648         (WebCore::RenderPath::fillContains):
649         * kcanvas/device/KRenderingFillPainter.cpp:
650         * kcanvas/device/KRenderingFillPainter.h:
651         * kcanvas/device/KRenderingStrokePainter.cpp:
652         * kcanvas/device/KRenderingStrokePainter.h:
653         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
654         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
655         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
656         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
657         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
658         (WebCore::KRenderingPaintServerQt::setPenProperties):
659         * kcanvas/device/qt/KRenderingPaintServerQt.h:
660         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
661         (WebCore::KRenderingPaintServerSolidQt::setup):
662         * kcanvas/device/qt/RenderPathQt.cpp:
663         (WebCore::getPathStroke):
664         (WebCore::RenderPath::strokeBBox):
665         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
666         (WebCore::RenderPath::strokeBBox):
667         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
668         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
669         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
670         (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
671         (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
672         * kcanvas/device/quartz/QuartzSupport.h:
673         (WebCore::CGLineCapFromKC):
674         (WebCore::CGLineJoinFromKC):
675         * kcanvas/device/quartz/QuartzSupport.mm:
676         (WebCore::applyStrokeStyleToContext):
677         (WebCore::strokeBoundingBox):
678         * ksvg2/css/SVGCSSStyleSelector.cpp:
679         (WebCore::CSSStyleSelector::applySVGProperty):
680         * ksvg2/css/SVGRenderStyle.h:
681         (WebCore::SVGRenderStyle::InheritedFlags::):
682         * ksvg2/css/SVGRenderStyleDefs.h:
683         * ksvg2/misc/KCanvasRenderingStyle.cpp:
684         (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
685         * ksvg2/misc/KCanvasRenderingStyle.h:
686         * ksvg2/svg/SVGFEImageElement.cpp:
687
688 2006-10-24  Geoffrey Garen  <ggaren@apple.com>
689
690         Reviewed by Anders.
691
692         Nixed a few more redundant loading functions in Frame. Did my best to update
693         the non-Mac builds.
694
695         * bridge/mac/FrameMac.h:
696         * bridge/mac/FrameMac.mm:
697         (WebCore::FrameMac::urlSelected): Changed always 'true' argument for userGesture
698         to actually check for a user gesture. New callers rely on this behavior,
699         and it seems like the previous behavior must have been a bug.
700         * page/Frame.cpp:
701         (WebCore::Frame::requestFrame):
702         (WebCore::Frame::frameLoader):
703         (WebCore::Frame::redirectionTimerFired):
704         * page/Frame.h:
705         * platform/gdk/FrameGdk.cpp:
706         * platform/gdk/FrameGdk.h:
707         * platform/gdk/TemporaryLinkStubs.cpp:
708         (FrameGdk::issueCopyCommand):
709         * platform/qt/FrameQt.cpp:
710         * platform/qt/FrameQt.h:
711         * platform/win/TemporaryLinkStubs.cpp:
712         (WebCore::FrameWin::shouldInterruptJavaScript):
713         (WebCore::FrameWin::issueCopyCommand):
714
715 2006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>
716
717         Reviewed by Maciej.
718
719         Fix Qt/Linux build.
720
721         - Remove BrowserExtensionQt, move it's methods to Page/FrameQt.
722         - Fix CMakeLists.txt to include platform/network.
723
724         * CMakeLists.txt:
725         * platform/qt/BrowserExtensionQt.cpp: Removed.
726         * platform/qt/BrowserExtensionQt.h: Removed.
727         * platform/qt/FrameQt.cpp:
728         (WebCore::FrameQt::FrameQt):
729         (WebCore::FrameQt::createNewWindow):
730         (WebCore::FrameQt::goBackOrForward):
731         (WebCore::FrameQt::historyURL):
732         (WebCore::FrameQt::getHistoryLength):
733         * platform/qt/FrameQt.h:
734         * platform/qt/PageQt.cpp:
735         (WebCore::Page::canRunModal):
736         (WebCore::Page::canRunModalNow):
737         (WebCore::Page::runModal):
738
739 2006-10-24  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
740
741         Reviewed by Tim H.
742
743         Fix for http://bugs.webkit.org/show_bug.cgi?id=11314
744         Fix build when XSLT_SUPPORT is not defined
745
746         Fix unconditional use of XSLT support.
747
748         * dom/XMLTokenizer.cpp:
749         (WebCore::XMLTokenizer::end):
750
751 2006-10-24  Simon Hausmann  <hausmann@kde.org>
752
753         Reviewed by Darin.
754
755         * CMakeLists.txt: Added project name to kde4_automoc macro, as
756           required by the latest KDE4 cmake module.
757
758 2006-10-24  Mitz Pettel  <mitz@webkit.org>
759
760         Reviewed by Tim H.
761
762         - fix http://bugs.webkit.org/show_bug.cgi?id=11394
763           HTMLViewSourceDocuments are leaking
764
765         * html/HTMLViewSourceDocument.h: Changed RefPtr to plain pointer to avoid
766         ref cycle.
767
768 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
769
770         Reviewed by Darin.
771
772         Removed one of Frame's redundant urlSelected methods.
773
774         * bridge/mac/FrameMac.h:
775         * bridge/mac/FrameMac.mm:
776         (WebCore::FrameMac::urlSelected):
777         since it's unused.
778         * html/HTMLAnchorElement.cpp:
779         (WebCore::HTMLAnchorElement::defaultEventHandler): Changed DeprecatedString
780         to String because the former is deprecated and its performance is irrelevant
781         here. Added call to completeURL because Frame no longer does it for us.
782         Having the call here also improves clarity about the element's behavior.
783         * ksvg2/svg/SVGAElement.cpp:
784         (WebCore::SVGAElement::defaultEventHandler): ditto. Also removed bizarre
785         irrelevent NULL checks on ownerDocument() because I couldn't help myself.
786         * page/Frame.cpp:
787         (WebCore::Frame::changeLocation):
788         (WebCore::Frame::urlSelected):
789         * page/Frame.h:
790         * platform/network/ResourceRequest.h: Removed explicit keyword on constructor
791         because we want to be able to use these constructors instead of helper functions
792         mimicking their behavior sprinkled across different classes.
793         (WebCore::ResourceRequest::ResourceRequest):
794
795 2006-10-24  Brady Eidson  <beidson@apple.com>
796
797         Reviewed by Maciej
798
799         Moved FrameLoader from WebCoreFrameBridge to Frame.  Frame.h/cpp have generic accessors to the FrameLoader itself
800         and creation/deletion is currently managed in FrameMac.mm
801
802         Besides explicitly commented-upon methods, most of the touched code simply changes to get the FrameLoader from the 
803         frame instead of the bridge.
804
805         The method [WebCoreFrameBridge frameLoader] remains but only for WebKit's use - No new WebCore code should make 
806         use of it as its days are numbered!
807
808         * bridge/mac/FrameMac.mm:
809         (WebCore::FrameMac::FrameMac): Create the FrameLoader
810         (WebCore::FrameMac::~FrameMac): Nuke it
811         (WebCore::FrameMac::loadRequest):
812
813         * bridge/mac/WebCoreFrameBridge.h: No longer holds an m_frameLoader
814         * bridge/mac/WebCoreFrameBridge.mm:
815         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]): No longer creates the FrameLoader
816         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]): Ditto
817         (-[WebCoreFrameBridge clearFrame]): No longer tears down the FrameLoader
818         (-[WebCoreFrameBridge setFrameLoaderClient:]):
819         (-[WebCoreFrameBridge frameLoader]):
820         (-[WebCoreFrameBridge setTitle:]):
821         (-[WebCoreFrameBridge didFirstLayout]):
822         (-[WebCoreFrameBridge notifyIconChanged:]):
823         (-[WebCoreFrameBridge originalRequestURL]):
824         (-[WebCoreFrameBridge isLoadTypeReload]):
825         (-[WebCoreFrameBridge frameDetached]):
826         (-[WebCoreFrameBridge tokenizerProcessedData]):
827         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
828         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
829         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
830         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
831         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
832         (-[WebCoreFrameBridge incomingReferrer]):
833         (-[WebCoreFrameBridge isReloading]):
834         (-[WebCoreFrameBridge handledOnloadEvents]):
835         (-[WebCoreFrameBridge mainResourceURLResponse]):
836         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
837
838         * loader/mac/WebDocumentLoader.mm:
839         (WebCore::DocumentLoader::frameLoader):
840
841         * loader/mac/WebFrameLoader.mm:
842         (WebCore::FrameLoader::load):
843         (WebCore::FrameLoader::stopLoadingSubframes):
844         (WebCore::FrameLoader::defersCallbacksChanged):
845         (WebCore::FrameLoader::setState):
846         (WebCore::FrameLoader::closeOldDataSources):
847         (WebCore::FrameLoader::subframeIsLoading):
848         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
849         (WebCore::FrameLoader::post):
850         (WebCore::FrameLoader::detachChildren):
851         (WebCore::FrameLoader::checkLoadComplete):
852
853         * loader/mac/WebLoader.mm:
854         (WebCore::WebResourceLoader::frameLoader):
855
856         * loader/mac/WebSubresourceLoader.mm:
857         (-[WebCoreSubresourceHandle initWithLoader:]):
858
859         * page/Frame.cpp:
860         (WebCore::Frame::frameLoader):
861         * page/Frame.h:
862         * page/FramePrivate.h:
863         (WebCore::FramePrivate::FramePrivate):
864
865 2006-10-24  Darin Adler  <darin@apple.com>
866
867         Reviewed by Maciej.
868
869         - fixed two crashes in layout tests I just introduced
870
871         * loader/mac/WebFrameLoader.mm:
872         (WebCore::FrameLoader::load): Add null check.
873         (WebCore::FrameLoader::setState): Ditto.
874
875 2006-10-23  Darin Adler  <darin@apple.com>
876
877         Reviewed by Geoff.
878
879         - converted WebDocumentLoader to C++
880
881         * WebCore.exp:
882         * bridge/mac/WebCoreFrameBridge.mm:
883         (-[WebCoreFrameBridge setTitle:]):
884         (-[WebCoreFrameBridge originalRequestURL]):
885         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
886         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
887         (-[WebCoreFrameBridge incomingReferrer]):
888         (-[WebCoreFrameBridge isReloading]):
889         (-[WebCoreFrameBridge mainResourceURLResponse]):
890         * loader/mac/WebDocumentLoader.h:
891         * loader/mac/WebDocumentLoader.mm:
892         (WebCore::DocumentLoader::DocumentLoader):
893         (WebCore::DocumentLoader::frameLoader):
894         (WebCore::DocumentLoader::~DocumentLoader):
895         (WebCore::DocumentLoader::setMainResourceData):
896         (WebCore::DocumentLoader::mainResourceData):
897         (WebCore::DocumentLoader::originalRequest):
898         (WebCore::DocumentLoader::originalRequestCopy):
899         (WebCore::DocumentLoader::request):
900         (WebCore::DocumentLoader::initialRequest):
901         (WebCore::DocumentLoader::actualRequest):
902         (WebCore::DocumentLoader::URL):
903         (WebCore::DocumentLoader::unreachableURL):
904         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
905         (WebCore::DocumentLoader::setRequest):
906         (WebCore::DocumentLoader::setResponse):
907         (WebCore::DocumentLoader::isStopping):
908         (WebCore::DocumentLoader::bridge):
909         (WebCore::DocumentLoader::setMainDocumentError):
910         (WebCore::DocumentLoader::mainDocumentError):
911         (WebCore::DocumentLoader::clearErrors):
912         (WebCore::DocumentLoader::mainReceivedError):
913         (WebCore::DocumentLoader::stopLoading):
914         (WebCore::DocumentLoader::setupForReplace):
915         (WebCore::DocumentLoader::commitIfReady):
916         (WebCore::DocumentLoader::finishedLoading):
917         (WebCore::DocumentLoader::setCommitted):
918         (WebCore::DocumentLoader::isCommitted):
919         (WebCore::DocumentLoader::setLoading):
920         (WebCore::DocumentLoader::isLoading):
921         (WebCore::DocumentLoader::commitLoad):
922         (WebCore::DocumentLoader::doesProgressiveLoad):
923         (WebCore::DocumentLoader::receivedData):
924         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
925         (WebCore::DocumentLoader::updateLoading):
926         (WebCore::DocumentLoader::response):
927         (WebCore::DocumentLoader::setFrame):
928         (WebCore::DocumentLoader::attachToFrame):
929         (WebCore::DocumentLoader::detachFromFrame):
930         (WebCore::DocumentLoader::prepareForLoadStart):
931         (WebCore::DocumentLoader::loadingStartedTime):
932         (WebCore::DocumentLoader::setIsClientRedirect):
933         (WebCore::DocumentLoader::isClientRedirect):
934         (WebCore::DocumentLoader::setPrimaryLoadComplete):
935         (WebCore::DocumentLoader::isLoadingInAPISense):
936         (WebCore::DocumentLoader::addResponse):
937         (WebCore::DocumentLoader::stopRecordingResponses):
938         (WebCore::DocumentLoader::title):
939         (WebCore::DocumentLoader::setLastCheckedRequest):
940         (WebCore::DocumentLoader::lastCheckedRequest):
941         (WebCore::DocumentLoader::triggeringAction):
942         (WebCore::DocumentLoader::setTriggeringAction):
943         (WebCore::DocumentLoader::responses):
944         (WebCore::DocumentLoader::setOverrideEncoding):
945         (WebCore::DocumentLoader::overrideEncoding):
946         (WebCore::DocumentLoader::setTitle):
947         (WebCore::DocumentLoader::URLForHistory):
948         * loader/mac/WebFrameLoader.h:
949         * loader/mac/WebFrameLoader.mm:
950         (WebCore::FrameLoader::setupForReplaceByMIMEType):
951         (WebCore::FrameLoader::finalSetupForReplace):
952         (WebCore::FrameLoader::safeLoad):
953         (WebCore::FrameLoader::load):
954         (WebCore::FrameLoader::startLoading):
955         (WebCore::FrameLoader::stopLoading):
956         (WebCore::FrameLoader::activeDocumentLoader):
957         (WebCore::FrameLoader::addPlugInStreamLoader):
958         (WebCore::FrameLoader::removePlugInStreamLoader):
959         (WebCore::FrameLoader::addSubresourceLoader):
960         (WebCore::FrameLoader::removeSubresourceLoader):
961         (WebCore::FrameLoader::setDocumentLoader):
962         (WebCore::FrameLoader::documentLoader):
963         (WebCore::FrameLoader::setPolicyDocumentLoader):
964         (WebCore::FrameLoader::provisionalDocumentLoader):
965         (WebCore::FrameLoader::setProvisionalDocumentLoader):
966         (WebCore::FrameLoader::setState):
967         (WebCore::FrameLoader::clearProvisionalLoad):
968         (WebCore::FrameLoader::commitProvisionalLoad):
969         (WebCore::FrameLoader::didReceiveResponse):
970         (WebCore::FrameLoader::originalRequest):
971         (WebCore::FrameLoader::receivedMainResourceError):
972         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
973         (WebCore::FrameLoader::opened):
974         (WebCore::FrameLoader::initialRequest):
975         (WebCore::FrameLoader::receivedData):
976         (WebCore::FrameLoader::setRequest):
977         (WebCore::FrameLoader::isStopping):
978         (WebCore::FrameLoader::setResponse):
979         (WebCore::FrameLoader::mainReceivedError):
980         (WebCore::FrameLoader::finishedLoading):
981         (WebCore::FrameLoader::notifyIconChanged):
982         (WebCore::FrameLoader::URL):
983         (WebCore::FrameLoader::checkContentPolicy):
984         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
985         (WebCore::FrameLoader::reloadAllowingStaleData):
986         (WebCore::FrameLoader::reload):
987         (WebCore::FrameLoader::finishedLoadingDocument):
988         (WebCore::FrameLoader::committedLoad):
989         (WebCore::FrameLoader::revertToProvisional):
990         (WebCore::FrameLoader::setMainDocumentError):
991         (WebCore::FrameLoader::mainReceivedCompleteError):
992         (WebCore::FrameLoader::subframeIsLoading):
993         (WebCore::FrameLoader::willChangeTitle):
994         (WebCore::FrameLoader::didChangeTitle):
995         (WebCore::FrameLoader::checkNavigationPolicy):
996         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
997         (WebCore::FrameLoader::transitionToCommitted):
998         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
999         (WebCore::FrameLoader::detachFromParent):
1000         * loader/mac/WebFrameLoaderClient.h:
1001
1002 2006-10-23  Brady Eidson  <beidson@apple.com>
1003
1004         Lovingly reviewed by Maciej
1005
1006         Moved loadURL and postURL logic out of WebCoreFrameBridge to FrameMac::loadRequest
1007         This is a big step towards moving FrameLoader out of the Bridge into Frame/Mac itself
1008
1009         * bridge/mac/BrowserExtensionMac.mm:
1010         (WebCore::BrowserExtensionMac::createNewWindow): Use FrameMac::loadRequest
1011
1012         * bridge/mac/FrameMac.mm:
1013         (WebCore::FrameMac::loadRequest): loadURL and postURL logic moved from WebCoreFrameBridge to here
1014
1015         * bridge/mac/WebCoreFrameBridge.h: Nuked loadURL and postURL
1016         * bridge/mac/WebCoreFrameBridge.mm: Ditto
1017         * loader/mac/WebFrameLoader.mm:
1018         (-[WebFrameLoader safeLoadURL:]): Use FrameMac::loadRequest
1019
1020 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
1021
1022         RS by Maciej.
1023
1024         Inside Frame, moved the plethora of load() and stopLoading() functions next 
1025         to each other to facilitate merging and crying.
1026
1027         * bridge/mac/FrameMac.h:
1028         * bridge/mac/FrameMac.mm:
1029         (WebCore::FrameMac::loadRequest):
1030         (WebCore::FrameMac::submitForm):
1031         (WebCore::FrameMac::openURL):
1032         (WebCore::FrameMac::openURLRequest):
1033         (WebCore::FrameMac::urlSelected):
1034         (WebCore::FrameMac::openURLFromPageCache):
1035         (WebCore::FrameMac::createFrame):
1036         * page/Frame.cpp:
1037         (WebCore::Frame::openURL):
1038         (WebCore::Frame::changeLocation):
1039         (WebCore::Frame::urlSelected):
1040         (WebCore::Frame::requestFrame):
1041         (WebCore::Frame::loadSubframe):
1042         (WebCore::Frame::submitFormAgain):
1043         (WebCore::Frame::submitForm):
1044         (WebCore::Frame::stop):
1045         (WebCore::Frame::closeURL):
1046         (WebCore::Frame::cancelRedirection):
1047         (WebCore::Frame::iconURL):
1048         (WebCore::Frame::didOpenURL):
1049         (WebCore::Frame::didExplicitOpen):
1050         * page/Frame.h:
1051
1052 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
1053
1054         RS by Maciej.
1055
1056         Moved our plethora of load() and stopLoading() functions next to each other
1057         to facilitate merging and laughter.
1058
1059         * loader/mac/WebFrameLoader.h:
1060         * loader/mac/WebFrameLoader.mm:
1061         (WebCore::cancelAll):
1062         (WebCore::FrameLoader::prepareForLoadStart):
1063         (WebCore::FrameLoader::setupForReplace):
1064         (WebCore::FrameLoader::setupForReplaceByMIMEType):
1065         (WebCore::FrameLoader::finalSetupForReplace):
1066         (WebCore::FrameLoader::safeLoad):
1067         (WebCore::FrameLoader::load):
1068         (WebCore::FrameLoader::startLoadingMainResource):
1069         (WebCore::FrameLoader::startLoading):
1070         (WebCore::FrameLoader::stopLoadingPlugIns):
1071         (WebCore::FrameLoader::stopLoadingSubresources):
1072         (WebCore::FrameLoader::stopLoading):
1073         (WebCore::FrameLoader::stopLoadingSubframes):
1074         (WebCore::FrameLoader::cancelMainResourceLoad):
1075         (WebCore::FrameLoader::cancelPendingArchiveLoad):
1076         (WebCore::FrameLoader::removeSubresourceLoader):
1077         (WebCore::FrameLoader::mainResourceData):
1078         (WebCore::FrameLoader::releaseMainResourceLoader):
1079
1080 2006-10-23  Darin Adler  <darin@apple.com>
1081
1082         Reviewed by Maciej.
1083
1084         - converted WebFrameLoader to C++
1085
1086         * WebCore.exp: Added many new entry points for WebKit.
1087         * WebCore.xcodeproj/project.pbxproj: Made more files private (SPI).
1088
1089         * bridge/mac/WebCoreFrameBridge.h:
1090         * bridge/mac/WebCoreFrameBridge.mm:
1091         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
1092         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
1093         (-[WebCoreFrameBridge dealloc]):
1094         (-[WebCoreFrameBridge close]):
1095         (-[WebCoreFrameBridge clearFrame]):
1096         (-[WebCoreFrameBridge setFrameLoaderClient:]):
1097         (-[WebCoreFrameBridge frameLoader]):
1098         (-[WebCoreFrameBridge setTitle:]):
1099         (-[WebCoreFrameBridge didFirstLayout]):
1100         (-[WebCoreFrameBridge notifyIconChanged:]):
1101         (-[WebCoreFrameBridge originalRequestURL]):
1102         (-[WebCoreFrameBridge isLoadTypeReload]):
1103         (-[WebCoreFrameBridge frameDetached]):
1104         (-[WebCoreFrameBridge tokenizerProcessedData]):
1105         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
1106         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
1107         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
1108         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
1109         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
1110         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
1111         (-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
1112         (-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1113         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1114         (-[WebCoreFrameBridge incomingReferrer]):
1115         (-[WebCoreFrameBridge isReloading]):
1116         (-[WebCoreFrameBridge handledOnloadEvents]):
1117         (-[WebCoreFrameBridge mainResourceURLResponse]):
1118         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
1119         * loader/mac/WebDocumentLoader.h:
1120         * loader/mac/WebDocumentLoader.mm:
1121         (-[WebDocumentLoader frameLoader]):
1122         (-[WebDocumentLoader dealloc]):
1123         (-[WebDocumentLoader mainResourceData]):
1124         (-[WebDocumentLoader setRequest:]):
1125         (-[WebDocumentLoader bridge]):
1126         (-[WebDocumentLoader setMainDocumentError:]):
1127         (-[WebDocumentLoader mainReceivedError:complete:]):
1128         (-[WebDocumentLoader stopLoading]):
1129         (-[WebDocumentLoader setupForReplace]):
1130         (-[WebDocumentLoader commitIfReady]):
1131         (-[WebDocumentLoader finishedLoading]):
1132         (-[WebDocumentLoader commitLoadWithData:]):
1133         (-[WebDocumentLoader doesProgressiveLoadWithMIMEType:]):
1134         (-[WebDocumentLoader setupForReplaceByMIMEType:]):
1135         (-[WebDocumentLoader updateLoading]):
1136         (-[WebDocumentLoader setFrame:]):
1137         (-[WebDocumentLoader attachToFrame]):
1138         (-[WebDocumentLoader detachFromFrame]):
1139         (-[WebDocumentLoader prepareForLoadStart]):
1140         (-[WebDocumentLoader setPrimaryLoadComplete:]):
1141         (-[WebDocumentLoader isLoadingInAPISense]):
1142         (-[WebDocumentLoader setTitle:]):
1143         * loader/mac/WebFrameLoader.h:
1144         (WebCore::FrameLoader::frame):
1145         * loader/mac/WebFrameLoader.mm:
1146         (WebCore::FrameLoader::FrameLoader):
1147         (WebCore::FrameLoader::~FrameLoader):
1148         (WebCore::FrameLoader::activeDocumentLoader):
1149         (WebCore::FrameLoader::addPlugInStreamLoader):
1150         (WebCore::FrameLoader::removePlugInStreamLoader):
1151         (WebCore::FrameLoader::defersCallbacksChanged):
1152         (WebCore::FrameLoader::defersCallbacks):
1153         (WebCore::setAllDefersCallbacks):
1154         (WebCore::FrameLoader::setDefersCallbacks):
1155         (WebCore::cancelAll):
1156         (WebCore::FrameLoader::stopLoadingPlugIns):
1157         (WebCore::FrameLoader::isLoadingMainResource):
1158         (WebCore::FrameLoader::isLoadingSubresources):
1159         (WebCore::FrameLoader::isLoadingPlugIns):
1160         (WebCore::FrameLoader::isLoading):
1161         (WebCore::FrameLoader::stopLoadingSubresources):
1162         (WebCore::FrameLoader::addSubresourceLoader):
1163         (WebCore::FrameLoader::removeSubresourceLoader):
1164         (WebCore::FrameLoader::mainResourceData):
1165         (WebCore::FrameLoader::releaseMainResourceLoader):
1166         (WebCore::FrameLoader::cancelMainResourceLoad):
1167         (WebCore::FrameLoader::startLoadingMainResource):
1168         (WebCore::FrameLoader::stopLoading):
1169         (WebCore::FrameLoader::setDocumentLoader):
1170         (WebCore::FrameLoader::documentLoader):
1171         (WebCore::FrameLoader::setPolicyDocumentLoader):
1172         (WebCore::FrameLoader::provisionalDocumentLoader):
1173         (WebCore::FrameLoader::setProvisionalDocumentLoader):
1174         (WebCore::FrameLoader::state):
1175         (WebCore::FrameLoader::timeOfLastCompletedLoad):
1176         (WebCore::FrameLoader::provisionalLoadStarted):
1177         (WebCore::FrameLoader::setState):
1178         (WebCore::FrameLoader::clearProvisionalLoad):
1179         (WebCore::FrameLoader::markLoadComplete):
1180         (WebCore::FrameLoader::commitProvisionalLoad):
1181         (WebCore::FrameLoader::stopLoadingSubframes):
1182         (WebCore::FrameLoader::startLoading):
1183         (WebCore::FrameLoader::setupForReplace):
1184         (WebCore::FrameLoader::identifierForInitialRequest):
1185         (WebCore::FrameLoader::willSendRequest):
1186         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
1187         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
1188         (WebCore::FrameLoader::didReceiveResponse):
1189         (WebCore::FrameLoader::didReceiveData):
1190         (WebCore::FrameLoader::didFinishLoad):
1191         (WebCore::FrameLoader::didFailToLoad):
1192         (WebCore::FrameLoader::privateBrowsingEnabled):
1193         (WebCore::FrameLoader::originalRequest):
1194         (WebCore::FrameLoader::receivedMainResourceError):
1195         (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
1196         (WebCore::FrameLoader::clientRedirected):
1197         (WebCore::FrameLoader::shouldReload):
1198         (WebCore::FrameLoader::load):
1199         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1200         (WebCore::FrameLoader::closeOldDataSources):
1201         (WebCore::FrameLoader::opened):
1202         (WebCore::FrameLoader::initialRequest):
1203         (WebCore::FrameLoader::receivedData):
1204         (WebCore::FrameLoader::setRequest):
1205         (WebCore::FrameLoader::download):
1206         (WebCore::FrameLoader::bridge):
1207         (WebCore::FrameLoader::handleFallbackContent):
1208         (WebCore::FrameLoader::isStopping):
1209         (WebCore::FrameLoader::setupForReplaceByMIMEType):
1210         (WebCore::FrameLoader::setResponse):
1211         (WebCore::FrameLoader::mainReceivedError):
1212         (WebCore::FrameLoader::finishedLoading):
1213         (WebCore::FrameLoader::notifyIconChanged):
1214         (WebCore::FrameLoader::URL):
1215         (WebCore::FrameLoader::cancelledError):
1216         (WebCore::FrameLoader::fileDoesNotExistError):
1217         (WebCore::FrameLoader::willUseArchive):
1218         (WebCore::FrameLoader::isArchiveLoadPending):
1219         (WebCore::FrameLoader::cancelPendingArchiveLoad):
1220         (WebCore::FrameLoader::handleUnimplementablePolicy):
1221         (WebCore::FrameLoader::cannotShowMIMEType):
1222         (WebCore::FrameLoader::interruptionForPolicyChangeError):
1223         (WebCore::FrameLoader::isHostedByObjectElement):
1224         (WebCore::FrameLoader::isLoadingMainFrame):
1225         (WebCore::FrameLoader::canShowMIMEType):
1226         (WebCore::FrameLoader::representationExistsForURLScheme):
1227         (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
1228         (WebCore::FrameLoader::checkNavigationPolicy):
1229         (WebCore::FrameLoader::checkContentPolicy):
1230         (WebCore::FrameLoader::cancelContentPolicyCheck):
1231         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
1232         (WebCore::FrameLoader::reloadAllowingStaleData):
1233         (WebCore::FrameLoader::reload):
1234         (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
1235         (WebCore::FrameLoader::finishedLoadingDocument):
1236         (WebCore::FrameLoader::committedLoad):
1237         (WebCore::FrameLoader::isReplacing):
1238         (WebCore::FrameLoader::setReplacing):
1239         (WebCore::FrameLoader::revertToProvisional):
1240         (WebCore::FrameLoader::setMainDocumentError):
1241         (WebCore::FrameLoader::mainReceivedCompleteError):
1242         (WebCore::FrameLoader::finalSetupForReplace):
1243         (WebCore::FrameLoader::prepareForLoadStart):
1244         (WebCore::FrameLoader::subframeIsLoading):
1245         (WebCore::FrameLoader::willChangeTitle):
1246         (WebCore::FrameLoader::didChangeTitle):
1247         (WebCore::FrameLoader::loadType):
1248         (WebCore::FrameLoader::invalidatePendingPolicyDecision):
1249         (WebCore::FrameLoader::checkNewWindowPolicy):
1250         (WebCore::FrameLoader::continueAfterNewWindowPolicy):
1251         (WebCore::FrameLoader::continueAfterNavigationPolicy):
1252         (WebCore::FrameLoader::continueAfterWillSubmitForm):
1253         (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
1254         (WebCore::FrameLoader::didFirstLayout):
1255         (WebCore::FrameLoader::frameLoadCompleted):
1256         (WebCore::FrameLoader::firstLayoutDone):
1257         (WebCore::FrameLoader::isQuickRedirectComing):
1258         (WebCore::FrameLoader::transitionToCommitted):
1259         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1260         (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
1261         (WebCore::FrameLoader::sendRemainingDelegateMessages):
1262         (WebCore::FrameLoader::requestFromDelegate):
1263         (WebCore::FrameLoader::post):
1264         (WebCore::FrameLoader::detachChildren):
1265         (WebCore::FrameLoader::detachFromParent):
1266         (WebCore::FrameLoader::addExtraFieldsToRequest):
1267         (WebCore::FrameLoader::safeLoad):
1268         (WebCore::FrameLoader::actionInformation):
1269         (WebCore::FrameLoader::checkLoadComplete):
1270         (WebCore::FrameLoader::setFrameLoaderClient):
1271         (WebCore::FrameLoader::client):
1272         (WebCore::FrameLoader::asDelegate):
1273         (-[WebCoreFrameLoaderAsDelegate initWithLoader:]):
1274         (-[WebCoreFrameLoaderAsDelegate detachFromLoader]):
1275         (-[WebCoreFrameLoaderAsDelegate continueFragmentScrollAfterNavigationPolicy:formState:]):
1276         (-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
1277         (-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
1278         (-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
1279         (-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNavigationPolicy:formState:]):
1280         (-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
1281         * loader/mac/WebLoader.h:
1282         (WebCore::WebResourceLoader::identifier):
1283         (WebCore::WebResourceLoader::reachedTerminalState):
1284         (WebCore::WebResourceLoader::cancelled):
1285         * loader/mac/WebLoader.mm:
1286         (WebCore::WebResourceLoader::WebResourceLoader):
1287         (WebCore::WebResourceLoader::releaseResources):
1288         (WebCore::WebResourceLoader::load):
1289         (WebCore::WebResourceLoader::frameLoader):
1290         (WebCore::WebResourceLoader::willSendRequest):
1291         (WebCore::WebResourceLoader::didReceiveAuthenticationChallenge):
1292         (WebCore::WebResourceLoader::didCancelAuthenticationChallenge):
1293         (WebCore::WebResourceLoader::didReceiveResponse):
1294         (WebCore::WebResourceLoader::didReceiveData):
1295         (WebCore::WebResourceLoader::didFinishLoading):
1296         (WebCore::WebResourceLoader::didFinishLoadingOnePart):
1297         (WebCore::WebResourceLoader::didFail):
1298         (WebCore::WebResourceLoader::willCacheResponse):
1299         (WebCore::WebResourceLoader::didCancel):
1300         (WebCore::WebResourceLoader::cancel):
1301         (WebCore::WebResourceLoader::cancelledError):
1302         (WebCore::WebResourceLoader::delegate):
1303         * loader/mac/WebMainResourceLoader.h:
1304         * loader/mac/WebMainResourceLoader.mm:
1305         (WebCore::MainResourceLoader::MainResourceLoader):
1306         (WebCore::MainResourceLoader::create):
1307         (WebCore::MainResourceLoader::receivedError):
1308         (WebCore::MainResourceLoader::didCancel):
1309         (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
1310         (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
1311         (WebCore::MainResourceLoader::addData):
1312         (WebCore::MainResourceLoader::willSendRequest):
1313         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1314         (WebCore::MainResourceLoader::didReceiveResponse):
1315         (WebCore::MainResourceLoader::didReceiveData):
1316         (WebCore::MainResourceLoader::didFinishLoading):
1317         (WebCore::MainResourceLoader::didFail):
1318         (WebCore::MainResourceLoader::loadNow):
1319         (WebCore::MainResourceLoader::policyDelegate):
1320         * loader/mac/WebNetscapePlugInStreamLoader.h:
1321         * loader/mac/WebNetscapePlugInStreamLoader.mm:
1322         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
1323         (WebCore::NetscapePlugInStreamLoader::create):
1324         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
1325         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
1326         (WebCore::NetscapePlugInStreamLoader::didFail):
1327         (WebCore::NetscapePlugInStreamLoader::didCancel):
1328         * loader/mac/WebSubresourceLoader.h:
1329         * loader/mac/WebSubresourceLoader.mm:
1330         (-[WebCoreSubresourceHandle initWithLoader:]):
1331
1332 2006-10-23  Geoffrey Garen  <ggaren@apple.com>
1333
1334         Reviewed by Bradee.
1335
1336         Shrunk BrowserExtension in preparation for its imminent death, moving page-
1337         level operations to Page and frame-level operations to Frame.
1338         
1339         Removed bizarre Mac(this) syntax inside virtual FrameMac member functions, 
1340         because 'this' is guaranteed by the compiler to be a FrameMac*.
1341         
1342         * bindings/js/kjs_window.cpp: Added NULL checks for m_frame in places
1343         where it can be NULL.
1344         * bindings/js/kjs_window.cpp:
1345         (KJS::canShowModalDialog):
1346         (KJS::canShowModalDialogNow):
1347         (KJS::showModalDialog):
1348         (KJS::History::getValueProperty):
1349         (KJS::HistoryFunc::callAsFunction):
1350         * bridge/BrowserExtension.h:
1351         (WebCore::BrowserExtension::~BrowserExtension):
1352         * bridge/mac/BrowserExtensionMac.h:
1353         * bridge/mac/BrowserExtensionMac.mm:
1354         (WebCore::BrowserExtensionMac::createNewWindow):
1355         * bridge/mac/FrameMac.h:
1356         * bridge/mac/FrameMac.mm:
1357         (WebCore::FrameMac::frameDetached):
1358         (WebCore::FrameMac::unfocusWindow):
1359         (WebCore::FrameMac::bridgeForWidget):
1360         (WebCore::FrameMac::documentViewForNode):
1361         (WebCore::FrameMac::passSubframeEventToSubframe):
1362         (WebCore::Frame::setNeedsReapplyStyles):
1363         (WebCore::FrameMac::customHighlightLineRect):
1364         (WebCore::FrameMac::paintCustomHighlight):
1365         (WebCore::FrameMac::getHistoryLength):
1366         (WebCore::FrameMac::goBackOrForward):
1367         (WebCore::FrameMac::historyURL):
1368         * bridge/mac/PageMac.mm:
1369         (WebCore::Page::canRunModal):
1370         (WebCore::Page::canRunModalNow):
1371         (WebCore::Page::runModal):
1372         * bridge/mac/WebCoreFrameBridge.h:
1373         * bridge/mac/WebCorePageBridge.h:
1374         * bridge/win/BrowserExtensionWin.h:
1375         * page/Frame.cpp:
1376         (WebCore::Frame::scheduleHistoryNavigation):
1377         (WebCore::Frame::redirectionTimerFired):
1378         * page/Frame.h:
1379         * page/Page.h:
1380
1381 2006-10-23  Justin Garcia  <justin.garcia@apple.com>
1382
1383         Reviewed by mjs
1384
1385         <http://bugs.webkit.org/show_bug.cgi?id=11334>
1386         Writely Editor: Placing caret in a list "highlights" both Numbered List and Bulleted List toolbar icons
1387
1388         * WebCore.xcodeproj/project.pbxproj:
1389         * editing/Editor.cpp:
1390         (WebCore::Editor::selectionUnorderedListState): Added.
1391         (WebCore::Editor::selectionOrderedListState): Added.
1392         * editing/Editor.h:
1393         * editing/JSEditor.cpp:
1394         * page/Frame.cpp:
1395         * page/Frame.h:
1396
1397 2006-10-23  John Sullivan  <sullivan@apple.com>
1398
1399         Reviewed by Tim H
1400
1401         * WebCore.xcodeproj/project.pbxproj:
1402         Include WebCorePrefix.h in Xcode project for convenience and for consistency with WebKit
1403
1404 2006-10-23  Sam Weinig  <sam.weinig@gmail.com>
1405
1406         Reviewed by Tim H.
1407
1408         Patch for http://bugs.webkit.org/show_bug.cgi?id=11291
1409         PNG as cursor image format instead of TIFF
1410
1411         Original patch by Lars Naesbye Christensen (larsnaesbye@stud.ku.dk)
1412
1413         - Convert cursor images from TIFF to PNG.
1414
1415         * Resources/eastResizeCursor.png: Added.
1416         * Resources/eastResizeCursor.tiff: Removed.
1417         * Resources/eastWestResizeCursor.png: Added.
1418         * Resources/eastWestResizeCursor.tiff: Removed.
1419         * Resources/helpCursor.png: Added.
1420         * Resources/helpCursor.tiff: Removed.
1421         * Resources/linkCursor.png: Added.
1422         * Resources/linkCursor.tiff: Removed.
1423         * Resources/moveCursor.png: Added.
1424         * Resources/moveCursor.tiff: Removed.
1425         * Resources/northEastResizeCursor.png: Added.
1426         * Resources/northEastResizeCursor.tiff: Removed.
1427         * Resources/northEastSouthWestResizeCursor.png: Added.
1428         * Resources/northEastSouthWestResizeCursor.tiff: Removed.
1429         * Resources/northResizeCursor.png: Added.
1430         * Resources/northResizeCursor.tiff: Removed.
1431         * Resources/northSouthResizeCursor.png: Added.
1432         * Resources/northSouthResizeCursor.tiff: Removed.
1433         * Resources/northWestResizeCursor.png: Added.
1434         * Resources/northWestResizeCursor.tiff: Removed.
1435         * Resources/northWestSouthEastResizeCursor.png: Added.
1436         * Resources/northWestSouthEastResizeCursor.tiff: Removed.
1437         * Resources/southEastResizeCursor.png: Added.
1438         * Resources/southEastResizeCursor.tiff: Removed.
1439         * Resources/southResizeCursor.png: Added.
1440         * Resources/southResizeCursor.tiff: Removed.
1441         * Resources/southWestResizeCursor.png: Added.
1442         * Resources/southWestResizeCursor.tiff: Removed.
1443         * Resources/waitCursor.png: Added.
1444         * Resources/waitCursor.tiff: Removed.
1445         * Resources/westResizeCursor.png: Added.
1446         * Resources/westResizeCursor.tiff: Removed.
1447         * WebCore.xcodeproj/project.pbxproj:
1448         * platform/mac/CursorMac.mm:
1449         (WebCore::leakNamedCursor):
1450
1451 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
1452
1453         Not reviewed.
1454
1455         - fixed build from last change.
1456
1457         * bridge/mac/FrameMac.h:
1458         * bridge/mac/FrameMac.mm:
1459         (WebCore::FrameMac::loadRequest):
1460         (WebCore::FrameMac::openURL):
1461
1462 2006-10-23  Adam Roben  <aroben@apple.com>
1463
1464         Reviewed by Adele.
1465
1466         Move border-radius rule for <select>s into RenderThemeMac, as this is
1467         really a platform-specific look.
1468
1469         * css/html4.css:
1470         * rendering/RenderThemeMac.mm:
1471         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
1472
1473 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
1474
1475         Reviewed by Brady.
1476
1477         - moved things around so loadURL:... is only called from one place
1478
1479         * bridge/mac/FrameMac.h:
1480         * bridge/mac/FrameMac.mm:
1481         (WebCore::FrameMac::frameDetached):
1482         (WebCore::FrameMac::loadRequest):
1483         (WebCore::FrameMac::submitForm):
1484         (WebCore::FrameMac::openURL):
1485         (WebCore::FrameMac::openURLRequest):
1486         (WebCore::FrameMac::urlSelected):
1487
1488 2006-10-23  Justin Garcia  <justin.garcia@apple.com>
1489
1490         Reviewed by john
1491         
1492         <http://bugs.webkit.org/show_bug.cgi?id=11333>
1493         Writely Editor: After inserting a HR element, pressing return key creates a copy of this HR element in the document
1494         
1495         Added special cases in InsertLineBreakCommand for inserting before
1496         and after tables and horizontal rules.  Also, perform InsertLineBreak
1497         instead of InsertParagraphSeparator at these positions.
1498
1499         * editing/InsertLineBreakCommand.cpp:
1500         (WebCore::InsertLineBreakCommand::doApply):  Use the canonical form
1501         of the caret position when we check for the new special cases because 
1502         we know that we canonicalize VisiblePositions to those positions.
1503         Added code to handle inserting before/after tables and horizontal rules.  
1504         Fixed a bug when inserting at the end of a block (it checked for a collapse
1505         of the inserted br by looking for the absence of a br, but the line break 
1506         might have been a '\n' in white-space:pre text).  Removed unused LOGs.
1507         * editing/InsertParagraphSeparatorCommand.cpp:
1508         (WebCore::InsertParagraphSeparatorCommand::doApply): Perform an 
1509         InsertLineBreakCommand when before/after a table or a horizontal rule
1510         so that we don't have to maintain two pieces of special case code.
1511         Migrated to enclosingBlock.
1512         * editing/htmlediting.cpp: Added a FIXME.
1513         * editing/visible_units.cpp:
1514         (WebCore::startOfParagraph): Added a workaround for 8622.
1515         
1516 2006-10-23  Adam Roben  <aroben@apple.com>
1517
1518         Reviewed by Adele.
1519
1520         Make popups a little more flexible.
1521
1522         * platform/PopupMenu.h:
1523
1524 2006-10-23  Sam Weinig  <sam.weinig@gmail.com>
1525
1526         Reviewed by Tim H.
1527
1528         Cleanup CodeGeneratorJS.pm
1529
1530         * bindings/scripts/CodeGeneratorJS.pm:
1531
1532 2006-10-23  Adam Roben  <aroben@apple.com>
1533
1534         Rubberstamped by Brady.
1535
1536         * loader/icon/IconLoader.h: Changed angle-brackets to quotes for
1537         #include of ResourceLoader.h, since it's a WebCore header.
1538
1539 2006-10-23  Darin Adler  <darin@apple.com>
1540
1541         - fixed mistake that was preventing any loading from happening
1542
1543         * platform/network/ResourceLoaderClient.h: (WebCore::ResourceLoaderClient::didReceiveData):
1544         Changed parameter back to int. Perhaps we want to move to "long long" consistently, but
1545         I'll leave that up to Maciej.
1546
1547 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
1548
1549         Reviewed by Anders.
1550
1551         - start converting ResourceLoaderClient to new API
1552
1553         Did the bits I could do without introducing new types:
1554         
1555         - renamed receivedData to didReceiveData
1556         - renamed version of receivedAllData that doesn't pass any data to didFinishLoading
1557
1558         * bridge/mac/WebCoreResourceLoaderImp.mm:
1559         (-[WebCoreResourceLoaderImp addData:]):
1560         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
1561         * loader/icon/IconLoader.cpp:
1562         (IconLoader::didReceiveData):
1563         (IconLoader::didFinishLoading):
1564         * loader/icon/IconLoader.h:
1565         * loader/loader.cpp:
1566         (WebCore::Loader::didReceiveData):
1567         * loader/loader.h:
1568         * platform/gdk/FrameGdk.cpp:
1569         (WebCore::FrameGdkClientDefault::didReceiveData):
1570         * platform/gdk/FrameGdk.h:
1571         * platform/network/ResourceLoaderClient.h:
1572         (WebCore::ResourceLoaderClient::didReceiveData):
1573         (WebCore::ResourceLoaderClient::didFinishLoading):
1574         (WebCore::ResourceLoaderClient::receivedResponse):
1575         * platform/network/cf/ResourceLoaderCFNet.cpp:
1576         (WebCore::didReceiveData):
1577         (WebCore::didFinishLoading):
1578         (WebCore::didFail):
1579         (WebCore::ResourceLoader::cancel):
1580         * platform/network/gdk/ResourceLoaderManager.cpp:
1581         (WebCore::writeCallback):
1582         (WebCore::ResourceLoaderManager::downloadTimerCallback):
1583         (WebCore::ResourceLoaderManager::remove):
1584         * platform/network/qt/ResourceLoaderManager.cpp:
1585         (WebCore::ResourceLoaderManager::slotData):
1586         (WebCore::ResourceLoaderManager::remove):
1587         * platform/network/win/ResourceLoaderWin.cpp:
1588         (WebCore::ResourceLoader::onRequestComplete):
1589         (WebCore::ResourceLoader::fileLoadTimer):
1590         (WebCore::ResourceLoader::cancel):
1591         * platform/qt/FrameQtClient.cpp:
1592         (WebCore::FrameQtClientDefault::didReceiveData):
1593         * platform/qt/FrameQtClient.h:
1594         * xml/xmlhttprequest.cpp:
1595         (WebCore::XMLHttpRequest::processSyncLoadResults):
1596         (WebCore::XMLHttpRequest::didFinishLoading):
1597         (WebCore::XMLHttpRequest::didReceiveData):
1598         * xml/xmlhttprequest.h:
1599
1600 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
1601
1602         Rubber stamped by Anders.
1603
1604         - marked files executable
1605         
1606         * ksvg2/scripts/csscssmakeprops:
1607         * ksvg2/scripts/csscssmakevalues:
1608
1609 2006-10-22  Maciej Stachowiak  <mjs@apple.com>
1610
1611         Reviewed by Anders.
1612
1613         - moved ResourceLoader and related files to platform/network
1614         in preparation for building out this API.
1615
1616         I tried to update all the build systems but I'm not sure they are
1617         all fixed properly
1618
1619         * page/ResourceRequest.h: Moved to platform/network.
1620         * platform/ResourceLoader.cpp: Moved to platform/network.
1621         * platform/ResourceLoader.h: Moved to platform/network.
1622         * platform/ResourceLoaderClient.h: Moved to platform/network.
1623         * platform/ResourceLoaderInternal.h: Moved to platform/network.
1624         * platform/cf/ResourceLoaderCFNet.cpp: Moved to platform/network/cf.
1625         * platform/gdk/ResourceLoaderCurl.cpp: Moved to platform/network/gdk.
1626         * platform/gdk/ResourceLoaderManager.cpp: Moved to platform/network/gdk.
1627         * platform/gdk/ResourceLoaderManager.h: Moved to platform/network/gdk.
1628         * platform/mac/ResourceLoaderMac.mm: Moved to platform/network/mac.
1629         * platform/qt/ResourceLoaderManager.cpp: Moved to platform/network/qt.
1630         * platform/qt/ResourceLoaderManager.h: Moved to platform/network/qt.
1631         * platform/qt/ResourceLoaderQt.cpp: Moved to platform/network/qt.
1632         * platform/win/ResourceLoaderWin.cpp: Moved to platform/network/win.
1633         * platform/win/ResourceLoaderWin.h: Moved to platform/network/win.
1634         * webcore-base.bkl: Updated for new paths.
1635         * CMakeLists.txt: ditto
1636         * Projects/gdk/webcore-gdk.bkl: ditto
1637         * WebCore.xcodeproj/project.pbxproj: ditto
1638         * WebCoreSources.bkl: ditto
1639
1640 2006-10-22  Sam Weinig  <sam.weinig@gmail.com>
1641
1642         Reviewed by Tim H.
1643
1644         - Add DOMHTMLFormElementPrivate.h to the project.
1645
1646         * WebCore.xcodeproj/project.pbxproj:
1647         * bindings/objc/DOMPrivate.h:
1648
1649 2006-10-22  Darin Adler  <darin@apple.com>
1650
1651         - another try at fixing Qt
1652
1653         * CMakeLists.txt: Added DeleteButton.cpp and DeleteButtonController.cpp.
1654
1655         - and fix a couple warnings while I'm at it
1656
1657         * platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::setRGBA):
1658         Don't do unsigned *= float.
1659
1660         * rendering/break_lines.cpp: (WebCore::nextBreakablePosition): Move unused variable
1661         inside #if so it's consistent.
1662
1663 2006-10-21  Darin Adler  <darin@apple.com>
1664
1665         - fix the Qt build
1666
1667         * platform/qt/EditorClientQt.cpp:
1668         (WebCore::EditorClientQt::shouldShowDeleteInterface):
1669         * platform/qt/EditorClientQt.h:
1670         * platform/qt/FrameQt.cpp:
1671
1672 2006-10-21  Darin Adler  <darin@apple.com>
1673
1674         Reviewed by Adele.
1675
1676         - convert WebLoader and its 3 subclasses to C++ (this time with a leak fixed)
1677
1678         Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
1679         there's currently another class with that name).
1680         Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
1681         Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
1682         Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
1683
1684         Converted the classes to C++ and added Objective-C delegates to forward from
1685         API that still requires Objective-C.
1686
1687         Did not yet rename the source files.
1688
1689         * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
1690         classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
1691         classes.
1692
1693         * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
1694
1695         * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
1696
1697         * loader/mac/WebLoader.h:
1698         * loader/mac/WebLoader.mm:
1699         * loader/mac/WebMainResourceLoader.h:
1700         * loader/mac/WebMainResourceLoader.mm:
1701         * loader/mac/WebNetscapePlugInStreamLoader.h:
1702         * loader/mac/WebNetscapePlugInStreamLoader.mm:
1703         * loader/mac/WebSubresourceLoader.h:
1704         * loader/mac/WebSubresourceLoader.mm:
1705         Translate to C++.
1706
1707         * bridge/mac/WebCoreFrameBridge.mm:
1708         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
1709         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
1710         * loader/mac/WebFrameLoader.h:
1711         * loader/mac/WebFrameLoader.mm:
1712         (isCaseInsensitiveEqual):
1713         (isBackForwardLoadType):
1714         (-[WebFrameLoader dealloc]):
1715         (-[WebFrameLoader addPlugInStreamLoader:]):
1716         (-[WebFrameLoader removePlugInStreamLoader:]):
1717         (-[WebFrameLoader setDefersCallbacks:]):
1718         (-[WebFrameLoader stopLoadingPlugIns]):
1719         (-[WebFrameLoader isLoadingMainResource]):
1720         (-[WebFrameLoader isLoadingSubresources]):
1721         (-[WebFrameLoader isLoadingPlugIns]):
1722         (-[WebFrameLoader stopLoadingSubresources]):
1723         (-[WebFrameLoader addSubresourceLoader:]):
1724         (-[WebFrameLoader removeSubresourceLoader:]):
1725         (-[WebFrameLoader mainResourceData]):
1726         (-[WebFrameLoader releaseMainResourceLoader]):
1727         (-[WebFrameLoader cancelMainResourceLoad]):
1728         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
1729         (-[WebFrameLoader stopLoadingWithError:]):
1730         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
1731         (-[WebFrameLoader archiveLoadPendingForLoader:]):
1732         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
1733         * loader/mac/WebFrameLoaderClient.h:
1734         Call the new C++ API.
1735
1736 2006-10-21  Adam Roben  <aroben@apple.com>
1737
1738         Reviewed by Anders.
1739
1740         Popup tweaks.
1741
1742         * platform/PopupMenu.h:
1743
1744 2006-10-21  Darin Adler  <darin@apple.com>
1745
1746         * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable):
1747         Oops, edited this before landing it and introduced a null-deref! This fixes it.
1748
1749 2006-10-21  Darin Adler  <darin@apple.com>
1750
1751         Reviewed by Anders.
1752
1753         - fix http://bugs.webkit.org/show_bug.cgi?id=11379
1754           assertion failure seen in editing tests (in new DeleteButtonController)
1755
1756         I cleaned up the relationship between the Frame, Editor, EditorClient, and
1757         DeleteButtonController a bit while also making the simple change to fix the
1758         assertion failure.
1759
1760         * bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
1761         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
1762
1763         * page/Frame.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
1764         * page/Frame.cpp:
1765         (WebCore::Frame::Frame): Ditto.
1766         (WebCore::Frame::appliedEditing): Removed unneeded parameter to the respondToChangedContents
1767         function, and moved it to Editor rather than right on the DeleteButtonController.
1768         (WebCore::Frame::unappliedEditing): Ditto.
1769         (WebCore::Frame::reappliedEditing): Ditto.
1770         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): More of the same.
1771
1772         * editing/DeleteButtonController.h:
1773         * editing/DeleteButtonController.cpp:
1774         (WebCore::DeleteButtonController::DeleteButtonController): Replaced Editor* with a Frame*.
1775         The general pattern is that we always use the Frame* as the frame identifier. See FrameTree,
1776         for example.
1777         (WebCore::enclosingDeletableTable): Added. Helper function used by the respondToChangedSelection
1778         function. Includes an additional check for whether the container is contentEditable, which
1779         was missing from the old version. This prevents the assertion failure. Also added a check that
1780         the table itself is editable.
1781         (WebCore::DeleteButtonController::respondToChangedSelection): Rewrote to use the helper.
1782         (WebCore::DeleteButtonController::respondToChangedContents): Removed the unnecessary
1783         selection parameter. No need to pass in the state of the frame since we can get it if we need it.
1784         (WebCore::DeleteButtonController::show): Updated to use frame pointer rather than editor pointer.
1785
1786         * editing/Editor.cpp: Fixed formatting. Even the temporary placeholder functions should be
1787         formatted on multiple lines as usual.
1788         (WebCore::Editor::respondToChangedSelection): Added. Forwards to the delete button controller.
1789         (WebCore::Editor::respondToChangedContents): Ditto.
1790         (WebCore::Editor::Editor): Changed EditorClient parameter to a PassRefPtr since we take ownership.
1791
1792         * editing/Editor.h: Changed the DeleteButtonController to use an OwnPtr instead of being
1793         defined inline to decouple so that we don't have to include DeleteButtonController.h. That way
1794         changes to DeleteButtonController.h cause very little to recompile.
1795
1796         * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
1797         Updated to call the editor instead of the delete button controller for the selection change.
1798
1799 2006-10-21  Anders Carlsson  <acarlsson@apple.com>
1800
1801         Reviewed by Darin.
1802
1803         * loader/mac/LoaderFunctionsMac.mm:
1804         (WebCore::ServeSynchronousRequest):
1805         * platform/mac/ResourceLoaderMac.mm:
1806         (WebCore::ResourceLoader::start):
1807         Don't leak the header dictionary.
1808
1809 2006-10-21  Darin Adler  <darin@apple.com>
1810
1811         Reviewed by Adam.
1812
1813         - http://bugs.webkit.org/show_bug.cgi?id=11376
1814           build scripts should invoke make with "-j" option for multiple processors
1815
1816         * WebCore.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
1817
1818 2006-10-21  Timothy Hatcher  <timothy@apple.com>
1819
1820         Reviewed by Geoff.
1821
1822         <rdar://problem/4478625> HTML Editing: Basic table editing and culling
1823
1824         Initial implementaltion of table deletion user interface:
1825         * Interface shows up on the nearest table containing the entire selection.
1826         * Shows a Dashboard style close button in the top left corner.
1827         * Shows a 60% opaque black outline around the table.
1828         * Adds a new EditorClient function shouldShowDeleteInterface.
1829
1830         Also adds a new constructor CachedImage and setter functions on
1831         HTMLImageElement and HTMLImageLoader allowing an Image object to be set
1832         and image element in the page. This change also paves the way to allow an
1833         NSImage setter on DOMHTMLImageElement. 
1834
1835         * Resources/deleteButton.tiff: Added.
1836         * Resources/deleteButtonPressed.tiff: Added.
1837         * WebCore.xcodeproj/project.pbxproj:
1838         * bridge/EditorClient.h:
1839         * editing/DeleteButton.cpp: Added.
1840         (WebCore::DeleteButton::DeleteButton):
1841         (WebCore::DeleteButton::defaultEventHandler): notify the controller to delete on click
1842         * editing/DeleteButton.h: Added.
1843         * editing/DeleteButtonController.cpp: Added.
1844         (WebCore::DeleteButtonController::DeleteButtonController):
1845         (WebCore::DeleteButtonController::respondToChangedSelection): move the interface to the new element, or hide
1846         (WebCore::DeleteButtonController::respondToChangedContents): call updateOutlineStyle
1847         (WebCore::DeleteButtonController::updateOutlineStyle): resize the outline if the table changed size
1848         (WebCore::DeleteButtonController::show): shows the interface on a new element
1849         (WebCore::DeleteButtonController::hide): hides the existing interface
1850         (WebCore::DeleteButtonController::deleteTarget): deletes the targeted element
1851         * editing/DeleteButtonController.h: Added.
1852         (WebCore::DeleteButtonController::target): getter for the current target
1853         * editing/Editor.cpp:
1854         (WebCore::Editor::shouldShowDeleteInterface): call the new shouldShowDeleteInterface client function
1855         (WebCore::Editor::Editor): remove the manual ref now that we use RefPtr for m_client
1856         (WebCore::Editor::~Editor): remove the manual deref now that we use RefPtr for m_client
1857         * editing/Editor.h:
1858         (WebCore::Editor::frame): new getter
1859         (WebCore::Editor::deleteButtonController): ditto
1860         * editing/SelectionController.cpp:
1861         (WebCore::SelectionController::setSelection): notify the DeleteButtonController about the new selection
1862         * html/HTMLImageElement.h:
1863         (WebCore::HTMLImageElement::setCachedImage): new setter that replaces the CachedImage
1864         * html/HTMLImageLoader.cpp:
1865         (WebCore::HTMLImageLoader::setImage): ditto
1866         * html/HTMLImageLoader.h:
1867         * loader/CachedImage.cpp:
1868         (WebCore::CachedImage::CachedImage): new constructor that takes an Image
1869         * loader/CachedImage.h: ditto
1870         * page/Frame.cpp:
1871         (WebCore::Frame::selectionController): cleanup coding style
1872         (WebCore::Frame::editor): ditto
1873         (WebCore::Frame::command): ditto
1874         (WebCore::Frame::appliedEditing): tell the delete button outline to update
1875         (WebCore::Frame::unappliedEditing): ditto
1876         (WebCore::Frame::reappliedEditing): ditto
1877         * rendering/RenderTable.cpp:
1878         (WebCore::RenderTable::addChild): workaround until bug 11363 is fixed
1879
1880 2006-10-21  Sam Weinig  <sam.weinig@gmail.com>
1881
1882         Reviewed by Tim H.
1883
1884         Cleanup bindings generation a little through re-factoring 
1885         and general style cleanup.
1886
1887         * bindings/scripts/CodeGenerator.pm:
1888         * bindings/scripts/CodeGeneratorJS.pm:
1889         * bindings/scripts/CodeGeneratorObjC.pm:
1890
1891 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
1892
1893         Reviewed by Mitz.
1894
1895         Fix crashes on Qt/Linux. Offer a default EditorClient and pass it down to Frame ctor.
1896
1897         * CMakeLists.txt:
1898         * platform/qt/EditorClientQt.cpp: Added.
1899         (WebCore::EditorClientQt::shouldDeleteRange):
1900         * platform/qt/EditorClientQt.h: Added.
1901         (WebCore::EditorClientQt::~EditorClientQt):
1902         * platform/qt/FrameQt.cpp:
1903         (WebCore::FrameQt::FrameQt):
1904         * platform/qt/FrameQt.h:
1905
1906 2006-10-21  Sam Weinig  <sam.weinig@gmail.com>
1907
1908         Reviewed by Tim H.
1909
1910         Fix for http://bugs.webkit.org/show_bug.cgi?id=11372
1911         Auto-generate a few more Objective-C DOM methods.
1912
1913         - Auto-generate getMatchedCSSRules and getComputedStyle methods.
1914
1915         * bindings/objc/DOMCSS.h:
1916         * bindings/objc/DOMCSS.mm:
1917         * bindings/objc/DOMExtensions.h:
1918         * bindings/objc/PublicDOMInterfaces.h:
1919         * bindings/scripts/CodeGeneratorObjC.pm:
1920         * dom/Document.idl:
1921         * page/DOMWindow.idl:
1922
1923 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
1924
1925         Reviewed by aliu, landed by aliu.
1926
1927         Fix Qt/Linux build.
1928
1929         * CMakeLists.txt:
1930         * platform/qt/FrameQt.cpp:
1931         (WebCore::FrameQt::FrameQt):
1932         * platform/qt/SoundQt.cpp: Added.
1933         (WebCore::systemBeep):
1934
1935 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
1936
1937         Reviewed by Mitz, landed by ap.
1938
1939         Fix obscure crashes in RenderTableSection on Rob's musicdb file.
1940         The problem was a missing layout() call on the frame view.
1941         Thanks go to Mitz Pettel for the initial hint!
1942
1943         * platform/qt/ScrollViewCanvasQt.cpp:
1944         (WebCore::ScrollViewCanvasQt::paintEvent):
1945
1946 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
1947
1948         Reviewed by Anders.
1949
1950         Send User-Agent on requests.
1951         Send custom request headers properly.
1952
1953         * platform/cf/ResourceLoaderCFNet.cpp:
1954         (WebCore::addHeadersFromHashMap): Switch over to HashMap iteration from string parsing
1955         (WebCore::ResourceLoader::start): Send proper User-Agent, change call to add headers
1956
1957 2006-10-20  Timothy Hatcher  <timothy@apple.com>
1958
1959         Reviewed by Hyatt.
1960
1961         Fix some bad formatting.
1962
1963         * css/cssstyleselector.cpp:
1964         (WebCore::CSSStyleSelector::checkOneSelector):
1965
1966 2006-10-20  Darin Adler  <darin@apple.com>
1967
1968         Reviewed by John.
1969
1970         - fixed <rdar://problem/4795716> REGRESSION: User names and passwords aren't being saved (.Mac, etc.) -- WebKit formState passing empty strings
1971
1972         * loader/mac/WebFormState.mm: (WebCore::FormState::FormState): Fix typo -- need to pass "key"
1973         as the key, not the dictionary itself.
1974
1975 2006-10-20  Alice Liu  <alice.liu@apple.com>
1976
1977         Reviewed by Maciej.
1978
1979         This is the initial foundation for the EditingController class and
1980         everything else it needs to work.  The idea is that the Frame has an
1981         EditingController object that it calls to handle editing commands, the
1982         most simple examples being copy/paste.  This controller will handle
1983         these editing commands in WebCore, and only hand off to WebKit to call
1984         editing delegates (to the let the app intercept editing actions if it
1985         wants to).  Thus we need a platform-specific client to which the
1986         EditingController hands off the delegate calls, 
1987         WebCoreEditingControllerClient.  On the WebCore side this is an 
1988         abstract base class, and on the WebKit(Mac) side this is an ObjC++
1989         subclass, WebEditingControllerClient.  How does the EditingController
1990         get a handle to its platform-specific client?  In WebKit, the creator
1991         of a platform-specific Frame creates the client (which is ref-counted)
1992         and passes it down the chain of constructors until it gets back to the
1993         EditingController, which then refs it in its constructor and derefs in
1994         its destructor.
1995         
1996         No Layout tests needed.
1997         
1998         * WebCore.xcodeproj/project.pbxproj:
1999         Added files and made DomRangeInternal.h and EditingClient.h private headers, necessary for WebKit to compile
2000
2001         * bridge/EditorClient.h: Added.
2002         (WebCore::EditorClient::~EditorClient):
2003
2004         * bridge/mac/FrameMac.h:
2005         Added an EditingClient to the constructor, to pass down to Frame constructor
2006
2007         * bridge/mac/FrameMac.mm:
2008         (WebCore::FrameMac::FrameMac):
2009         Passed client down to Frame constructor
2010         
2011         * bridge/mac/WebCoreFrameBridge.h:
2012         Added an EditingClient to the constructor, to pass down to FrameMac constructor
2013         
2014         * bridge/mac/WebCoreFrameBridge.mm:
2015         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
2016         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
2017         Passed client down to FrameMac constructor
2018         
2019         * editing/Editor.cpp: Added.
2020         Mostly stuf implementations of the following functions, except for a couple.  These are all needed by cut, copy, paste, delete.
2021         (WebCore::generalPasteboard):
2022         (WebCore::Editor::canCopy):
2023         (WebCore::Editor::canCut):
2024         (WebCore::Editor::canDelete):
2025         (WebCore::Editor::canDeleteRange):
2026         (WebCore::Editor::canPaste):
2027         (WebCore::Editor::canSmartCopyOrDelete):
2028         (WebCore::Editor::deleteSelection):
2029         (WebCore::Editor::deleteSelectionWithSmartDelete):
2030         (WebCore::Editor::isSelectionRichlyEditable):
2031         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
2032         (WebCore::Editor::pasteWithPasteboard):
2033         (WebCore::Editor::selectedRange):
2034         (WebCore::Editor::shouldDeleteRange):
2035         (WebCore::Editor::tryDHTMLCopy):
2036         (WebCore::Editor::tryDHTMLCut):
2037         (WebCore::Editor::tryDHTMLPaste):
2038         (WebCore::Editor::writeSelectionToPasteboard):
2039         (WebCore::Editor::Editor):
2040         (WebCore::Editor::~Editor):
2041         (WebCore::Editor::cut):
2042         (WebCore::Editor::copy):
2043         (WebCore::Editor::paste):
2044         (WebCore::Editor::performDelete):
2045         
2046         * editing/Editor.h: Added.
2047         
2048         * page/Frame.h:
2049         Added an EditingClient to the constructor, to pass down to Editor constructor
2050
2051         * page/Frame.cpp:
2052         (WebCore::Frame::Frame):
2053         Passed down to Editor constructor
2054         (WebCore::Frame::editor):
2055         Accessor for Editor stored in FramePrivate
2056         
2057         * page/FramePrivate.h:
2058         (WebCore::FramePrivate::FramePrivate):
2059         Added an Editor object to the FramePrivate data
2060         
2061         * platform/Sound.h: Added.
2062         Made a platform-independent accessor to a beep function
2063         
2064         * platform/mac/SoundMac.mm: Added.
2065         (WebCore::systemBeep):
2066         calls mac system beep
2067         
2068 2006-10-20  David Hyatt  <hyatt@apple.com>
2069
2070         Make sure to support the "encoding" property on form elements for
2071         legacy compatibility.
2072
2073         Reviewed by darin/john
2074
2075         No test cases added.  Not sure how to do a form submission of
2076         various encodings as a layout test.
2077
2078         * html/HTMLFormElement.h:
2079         (WebCore::HTMLFormElement::encoding):
2080         (WebCore::HTMLFormElement::setEncoding):
2081         * html/HTMLFormElement.idl:
2082
2083 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
2084
2085         Reviewed and by Anders.
2086
2087         Fix warnings in JS generation by killing the whole isRefPtr logic,
2088         and just using WTF::getPtr as Sam Weinig suggested. Also kill some
2089         places using get() where getPtr() is cleaner - not for m_impl.get().
2090
2091         * CMakeLists.txt: Tiny cleanup + add deps for CodeGenerator(JS).pm on all IDLs.
2092         * bindings/scripts/CodeGeneratorJS.pm:
2093
2094 2006-10-20  Darin Adler  <darin@apple.com>
2095
2096         - rolled out my loader change; caused world leak and possibly a plug-in crash
2097
2098 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
2099
2100         Reviewed by Tim H
2101
2102         * loader/mac/LoaderFunctionsMac.mm:
2103         Autorelease the header NSDictionary.
2104         
2105 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
2106
2107         Reviewed by Geoff.
2108
2109         * bindings/js/kjs_window.cpp:
2110         (KJS::Window::timerFired):
2111         Check if the timeout id is still in the table before trying to access it. If it isn't in the table
2112         it has been deleted inside of the execute method.
2113
2114 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
2115
2116         Reviewed by Darin and Geoff.
2117
2118         Remove debugging output.
2119         * xml/xmlhttprequest.cpp:
2120         (WebCore::XMLHttpRequest::send):
2121
2122 2006-10-20  David Harrison  <harrison@apple.com>
2123
2124         Reviewed by John.
2125
2126         <rdar://problem/4792755> REGRESSON: Drag selecting is erratic
2127
2128         No test because it would require autoscrolling, which is not available to layout tests.
2129
2130         * rendering/RenderLayer.cpp:
2131         (WebCore::RenderLayer::autoscroll):
2132         Use hitTest() to find the correct node.
2133         
2134         (WebCore::RenderLayer::hitTest):
2135         Trivial source formatting.
2136
2137 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
2138
2139         Reviewed and landed by Anders.
2140
2141         Fix regression introduced during the ResourceLoader transition (Maciej's rewrite).
2142
2143         * platform/qt/ResourceLoaderManager.cpp:
2144         (WebCore::ResourceLoaderManager::add):
2145
2146 2006-10-20  Darin Adler  <darin@apple.com>
2147
2148         Reviewed by Adele.
2149
2150         - convert WebLoader and its 3 subclasses to C++
2151
2152         Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
2153         there's currently another class with that name).
2154         Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
2155         Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
2156         Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
2157
2158         Converted the classes to C++ and added Objective-C delegates to forward from
2159         API that still requires Objective-C.
2160
2161         Did not yet rename the source files.
2162
2163         * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
2164         classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
2165         classes.
2166
2167         * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
2168
2169         * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
2170
2171         * loader/mac/WebLoader.h:
2172         * loader/mac/WebLoader.mm:
2173         * loader/mac/WebMainResourceLoader.h:
2174         * loader/mac/WebMainResourceLoader.mm:
2175         * loader/mac/WebNetscapePlugInStreamLoader.h:
2176         * loader/mac/WebNetscapePlugInStreamLoader.mm:
2177         * loader/mac/WebSubresourceLoader.h:
2178         * loader/mac/WebSubresourceLoader.mm:
2179         Translate to C++.
2180
2181         * bridge/mac/WebCoreFrameBridge.mm:
2182         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
2183         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
2184         * loader/mac/WebFrameLoader.h:
2185         * loader/mac/WebFrameLoader.mm:
2186         (isCaseInsensitiveEqual):
2187         (isBackForwardLoadType):
2188         (-[WebFrameLoader dealloc]):
2189         (-[WebFrameLoader addPlugInStreamLoader:]):
2190         (-[WebFrameLoader removePlugInStreamLoader:]):
2191         (-[WebFrameLoader setDefersCallbacks:]):
2192         (-[WebFrameLoader stopLoadingPlugIns]):
2193         (-[WebFrameLoader isLoadingMainResource]):
2194         (-[WebFrameLoader isLoadingSubresources]):
2195         (-[WebFrameLoader isLoadingPlugIns]):
2196         (-[WebFrameLoader stopLoadingSubresources]):
2197         (-[WebFrameLoader addSubresourceLoader:]):
2198         (-[WebFrameLoader removeSubresourceLoader:]):
2199         (-[WebFrameLoader mainResourceData]):
2200         (-[WebFrameLoader releaseMainResourceLoader]):
2201         (-[WebFrameLoader cancelMainResourceLoad]):
2202         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
2203         (-[WebFrameLoader stopLoadingWithError:]):
2204         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
2205         (-[WebFrameLoader archiveLoadPendingForLoader:]):
2206         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
2207         * loader/mac/WebFrameLoaderClient.h:
2208         Call the new C++ API.
2209
2210 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
2211
2212         Reviewed and landed by Anders.
2213
2214         Offer a way for WebKitPart to be able to detect when
2215         the webpage has been completly loaded (including subresources).
2216
2217         Also fix Qt/Linux build by removing PopupMenu.cpp from CMakeLists.txt
2218         and removing some functions from PopupMenuQt.cpp, and alter FrameQt.cpp.
2219
2220         * CMakeLists.txt:
2221         * platform/qt/FrameQt.cpp:
2222         (WebCore::FrameQt::submitForm):
2223         (WebCore::FrameQt::client):
2224         * platform/qt/FrameQt.h:
2225         * platform/qt/FrameQtClient.cpp:
2226         (WebCore::FrameQtClientDefault::setFrame):
2227         (WebCore::FrameQtClientDefault::openURL):
2228         (WebCore::FrameQtClientDefault::submitForm):
2229         (WebCore::FrameQtClientDefault::checkLoaded):
2230         (WebCore::FrameQtClientDefault::traverseNextFrameStayWithin):
2231         (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
2232         (WebCore::FrameQtClientDefault::receivedAllData):
2233         * platform/qt/FrameQtClient.h:
2234         * platform/qt/LoaderFunctionsQt.cpp:
2235         (WebCore::CheckCacheObjectStatus):
2236         * platform/qt/PopupMenuQt.cpp:
2237         * platform/qt/ResourceLoaderManager.cpp:
2238         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2239         (WebCore::ResourceLoaderManager::slotResult):
2240         (WebCore::ResourceLoaderManager::add):
2241         * platform/qt/ResourceLoaderManager.h:
2242         * platform/qt/ResourceLoaderQt.cpp:
2243         (WebCore::ResourceLoader::start):
2244
2245 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
2246
2247         Reviewed by Geoff.
2248
2249         Fix compiler warnings
2250
2251         * platform/ResourceLoaderClient.h:
2252
2253 2006-10-20  Sam Weinig  <sam.weinig@gmail.com>
2254
2255         Reviewed by Mitz.
2256
2257         Win32 build fix and cleanup.
2258
2259         * WebCore.vcproj/WebCore/WebCore.vcproj:
2260         * bridge/win/FrameWin.cpp:
2261         (WebCore::FrameWin::FrameWin):
2262         (WebCore::FrameWin::submitForm):
2263         * page/ResourceRequest.h:
2264         (WebCore::ResourceRequest::addHTTPHeaderField):
2265         * platform/win/TemporaryLinkStubs.cpp:
2266         (WebCore::Slider::~Slider):
2267         (WebCore::Slider::setMinValue):
2268         (WebCore::searchableIndexIntroduction):
2269         (WebCore::findNextSentenceFromIndex):
2270         (WebCore::findSentenceBoundary):
2271         (WebCore::findNextWordFromIndex):
2272         (WebCore::FrameWin::getObjectInstanceForWidget):
2273         (WebCore::FrameWin::getEmbedInstanceForWidget):
2274         (WebCore::FrameWin::runJavaScriptPrompt):
2275         (WebCore::FrameWin::restoreDocumentState):
2276         (WebCore::FrameWin::partClearedInBegin):
2277         (WebCore::FrameWin::createEmptyDocument):
2278         (WebCore::FrameWin::overrideMediaType):
2279         (WebCore::FrameWin::markedTextRange):
2280         (WebCore::FrameWin::passSubframeEventToSubframe):
2281         (WebCore::FrameWin::lastEventIsMouseUp):
2282         (WebCore::FrameWin::addMessageToConsole):
2283         (WebCore::FrameWin::shouldChangeSelection):
2284         (WebCore::FrameWin::respondToChangedSelection):
2285         (WebCore::FrameWin::createFrame):
2286         (WebCore::FrameWin::saveDocumentState):
2287         (WebCore::FrameWin::clearUndoRedoOperations):
2288         (WebCore::FrameWin::incomingReferrer):
2289         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
2290         (WebCore::FrameWin::respondToChangedContents):
2291         (WebCore::FrameWin::handledOnloadEvents):
2292         (WebCore::FrameWin::createPlugin):
2293         (WebCore::FrameWin::objectContentType):
2294         (WebCore::screenDepthPerComponent):
2295         (WebCore::screenIsMonochrome):
2296         (WebCore::historyContains):
2297         (WebCore::submitButtonDefaultLabel):
2298         (WebCore::inputElementAltText):
2299         (WebCore::resetButtonDefaultLabel):
2300         (WebCore::fileButtonChooseFileLabel):
2301         (WebCore::fileButtonNoFileSelectedLabel):
2302         (WebCore::defaultLanguage):
2303         (WebCore::findWordBoundary):
2304         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
2305         (WebCore::PlugInInfoStore::supportsMIMEType):
2306         (WebCore::refreshPlugins):
2307         (WebCore::ResourceLoader::assembleResponseHeaders):
2308         (WebCore::ResourceLoader::retrieveResponseEncoding):
2309         (WebCore::ResourceLoader::startHTTPRequest):
2310         (WebCore::TextField::TextField):
2311         (WebCore::focusRingColor):
2312         (WebCore::setFocusRingColorChangeFunction):
2313         (WebCore::PopupMenu::~PopupMenu):
2314         (WebCore::PopupMenu::hide):
2315
2316 2006-10-20  Rob Buis  <buis@kde.org>
2317
2318         Reviewed by Darin.
2319
2320         http://bugs.webkit.org/show_bug.cgi?id=11303
2321         Path::transform() should be implemented on Qt build
2322
2323         Use QPainterPath API to implement Path::transform.
2324         This fixes svg/custom/clip-path-with-transform.svg on
2325         the qt build.
2326
2327         * platform/qt/PathQt.cpp:
2328         (WebCore::Path::transform):
2329
2330 2006-10-20  Rob Buis  <buis@kde.org>
2331
2332         Reviewed by Mitz.
2333
2334         http://bugs.webkit.org/show_bug.cgi?id=11217
2335         Cleanup svg coding style
2336
2337         Cleanup coding style in svg clipping and painting classes.
2338
2339         * ksvg2/svg/SVGClipPathElement.cpp:
2340         (WebCore::SVGClipPathElement::parseMappedAttribute):
2341         (WebCore::SVGClipPathElement::canvasResource):
2342         * ksvg2/svg/SVGClipPathElement.h:
2343         * ksvg2/svg/SVGMarkerElement.cpp:
2344         (WebCore::SVGMarkerElement::SVGMarkerElement):
2345         (WebCore::SVGMarkerElement::parseMappedAttribute):
2346         (WebCore::SVGMarkerElement::setOrientToAngle):
2347         (WebCore::SVGMarkerElement::canvasResource):
2348         * ksvg2/svg/SVGMarkerElement.h:
2349         (WebCore::SVGMarkerElement::rendererIsNeeded):
2350         * ksvg2/svg/SVGMaskElement.cpp:
2351         (WebCore::SVGMaskElement::SVGMaskElement):
2352         (WebCore::SVGMaskElement::parseMappedAttribute):
2353         (WebCore::SVGMaskElement::drawMaskerContent):
2354         (WebCore::SVGMaskElement::canvasResource):
2355         * ksvg2/svg/SVGMaskElement.h:
2356         (WebCore::SVGMaskElement::rendererIsNeeded):
2357         * ksvg2/svg/SVGPaint.cpp:
2358         (WebCore::SVGPaint::setPaint):
2359         (WebCore::SVGPaint::cssText):
2360         * ksvg2/svg/SVGPaint.h:
2361
2362 2006-10-20  David Hyatt  <hyatt@apple.com>
2363
2364         Make sure to do the code that checks the repeatInterval before the timer has been
2365         deleted. (Duh.)
2366
2367         Reviewed by andersca
2368
2369         * bindings/js/kjs_window.cpp:
2370         (KJS::DOMWindowTimer::setNestingLevel):
2371         (KJS::Window::timerFired):
2372         (KJS::DOMWindowTimer::fired):
2373         * platform/Timer.h:
2374
2375 2006-10-20  David Hyatt  <hyatt@apple.com>
2376
2377         Honor tiny timer intervals for JS timeouts as they are nested until a cutoff point is reached.
2378         At that point clamp to 10ms to prevent excessive CPU usage.
2379
2380         Reviewed by anders
2381
2382         * bindings/js/kjs_window.cpp:
2383         (KJS::DOMWindowTimer::DOMWindowTimer):
2384         (KJS::DOMWindowTimer::nestingLevel):
2385         (KJS::Window::installTimeout):
2386         (KJS::Window::pauseTimeouts):
2387         (KJS::Window::resumeTimeouts):
2388         (KJS::DOMWindowTimer::fired):
2389         * platform/Timer.h:
2390         (WebCore::TimerBase::startRepeating):
2391         (WebCore::TimerBase::startOneShot):
2392         (WebCore::TimerBase::repeatInterval):
2393         (WebCore::TimerBase::augmentRepeatInterval):
2394         (WebCore::TimerBase::inHeap):
2395         (WebCore::Timer::Timer):
2396         (WebCore::Timer::fired):
2397
2398 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
2399
2400         Build fix
2401
2402         * ksvg2/svg/SVGAElement.cpp:
2403         (WebCore::SVGAElement::defaultEventHandler):
2404
2405 2006-10-19  Steve Falkenburg  <sfalken@apple.com>
2406
2407         Reviewed by Adam.
2408
2409         Use GetKeyState rather than GetAsyncKeyState since we're
2410         calling in these cases in direct response to an event, and want the
2411         key state associated with that event.
2412         
2413         Pass triggering event to url selection method.
2414         
2415         * bridge/mac/FrameMac.h: Add triggeringEvent parameter
2416         * bridge/mac/FrameMac.mm:
2417         (WebCore::FrameMac::urlSelected): Add triggeringEvent parameter
2418         * bridge/win/FrameWin.cpp:
2419         (WebCore::FrameWin::urlSelected): Add triggeringEvent parameter
2420         * bridge/win/FrameWin.h: Add triggeringEvent parameter
2421         * html/HTMLAnchorElement.cpp:
2422         (WebCore::HTMLAnchorElement::defaultEventHandler): Pass triggering event to URL selection method
2423         * page/Frame.cpp:
2424         (WebCore::Frame::changeLocation): Add 0 as triggeringEvent
2425         (WebCore::Frame::urlSelected): Pass through triggeringEvent
2426         * page/Frame.h: Add triggeringEvent parameter to urlSelected methods
2427         * platform/win/KeyEventWin.cpp:
2428         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use GetKeyState instead of GetAsyncKeyState
2429         * platform/win/MouseEventWin.cpp: Use GetKeyState instead of GetAsyncKeyState
2430         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2431
2432 2006-10-19  David Hyatt  <hyatt@apple.com>
2433
2434         Correct typos from changing "flush" to "prune" using automated search/replace.
2435
2436         Change the cache heuristic for flushing to allow a higher watermark before initiating an
2437         aggressive prune.  This ensures that small cache sizes are no worse in terms of performance
2438         than the old buggy cache.
2439
2440         Make sizes unsigned instead of ints in the cache's APIs and member variables.
2441
2442         * loader/Cache.cpp:
2443         (WebCore::Cache::prune):
2444         (WebCore::Cache::setMaximumSize):
2445         * loader/Cache.h:
2446         (WebCore::Cache::maximumSize):
2447
2448 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
2449
2450         Reviewed by Daddy Hyatt.
2451
2452         Use a real hash map for the headers.
2453
2454         * loader/LoaderFunctions.h:
2455         * loader/mac/LoaderFunctionsMac.mm:
2456         (WebCore::ServeSynchronousRequest):
2457         * platform/ResourceLoader.cpp:
2458         (WebCore::ResourceLoader::setRequestHeaders):
2459         (WebCore::ResourceLoader::requestHeaders):
2460         * platform/ResourceLoader.h:
2461         * platform/ResourceLoaderInternal.h:
2462         * platform/mac/ResourceLoaderMac.mm:
2463         (WebCore::ResourceLoader::start):
2464         * xml/xmlhttprequest.cpp:
2465         (WebCore::XMLHttpRequest::open):
2466         (WebCore::XMLHttpRequest::send):
2467         (WebCore::XMLHttpRequest::setRequestHeader):
2468         (WebCore::XMLHttpRequest::getRequestHeader):
2469         * xml/xmlhttprequest.h:
2470
2471 2006-10-19  Adam Roben  <aroben@apple.com>
2472
2473         Reviewed by Ada.
2474
2475         Pippity-poppity popup tweaks.
2476
2477         * WebCore.xcodeproj/project.pbxproj: Removed PopupMenu.cpp from project.
2478         * html/HTMLSelectElement.cpp:
2479         (WebCore::HTMLSelectElement::setSelectedIndex): Only fire onChange if
2480         requested and the new index is actually different than the old one.
2481         * platform/IntPoint.h: Added another casting operator.
2482         * platform/PopupMenu.cpp: Removed. The code in here, while
2483         platform-independent, was only useful for the NSPopUpButtonCell
2484         implementation of popup menus, so I've moved it to PopupMenuMac.mm.
2485         * platform/PopupMenu.h: Moved the definition of PopupMenu::create into
2486         the header since it's fairly simple. Made some more methods private now
2487         that we don't have subclasses and virtual methods anymore.
2488         (WebCore::PopupMenu::create):
2489         (WebCore::PopupMenu::menuList):
2490         (WebCore::PopupMenu::itemHeight):
2491         (WebCore::PopupMenu::windowRect):
2492         (WebCore::PopupMenu::listIndexAtPoint):
2493         (WebCore::PopupMenu::focusedIndex):
2494         (WebCore::PopupMenu::setWasClicked):
2495         (WebCore::PopupMenu::wasClicked):
2496         (WebCore::PopupMenu::setScrollOffset):
2497         (WebCore::PopupMenu::scrollOffset):
2498         (WebCore::PopupMenu::wheelDelta):
2499         * platform/mac/PopupMenuMac.mm: Added the code from PopupMenu.cpp.
2500         (WebCore::PopupMenu::populate): Call our own clear() method to clear
2501         the menu.
2502         * platform/win/IntPointWin.cpp: New casting operator.
2503         (WebCore::IntPoint::IntPoint):
2504         (WebCore::IntPoint::operator POINTS):
2505
2506 2006-10-19  Adam Roben  <aroben@apple.com>
2507
2508         Reviewed by Darin.
2509
2510         Cleaning up Document::nextFocusNode and Document::previousFocusNode.
2511
2512         * dom/Document.cpp:
2513         (WebCore::Document::nextFocusNode):
2514         (WebCore::Document::previousFocusNode):
2515
2516 2006-10-19  Maciej Stachowiak  <mjs@apple.com>
2517
2518         Reviewed by Geoff.
2519
2520         - implement new ResourceRequest API and fix up code as appropriate
2521         
2522         * bindings/js/kjs_window.cpp:
2523         (KJS::createNewWindow):
2524         (KJS::WindowFunc::callAsFunction):
2525         * bridge/mac/BrowserExtensionMac.mm:
2526         (WebCore::BrowserExtensionMac::createNewWindow):
2527         * bridge/mac/FrameMac.mm:
2528         (WebCore::FrameMac::submitForm):
2529         (WebCore::FrameMac::openURLRequest):
2530         (WebCore::FrameMac::urlSelected):
2531         * bridge/mac/WebCoreFrameBridge.mm:
2532         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
2533         * dom/DOMImplementation.cpp:
2534         (WebCore::addString):
2535         (WebCore::isSVG10Feature):
2536         (WebCore::isSVG11Feature):
2537         * dom/Document.h:
2538         * editing/CommandByName.cpp:
2539         * editing/JSEditor.cpp:
2540         * page/Frame.cpp:
2541         (WebCore::Frame::changeLocation):
2542         (WebCore::Frame::urlSelected):
2543         (WebCore::Frame::requestFrame):
2544         (WebCore::Frame::submitForm):
2545         * page/Frame.h:
2546         * page/FramePrivate.h:
2547         * page/ResourceRequest.h:
2548         (WebCore::):
2549         (WebCore::ResourceRequest::ResourceRequest):
2550         (WebCore::ResourceRequest::cachePolicy):
2551         (WebCore::ResourceRequest::setCachePolicy):
2552         (WebCore::ResourceRequest::timeoutInterval):
2553         (WebCore::ResourceRequest::setTimeoutInterval):
2554         (WebCore::ResourceRequest::mainDocumentURL):
2555         (WebCore::ResourceRequest::setMainDocumentURL):
2556         (WebCore::ResourceRequest::httpMethod):
2557         (WebCore::ResourceRequest::setHTTPMethod):
2558         (WebCore::ResourceRequest::httpHeaderField):
2559         (WebCore::ResourceRequest::setHTTPHeaderField):
2560         (WebCore::ResourceRequest::httpContentType):
2561         (WebCore::ResourceRequest::setHTTPContentType):
2562         (WebCore::ResourceRequest::httpReferrer):
2563         (WebCore::ResourceRequest::setHTTPReferrer):
2564         (WebCore::ResourceRequest::httpUserAgent):
2565         (WebCore::ResourceRequest::setHTTPUserAgent):
2566         (WebCore::ResourceRequest::httpBody):
2567         (WebCore::ResourceRequest::setHTTPBody):
2568         (WebCore::ResourceRequest::addHTTPHeaderField):
2569         * platform/FontCache.cpp:
2570         (WebCore::computeHash):
2571         * platform/StringHash.h:
2572         (WTF::):
2573         * platform/StringImpl.cpp:
2574         (WebCore::equalIgnoringCase):
2575         * rendering/RenderPartObject.cpp:
2576         (WebCore::RenderPartObject::updateWidget):
2577
2578 2006-10-19  Justin Garcia  <justin.garcia@apple.com>
2579
2580         Reviewed by levi
2581         
2582         <rdar://problem/4447885>
2583         API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
2584         
2585         Fixed indent/outdent to only increment the left margin, to match other browsers.
2586         Used blockquote class="webkit-indent-blockquote" to do this.  Mail can now
2587         implement indent/outdent by customizing the appearance of these blockquotes,
2588         instead of using a new API.
2589         
2590         * css/html4.css: Added margin: 0 0 0 40px for webkit-indent-blockquotes.
2591         * editing/IndentOutdentCommand.cpp:
2592         (WebCore::indentBlockquoteString): Added.
2593         (WebCore::createIndentBlockquoteElement): Added.
2594         (WebCore::isIndentBlockquote): Added.
2595         (WebCore::isListOrBlockquote): Added.
2596         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
2597         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Fixed
2598         a bug in the code that added an extra br if the placeholder collapsed upon insertion.
2599         Used the new indentBlockquote checks and enclosing element getters.  
2600         (WebCore::IndentOutdentCommand::indentRegion): Ditto.
2601         (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.  Cleaned up the
2602         logic to pull the selection out of a list a bit.
2603         * editing/htmlediting.cpp:
2604         (WebCore::enclosingNodeOfType): Added this generic enclosing element getter.
2605         * editing/htmlediting.h:
2606
2607 2006-10-19  Timothy Hatcher  <timothy@apple.com>
2608
2609         Rolling out the this change since it caused a bad regression:
2610         <rdar://problem/4788524> REGRESSION: Incomplete repaint of text area when deleting (11277)
2611
2612 2006-10-12  Adele Peterson  <adele@apple.com>
2613           
2614         Reviewed by Dave Harrison.
2615           
2616         - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
2617           
2618         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
2619         Make subtree layouts work for textareas as well as text fields.
2620
2621 2006-10-19  Nikolas Zimmermann  <zimmermann@kde.org>
2622
2623         Reviewed and landed by Anders.
2624
2625         Fix Qt/Linux build.
2626
2627         * CMakeLists.txt:
2628         * loader/Cache.h:
2629         * platform/qt/BrowserExtensionQt.cpp:
2630         * platform/qt/BrowserExtensionQt.h:
2631         * platform/qt/CursorQt.cpp:
2632         (WebCore::pointerCursor):
2633         * platform/qt/LoaderFunctionsQt.cpp:
2634         (WebCore::NumberOfPendingOrLoadingRequests):
2635         (WebCore::CheckCacheObjectStatus):
2636         * platform/qt/ResourceLoaderQt.cpp:
2637         (WebCore::ResourceLoader::retrieveResponseEncoding):
2638         (WebCore::ResourceLoader::receivedResponse):
2639
2640 2006-10-19  Sam Weinig  <sam.weinig@gmail.com>
2641
2642         Reviewed by ap.
2643
2644         Win32 build fix.
2645
2646         * bridge/win/FrameWin.cpp:
2647         * bridge/win/FrameWin.h:
2648         * platform/win/TemporaryLinkStubs.cpp:
2649         (WebCore::ResourceLoader::retrieveResponseEncoding):
2650
2651 2006-10-19  Alexey Proskuryakov  <ap@nypop.com>
2652
2653         Reviewed by Mitz.
2654
2655         http://bugs.webkit.org/show_bug.cgi?id=11141
2656         REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element
2657
2658         Undo one misguided change made in bug 11011 - stop setting inline stylesheet's href
2659         to document URL. This matches WinIE and partially matches Firefox - although the latter
2660         reports the href as if it were inherited, it still doesn't use it when resolving URIs in
2661         @import rules.
2662
2663         Test: http/tests/uri/css-href.php
2664
2665         * html/HTMLStyleElement.cpp:
2666         (WebCore::HTMLStyleElement::childrenChanged):
2667         * ksvg2/svg/SVGStyleElement.cpp:
2668         (WebCore::SVGStyleElement::childrenChanged):
2669
2670 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
2671
2672         * loader/Cache.cpp:
2673         Get rid of #include "loader.h", Cache.h already includes this and it breaks on operating systems
2674         with case-sensitive file systems.
2675
2676 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
2677
2678         Reviewed by Maciej, Brady.
2679
2680         Remove "charset" from the ResourceLoader metadata map and use 
2681         a getter function instead. Also, rename charset to encoding in a couple of places.
2682         
2683         * loader/CachedCSSStyleSheet.cpp:
2684         (WebCore::CachedCSSStyleSheet::setEncoding):
2685         * loader/CachedCSSStyleSheet.h:
2686         * loader/CachedResource.h:
2687         (WebCore::CachedResource::setEncoding):
2688         * loader/CachedScript.cpp:
2689         (WebCore::CachedScript::setEncoding):
2690         * loader/CachedScript.h:
2691         * loader/CachedXBLDocument.cpp:
2692         (WebCore::CachedXBLDocument::setEncoding):
2693         * loader/CachedXBLDocument.h:
2694         * loader/CachedXSLStyleSheet.cpp:
2695         (WebCore::CachedXSLStyleSheet::setEncoding):
2696         * loader/CachedXSLStyleSheet.h:
2697         * loader/loader.cpp:
2698         (WebCore::Loader::receivedResponse):
2699         * platform/ResourceLoader.cpp:
2700         (WebCore::ResourceLoader::responseEncoding):
2701         (WebCore::ResourceLoader::queryMetaData):
2702         * platform/ResourceLoader.h:
2703         * platform/ResourceLoaderInternal.h:
2704         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2705         * platform/mac/ResourceLoaderMac.mm:
2706         (WebCore::ResourceLoader::retrieveResponseEncoding):
2707         (WebCore::ResourceLoader::receivedResponse):
2708         * xml/xmlhttprequest.cpp:
2709         (WebCore::XMLHttpRequest::receivedData):
2710
2711 2006-10-19  David Hyatt  <hyatt@apple.com>
2712
2713         Rewrite of the WebCore memory cache.  The following changes have been made (along with many more):
2714
2715         (1) Referenced objects are now also cached.
2716
2717         (2) Pruning of the cache will occur once the cache is both full and in addition
2718         more than half full with unreferenced objects.
2719
2720         (3) The prune is much more aggressive now, since referenced objects are counted when
2721         pruning.  The cache will therefore often prune out every unreferenced object if lots of
2722         windows/tabs are open.
2723
2724         (4) Consolidated the request methods for various types of resources to go through a single
2725         requestResource bottleneck function.
2726
2727         (5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
2728         identical.
2729
2730         (6) Changed "object" to "resource" everywhere.
2731
2732         (7) The Cache is now an actual object, obtained via cache().
2733
2734         (8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
2735         and enabled.
2736
2737         (9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.
2738
2739         (10) Fixed the LRU-SP algorithm so that the LRU aspect really kicks in (by leaving the live objects
2740         in the LRU lists).  Also fixed a bug with the "-SP" part of the algorithm where the access count was
2741         being incorrectly weighted too much due to a math error.
2742
2743         (11) Fixed a bug where the old cache could grow without bound because it didn't know anything about
2744         the size of referenced resources.
2745
2746         Reviewed by Maciej, bradee-oh
2747
2748         * bridge/mac/WebCoreCache.mm:
2749         (+[WebCoreCache statistics]):
2750         (+[WebCoreCache empty]):
2751         (+[WebCoreCache setDisabled:]):
2752         * bridge/mac/WebCoreFrameBridge.mm:
2753         (-[WebCoreFrameBridge initMainFrameWithPage:]):
2754         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
2755         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
2756         * css/CSSImageValue.cpp:
2757         (WebCore::CSSImageValue::image):
2758         * dom/XMLTokenizer.cpp:
2759         (WebCore::openFunc):
2760         * html/HTMLImageLoader.cpp:
2761         (WebCore::HTMLImageLoader::updateFromElement):
2762         * loader/Cache.cpp:
2763         (WebCore::cache):
2764         (WebCore::Cache::Cache):
2765         (WebCore::createResource):
2766         (WebCore::Cache::requestResource):
2767         (WebCore::Cache::resourceForURL):
2768         (WebCore::Cache::prune):
2769         (WebCore::Cache::setMaximumSize):
2770         (WebCore::Cache::remove):
2771         (WebCore::Cache::addDocLoader):
2772         (WebCore::Cache::removeDocLoader):
2773         (WebCore::fastLog2):
2774         (WebCore::Cache::lruListFor):
2775         (WebCore::Cache::removeFromLRUList):
2776         (WebCore::Cache::insertInLRUList):
2777         (WebCore::Cache::resourceAccessed):
2778         (WebCore::Cache::adjustSize):
2779         (WebCore::Cache::getStatistics):
2780         (WebCore::Cache::setDisabled):
2781         * loader/Cache.h:
2782         (WebCore::LRUList::LRUList):
2783         (WebCore::Cache::loader):
2784         (WebCore::Cache::maximumSize):
2785         (WebCore::Cache::disabled):
2786         (WebCore::Cache::addToLiveObjectSize):
2787         (WebCore::Cache::removeFromLiveObjectSize):
2788         (WebCore::Cache::TypeStatistic::TypeStatistic):
2789         * loader/CachedCSSStyleSheet.cpp:
2790         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
2791         * loader/CachedCSSStyleSheet.h:
2792         * loader/CachedImage.cpp:
2793         (WebCore::CachedImage::CachedImage):
2794         (WebCore::CachedImage::~CachedImage):
2795         (WebCore::brokenImage):
2796         (WebCore::nullImage):
2797         (WebCore::CachedImage::image):
2798         (WebCore::CachedImage::data):
2799         * loader/CachedImage.h:
2800         (WebCore::CachedImage::stillNeedsLoad):
2801         * loader/CachedResource.cpp:
2802         (WebCore::CachedResource::CachedResource):
2803         (WebCore::CachedResource::~CachedResource):
2804         (WebCore::CachedResource::finish):
2805         (WebCore::CachedResource::setExpireDate):
2806         (WebCore::CachedResource::isExpired):
2807         (WebCore::CachedResource::setRequest):
2808         (WebCore::CachedResource::ref):
2809         (WebCore::CachedResource::deref):
2810         (WebCore::CachedResource::setSize):
2811         * loader/CachedResource.h:
2812         (WebCore::CachedResource::):
2813         (WebCore::CachedResource::setCharset):
2814         (WebCore::CachedResource::url):
2815         (WebCore::CachedResource::type):
2816         (WebCore::CachedResource::referenced):
2817         (WebCore::CachedResource::count):
2818         (WebCore::CachedResource::status):
2819         (WebCore::CachedResource::size):
2820         (WebCore::CachedResource::isLoaded):
2821         (WebCore::CachedResource::setLoading):
2822         (WebCore::CachedResource::isImage):
2823         (WebCore::CachedResource::accessCount):
2824         (WebCore::CachedResource::increaseAccessCount):
2825         (WebCore::CachedResource::setInCache):
2826         (WebCore::CachedResource::inCache):
2827         (WebCore::CachedResource::cachePolicy):
2828         (WebCore::CachedResource::response):
2829         (WebCore::CachedResource::allData):
2830         (WebCore::CachedResource::canDelete):
2831         (WebCore::CachedResource::schedule):
2832         (WebCore::CachedResource::accept):
2833         (WebCore::CachedResource::setAccept):
2834         * loader/CachedScript.cpp:
2835         (WebCore::CachedScript::CachedScript):
2836         * loader/CachedScript.h:
2837         * loader/CachedXBLDocument.cpp:
2838         * loader/CachedXBLDocument.h:
2839         * loader/CachedXSLStyleSheet.cpp:
2840         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
2841         * loader/CachedXSLStyleSheet.h:
2842         * loader/DocLoader.cpp:
2843         (WebCore::DocLoader::DocLoader):
2844         (WebCore::DocLoader::~DocLoader):
2845         (WebCore::DocLoader::checkForReload):
2846         (WebCore::DocLoader::requestImage):
2847         (WebCore::DocLoader::requestCSSStyleSheet):
2848         (WebCore::DocLoader::requestScript):
2849         (WebCore::DocLoader::requestXSLStyleSheet):
2850         (WebCore::DocLoader::requestXBLDocument):
2851         (WebCore::DocLoader::requestResource):
2852         (WebCore::DocLoader::setAutoLoadImages):
2853         (WebCore::DocLoader::removeCachedResource):
2854         * loader/DocLoader.h:
2855         (WebCore::DocLoader::cachedResource):
2856         (WebCore::DocLoader::allCachedResources):
2857         (WebCore::DocLoader::autoLoadImages):
2858         (WebCore::DocLoader::cachePolicy):
2859         (WebCore::DocLoader::expireDate):
2860         (WebCore::DocLoader::frame):
2861         (WebCore::DocLoader::doc):
2862         (WebCore::DocLoader::loadInProgress):
2863         * loader/ImageDocument.cpp:
2864         (WebCore::ImageTokenizer::finish):
2865         * loader/loader.cpp:
2866         (WebCore::Loader::receivedAllData):
2867         (WebCore::Loader::cancelRequests):
2868         * loader/mac/LoaderFunctionsMac.mm:
2869         (WebCore::NumberOfPendingOrLoadingRequests):
2870         (WebCore::CheckCacheObjectStatus):
2871         * page/Frame.cpp:
2872         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
2873         (WebCore::Frame::Frame):
2874         (WebCore::Frame::stopLoading):
2875         (WebCore::Frame::setAutoLoadImages):
2876         (WebCore::Frame::autoLoadImages):
2877         (WebCore::Frame::begin):
2878         (WebCore::Frame::checkCompleted):
2879         (WebCore::Frame::reparseConfiguration):
2880         * page/Frame.h:
2881         * xml/XSLTProcessor.cpp:
2882         (WebCore::docLoaderFunc):
2883         * xml/xmlhttprequest.cpp:
2884         (WebCore::XMLHttpRequest::send):
2885
2886 2006-10-18  Maciej Stachowiak  <mjs@apple.com>
2887
2888         Reviewed by Geoff.
2889
2890         - remove vestiges of KXMLCore name (former name of WTF).
2891
2892         * config.h:
2893
2894 2006-10-18  Geoffrey Garen  <ggaren@apple.com>
2895
2896         Reviewed by Beth.
2897         
2898         Fixed http://bugs.webkit.org/show_bug.cgi?id=11222
2899
2900         Some global JS objects lacked references to their property hashtables,
2901         so for-in enumeration didn't work. I added the references, and then removed
2902         a few bogus properties from the tables. The bogus ones got in there through
2903         bit rot.
2904         
2905         We should come up with some solution to these hand-written bindings bugs.
2906         Maybe we could use a script to autogenerate them or something.
2907
2908         * bindings/js/kjs_window.cpp:
2909         (KJS::):
2910         (KJS::History::getValueProperty):
2911
2912 2006-10-18  Adam Roben  <aroben@apple.com>
2913
2914         Reviewed by Brady.
2915
2916         Change Shift-Tab to generate keyIdentifier U+000009 (Tab) instead of
2917         U+000019 (Backtab). This matches our windowsKeyCode for this key
2918         combination.
2919
2920         * platform/mac/KeyEventMac.mm:
2921         (WebCore::keyIdentifierForKeyEvent):
2922
2923 2006-10-18  Steve Falkenburg  <sfalken@apple.com>
2924
2925         Reviewed by Adam, Brady.
2926
2927         Loader tweaks.
2928
2929         * platform/cf/ResourceLoaderCFNet.cpp:
2930         (WebCore::didFinishLoading):
2931         (WebCore::didFail):
2932         (WebCore::didReceiveChallenge):
2933         (WebCore::runLoaderThread):
2934         (WebCore::ResourceLoader::start):
2935         (WebCore::ResourceLoader::cancel):
2936
2937 2006-10-18  Timothy Hatcher  <timothy@apple.com>
2938
2939         Reviewed by Darin.
2940
2941         <rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode
2942
2943         - Store the Mac popup button cell as a RetainPtr to prevent GC collection.
2944         - Convert more ObjC local statics and member variables to use RetainPtr.
2945         - Convert more CFRetain/CFRelease to HardRetain/HardRelease.
2946
2947         * bindings/objc/DOM.mm:
2948         (ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain
2949         (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
2950         * bridge/mac/AXObjectCacheMac.mm:
2951         (WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease
2952         (WebCore::AXObjectCache::get): use HardRetain and not CFRetain
2953         (WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
2954         * bridge/mac/WebCoreFrameBridge.mm:
2955         (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr
2956         (+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
2957         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2958         (+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
2959         * platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
2960         * platform/cf/RetainPtr.h:
2961         (WTF::::operator): implement a missing operator= template function
2962         * platform/mac/PopupMenuMac.mm:
2963         (WebCore::PopupMenu::PopupMenu): remove nil initialization
2964         (WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup
2965         (WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup
2966         (WebCore::PopupMenu::populate): ditto 
2967         (WebCore::PopupMenu::show): ditto
2968         (WebCore::PopupMenu::hide): ditto
2969         (WebCore::PopupMenu::addSeparator): ditto
2970         (WebCore::PopupMenu::addGroupLabel): ditto
2971         (WebCore::PopupMenu::addOption): ditto
2972
2973 2006-10-18  Geoffrey Garen  <ggaren@apple.com>
2974
2975         Reviewed by Adele.
2976
2977         Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
2978         are tracking or menus are down (run loop modes)
2979
2980         I spent a few hours trying to write an automated test, but DRT doesn't
2981         seem to support it. Manual tests attached to related bugs.
2982         
2983         * bridge/mac/FrameMac.mm:
2984         (WebCore::FrameMac::passMouseDownEventToWidget):
2985         * platform/mac/SharedTimerMac.cpp:
2986         (WebCore::setSharedTimerFireTime):
2987
2988 2006-10-18  Sam Weinig  <sam.weinig@gmail.com>
2989
2990         Reviewed by Maciej.
2991
2992         More Win32 buildfix.
2993
2994         * bridge/win/FrameWin.h:
2995
2996 2006-10-18  Sam Weinig  <sam.weinig@gmail.com>
2997
2998         Reviewed by Mitz
2999
3000         Win32 build fix.
3001
3002         * bridge/win/BrowserExtensionWin.cpp:
3003         (WebCore::BrowserExtensionWin::BrowserExtensionWin):
3004         (WebCore::BrowserExtensionWin::createNewWindow):
3005         * bridge/win/BrowserExtensionWin.h:
3006         * bridge/win/FrameWin.cpp:
3007         (WebCore::FrameWin::createNewWindow):
3008         * bridge/win/FrameWin.h:
3009         * platform/win/CursorWin.cpp:
3010         * platform/win/TemporaryLinkStubs.cpp:
3011         (Image::getHBITMAP):
3012
3013 2006-10-18  Justin Garcia  <justin.garcia@apple.com>
3014
3015         Reviewed by harrison
3016         
3017         <rdar://problem/4784823>
3018         GMail Editor: Hang occurs when removing list styling on text in a rich text message
3019
3020         List removal moves the contents of every list item out of the list it's 
3021         in. When the code tried to move the contents of an empty list item (an li 
3022         with no child nodes, not even a placeholder br), moveParagraph didn't prune 
3023         the li, like it would if the li had a placeholder inside it.  So the list 
3024         removal code went into an infinite loop, continually attempting to de-list 
3025         an empty list item.
3026
3027         * editing/CompositeEditCommand.cpp:
3028         (WebCore::CompositeEditCommand::moveParagraphs): If the selection
3029         to move was empty and in an empty block that doesn't require a 
3030         placeholder to prop itself open (like a bordered div or an li), 
3031         remove it during the move.
3032
3033 2006-10-18  Adele Peterson  <adele@apple.com>
3034
3035         Reviewed by Beth.
3036
3037         - Fixed http://bugs.webkit.org/show_bug.cgi?id=11343
3038           REGRESSION (r16975): fast/events/objc-event-api is failing
3039
3040           When I moved the autoscroll code from FrameMac to Frame, I mistakingly changed the order of
3041           a call to invalidateClick.  This change moves it back to the sequence that existed before.  This allows
3042           the click count to get properly reset during a selection.
3043
3044         * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):
3045
3046 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
3047         
3048         Reviewed by Anders.
3049         
3050         Factored common scaling code into a helper function.
3051
3052         * platform/mac/ScreenMac.mm:
3053         (WebCore::scale):
3054         (WebCore::scaleScreenRectToPageCoordinates):
3055         (WebCore::scalePageRectToScreenCoordinates):
3056
3057 2006-10-17  Steve Falkenburg  <sfalken@apple.com>
3058
3059         Build fixes
3060
3061         * bridge/win/BrowserExtensionWin.cpp:
3062         (WebCore::BrowserExtensionWin::createNewWindow):
3063         * bridge/win/BrowserExtensionWin.h:
3064         * bridge/win/FrameWin.cpp:
3065         (WebCore::FrameWin::createNewWindow):
3066         * bridge/win/FrameWin.h:
3067         * platform/gdk/BrowserExtensionGdk.h:
3068         * platform/gdk/TemporaryLinkStubs.cpp:
3069         (BrowserExtensionGdk::createNewWindow):
3070         * platform/qt/BrowserExtensionQt.cpp:
3071         (WebCore::BrowserExtensionQt::createNewWindow):
3072         * platform/qt/BrowserExtensionQt.h:
3073
3074 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
3075
3076         Reviewed by Anders.
3077         
3078         Renamed WindowArgs to WindowFeatures, and moved it into its own header.
3079         ("Features" is the term of art in IE documentation. "Args" is pirate
3080         talk.)
3081
3082         * WebCore.xcodeproj/project.pbxproj:
3083         * bindings/js/kjs_window.cpp:
3084         (KJS::createNewWindow):
3085         (KJS::showModalDialog):
3086         (KJS::setWindowFeature):
3087         (KJS::parseWindowFeatures):
3088         (KJS::constrainToVisible):
3089         (KJS::WindowFunc::callAsFunction):
3090         * bridge/BrowserExtension.h:
3091         * bridge/WindowFeatures.h: Added.
3092         * bridge/mac/BrowserExtensionMac.h:
3093         * bridge/mac/BrowserExtensionMac.mm:
3094         (WebCore::BrowserExtensionMac::createNewWindow):
3095
3096 2006-10-17  Sam Weinig  <sam.weinig@gmail.com>
3097
3098         Reviewed by Tim H.
3099
3100         Patch for http://bugs.webkit.org/show_bug.cgi?id=11268
3101         Implement the Objective-C DOM bindings for SVGNumber, SVGRect, and SVGPoint
3102
3103         - Adds implementation for DOMSVGNumber, DOMSVGRect, and DOMSVGPoint.
3104
3105         - Moves the contents of ksvg/bindings/js/ to bindings/js/.
3106
3107         - Moves SVGZoomEvent.idl from ksvg/svg/ to ksvg/events/.
3108
3109         - Adds isSVGColor() and isSVGPaint() methods to StyleBase, matching 
3110           the other CSSValue classing, and allowing the bindings to allocate
3111           appropriately.
3112
3113         - Removes #ifdefs around the getBBox() method in SVGLocatable.idl allowing
3114           generation for Objective-C.
3115
3116         - Assorted style cleanups.
3117
3118         * DerivedSources.make:
3119         * WebCore.xcodeproj/project.pbxproj:
3120         * bindings/objc/DOMCSS.mm:
3121         (+[DOMCSSValue _CSSValueWith:WebCore::]):
3122         * bindings/objc/DOMEvents.mm:
3123         (+[DOMEvent _eventWith:WebCore::]):
3124         * bindings/objc/DOMSVG.h:
3125         * bindings/objc/DOMSVGNumber.mm:
3126         (-[DOMSVGNumber dealloc]):
3127         (-[DOMSVGNumber finalize]):
3128         (-[DOMSVGNumber value]):
3129         (-[DOMSVGNumber setValue:]):
3130         (-[DOMSVGNumber _SVGNumber]):
3131         (-[DOMSVGNumber _initWithFloat:]):
3132         (+[DOMSVGNumber _SVGNumberWith:]):
3133         * bindings/objc/DOMSVGPoint.mm:
3134         (-[DOMSVGPoint dealloc]):
3135         (-[DOMSVGPoint finalize]):
3136         (-[DOMSVGPoint x]):
3137         (-[DOMSVGPoint setX:]):
3138         (-[DOMSVGPoint y]):
3139         (-[DOMSVGPoint setY:]):
3140         (-[DOMSVGPoint WebCore::]):
3141         (-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
3142         (+[DOMSVGPoint _SVGPointWith:WebCore::]):
3143         * bindings/objc/DOMSVGRect.mm:
3144         (-[DOMSVGRect dealloc]):
3145         (-[DOMSVGRect finalize]):
3146         (-[DOMSVGRect x]):
3147         (-[DOMSVGRect setX:]):
3148         (-[DOMSVGRect y]):
3149         (-[DOMSVGRect setY:]):
3150         (-[DOMSVGRect width]):
3151         (-[DOMSVGRect setWidth:]):
3152         (-[DOMSVGRect height]):
3153         (-[DOMSVGRect setHeight:]):
3154         (-[DOMSVGRect WebCore::]):
3155         (-[DOMSVGRect _initWithFloatRect:WebCore::]):
3156         (+[DOMSVGRect _SVGRectWith:WebCore::]):
3157         * bindings/scripts/CodeGeneratorObjC.pm:
3158         * css/StyleBase.h:
3159         (WebCore::StyleBase::isSVGColor):
3160         (WebCore::StyleBase::isSVGPaint):
3161         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
3162         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Removed.
3163         * ksvg2/bindings/js/JSSVGNumber.cpp: Removed.
3164         * ksvg2/bindings/js/JSSVGNumber.h: Removed.
3165         * ksvg2/bindings/js/JSSVGPoint.cpp: Removed.
3166         * ksvg2/bindings/js/JSSVGPoint.h: Removed.
3167         * ksvg2/bindings/js/JSSVGRect.cpp: Removed.
3168         * ksvg2/bindings/js/JSSVGRect.h: Removed.
3169         * ksvg2/svg/SVGColor.h:
3170         (WebCore::SVGColor::isSVGColor):
3171         * ksvg2/svg/SVGFECompositeElement.idl:
3172         * ksvg2/svg/SVGFEFloodElement.idl:
3173         * ksvg2/svg/SVGLocatable.idl:
3174         * ksvg2/svg/SVGMarkerElement.idl:
3175         * ksvg2/svg/SVGPaint.h:
3176         (WebCore::SVGPaint::isSVGPaint):
3177         * ksvg2/svg/SVGRectElement.idl:
3178         * ksvg2/svg/SVGZoomEvent.idl: Removed.
3179
3180 2006-10-17  David Hyatt  <hyatt@apple.com>
3181
3182         Prepare for the elimination of the RenderLayer for <html> elements.  The layer is still present,
3183         but this patch makes everything work without a root layer being around.
3184
3185         Reviewed by beth
3186
3187         * rendering/RenderBlock.cpp:
3188         (WebCore::RenderBlock::paint):
3189         (WebCore::RenderBlock::paintChildren):
3190         (WebCore::RenderBlock::nodeAtPoint):
3191         * rendering/RenderLayer.cpp:
3192         (WebCore::frameVisibleRect):
3193         (WebCore::RenderLayer::hitTest):
3194         (WebCore::RenderLayer::hitTestLayer):
3195         (WebCore::RenderLayer::intersectsDamageRect):
3196         * rendering/RenderObject.cpp:
3197         (WebCore::RenderObject::setInnerNode):
3198         * rendering/RenderView.cpp:
3199         (WebCore::RenderView::paint):
3200
3201 2006-10-17  David Hyatt  <hyatt@apple.com>
3202
3203         Back out my previous patch to the WebCore memory cache.
3204
3205         * loader/Cache.cpp:
3206         (WebCore::Cache::flush):
3207         (WebCore::Cache::setSize):
3208         (WebCore::Cache::getLRUListFor):
3209         (WebCore::Cache::removeFromLRUList):
3210         (WebCore::Cache::insertInLRUList):
3211         * loader/Cache.h:
3212         * loader/CachedCSSStyleSheet.cpp:
3213         (WebCore::CachedCSSStyleSheet::deref):
3214         * loader/CachedCSSStyleSheet.h:
3215         * loader/CachedImage.cpp:
3216         (WebCore::CachedImage::deref):
3217         * loader/CachedImage.h:
3218         * loader/CachedResource.cpp:
3219         (WebCore::CachedResource::setRequest):
3220         (WebCore::CachedResource::deref):
3221         * loader/CachedResource.h:
3222         (WebCore::CachedResource::allowInLRUList):
3223         * loader/CachedScript.cpp:
3224         (WebCore::CachedScript::deref):
3225         * loader/CachedScript.h:
3226         * loader/CachedXBLDocument.cpp:
3227         (WebCore::CachedXBLDocument::deref):
3228         * loader/CachedXBLDocument.h:
3229         * loader/CachedXSLStyleSheet.cpp:
3230         (WebCore::CachedXSLStyleSheet::deref):
3231         * loader/CachedXSLStyleSheet.h:
3232
3233 2006-10-17  Oliver Hunt  <oliver@apple.com>
3234
3235         Reviewed by Anders.
3236
3237         Make north and east resize cursors use correct image
3238
3239         * platform/win/CursorWin.cpp:
3240         (WebCore::eastResizeCursor):
3241         (WebCore::northResizeCursor):
3242
3243 2006-10-17  Oliver Hunt  <oliver@apple.com>
3244
3245         Reviewed by Brady
3246
3247         Various cursor fixes
3248
3249         * page/FrameView.cpp:
3250         (WebCore::FrameView::handleMouseMoveEvent):
3251         * platform/Cursor.h:
3252         * platform/mac/CursorMac.mm:
3253         (WebCore::pointerCursor):
3254         * platform/win/CursorWin.cpp:
3255         (WebCore::supportsAlphaCursors):
3256         (WebCore::Cursor::Cursor):
3257         (WebCore::Cursor::~Cursor):
3258         (WebCore::pointerCursor):
3259
3260 2006-10-17  Justin Garcia  <justin.garcia@apple.com>
3261
3262         Reviewed by harrison
3263         
3264         <rdar://problem/4776665>
3265         REGRESSION: In Mail, caret is visible when the message body isn't focused
3266
3267         * page/Frame.cpp:
3268         (WebCore::Frame::paintCaret): If a caret blink timer is ever on in error
3269         (like when the frame that contains the caret isn't focused) then we don't 
3270         want to paint the caret.  We should eventually move to using a single bool
3271         for caret painting.
3272
3273 2006-10-17  Justin Garcia  <justin.garcia@apple.com>
3274
3275         Reviewed by harrison
3276         
3277         <rdar://problem/4774354>
3278         REGRESSION: In Gmail, caret reappears when dragging a selection over some text in the message body
3279
3280         Functions call recomputCaretRect to see if the caret rect has changed, 
3281         and, if it has, they invalidate (repaint) it.  recomputeCaretRect was 
3282         returning false if the caret turned into a range selection or was blown 
3283         away.
3284
3285         * editing/SelectionController.cpp:
3286         (WebCore::SelectionController::recomputeCaretRect): Don't early return if
3287         !isCaret().  Obtain the FrameView* using the m_frame pointer, because m_sel 
3288         may now be null.
3289
3290 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
3291
3292         Reviewed by Brady.
3293
3294         BrowserExtension cleanup.
3295         
3296         - Removed unnecessary #include of BrowserExtension in Frame.h, added
3297         #includes to compensate in other files.
3298         
3299         - Removed unused versions of createNewWindow.
3300         
3301         * bindings/js/kjs_window.cpp:
3302         * bridge/BrowserExtension.h:
3303         * bridge/mac/BrowserExtensionMac.h:
3304         * bridge/mac/BrowserExtensionMac.mm:
3305         (WebCore::BrowserExtensionMac::createNewWindow):
3306         * bridge/mac/WebCoreFrameBridge.mm:
3307         * html/HTMLFormElement.cpp:
3308         * loader/mac/LoaderFunctionsMac.mm:
3309         * page/Frame.h:
3310         * page/FramePrivate.h:
3311
3312 2006-10-15  Geoffrey Garen  <ggaren@apple.com>
3313
3314         Reviewed by Adam.
3315         
3316         - Fixed "FIXME: Violates Liskov Substitution principle."
3317         
3318         IFRAME was never a true subclass of FRAME, since they disagreed on a
3319         number of behaviors, which, confusingly, IFRAME just overrode and contradicted. 
3320
3321         The fix here is to factor out things common to IFRAME and FRAME into a
3322         common base class, HTMLFrameElementBase.
3323         
3324         I also changed some " *" to "* " and added #includes in files that implicitly
3325         assumed that HTMLIFrameElement.h #included HTMLFrameElement.h.
3326
3327 2006-10-16  Justin Garcia  <justin.garcia@apple.com>
3328
3329         Reviewed by sullivan
3330         
3331         <rdar://problem/4776765>
3332         REGRESSION: Caret's ghost left behind after inserting a paragraph separator (11237)
3333
3334         We set m_needsLayout to false and call caretRect() in the hopes that it will give us 
3335         the old caret rect.  It in fact corrects the caret rect for an offset that it 
3336         believes is due to scrolling but which is actually due to a change in selection
3337         without an accompanying layout.  So it returns the new caret rect regardless of
3338         what m_needsLayout is set to.
3339         
3340         * editing/SelectionController.cpp:
3341         (WebCore::repaintRectForCaret): Moved the code from caretRepaintRect that
3342         adds a one pixel slop to this new function.
3343         (WebCore::SelectionController::caretRepaintRect): Moved this code to
3344         repaintRectForCaret.
3345         (WebCore::SelectionController::recomputeCaretRect): Compare the old
3346         caret rect to the new one that's computed with a fresh layout.  If
3347         they are different, invalidate both repaint rects.
3348
3349 2006-10-17  David Harrison  <harrison@apple.com>
3350
3351         Reviewed by Adele.
3352
3353         <rdar://problem/4770453> VO not honoring secure edit fields in web pages
3354
3355         * bridge/mac/WebCoreAXObject.mm:
3356         (-[WebCoreAXObject isPasswordField]):
3357         New. Checks for input with inputType() of PASSWORD.
3358         
3359         (-[WebCoreAXObject subrole]):
3360         Returns NSAccessibilitySecureTextFieldSubrole if [self isPasswordField].
3361         
3362         (-[WebCoreAXObject roleDescription]):
3363         Pass [self subrole] instead of nil when calling NSAccessibilityRoleDescription.
3364         
3365         (-[WebCoreAXObject value]):
3366         Return nil if [self isPasswordField].
3367         
3368         (-[WebCoreAXObject accessibilityAttributeNames]):
3369         Return generic attributes if [self isPasswordField].
3370
3371         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
3372         Return empty array if [self isPasswordField].
3373
3374 2006-10-17  David Hyatt  <hyatt@apple.com>
3375
3376         Fix "flash to white' problem on yahoo.com as it finishes loading.  Refine the FOUC suppression
3377         code so that it will only run if the body still has no renderer.
3378
3379         * dom/Document.cpp:
3380         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
3381
3382 2006-10-17  David Hyatt  <hyatt@apple.com>
3383
3384         Fix a bug where the WebCore memory cache could grow without bound during extended browsing
3385         sessions.
3386
3387         Reviewed by mjs
3388
3389         * loader/Cache.cpp:
3390         (WebCore::Cache::flush):
3391         (WebCore::Cache::setSize):
3392         (WebCore::Cache::getLRUListFor):
3393         (WebCore::Cache::removeFromLRUList):
3394         (WebCore::Cache::insertInLRUList):
3395         * loader/Cache.h:
3396         * loader/CachedCSSStyleSheet.cpp:
3397         * loader/CachedCSSStyleSheet.h:
3398         * loader/CachedImage.cpp:
3399         * loader/CachedImage.h:
3400         * loader/CachedResource.cpp:
3401         (WebCore::CachedResource::setRequest):
3402         (WebCore::CachedResource::deref):
3403         * loader/CachedResource.h:
3404         (WebCore::CachedResource::allowInLRUList):
3405         * loader/CachedScript.cpp:
3406         * loader/CachedScript.h:
3407         * loader/CachedXBLDocument.cpp:
3408         * loader/CachedXBLDocument.h:
3409         * loader/CachedXSLStyleSheet.cpp:
3410         * loader/CachedXSLStyleSheet.h:
3411
3412 2006-10-13  Justin Garcia  <justin.garcia@apple.com>
3413
3414         Reviewed by harrison
3415         
3416         <rdar://problem/3655385>
3417         Editing: -indent: method unimplemented
3418
3419         Added Frame and bridge methods.
3420
3421         * bridge/mac/WebCoreFrameBridge.h:
3422         * bridge/mac/WebCoreFrameBridge.mm:
3423         (-[WebCoreFrameBridge indent]):
3424         (-[WebCoreFrameBridge outdent]):
3425         * page/Frame.cpp:
3426         (WebCore::Frame::indent): 
3427         (WebCore::Frame::outdent):
3428         * page/Frame.h:
3429
3430 2006-10-16  Adam Roben  <aroben@apple.com>
3431
3432         Reviewed by John.
3433
3434         More menulist cleanup/tweaking.
3435
3436         * html/HTMLSelectElement.cpp:
3437         (WebCore::HTMLSelectElement::setSelectedIndex): Renamed 'index'
3438         parameter to 'optionIndex' for clarity.
3439         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Skip over
3440         items that are not enabled <option> elements when using arrow keys, and
3441         make sure we pass an option index to setSelectedIndex.
3442         * platform/PopupMenu.h:
3443         (WebCore::PopupMenu::setWasClicked): Specify default argument.
3444         * rendering/RenderMenuList.cpp:
3445         (WebCore::RenderMenuList::setTextFromOption): Strip whitespace from
3446         option text before setting the control text so that options within
3447         <optgroup>s don't appear indented in the actual control.
3448
3449 2006-10-16  Sam Weinig  <sam.weinig@gmail.com>
3450
3451         Reviewed by Adam.
3452
3453         Win32 build fix.
3454
3455         * WebCore.vcproj/WebCore/WebCore.vcproj:
3456         * bridge/win/BrowserExtensionWin.cpp:
3457         (WebCore::BrowserExtensionWin::createNewWindow):
3458         * bridge/win/FrameWin.cpp:
3459         (WebCore::FrameWin::urlSelected):
3460         (WebCore::FrameWin::submitForm):
3461         (WebCore::FrameWin::createNewWindow):
3462         * bridge/win/FrameWin.h:
3463         * loader/loader.cpp:
3464         (WebCore::Loader::receivedResponse):
3465         * platform/win/GraphicsContextWin.cpp:
3466         (WebCore::GraphicsContext::getWindowsContext):
3467         (WebCore::GraphicsContext::releaseWindowsContext):
3468         * platform/win/TemporaryLinkStubs.cpp:
3469         (FrameWin::openURLRequest):
3470         (WebCore::ServeSynchronousRequest):
3471         (WebCore::CheckIfReloading):
3472         (WebCore::IsResponseURLEqualToURL):
3473         (WebCore::ResponseMIMEType):
3474         (WebCore::ResponseIsMultipart):
3475         (WebCore::CacheObjectExpiresTime):
3476         (CachedResource::setResponse):
3477         (CachedResource::setAllData):
3478         * rendering/RenderThemeWin.cpp:
3479         (WebCore::doneDrawing):
3480         (WebCore::RenderThemeWin::paintButton):
3481         (WebCore::RenderThemeWin::paintTextField):
3482
3483 2006-10-16  David Hyatt  <hyatt@apple.com>
3484
3485         Fix for bug 9347, positioned elements have the wrong containing block.  This is a change from CSS2 to
3486         CSS2.1.  In the absence of any other enclosing positioned elements, the containing block for a positioned
3487         element is the initial containing block (our RenderView).
3488
3489         Reviewed by mjs
3490
3491         Test cases added to fast/block/positioning for quirks and strict modes.
3492
3493         * rendering/RenderBlock.cpp:
3494         (WebCore::RenderBlock::lowestPosition):
3495         (WebCore::RenderBlock::rightmostPosition):
3496         (WebCore::RenderBlock::leftmostPosition):
3497         * rendering/RenderBox.cpp:
3498         (WebCore::RenderBox::containingBlockHeightForPositioned):
3499         (WebCore::RenderBox::calcAbsoluteVertical):
3500         * rendering/RenderObject.cpp:
3501         (WebCore::RenderObject::containingBlock):
3502         (WebCore::RenderObject::container):
3503
3504 2006-10-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3505
3506         Reviewed by Anders.
3507
3508         Misc Gdk/Linux build fixes.
3509
3510         * platform/gdk/BrowserExtensionGdk.h:
3511         * platform/gdk/FrameGdk.cpp:
3512         (WebCore::FrameGdk::submitForm):
3513         (WebCore::FrameGdk::urlSelected):
3514         * platform/gdk/FrameGdk.h:
3515         * platform/gdk/RenderPopupMenuGdk.cpp:
3516         (WebCore::PopupMenu::PopupMenu):
3517         (WebCore::PopupMenu::~PopupMenu):
3518         (WebCore::PopupMenu::clear):
3519         (WebCore::PopupMenu::populate):
3520         (WebCore::PopupMenu::show):
3521         (WebCore::PopupMenu::hide):
3522         (WebCore::PopupMenu::addSeparator):
3523         (WebCore::PopupMenu::addGroupLabel):
3524         (WebCore::PopupMenu::addOption):
3525         * platform/gdk/RenderPopupMenuGdk.h:
3526         * platform/gdk/RenderThemeGdk.cpp:
3527         * platform/gdk/RenderThemeGdk.h:
3528         (WebCore::RenderThemeGdk::RenderThemeGdk):
3529         * platform/gdk/TemporaryLinkStubs.cpp:
3530         (BrowserExtensionGdk::createNewWindow):
3531         (BrowserExtensionGdk::BrowserExtensionGdk):
3532         (BrowserExtensionGdk::setTypedIconURL):
3533         (BrowserExtensionGdk::setIconURL):
3534         (BrowserExtensionGdk::getHistoryLength):
3535         (WebCore::CheckIfReloading):
3536         (WebCore::CacheObjectExpiresTime):
3537         (WebCore::ResponseURL):
3538         (WebCore::IsResponseURLEqualToURL):
3539         (WebCore::ResponseIsMultipart):
3540         (WebCore::ResponseMIMEType):
3541         (WebCore::CachedResource::setResponse):
3542         (WebCore::CachedResource::setAllData):
3543         (FileChooser::disconnectUploadControl):
3544         * rendering/RenderTheme.h:
3545         * rendering/RenderThemeMac.h:
3546
3547 2006-10-15  Sam Weinig  <sam.weinig@gmail.com>
3548
3549         Reviewed by Mitz.
3550
3551         Fix for http://bugs.webkit.org/show_bug.cgi?id=11294
3552         Add getModifierState method to KeyboardEvent
3553
3554         * bindings/objc/DOMEvents.h:
3555         * bindings/objc/DOMEvents.mm:
3556         * bindings/objc/PublicDOMInterfaces.h:
3557         * dom/KeyboardEvent.cpp:
3558         (WebCore::KeyboardEvent::getModifierState):
3559         * dom/KeyboardEvent.h:
3560         * dom/KeyboardEvent.idl:
3561
3562 2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
3563
3564         Reviewed and landed by ap.
3565
3566         Changed PlatformResponse handling for Qt. Don't just store
3567         a QString object containing the data but a new PlatformResponseQt struct
3568         containing data and url, and store it as pointer. This is compatible
3569         to the OS X handling and removes the Qt plaform specific hacks from
3570         CachedCSSStyleSheet, CachedResource & loader.
3571
3572         Add new file LoaderFunctionsQt, similar to LoaderFunctionsMac, and move
3573         all methods from TemporaryLinkStubs related to loading in there, and implement
3574         some like ServeSynchronousRequest (yay for xslt handling!).
3575
3576         * CMakeLists.txt:
3577         * loader/CachedCSSStyleSheet.cpp:
3578         (WebCore::CachedCSSStyleSheet::checkNotify):
3579         * loader/CachedResource.h:
3580         (WebCore::CachedResource::CachedResource):
3581         * loader/loader.cpp:
3582         (WebCore::Loader::receivedResponse):
3583         * platform/ResourceLoaderClient.h:
3584         * platform/ResourceLoaderInternal.h:
3585         * platform/qt/FrameQt.cpp:
3586         (WebCore::FrameQt::~FrameQt):
3587         (WebCore::FrameQt::createEmptyDocument):
3588         * platform/qt/FrameQt.h:
3589         (WebCore::QtFrame):
3590         * platform/qt/FrameQtClient.cpp:
3591         (WebCore::FrameQtClientDefault::setFrame):
3592         (WebCore::FrameQtClientDefault::openURL):
3593         (WebCore::FrameQtClientDefault::loadFinished):
3594         (WebCore::FrameQtClientDefault::receivedAllData):
3595         * platform/qt/FrameQtClient.h:
3596         * platform/qt/LoaderFunctionsQt.cpp: Added.
3597         (WebCore::ServeSynchronousRequest):
3598         (WebCore::NumberOfPendingOrLoadingRequests):
3599         (WebCore::CheckIfReloading):
3600         (WebCore::CheckCacheObjectStatus):
3601         (WebCore::IsResponseURLEqualToURL):
3602         (WebCore::ResponseURL):
3603         (WebCore::ResponseMIMEType):
3604         (WebCore::ResponseIsMultipart):
3605         (WebCore::CacheObjectExpiresTime):
3606         (WebCore::CachedResource::setResponse):
3607         (WebCore::CachedResource::setAllData):
3608         * platform/qt/ResourceLoaderManager.cpp:
3609         (WebCore::ResourceLoaderManager::remove):
3610         * platform/qt/ResourceLoaderQt.cpp:
3611         (WebCore::ResourceLoader::~ResourceLoader):
3612         (WebCore::ResourceLoader::start):
3613         (WebCore::ResourceLoader::assembleResponseHeaders):
3614         (WebCore::ResourceLoader::receivedResponse):
3615         * platform/qt/TemporaryLinkStubs.cpp:
3616
3617 2006-10-14  Rob Buis  <buis@kde.org>
3618
3619         Reviewed by Mitz.
3620
3621         http://bugs.webkit.org/show_bug.cgi?id=11217
3622         Cleanup svg coding style
3623
3624         Cleanup coding style in svg basic datastructure classes.
3625
3626         * ksvg2/svg/SVGAngle.cpp:
3627         (WebCore::SVGAngle::valueAsString):
3628         (WebCore::SVGAngle::context):
3629         (WebCore::SVGAngle::setContext):
3630         * ksvg2/svg/SVGAngle.h:
3631         * ksvg2/svg/SVGColor.cpp:
3632         * ksvg2/svg/SVGColor.h:
3633         * ksvg2/svg/SVGElement.cpp:
3634         (WebCore::SVGElement::ownerSVGElement):
3635         (WebCore::SVGElement::viewportElement):
3636         (WebCore::SVGElement::parseMappedAttribute):
3637         (WebCore::SVGElement::childShouldCreateRenderer):
3638         * ksvg2/svg/SVGElement.h:
3639         (WebCore::svg_dynamic_cast):
3640         * ksvg2/svg/SVGFitToViewBox.cpp:
3641         (WebCore::SVGFitToViewBox::parseViewBox):
3642         * ksvg2/svg/SVGFitToViewBox.h:
3643         * ksvg2/svg/SVGLangSpace.cpp:
3644         (WebCore::SVGLangSpace::parseMappedAttribute):
3645         * ksvg2/svg/SVGLangSpace.h:
3646         * ksvg2/svg/SVGLength.cpp:
3647         (WebCore::SVGLength::SVGLength):
3648         (WebCore::SVGLength::setValueAsString):
3649         (WebCore::SVGLength::dpi):
3650         (WebCore::SVGLength::updateValue):
3651         (WebCore::SVGLength::updateValueInSpecifiedUnits):
3652         (WebCore::SVGLength::context):
3653         (WebCore::SVGLength::setContext):
3654         * ksvg2/svg/SVGLength.h:
3655         * ksvg2/svg/SVGLengthList.cpp:
3656         * ksvg2/svg/SVGLengthList.h:
3657         * ksvg2/svg/SVGLocatable.cpp:
3658         (WebCore::SVGLocatable::nearestViewportElement):
3659         (WebCore::SVGLocatable::farthestViewportElement):
3660         (WebCore::SVGLocatable::getBBox):
3661         (WebCore::SVGLocatable::getCTM):
3662         (WebCore::SVGLocatable::getScreenCTM):
3663         * ksvg2/svg/SVGNumberList.cpp:
3664         * ksvg2/svg/SVGNumberList.h:
3665         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
3666         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
3667         (WebCore::SVGPreserveAspectRatio::getCTM):
3668         * ksvg2/svg/SVGPreserveAspectRatio.h:
3669         * ksvg2/svg/SVGStringList.cpp:
3670         (WebCore::SVGStringList::reset):
3671         * ksvg2/svg/SVGStringList.h:
3672         * ksvg2/svg/SVGStylable.cpp:
3673         * ksvg2/svg/SVGStylable.h:
3674         * ksvg2/svg/SVGTests.cpp:
3675         (WebCore::SVGTests::requiredFeatures):
3676         (WebCore::SVGTests::requiredExtensions):
3677         (WebCore::SVGTests::systemLanguage):
3678         (WebCore::SVGTests::isValid):
3679         (WebCore::SVGTests::parseMappedAttribute):
3680         * ksvg2/svg/SVGTests.h:
3681         * ksvg2/svg/SVGTransformable.cpp:
3682         (WebCore::SVGTransformable::parseTransformAttribute):
3683         * ksvg2/svg/SVGTransformable.h:
3684         * ksvg2/svg/SVGURIReference.cpp:
3685         (WebCore::SVGURIReference::parseMappedAttribute):
3686         * ksvg2/svg/SVGZoomAndPan.cpp:
3687         (WebCore::SVGZoomAndPan::parseMappedAttribute):
3688         * ksvg2/svg/SVGZoomAndPan.h:
3689
3690 2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
3691
3692         Reviewed by Oliver.
3693
3694         Implement some functions in FrameQt / ScrollViewQt.
3695
3696         Added comments what needs to be done in quite some places,
3697         marked some functions as no-ops.
3698
3699         * CMakeLists.txt:
3700         * platform/qt/FrameQt.cpp:
3701         (WebCore::FrameQt::FrameQt):
3702         (WebCore::FrameQt::runJavaScriptConfirm):
3703         (WebCore::FrameQt::locationbarVisible):
3704         (WebCore::FrameQt::createFrame):
3705         (WebCore::FrameQt::passSubframeEventToSubframe):
3706         (WebCore::FrameQt::menubarVisible):
3707         (WebCore::FrameQt::personalbarVisible):
3708         (WebCore::FrameQt::statusbarVisible):
3709         (WebCore::FrameQt::toolbarVisible):
3710         (WebCore::FrameQt::markedTextRange):
3711         (WebCore::FrameQt::lastEventIsMouseUp):
3712         (WebCore::FrameQt::openURLRequest):
3713         (WebCore::FrameQt::scheduleClose):
3714         (WebCore::FrameQt::unfocusWindow):
3715         (WebCore::FrameQt::focusWindow):
3716         (WebCore::FrameQt::overrideMediaType):
3717         (WebCore::FrameQt::runJavaScriptPrompt):
3718         (WebCore::FrameQt::bindingRootObject):
3719         (WebCore::FrameQt::addPluginRootObject):
3720         (WebCore::FrameQt::registerCommandForUndo):
3721         (WebCore::FrameQt::registerCommandForRedo):
3722         (WebCore::FrameQt::clearUndoRedoOperations):
3723         (WebCore::FrameQt::respondToChangedSelection):
3724         (WebCore::FrameQt::respondToChangedContents):
3725         (WebCore::FrameQt::shouldChangeSelection):
3726         (WebCore::FrameQt::canGoBackOrForward):
3727         (WebCore::FrameQt::canPaste):
3728         (WebCore::FrameQt::canRedo):
3729         (WebCore::FrameQt::canUndo):
3730         * platform/qt/FrameQt.h:
3731         * platform/qt/FrameQtClient.cpp:
3732         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
3733         (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
3734         (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
3735         (WebCore::FrameQtClientDefault::menubarVisible):
3736         (WebCore::FrameQtClientDefault::toolbarVisible):
3737         (WebCore::FrameQtClientDefault::statusbarVisible):
3738         (WebCore::FrameQtClientDefault::personalbarVisible):
3739         (WebCore::FrameQtClientDefault::locationbarVisible):
3740         * platform/qt/FrameQtClient.h:
3741         * platform/qt/ImageSourceQt.cpp:
3742         * platform/qt/RenderThemeQt.cpp:
3743         * platform/qt/ScrollViewQt.cpp:
3744         (WebCore::ScrollView::scrollPointRecursively):
3745         * platform/qt/TemporaryLinkStubs.cpp:
3746         (WebCore::CachedResource::setResponse):
3747         (WebCore::CachedResource::setAllData):
3748
3749 2006-10-14  David Harrison  <harrison@apple.com>
3750
3751         Reviewed by Geoff.
3752
3753         <rdar://problem/4775213> REGRESSION: Can't from tab from last link on the page to URL address field
3754         <rdar://problem/4783926> REGRESSION: Typing tab key enters no text
3755
3756         The problem is that EventTargetNode::defaultEventHandler() calls event->setDefaultHandled() regardless
3757         of whether frame->view()->advanceFocus() actually changed the focus.
3758
3759         Trivial fix is to preventDefault() only if advanceFocus() returns true.
3760
3761         * No test is possible because DumpRenderTree sets the WebView preference to
3762         tab to links, and that preference cannot be changed dynamically after
3763         the webview is initialized. Also, the "tab from last link" is not testable
3764         because DumpRenderTree uses the WebView for the whole window, so tabs can't
3765         shift focus out of the WebView regardless.
3766
3767         * dom/EventTargetNode.cpp:
3768         (WebCore::EventTargetNode::defaultEventHandler):
3769
3770 2006-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
3771
3772         Reviewed by Mitz.
3773
3774         Fix Qt/Linux build & some little fixes:
3775
3776         - Adapt to Maciej's FrameLoadRequest changes.
3777         - Fix response handling - don't try to compare with '0' - for us it's a non-ptr QString object.
3778         - Actually call setAllData from loader/loader.cpp (David Carson forgot that in his last commit)
3779         - Fix CacheObjectExpiresTime/ResponseIsMultipart signature.
3780
3781         * loader/CachedCSSStyleSheet.cpp:
3782         (WebCore::CachedCSSStyleSheet::checkNotify):
3783         * loader/CachedResource.h:
3784         (WebCore::CachedResource::CachedResource):
3785         * loader/loader.cpp:
3786         (WebCore::Loader::receivedAllData):
3787         (WebCore::Loader::receivedResponse):
3788         * platform/qt/BrowserExtensionQt.cpp:
3789         (WebCore::BrowserExtensionQt::createNewWindow):
3790         * platform/qt/BrowserExtensionQt.h:
3791         * platform/qt/FrameQt.cpp:
3792         (WebCore::FrameQt::submitForm):
3793         (WebCore::FrameQt::urlSelected):
3794         (WebCore::FrameQt::openURLRequest):
3795         * platform/qt/FrameQt.h:
3796         * platform/qt/GraphicsContextQt.cpp:
3797         (WebCore::GraphicsContext::setURLForRect):
3798         * platform/qt/TemporaryLinkStubs.cpp:
3799         (WebCore::CacheObjectExpiresTime):
3800         (WebCore::ResponseIsMultipart):
3801         (WebCore::CachedResource::setResponse):
3802         (WebCore::CachedResource::setAllData):
3803
3804 2006-10-14  David Carson  <dacarson@gmail.com>
3805
3806         Reviewed by Maciej.
3807
3808         Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
3809         Removed Mac platform dependance, changed WebCore functions to
3810         use PlatformResponse/PlatformData rather than NSURLResponse/
3811         NSData. 
3812
3813         * loader/CachedCSSStyleSheet.cpp:
3814         (WebCore::CachedCSSStyleSheet::checkNotify):
3815         * loader/CachedImage.cpp:
3816         (WebCore::CachedImage::createImage):
3817         * loader/CachedResource.cpp:
3818         (WebCore::CachedResource::~CachedResource):
3819         * loader/CachedResource.h:
3820         (WebCore::CachedResource::CachedResource):
3821         (WebCore::CachedResource::response):
3822         (WebCore::CachedResource::allData):
3823         * loader/LoaderFunctions.h:
3824         * loader/loader.cpp:
3825         (WebCore::Loader::receivedResponse):
3826         * loader/mac/LoaderFunctionsMac.mm:
3827         (WebCore::ResponseMIMEType):
3828         (WebCore::ResponseIsMultipart):
3829         (WebCore::CacheObjectExpiresTime):
3830         (WebCore::CachedResource::setResponse):
3831         (WebCore::CachedResource::setAllData):
3832         * platform/qt/TemporaryLinkStubs.cpp:
3833         (WebCore::CacheObjectExpiresTime):
3834         (WebCore::ResponseIsMultipart):
3835         (WebCore::ResponseMIMEType):
3836         (WebCore::CachedResource::setResponse):
3837         (WebCore::CachedResource::setAllData):
3838         * platform/win/TemporaryLinkStubs.cpp:
3839         (WebCore::CacheObjectExpiresTime):
3840         (WebCore::ResponseIsMultipart):
3841         (WebCore::ResponseMIMEType):
3842         (WebCore::CachedResource::setResponse):
3843         (WebCore::CachedResource::setAllData):
3844
3845 2006-10-14  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3846
3847         Reviewed by Maciej.
3848
3849         Fix GDK build by defining FrameGdkClient() constructor as non-virtual.
3850         Pure virtual classes require non-pure destructor, who knew.
3851
3852         Make CURL networking dependent on USE(CURL) instead of PLATFORM(GDK),
3853         so that other platforms can also use CURL, if they wish.
3854
3855         Silence compiler warning about unused variable in SharedTimerLinux.cpp
3856
3857         * platform/ResourceLoaderInternal.h:
3858         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3859         * platform/gdk/FrameGdk.h:
3860         (WebCore::FrameGdkClient::~FrameGdkClient):
3861         * platform/gdk/ResourceLoaderManager.cpp:
3862         (WebCore::ResourceLoaderManager::downloadTimerCallback):
3863         * platform/gdk/SharedTimerLinux.cpp:
3864         (WebCore::stopSharedTimer):
3865
3866 2006-10-13  Beth Dakin  <bdakin@apple.com>
3867
3868         Reviewed by Geoff.
3869
3870         Build fix from my last check-in. Make hasOutlineAnnotation() non-
3871         inline so that we don't have to include Document.h in 
3872         RenderObject.h
3873         Doing so causes a build failure in WebKit, and it probably isn't a 
3874         good idea anyway.
3875
3876         * rendering/RenderObject.cpp:
3877         (WebCore::RenderObject::hasOutlineAnnotation):
3878         * rendering/RenderObject.h:
3879         (WebCore::RenderObject::hasOutline):
3880
3881 2006-10-13  Beth Dakin  <bdakin@apple.com>
3882
3883         Patch written mostly by Ken Kraisler, but also by me.
3884
3885         Reviewed by Hyatt.
3886
3887         Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar://
3888         problem/3391162> PDF created by printing should have live 
3889         hyperlinks
3890
3891         * platform/GraphicsContext.cpp:
3892         (WebCore::GraphicsContext::focusRingBoundingRect):
3893         * platform/GraphicsContext.h:
3894         * platform/cairo/GraphicsContextCairo.cpp:
3895         (WebCore::GraphicsContext::setURLForRect):
3896         * platform/cg/GraphicsContextCG.cpp:
3897         (WebCore::GraphicsContext::setURLForRect): Implement method to add 
3898         URL link to PDF document.
3899         * rendering/InlineFlowBox.cpp:
3900         (WebCore::InlineFlowBox::paint): Ask hasOutline() instead of 
3901         querying the outline width
3902         * rendering/RenderBlock.cpp:
3903         (WebCore::RenderBlock::paintObject): Same as above.
3904         * rendering/RenderFlow.cpp:
3905         (WebCore::RenderFlow::paintLines): Call the new paintOutline()
3906         (WebCore::RenderFlow::paintOutline): Take care of focus ring and 
3907         pdf url rects, and outline painting.
3908         * rendering/RenderFlow.h:
3909         * rendering/RenderObject.cpp:
3910         (WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF 
3911         link to a rectanglular region.
3912         (WebCore::RenderObject::paintOutline): Take care of pdf rects as 
3913         well as focus ring painting.
3914         * rendering/RenderObject.h:
3915         (WebCore::RenderObject::hasOutlineAnnotation): Returns true is the 
3916         element is a link and we are printing.
3917         (WebCore::RenderObject::hasOutline): Returns true is the style has 
3918         an outline and hasOutlineAnnotation() is true.
3919         * rendering/RenderStyle.h:
3920         (WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is 
3921         greater than 0 and outlineStyle is greater than BHIDDEN.
3922
3923 2006-10-13  Justin Garcia  <justin.garcia@apple.com>
3924
3925         Reviewed by ggaren and harrison
3926         
3927         <rdar://problem/4744008>
3928         9A270: Mail crashes when I try to paste large items from Safari
3929
3930         * editing/ReplaceSelectionCommand.cpp:
3931         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
3932         Even though we put nodes in the hash map in pre-order, they don't necessary
3933         come out of the iterator that way.  If a node is a redundant style span
3934         and one of its pruned ancestors comes off the hash map after it, and that
3935         ancestor is a redundant style span or font tag, we will try to remove it
3936         even though it has already been removed and we'll crash.
3937         The test case added with the fix depends on our hash map implementation
3938         because it requires that a particular redundant style span come out of 
3939         the iterator before its parent. So, it may eventually not provide 
3940         coverage for the fix.
3941
3942 2006-10-13  Maciej Stachowiak  <mjs@apple.com>
3943
3944         Reviewed by Darin.
3945
3946         - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool
3947
3948         * WebCore.xcodeproj/project.pbxproj:
3949         * bindings/js/kjs_window.cpp:
3950         (KJS::createNewWindow):
3951         (KJS::WindowFunc::callAsFunction):
3952         * bridge/BrowserExtension.h:
3953         * bridge/mac/BrowserExtensionMac.h:
3954         * bridge/mac/BrowserExtensionMac.mm:
3955         (WebCore::BrowserExtensionMac::createNewWindow):
3956         * bridge/mac/FrameMac.h:
3957         * bridge/mac/FrameMac.mm:
3958         (WebCore::FrameMac::submitForm):
3959         (WebCore::FrameMac::openURLRequest):
3960         (WebCore::FrameMac::urlSelected):
3961         * bridge/win/BrowserExtensionWin.h:
3962         * page/Frame.cpp:
3963         (WebCore::Frame::changeLocation):
3964         (WebCore::Frame::urlSelected):
3965         (WebCore::Frame::requestFrame):
3966         (WebCore::Frame::submitForm):
3967         * page/Frame.h:
3968         * page/FrameLoadRequest.h: Added.
3969         (WebCore::FrameLoadRequest::FrameLoadRequest):
3970         (WebCore::FrameLoadRequest::lockHistory):
3971         (WebCore::FrameLoadRequest::setLockHistory):
3972         * page/ResourceRequest.h:
3973         (WebCore::ResourceRequest::ResourceRequest):
3974
3975 2006-10-13  John Sullivan  <sullivan@apple.com>
3976
3977         Reviewed by Maciej
3978
3979         * loader/mac/WebFrameLoader.mm:
3980         (-[WebFrameLoader loadDocumentLoader:]):
3981         Replace ASSERT(!policyDocumentLoader) with code that handles this case. This can
3982         happen when loading a page during a decidePolicyForNavigationAction callback.
3983
3984 2006-10-13  Dave Hyatt  <hyatt@apple.com>
3985
3986         Transparency layer work.
3987
3988         Reviewed by aroben
3989
3990         * platform/GraphicsContext.h:
3991         * platform/cg/GraphicsContextCG.cpp:
3992         (WebCore::GraphicsContext::beginTransparencyLayer):
3993         (WebCore::GraphicsContext::endTransparencyLayer):
3994         * platform/cg/GraphicsContextPlatformPrivate.h:
3995         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
3996         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
3997
3998 2006-10-13  Rob Buis  <buis@kde.org>
3999
4000         Reviewed by Mitz.
4001
4002         http://bugs.webkit.org/show_bug.cgi?id=11217
4003         Cleanup svg coding style
4004
4005         Cleanup coding style in svg paint server classes.
4006
4007         * ksvg2/svg/SVGGradientElement.cpp:
4008         (WebCore::SVGGradientElement::SVGGradientElement):
4009         (WebCore::SVGGradientElement::parseMappedAttribute):
4010         (WebCore::SVGGradientElement::notifyAttributeChange):
4011         (WebCore::SVGGradientElement::canvasResource):
4012         (WebCore::SVGGradientElement::rebuildStops):
4013         * ksvg2/svg/SVGGradientElement.h:
4014         * ksvg2/svg/SVGLinearGradientElement.cpp:
4015         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
4016         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
4017         (WebCore::SVGLinearGradientElement::buildGradient):
4018         * ksvg2/svg/SVGLinearGradientElement.h:
4019         * ksvg2/svg/SVGPatternElement.cpp:
4020         (WebCore::SVGPatternElement::SVGPatternElement):
4021         (WebCore::SVGPatternElement::parseMappedAttribute):
4022         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
4023         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
4024         (WebCore::SVGPatternElement::notifyClientsToRepaint):
4025         (WebCore::SVGPatternElement::notifyAttributeChange):
4026         (WebCore::SVGPatternElement::canvasResource):
4027         (WebCore::SVGPatternElement::getCTM):
4028         * ksvg2/svg/SVGPatternElement.h:
4029         (WebCore::SVGPatternElement::rendererIsNeeded):
4030         * ksvg2/svg/SVGRadialGradientElement.cpp:
4031         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
4032         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
4033         (WebCore::SVGRadialGradientElement::buildGradient):
4034         * ksvg2/svg/SVGRadialGradientElement.h:
4035         * ksvg2/svg/SVGStopElement.cpp:
4036         (WebCore::SVGStopElement::SVGStopElement):
4037         (WebCore::SVGStopElement::parseMappedAttribute):
4038         * ksvg2/svg/SVGStopElement.h:
4039
4040 2006-10-13  Geoffrey Garen  <ggaren@apple.com>
4041
4042         Reviewed by Darin, John.
4043
4044         - Merged more frame and iframe code
4045         - Fixed a bug where iframes returned incorrect values for renderer-dependent 
4046         properties during javascript: loads because they didn't have renderers at 
4047         load time
4048         
4049         PLT insists this is a small performance win. Don't believe its lies.
4050
4051         * bindings/js/kjs_html.cpp:
4052         (KJS::JSHTMLElement::frameGetter): Renamed frameWidth and frameHeight to
4053         width and height, for consistency with the rest of the DOM.
4054         * dom/ContainerNode.cpp:
4055         (WebCore::ContainerNode::queuePostAttachCallback): Added a post-attach callback
4056         queue that gets drained after the render tree is fully constructed. Currently,
4057         this is only used for frame loading.
4058         (WebCore::ContainerNode::attach):
4059         * dom/ContainerNode.h:
4060         * html/HTMLFrameElement.cpp:
4061         (WebCore::HTMLFrameElement::insertedIntoDocument): Removed frame loading from
4062         attach() because loading iframes during attach() causes a crash. 
4063         Moved frame loading logic into insertedIntoDocument(). That's a more 
4064         logical place for it because  document insertion is what 
4065         triggers frame loading. Made frame loading a post-attach callback, instead
4066         of an immediate action, to fix the incorrect values bug.
4067         (WebCore::HTMLFrameElement::attach): Added setWidget call that used to be
4068         in HTMLIFrameElement::attach. IFRAME requires this call. FRAME will soon 
4069         require this call, once I remove the call from WebKit.
4070         (WebCore::HTMLFrameElement::setLocation):
4071         (WebCore::HTMLFrameElement::width):
4072         (WebCore::HTMLFrameElement::height):
4073         * html/HTMLFrameElement.h: Made openURL non-virtual to avoid the unnecessary
4074         killing of puppies.
4075         * html/HTMLIFrameElement.cpp: Merged code into HTMLFrameElement
4076         (WebCore::HTMLIFrameElement::rendererIsNeeded):
4077         (WebCore::HTMLIFrameElement::createRenderer):
4078         (WebCore::HTMLIFrameElement::insertedIntoDocument):
4079         (WebCore::HTMLIFrameElement::removedFromDocument):
4080         (WebCore::HTMLIFrameElement::attach):
4081         * page/FrameView.h: Removed unused method.
4082
4083 2006-10-13  David Harrison  <harrison@apple.com>
4084
4085         Reviewed by Justin.
4086
4087         <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
4088
4089         Tests added or changed:
4090         * editing/style/style-boundary-005.html: Added. Matches steps from bug.
4091         * editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
4092         * editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
4093         * editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
4094         * editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).
4095
4096         * dom/Text.cpp:
4097         (WebCore::Text::splitText):
4098         Comment changes.
4099         
4100         * editing/ApplyStyleCommand.cpp:
4101         (WebCore::isUnstyledStyleSpan):
4102         Renamed from isEmptyStyleSpan.
4103         
4104         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
4105         Rename emptySpans local to unstyledSpans.
4106         
4107         (WebCore::dummySpanAncestorForNode):
4108         New. To locate Apple style span created when splitting a text node.
4109         
4110         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
4111         Renamed from cleanUpEmptyStyleSpans. Algorithm changed to scan children
4112         of dummy span's parents, rather than traversing up from start and
4113         end locations. Old algorithm would miss empty spans in the bug case.
4114         
4115         (WebCore::ApplyStyleCommand::applyInlineStyle):
4116         Use dummySpanAncestorForNode() and cleanupUnstyledAppleStyleSpans().
4117         
4118         (WebCore::ApplyStyleCommand::removeCSSStyle):
4119         Renamed isEmptyStyleSpan() to isUnstyledStyleSpan().
4120         
4121         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
4122         Comment changes.
4123         
4124         * editing/ApplyStyleCommand.h:
4125         Renamed cleanUpEmptyStyleSpans() to cleanupUnstyledAppleStyleSpans().
4126           
4127         * editing/ReplaceSelectionCommand.cpp:
4128         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
4129         Allow for Apple style span to be unstyled, because old email may have this in the DOM.
4130         Use !node->hasChildNodes() instead of !node->firstChild().
4131         
4132         * editing/SplitTextNodeCommand.cpp:
4133         (WebCore::SplitTextNodeCommand::doApply):
4134         Comment changes.
4135         
4136         * rendering/RenderTreeAsText.cpp:
4137         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
4138         (WebCore::operator<<):
4139         Flag empty or unstyled AppleStyleSpa nbecause we never want to leave them in the DOM
4140
4141 2006-10-13  Nikolas Zimmermann  <zimmermann@kde.org>
4142
4143         Reviewed by Eric.
4144
4145         Fix Qt/Linux build after Adele's popup menu changes.
4146
4147         * CMakeLists.txt:
4148         * platform/qt/FileChooserQt.cpp:
4149         (WebCore::FileChooser::disconnectUploadControl):
4150         * platform/qt/PopupMenuQt.cpp: Added.
4151         (WebCore::PopupMenu::PopupMenu):
4152         (WebCore::PopupMenu::~PopupMenu):
4153         (WebCore::PopupMenu::clear):
4154         (WebCore::PopupMenu::populate):
4155         (WebCore::PopupMenu::show):
4156         (WebCore::PopupMenu::hide):
4157         (WebCore::PopupMenu::addSeparator):
4158         (WebCore::PopupMenu::addGroupLabel):
4159         (WebCore::PopupMenu::addOption):
4160         * platform/qt/RenderPopupMenuQt.cpp: Removed.
4161         * platform/qt/RenderPopupMenuQt.h: Removed.
4162         * platform/qt/RenderThemeQt.cpp:
4163
4164 2006-10-13  Kevin McCullough  <KMcCullough@apple.com>
4165
4166         Reviewed by Darin.
4167
4168         fixed build failure 
4169
4170         * WebCore.xcodeproj/project.pbxproj:
4171         * loader/mac/WebFrameLoader.mm:
4172
4173 2006-10-13  Darin Adler  <darin@apple.com>
4174
4175         Reviewed by Adele.
4176
4177         - converted WebFormState from Objective-C to C++
4178
4179         * WebCore.exp: Added a new symbol, changed one symbol from C to C++.
4180
4181         * WebCore.xcodeproj/project.pbxproj: Made lots of headers "private" instead of "project".
4182         Added UChar.h and FrameLoaderTypes.h.
4183
4184         * loader/FrameLoaderTypes.h: Added. Has enums from WebFrameLoader.h.
4185
4186         * loader/mac/WebFormState.h: Converted class to C++.
4187         * loader/mac/WebFormState.mm: Ditto.
4188
4189         * loader/mac/WebFrameLoader.h:
4190         * loader/mac/WebFrameLoader.mm:
4191         (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
4192         (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
4193         (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
4194         (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
4195         (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
4196         (-[WebFrameLoader continueAfterNewWindowPolicy:]):
4197         (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
4198