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