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