e573646ddbee05fe398f05cba12f230fbcc5298e
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-25  Eric Seidel  <eric@webkit.org>
2
3         Reviewed by Justin.
4
5         Crash Safari when dragging images into Google presentations
6         https://bugs.webkit.org/show_bug.cgi?id=20161
7
8         Test: manual-tests/remove-on-drop-crash.html
9
10         * editing/ReplaceSelectionCommand.cpp:
11         (WebCore::ReplaceSelectionCommand::doApply):
12         * manual-tests/remove-on-drop-crash.html: Added.
13
14 2008-07-30  Christian Dywan  <christian@twotoasts.de>
15
16         Reviewed by Mark.
17
18         Build fix for Cairo < 1.6
19
20         * platform/graphics/cairo/PathCairo.cpp:
21         (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6
22
23 2008-07-29  Kevin McCullough  <kmccullough@apple.com>
24
25         Reviewed by Geoff.
26
27         <rdar://problem/6110314> Crash in profiler dereferencing null frame or
28         page (20214)
29         - Null check.
30
31         * page/Console.cpp:
32         (WebCore::Console::finishedProfiling):
33
34 2008-07-30  David Hyatt  <hyatt@apple.com>
35
36         https://bugs.webkit.org/show_bug.cgi?id=18070
37         
38         Full page zoom needs to work properly with JS mouse events.  Make sure to adjust the coordinates of the
39         JS mouse event to account for zoom.
40
41         Reviewed by olliej
42
43         * dom/EventTargetNode.cpp:
44         (WebCore::EventTargetNode::dispatchMouseEvent):
45
46 2008-07-29  Sam Weinig  <sam@webkit.org>
47
48         Reviewed by Darin Adler.
49
50         Update Cross-site XMLHttpRequests using Access control to
51         the latest spec. (Editor's Draft 8 July 2008)
52
53         - This leaves us at about the same place as we previously were
54           still needing preflight caching and better redirect support.
55
56         * GNUmakefile.am:
57         * WebCore.pro:
58         * WebCore.vcproj/WebCore.vcproj:
59         * WebCore.xcodeproj/project.pbxproj:
60         * WebCoreSources.bkl:
61         * xml/AccessControlList.cpp: Removed.
62         * xml/AccessControlList.h: Removed.
63         * xml/AccessItem.cpp: Removed.
64         * xml/AccessItem.h: Removed.
65         * xml/AccessItemRule.cpp: Removed.
66         * xml/AccessItemRule.h: Removed.
67         * xml/XMLHttpRequest.cpp:
68         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
69         (WebCore::XMLHttpRequest::XMLHttpRequest):
70         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
71         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
72         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
73         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
74         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
75         (WebCore::XMLHttpRequest::abort):
76         (WebCore::XMLHttpRequest::clearRequest):
77         (WebCore::XMLHttpRequest::didFinishLoading):
78         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
79         (WebCore::XMLHttpRequest::accessControlCheck):
80         (WebCore::XMLHttpRequest::didReceiveResponse):
81         (WebCore::parseAccessControlAllowList):
82         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
83         * xml/XMLHttpRequest.h:
84
85 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
86
87         Reviewed by Adele.
88
89         Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag
90
91         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
92
93 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
94
95         Reviewed by Adele.
96
97         Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance
98
99         For standalone video, use QTMovieView to draw.
100
101         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
102         (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
103          Associate the QTMovieView with the WebCoreMovieObserver.
104          If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 
105         (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
106         (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
107         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks.  Call createQTMovieView for media documents.
108         (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
109         (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
110         (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
111         (-[WebCoreMovieObserver setView:]): Added.
112
113 2008-07-29  Adele Peterson  <adele@apple.com>
114
115         Reviewed by Dan Bernstein.
116
117         Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents
118
119         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
120         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
121         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
122         apply PseudoFullPageMedia for elements in a full page media document.
123
124         * css/html4.css: Added rule to shift control panel down for video in standalone media documents.
125
126         * rendering/RenderMedia.cpp:
127         (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
128         This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
129         (WebCore::RenderMedia::rightmostPosition): ditto.
130         (WebCore::RenderMedia::leftmostPosition): ditto.
131         * rendering/RenderMedia.h:
132
133 2008-07-29  Sam Weinig  <sam@webkit.org>
134
135         Reviewed by Anders Carlsson.
136
137         <rdar://problem/6084585> Investigate upload progress events.
138
139         - Add progress notifications for data being sent via a ResourceHandle.
140         - Add XMLHttpRequestUpload support.
141
142         Upload notifications only work on the Mac right now as the CFNetwork API
143         on windows does not expose enough information.
144
145         Tests: http/tests/xmlhttprequest/upload-onload-event.html
146                http/tests/xmlhttprequest/upload-onloadstart-event.html
147                http/tests/xmlhttprequest/upload-onprogress-event.html
148                http/tests/xmlhttprequest/upload-progress-events.html
149
150         * DerivedSources.make:
151         * GNUmakefile.am:
152         * WebCore.pro:
153         * WebCore.vcproj/WebCore.vcproj:
154         * WebCore.xcodeproj/project.pbxproj:
155         * WebCoreSources.bkl:
156         * bindings/js/JSEventTargetBase.cpp:
157         (WebCore::toJS):
158         * bindings/js/JSXMLHttpRequestCustom.cpp:
159         (WebCore::JSXMLHttpRequest::mark):
160         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
161         (WebCore::JSXMLHttpRequestUpload::mark):
162         (WebCore::JSXMLHttpRequestUpload::onabort):
163         (WebCore::JSXMLHttpRequestUpload::setOnabort):
164         (WebCore::JSXMLHttpRequestUpload::onerror):
165         (WebCore::JSXMLHttpRequestUpload::setOnerror):
166         (WebCore::JSXMLHttpRequestUpload::onload):
167         (WebCore::JSXMLHttpRequestUpload::setOnload):
168         (WebCore::JSXMLHttpRequestUpload::onloadstart):
169         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
170         (WebCore::JSXMLHttpRequestUpload::onprogress):
171         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
172         (WebCore::JSXMLHttpRequestUpload::addEventListener):
173         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
174         (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
175         * dom/EventTarget.cpp:
176         (WebCore::EventTarget::toXMLHttpRequestUpload):
177         * dom/EventTarget.h:
178         * loader/ResourceLoader.cpp:
179         (WebCore::ResourceLoader::didSendData):
180         * loader/ResourceLoader.h:
181         * loader/SubresourceLoader.cpp:
182         (WebCore::SubresourceLoader::didSendData):
183         * loader/SubresourceLoader.h:
184         * loader/SubresourceLoaderClient.h:
185         (WebCore::SubresourceLoaderClient::didSendData):
186         * page/DOMWindow.idl:
187         * platform/network/FormData.cpp:
188         (WebCore::FormData::FormData):
189         * platform/network/FormData.h:
190         (WebCore::FormData::alwaysStream):
191         (WebCore::FormData::setAlwaysStream):
192         * platform/network/ResourceHandleClient.h:
193         (WebCore::ResourceHandleClient::didSendData):
194         * platform/network/mac/FormDataStreamMac.h:
195         * platform/network/mac/FormDataStreamMac.mm:
196         (WebCore::getStreamFormDataMap):
197         (WebCore::getStreamResourceHandleMap):
198         (WebCore::associateStreamWithResourceHandle):
199         (WebCore::disassociateStreamWithResourceHandle):
200         (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
201         (WebCore::performDidSendDataCallback):
202         (WebCore::formCreate):
203         (WebCore::formFinalize):
204         (WebCore::formRead):
205         (WebCore::setHTTPBody):
206         (WebCore::httpBodyFromStream):
207         * platform/network/mac/ResourceHandleMac.mm:
208         (WebCore::ResourceHandle::start):
209         (WebCore::ResourceHandle::cancel):
210         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
211         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
212         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
213         * xml/XMLHttpRequest.cpp:
214         (WebCore::XMLHttpRequest::XMLHttpRequest):
215         (WebCore::XMLHttpRequest::~XMLHttpRequest):
216         (WebCore::XMLHttpRequest::upload):
217         (WebCore::XMLHttpRequest::open):
218         (WebCore::XMLHttpRequest::send):
219         (WebCore::XMLHttpRequest::createRequest):
220         (WebCore::XMLHttpRequest::abort):
221         (WebCore::XMLHttpRequest::networkError):
222         (WebCore::XMLHttpRequest::abortError):
223         (WebCore::XMLHttpRequest::didSendData):
224         * xml/XMLHttpRequest.h:
225         (WebCore::XMLHttpRequest::optionalUpload):
226         * xml/XMLHttpRequest.idl:
227         * xml/XMLHttpRequestUpload.cpp: Added.
228         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
229         (WebCore::XMLHttpRequestUpload::addEventListener):
230         (WebCore::XMLHttpRequestUpload::removeEventListener):
231         (WebCore::XMLHttpRequestUpload::dispatchEvent):
232         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
233         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
234         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
235         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
236         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
237         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
238         * xml/XMLHttpRequestUpload.h: Added.
239         (WebCore::XMLHttpRequestUpload::create):
240         (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
241         (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
242         (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
243         (WebCore::XMLHttpRequestUpload::setOnAbortListener):
244         (WebCore::XMLHttpRequestUpload::onAbortListener):
245         (WebCore::XMLHttpRequestUpload::setOnErrorListener):
246         (WebCore::XMLHttpRequestUpload::onErrorListener):
247         (WebCore::XMLHttpRequestUpload::setOnLoadListener):
248         (WebCore::XMLHttpRequestUpload::onLoadListener):
249         (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
250         (WebCore::XMLHttpRequestUpload::onLoadStartListener):
251         (WebCore::XMLHttpRequestUpload::setOnProgressListener):
252         (WebCore::XMLHttpRequestUpload::onProgressListener):
253         (WebCore::XMLHttpRequestUpload::eventListeners):
254         (WebCore::XMLHttpRequestUpload::refEventTarget):
255         (WebCore::XMLHttpRequestUpload::derefEventTarget):
256         * xml/XMLHttpRequestUpload.idl: Added.
257
258 2008-07-29  Maxime Britto  <britto@apple.com>
259
260         Reviewed by Darin.
261
262         <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
263         With this patch we now stop the pan scroll and swallow the event to prevent any following action.
264
265         * page/EventHandler.cpp:
266         (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.
267
268 2008-07-29  Maxime Britto  <britto@apple.com>
269
270         Reviewed by adele.
271
272         Test: fast/events/autoscroll-in-textfield.html
273
274         * rendering/RenderObject.cpp:
275         (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
276         nb:the test case introduced in r35244 is still working.
277
278 2008-07-29  Maxime Britto  <britto@apple.com>
279
280         Reviewed by adele.
281         This test verifies that the autoscroll works within textfields.
282
283         * fast/events/autoscroll-in-textfield-expected.txt: Added.
284         * fast/events/autoscroll-in-textfield.html: Added.
285
286 2008-07-29  Adele Peterson  <adele@apple.com>
287
288         Reviewed by Sammy Weinig.
289
290         Fix for <rdar://problem/6103024>
291         When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video
292
293         Test: media/video-click-dlbclick-standalone.html
294
295         * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
296         match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
297         * loader/MediaDocument.h: Added defaultEventHandler.
298
299         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
300         * rendering/MediaControlElements.cpp:
301         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo.  Instead of "event->defaultHandled()",
302          it is supposed to be "event->setDefaultHandled()".
303         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
304         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
305         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
306
307 2008-07-29  Dan Bernstein  <mitz@apple.com>
308
309         Reviewed by Dave Hyatt.
310
311         - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
312
313         Test: fast/overflow/float-in-relpositioned.html
314
315         * rendering/RenderBlock.cpp:
316         (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
317         to floats' and positioned objects' lowest position.
318         (WebCore::RenderBlock::rightmostPosition): Ditto.
319         (WebCore::RenderBlock::leftmostPosition): Ditto.
320         * rendering/RenderBox.cpp:
321         (WebCore::RenderBox::lowestPosition): Removed redundant test.
322         (WebCore::RenderBox::rightmostPosition): Ditto.
323         (WebCore::RenderBox::leftmostPosition): Ditto.
324
325 2008-07-29  Dan Bernstein  <mitz@apple.com>
326
327         Reviewed by Dave Hyatt.
328
329         - fix <rdar://problem/6048566> Repaint original element's position, not its offset position
330
331         Test: fast/repaint/layout-state-relative.html
332
333         * rendering/RenderBox.cpp:
334         (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
335         code path to account for the object's relative offset.
336         (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
337
338 2008-07-29  Keishi Hattori  <casey.hattori@gmail.com>
339
340         Fixed Bug 19158: Inspector should support console.group/console.groupEnd
341
342         <https://bugs.webkit.org/show_bug.cgi?id=19158>
343
344         Reviewed by Tim Hatcher and Adam Roben.
345
346         * bindings/js/JSConsoleCustom.cpp:
347         (WebCore::JSConsole::group): Added.
348         * page/Console.cpp:
349         (WebCore::Console::group): Added.
350         (WebCore::Console::groupEnd): Added.
351         * page/Console.h:
352         (WebCore::):
353         * page/Console.idl: Added group/groupEnd.
354         * page/InspectorController.cpp:
355         (WebCore::ConsoleMessage::ConsoleMessage):
356         (WebCore::InspectorController::InspectorController): Added m_groupLevel.
357         (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
358         (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
359         (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
360         (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
361         (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
362         * page/InspectorController.h:
363         * page/inspector/Console.js:
364         (WebInspector.Console): Added groupLevel and currentGroup topGroup.
365         (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
366         (WebInspector.Console.startGroup): Added.
367         (WebInspector.Console.endGroup): Added.
368         (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
369         (WebInspector.ConsoleMessage): Added groupLevel property.
370         (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
371         (WebInspector.ConsoleGroup): Added.
372         (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
373         (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
374         * page/inspector/inspector.css:
375         * page/inspector/inspector.js:
376         (WebInspector.startGroupInConsole): Calls console.startGroup
377         (WebInspector.endGroupInConsole): Calls console.endGroup
378
379 2008-07-29  Adam Roben  <aroben@apple.com>
380
381         Add names for WebCore's threads
382
383         Reviewed by Anders Carlsson.
384
385         * loader/icon/IconDatabase.cpp:
386         (WebCore::IconDatabase::open):
387         * storage/DatabaseThread.cpp:
388         (WebCore::DatabaseThread::start):
389         * storage/LocalStorageThread.cpp:
390         (WebCore::LocalStorageThread::start):
391         Pass in names to createThread.
392
393         * platform/network/cf/ResourceHandleCFNet.cpp:
394         (WebCore::runLoaderThread):
395         (WebCore::ResourceHandle::loaderRunLoop):
396         Changed to use WTF::createThread.
397
398 2008-07-28  Anders Carlsson  <andersca@apple.com>
399
400         Reviewed by Kevin Decker.
401
402         Based on a patch from Dimcho Balev.
403         
404         Windows part of 
405     
406         https://bugs.webkit.org/show_bug.cgi?id=18676
407         <rdar://problem/6106578>
408         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
409
410         * plugins/PluginStream.cpp:
411         (WebCore::PluginStream::wantsAllStreams):
412         * plugins/PluginStream.h:
413
414 2008-07-28  Brady Eidson  <beidson@apple.com>
415
416         Reviewed by Sam Weinig
417
418         Test: security/autocomplete-cleared-on-back.html
419
420         <rdar://problem/6093281> - autocomplete="off" should work when going back
421
422         Taken care of in two ways:
423         1 - Listening for the page cache notification to clear the form, in cases where the page
424             is being restored from the page cache
425         2 - Not saving such form elements when doing the normal "save state" to a history item,
426             for cases with no page cache
427
428         * html/HTMLFormElement.cpp:
429         (WebCore::HTMLFormElement::~HTMLFormElement):
430         (WebCore::HTMLFormElement::parseMappedAttribute):
431         (WebCore::HTMLFormElement::didRestoreFromCache):
432         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
433         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
434         * html/HTMLFormElement.h:
435
436         * html/HTMLInputElement.cpp:
437         (WebCore::HTMLInputElement::~HTMLInputElement):
438         (WebCore::HTMLInputElement::setInputType):
439         (WebCore::HTMLInputElement::saveState):
440         (WebCore::HTMLInputElement::parseMappedAttribute):
441         (WebCore::HTMLInputElement::needsCacheCallback):
442         (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
443           indicate we should.
444         (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
445           and attribute are clear of needing registration.
446         (WebCore::HTMLInputElement::didRestoreFromCache):
447         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
448         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
449         * html/HTMLInputElement.h:
450
451 2008-07-28  David Hyatt  <hyatt@apple.com>
452
453         Add support for CSS variable declaration blocks.
454
455         Reviewed by Sam
456
457         Added tests in fast/css/variables.
458
459         * css/CSSGrammar.y:
460         * css/CSSMutableStyleDeclaration.h:
461         (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
462         * css/CSSParser.cpp:
463         (WebCore::CSSParser::addVariableDeclarationBlock):
464         * css/CSSParser.h:
465         * css/CSSProperty.cpp:
466         (WebCore::CSSProperty::cssText):
467         * css/CSSPropertyNames.in:
468         * css/CSSStyleSelector.cpp:
469         (WebCore::CSSStyleSelector::addMatchedDeclaration):
470         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
471         * css/CSSStyleSelector.h:
472         * css/CSSValueList.h:
473         (WebCore::CSSValueList::isValueList):
474         * css/CSSVariablesDeclaration.cpp:
475         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
476         (WebCore::CSSVariablesDeclaration::getVariableValue):
477         (WebCore::CSSVariablesDeclaration::removeVariable):
478         (WebCore::CSSVariablesDeclaration::addParsedVariable):
479         (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
480         (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
481         * css/CSSVariablesDeclaration.h:
482         (WebCore::CSSVariablesDeclaration::create):
483         * css/StyleBase.cpp:
484         (WebCore::StyleBase::cssText):
485         * css/StyleBase.h:
486         (WebCore::StyleBase::isValueList):
487         (WebCore::StyleBase::isMutableStyleDeclaration):
488
489 2008-07-28  Anders Carlsson  <andersca@apple.com>
490
491         Reviewed by Sam.
492
493         <rdar://problem/6098335>
494         https://bugs.webkit.org/show_bug.cgi?id=20150
495         
496         Handle willSendRequest correctly.
497
498         * loader/SubresourceLoader.cpp:
499         (WebCore::SubresourceLoader::willSendRequest):
500         Make sure to keep the previous URL around so we know when to call willSendRequest.
501         
502         * xml/XMLHttpRequest.cpp:
503         (WebCore::XMLHttpRequest::processSyncLoadResults):
504         Abort if we don't have access to the response URL.
505         
506         (WebCore::XMLHttpRequest::willSendRequest):
507         Dispatch a network error if we can't access the new URL.
508
509 2008-07-28  Geoffrey Garen  <ggaren@apple.com>
510
511         Reviewed by Sam Weinig.
512
513         Renamed "ConstructTypeNative" => "ConstructTypeHost".
514         
515 2008-07-28  Anders Carlsson  <andersca@apple.com>
516
517         Reviewed by Kevin Decker.
518
519         Based on a patch by Dimcho Balev.
520
521         https://bugs.webkit.org/show_bug.cgi?id=18676
522         <rdar://problem/6106578>
523         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
524         
525         * bridge/npapi.h:
526         Add new enum values.
527         
528         * loader/NetscapePlugInStreamLoader.cpp:
529         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
530         When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
531         if an error occurs.
532         
533         * loader/NetscapePlugInStreamLoader.h:
534         (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
535         Add new client method.
536
537 2008-07-27  Sam Weinig  <sam@webkit.org>
538
539         Reviewed by Oliver Hunt.
540
541         Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
542         querySelectorAll id optimization no longer working
543
544         Turn the querySelector/querySelectorAll id optimization back on
545         for only strict and almost strict mode.  In quirks mode, the optimiztion
546         won't work as the id match is not case sensitive.
547
548         Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
549                fast/dom/SelectorAPI/caseID-strict.html
550                fast/dom/SelectorAPI/caseID.html
551
552         * dom/Node.cpp:
553         (WebCore::Node::querySelector):
554         (WebCore::Node::querySelectorAll):
555         * dom/SelectorNodeList.cpp:
556         (WebCore::createSelectorNodeList):
557         * dom/SelectorNodeList.h:
558
559 2008-07-27  Anatoli Papirovski  <apapirovski@mac.com>
560
561         Reviewed by Dave Hyatt.
562
563         Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
564         Modified the css parser:
565         - not to fail when closing braces are not found for 
566           a declaration at the end of the file
567         - not to accept "!important fail" as valid
568         - to keep accepting @import when it comes after invalid @ rules
569         - not to drop the whole @media block when there's an error before the 
570           closing brace
571         + some other minor css parsing revisions.
572
573         CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.
574
575         * css/CSSGrammar.y:
576
577 2008-07-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
578
579         Reviewed by Eric Seidel.
580
581         Use --outputDir instead of --output when invoking make_names.pl
582         There's no option named "output" in make_names.pl
583
584         * GNUmakefile.am:
585         * WebCore.pro:
586         * DerivedSources.make: Remove --output. Not necessary here.
587         * bindings/scripts/generate-bindings.pl: Rename --outputdir to
588           --outputDir for consistency with make_names.pl
589
590 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
591
592         Reviewed by Eric Seidel.
593
594         http://bugs.webkit.org/show_bug.cgi?id=18694
595         [CAIRO] Problem with rotation in a given matrix in SVG
596
597         Changed values given to AffineTransform.
598
599         * platform/graphics/cairo/AffineTransformCairo.cpp:
600         (WebCore::AffineTransform::AffineTransform):
601         (WebCore::AffineTransform::setMatrix):
602
603 2008-07-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
604
605         Reviewed by Mark Rowe.
606
607         Call curl_global_cleanup() to release resources acquired by curl_global_init()
608
609         * platform/network/curl/ResourceHandleManager.cpp:
610         (WebCore::ResourceHandleManager::~ResourceHandleManager):
611
612 2008-07-26  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
613
614         Reviewed by Simon Hausmann.
615
616         Bug 18938: [GTK] Plugins not resized
617         https://bugs.webkit.org/show_bug.cgi?id=18938
618
619         * plugins/PluginView.cpp:
620         (WebCore::PluginView::setFrameGeometry): When viewing a full-page
621         plugin in unix, geometry changes have to be passed to the plugin.
622
623 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
624
625         Reviewed by Adam Roben.
626
627         Add console.time/timeEnd.
628         https://bugs.webkit.org/show_bug.cgi?id=19159
629
630         * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
631         * page/Console.cpp:
632         (WebCore::Console::time): Added.
633         (WebCore::Console::timeEnd): Added.
634         * page/Console.h:
635         * page/Console.idl: Added console.time/timeEnd.
636         * page/InspectorController.cpp:
637         (WebCore::InspectorController::startTiming): Added.
638         (WebCore::InspectorController::stopTiming): Added.
639         * page/InspectorController.h:
640
641 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
642
643         Reviewed by Nikolas Zimmermann.
644
645         Fixes rendering issues with gradients in SVG/Cairo.
646
647         * platform/graphics/cairo/PathCairo.cpp:
648         (WebCore::Path::boundingRect):
649         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
650         (WebCore::applyStrokeStyleToContext):
651         (WebCore::SVGPaintServerGradient::setup):
652
653 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
654
655         Reviewed by Nikolas Zimmermann.
656
657         Added pattern-support for SVG in Cairo.
658
659         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
660         (WebCore::applyStrokeStyleToContext):
661         (WebCore::SVGPaintServerPattern::setup):
662
663 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
664
665         Reviewed by Adam Roben.
666
667         Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
668         <https://bugs.webkit.org/show_bug.cgi?id=18540>
669
670         * page/inspector/Console.js:
671         (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
672
673 2008-07-26  Anthony Ricaud  <rik24d@gmail.com>
674
675         Reviewed by Tim Hatcher.
676
677         <https://bugs.webkit.org/show_bug.cgi?id=17589> Line highlighting should last longer
678
679         Restore the fade out effect after highlighting.
680
681         * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
682
683 2008-07-26  Michelangelo De Simone  <michelangelo@me.com>
684
685         Reviewed by Adele Petersen.
686
687         Added the simple willValidate attribute to form controls according to
688         WebForms 2 spec.
689
690         URL: http://www.w3.org/TR/web-forms-2/#willvalidate
691
692         Tests: fast/forms/willvalidate-000.html
693                fast/forms/willvalidate-001.html
694                fast/forms/willvalidate-002.html
695                fast/forms/willvalidate-003.html
696                fast/forms/willvalidate-004.html
697                fast/forms/willvalidate-005.html
698                fast/forms/willvalidate-006.html
699                fast/forms/willvalidate-007.html
700                fast/forms/willvalidate-008.html
701                fast/forms/willvalidate-009.html
702
703         * html/HTMLButtonElement.h: Added willValidate(), always false.
704         * html/HTMLButtonElement.idl: willValidate attribute exposed.
705         * html/HTMLFieldSetElement.h: Added willValidate(), always false.
706         * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
707         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
708         Added base willValidate() implementation.
709         * html/HTMLFormControlElement.h: Added willValidate().
710         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
711         Added willValidate(), checks for input type.
712         * html/HTMLInputElement.h: Added willValidate()
713         * html/HTMLInputElement.idl: willValidate attribute exposed.
714         * html/HTMLSelectElement.idl: willValidate attribute exposed.
715         * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
716
717 2008-07-26  Mark Rowe  <mrowe@apple.com>
718
719         Build fix.
720
721         * loader/FrameLoader.cpp:
722         (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
723
724 2008-07-26  Mark Rowe  <mrowe@apple.com>
725
726         Build fix.
727
728         * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
729
730 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
731
732         Reviewed by Geoff Garen.
733
734         Revised the FrameLoader class to clean up a variety of load methods, and hopefully
735         move things closer to integrating into a smaller set of load methods. To this
736         end, I renamed many of the overloaded load() methods to have more meaningful and 
737         easier to search names.  I added comments to the header file to provide clues as 
738         to how many of the load methods are being used, and how they fit into the loading 
739         process. I suspect that the renamed methods and comments indicating their present 
740         usage will facilitate easier cleanup by myself and others as inspiration strikes.
741
742         Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
743
744         Combined the 3 canLoad() methods into a single canLoad which expresses the 
745         intended logic of the 3 with a single method interface.
746
747         Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
748         one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
749
750         Removed unused userGesture parameter to one variant of the urlSelected method, and 
751         moved one of the urlSelected methods so that it lives nearer to its overloaded 
752         sibling.
753
754         * WebCore.base.exp:
755         * loader/Cache.cpp:
756         (WebCore::Cache::requestResource):
757         * loader/CachedResource.cpp:
758         (WebCore::CachedResource::CachedResource):
759         * loader/CachedResource.h:
760         (WebCore::CachedResource::errorOccurred):
761         * loader/FrameLoader.cpp:
762         (WebCore::FrameLoader::createWindow):
763         (WebCore::FrameLoader::urlSelected):
764         (WebCore::FrameLoader::loadURLIntoChildFrame):
765         (WebCore::FrameLoader::loadPlugin):
766         (WebCore::FrameLoader::loadFrameRequestWithFormState):
767         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
768         (WebCore::FrameLoader::loadURL):
769         (WebCore::FrameLoader::loadWithNavigationAction):
770         (WebCore::FrameLoader::load):
771         (WebCore::FrameLoader::loadWithDocumentLoader):
772         (WebCore::FrameLoader::canLoad):
773         (WebCore::FrameLoader::reloadAllowingStaleData):
774         (WebCore::FrameLoader::reload):
775         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
776         (WebCore::FrameLoader::submitForm):
777         (WebCore::FrameLoader::loadPostRequest):
778         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
779         (WebCore::FrameLoader::loadItem):
780         * loader/FrameLoader.h:
781         * loader/SubresourceLoader.cpp:
782         (WebCore::SubresourceLoader::create):
783         * page/ContextMenuController.cpp:
784         (WebCore::ContextMenuController::contextMenuItemSelected):
785
786 2008-07-26  Sam Weinig  <sam@webkit.org>
787
788         Reviewed by Dan Bernstein.
789
790         Fix https://bugs.webkit.org/show_bug.cgi?id=20122
791         <rdar://problem/6089522>
792         REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
793
794         Use strict parsing when in AlmostStrict mode.
795
796         Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
797                fast/dom/SelectorAPI/id-fastpath-almost-strict.html
798                fast/dom/SelectorAPI/id-fastpath-strict.html
799
800         * dom/Node.cpp:
801         (WebCore::Node::querySelector):
802         (WebCore::Node::querySelectorAll):
803
804 2008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>
805
806         Reviewed by Simon.
807
808         Switch off QPainter's anti aliasing when painting the widgets using QStyle
809         because otherwise the widgets will look blurry and not crisp.
810
811         * platform/qt/RenderThemeQt.cpp:
812         (WebCore::StylePainter::StylePainter):
813         (WebCore::StylePainter::~StylePainter):
814         * platform/qt/RenderThemeQt.h:
815
816 2008-07-25  Dan Bernstein  <mitz@apple.com>
817
818         Reviewed by Anders Carlsson.
819
820         - fix crash due to re-entering purgeInactiveFontData() now that it is
821           called by releaseFontData()
822
823         Not testable in DumpRenderTree
824
825         * platform/graphics/FontCache.cpp:
826         (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
827
828 2008-07-25  Brady Eidson  <beidson@apple.com>
829
830         Reviewed by Sam
831
832         Test: security/set-form-autocomplete-attribute.html
833
834         Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
835
836         The autocomplete attribute works on both <form> and <input> elements, but was not
837         inherited properly when someone asked an <input> if it should autocomplete.
838
839         I fixed this up based on the rules in the current WF2 spec so if the <input> element
840         has its own autocomplete attribute set, it will follow that but otherwise it will
841         inherit from its parent <form>
842
843         * WebCore.base.exp:
844
845         * html/HTMLInputElement.cpp:
846         (WebCore::HTMLInputElement::init):
847         (WebCore::HTMLInputElement::autoComplete):
848         (WebCore::HTMLInputElement::parseMappedAttribute):
849         * html/HTMLInputElement.h:
850         (WebCore::HTMLInputElement::):
851
852 2008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>
853
854         Reviewed by Holger Freyther.
855
856         https://bugs.webkit.org/show_bug.cgi?id=20078
857         [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
858
859         * plugins/gtk/gtk2xtbin.h:
860
861 2008-07-25  Anders Carlsson  <andersca@apple.com>
862
863         Reviewed by Sam.
864
865         Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
866
867         * platform/network/mac/WebCoreURLResponse.mm:
868         (-[NSURLResponse _webcore_MIMEType]):
869
870 2008-07-25  chris fleizach  <cfleizach@apple.com>
871
872         Reviewed by Beth Dakin
873
874         <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
875
876         Tests: accessibility/textarea-insertion-point-line-number.html
877                accessibility/textarea-line-for-index.html
878
879         * page/AccessibilityObject.cpp:
880         (WebCore::AccessibilityObject::lineForPosition):
881         * page/AccessibilityObject.h:
882         * page/mac/AccessibilityObjectWrapper.mm:
883         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
884         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
885
886 2008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>
887
888         Reviewed by mitz.
889
890         - fix https://bugs.webkit.org/show_bug.cgi?id=17906
891         <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
892         
893         Test: fast/block/float/editable-text-overlapping-float.html
894
895         * rendering/RenderBlock.h:
896         * rendering/bidi.cpp:
897         (WebCore::RenderBlock::skipTrailingWhitespace):
898         - renamed to reflect usage and removed call to position floats; 
899           they only get added
900         (WebCore::RenderBlock::skipLeadingWhitespace):
901         - renamed to reflect usage
902         (WebCore::RenderBlock::findNextLineBreak):
903         - use skipTrailingWhitespace at end of line (as before but with new
904           name)
905
906 2008-07-25  Dan Bernstein  <mitz@apple.com>
907
908         Reviewed by Sam Weinig.
909
910         - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
911           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
912
913         * platform/graphics/FontCache.cpp:
914         (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
915         instances hold references to the platform resources and release them in the destructor.
916         (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
917         number of inactive FontData instances to leave in the cache when automatically purging.
918         (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
919         inactive FontData instances and if so calls purgeInactiveFontData() from here...
920         (WebCore::FontCache::releaseFontData): ... to here.
921         (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
922         cache. All FontPlatformData instances that do not have entries in the font data cache are
923         removed, thus releasing the platform resources (such as HFONTs and NSFonts).
924
925 2008-07-24  David Hyatt  <hyatt@apple.com>
926
927         Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
928         both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
929
930         Reviewed by Dan
931
932         Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
933
934         * css/CSSGrammar.y:
935         * css/CSSParser.cpp:
936         (WebCore::CSSParser::createVariablesRule):
937         (WebCore::CSSParser::checkForVariables):
938         * css/CSSParser.h:
939         * css/CSSParserValues.cpp:
940         (WebCore::CSSParserValue::isVariable):
941         (WebCore::CSSParserValueList::addValue):
942         (WebCore::CSSParserValueList::deleteValueAt):
943         (WebCore::CSSParserValue::createCSSValue):
944         * css/CSSParserValues.h:
945         * css/CSSPrimitiveValue.cpp:
946         (WebCore::CSSPrimitiveValue::cleanup):
947         (WebCore::CSSPrimitiveValue::getStringValue):
948         (WebCore::CSSPrimitiveValue::cssText):
949         (WebCore::CSSPrimitiveValue::parserValue):
950         * css/CSSPrimitiveValue.h:
951         (WebCore::CSSPrimitiveValue::):
952         (WebCore::CSSPrimitiveValue::isVariable):
953         * css/CSSStyleSelector.cpp:
954         (WebCore::CSSStyleSelector::addMatchedDeclaration):
955         * css/CSSVariablesRule.cpp:
956         (WebCore::CSSVariablesRule::CSSVariablesRule):
957         (WebCore::CSSVariablesRule::cssText):
958         * css/CSSVariablesRule.h:
959         (WebCore::CSSVariablesRule::create):
960         * css/maketokenizer:
961         * css/tokenizer.flex:
962
963 2008-07-25  Maxime Britto  <britto@apple.com>
964
965         Reviewed by Anders Carlsson.
966
967         <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
968
969         * page/EventHandler.cpp:
970         (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
971
972 2008-07-25  Adele Peterson  <adele@apple.com>
973
974         Another build fix.
975
976         * platform/win/PlatformScrollBarSafari.cpp:
977         (WebCore::PlatformScrollbar::paint):
978
979 2008-07-25  Adele Peterson  <adele@apple.com>
980
981         More build fixes.
982
983         * platform/win/PlatformScrollBarSafari.cpp:
984         (WebCore::PlatformScrollbar::paint):
985
986 2008-07-25  Adele Peterson  <adele@apple.com>
987
988         Build fix.
989
990         * platform/win/PlatformScrollBarSafari.cpp:
991
992 2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
993
994         Reviewed by Simon
995
996         Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
997
998         * platform/PlatformKeyboardEvent.h: add accessor and member.
999         * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
1000         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1001
1002 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
1003
1004         Fix linking of QtWebKit against the statically built JavaScriptCore
1005         library, under Windows/Mac we may need _d/_debug suffixes.
1006
1007         * WebCore.pro:
1008
1009 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
1010
1011         Rubber-stamped by Lars.
1012
1013         Fix the Qt build by adapting to the latest ArgList API changes and
1014         replacing the inclusion of npapi.h in MainThreadScheduler with a forward
1015         declaration of NPP to avoid an include conflict. npapi.h on X11 includes
1016         X headers, which include wonderful defines such as "#define Status" that
1017         cause conflicts.
1018
1019         * bridge/qt/qt_runtime.cpp:
1020         (KJS::Bindings::findMethodIndex):
1021         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1022         * plugins/PluginMainThreadScheduler.h:
1023
1024 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
1025
1026         Discussed with and rubber-stamped by Lars.
1027
1028         Fix the build system for the Qt port.
1029
1030         Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
1031         include search path. With a build process that combines JavaScriptCore and
1032         WebCore in one build process/Makefile the existance of
1033         JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
1034
1035         This commit solves this by introducing a separate build of JavaScriptCore into
1036         a static library.
1037
1038         As a result of the split-up a race-condition due to broken dependencies of
1039         regular source files to header files of generated sources showed up very
1040         frequently when doing parallel builds (which the buildbot does). This commit at
1041         the same time tries to address the dependency problem by making the
1042         addExtraCompiler() function also generate a pseudo extra compiler that
1043         represents the header file output, so that qmake is aware of the creation of
1044         the header file for dependency calculation.
1045
1046         At the same time I removed a lot of cruft from the pro files to ease maintenance.
1047
1048         * WebCore.pro:
1049
1050 2008-07-24  kevino  <kevino@theolliviers.com>
1051
1052         wx build fix on Win for plugins coode.
1053
1054         * plugins/PluginDatabase.cpp:
1055         * plugins/PluginView.cpp:
1056         (WebCore::PluginView::PluginView):
1057         * plugins/PluginView.h:
1058
1059 2008-07-24  Sam Weinig  <sam@webkit.org>
1060
1061         Reviewed by Anders Carlsson.
1062
1063         Make isElementNode() non-virtual for a speedup on many benchmarks
1064         including 20% on http://ejohn.org/apps/fragment/.
1065
1066         - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
1067           Element and Attr where space was available.  Use the new free bit
1068           to represent if an node is an element or not.
1069
1070         * dom/Attr.cpp:
1071         (WebCore::Attr::Attr):
1072         * dom/Attr.h:
1073         (WebCore::Attr::specified):
1074         (WebCore::Attr::setSpecified):
1075         * dom/ContainerNode.cpp:
1076         (WebCore::ContainerNode::ContainerNode):
1077         * dom/ContainerNode.h:
1078         * dom/Element.cpp:
1079         (WebCore::Element::Element):
1080         * dom/Element.h:
1081         (WebCore::Element::hasRareData):
1082         (WebCore::Element::setHasRareData):
1083         * dom/EventTargetNode.cpp:
1084         (WebCore::EventTargetNode::EventTargetNode):
1085         * dom/EventTargetNode.h:
1086         * dom/Node.cpp:
1087         (WebCore::Node::Node):
1088         * dom/Node.h:
1089         (WebCore::Node::isElementNode):
1090
1091 2008-07-24  Dan Bernstein  <mitz@apple.com>
1092
1093         Reviewed by Dave Hyatt.
1094
1095         - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
1096
1097         Not testable in DumpRenderTree
1098
1099         * rendering/RenderView.cpp:
1100         (WebCore::RenderView::layout): Ensured that all children with percentage
1101         heights get laid out again if the height changes.
1102
1103 2008-07-24  kevino  <kevino@theolliviers.com>
1104
1105         Windows build fix for wx. wx doesn't implement pan scrolling yet. 
1106
1107         * page/EventHandler.cpp:
1108         (WebCore::EventHandler::handleAutoscroll):
1109         (WebCore::EventHandler::autoscrollTimerFired):
1110         (WebCore::EventHandler::stopAutoscrollTimer):
1111         (WebCore::EventHandler::handleMousePressEvent):
1112
1113 2008-07-24  David Hyatt  <hyatt@apple.com>
1114
1115         Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
1116         intrinsicSizeChanged when we are first setting our style.
1117
1118         Reviewed by olliej
1119
1120         * ChangeLog:
1121         * rendering/RenderReplaced.cpp:
1122         (WebCore::RenderReplaced::setStyle):
1123
1124 2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
1125
1126         Reviewed by Eric.
1127
1128         Bug 20053: .in files should use a custom format instead of XML
1129
1130         - Remove our XML parser perl module (XML::Tiny)
1131
1132         - Add a custom perl parser
1133
1134         - Move XML files to the new format
1135
1136         * bindings/scripts/InFilesParser.pm: Added.
1137         * bindings/scripts/XMLTiny.pm: Removed.
1138         * dom/make_names.pl: Switched to our new
1139         parser.
1140
1141         * html/HTMLAttributeNames.in: Switched to
1142         our custom format.
1143         * html/HTMLTagNames.in: Ditto.
1144         * svg/svgattrs.in: Ditto.
1145         * svg/svgtags.in: Ditto.
1146         * svg/xlinkattrs.in: Ditto.
1147         * xml/xmlattrs.in: Ditto.
1148
1149 2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
1150
1151         Reviewed by Eric.
1152
1153         Bug 19588: CRASH doing open() on destroyed window
1154         https://bugs.webkit.org/show_bug.cgi?id=19588
1155
1156         Add frame's page null check as it could have been
1157         detached from the page.
1158
1159         Test: fast/frames/crash-removed-iframe.html
1160
1161         * bindings/js/JSDOMWindowBase.cpp:
1162         (WebCore::windowProtoFuncOpen):
1163         * page/FrameTree.cpp:
1164         (WebCore::FrameTree::find):
1165
1166 2008-07-23  Dan Bernstein  <mitz@apple.com>
1167
1168         Reviewed by Alexey Proskuryakov.
1169
1170         - fix a leak when using hex color values in CSS variables
1171
1172         - fix CSSOM access to hex color values in variables declarations
1173
1174         Test: fast/css/variables/color-hex-test.html
1175
1176         Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
1177         CSSParserValues coming from colors in hex notation. CSSParserValues can
1178         no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
1179         used as the type for CSSValues in CSS variables declarations where the
1180         parser value was a hex color. However the type of all other color
1181         CSSValues remains CSS_RGBCOLOR.
1182
1183         * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
1184         for color values in hex notation.
1185         * css/CSSParser.cpp:
1186         (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
1187         * css/CSSParserValues.cpp:
1188         (WebCore::CSSParserValue::createCSSValue): Ditto.
1189         * css/CSSPrimitiveValue.cpp:
1190         (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
1191         string containing the color.
1192         (WebCore::CSSPrimitiveValue::cssText): Added support for
1193         CSS_PARSER_HEXCOLOR for when serializing variable values.
1194         (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
1195         * css/CSSPrimitiveValue.h:
1196         (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
1197
1198 2008-07-23  Beth Dakin  <bdakin@apple.com>
1199
1200         Reviewed by Dan Bernstein.
1201
1202         Fix for <rdar://problem/5997215> display: table-row-group 
1203         for :before content causes a crash
1204  
1205         The actual bug fix here is to ddd the generated content container 
1206         as a child before adding any of the generated content to the 
1207         container. There are two correctness fixes as well that deal with 
1208         style changes and correctly.
1209
1210         This patch also makes Node::diff() a static function.
1211
1212         * dom/Node.cpp:
1213         (WebCore::Node::diff):
1214         * dom/Node.h:
1215         (WebCore::Node::):
1216         (WebCore::Node::recalcStyle):
1217         * rendering/RenderContainer.cpp:
1218         (WebCore::findBeforeAfterParent):
1219         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
1220         * svg/SVGUseElement.cpp:
1221         (WebCore::SVGUseElement::recalcStyle):
1222
1223 2008-07-23  Timothy Hatcher  <timothy@apple.com>
1224
1225         Updates the elements DOM tree when nodes are added or removed from
1226         the inspected document.
1227
1228         https://bugs.webkit.org/show_bug.cgi?id=6590
1229         <rdar://problem/5712921>
1230
1231         Reviewed by Adam Roben.
1232
1233         * loader/FrameLoader.cpp:
1234         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
1235         InspectorController::inspectedWindowScriptObjectCleared.
1236         * page/InspectorController.cpp:
1237         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1238         Calls the WebInspector.inspectedWindowCleared script function.
1239         * page/InspectorController.h:
1240         * page/inspector/ElementsPanel.js:
1241         (WebInspector.ElementsPanel): Create the event listener callback wrappers.
1242         (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
1243         there are any recently modified nodes.
1244         (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
1245         Adds a check for InspectorController.isWindowVisible to prevent adding
1246         event listeners when the window isn't visible.
1247         (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
1248         (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
1249         DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
1250         (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
1251         added in _addMutationEventListeners.
1252         (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
1253         again to reinstate the listners if the document changed or window cleared them.
1254         (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
1255         _mutationMonitoredWindows and call _addMutationEventListeners.
1256         (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
1257         _mutationMonitoredWindows and call _removeMutationEventListeners.
1258         (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
1259         _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
1260         clear _mutationMonitoredWindows.
1261         (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
1262         to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
1263         (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
1264         (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
1265         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
1266         _updateModifiedNodes on a zero timeout.
1267         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
1268         the recentlyModifiedNodes array and call updateChildren on all the parent
1269         elements that had changes. Only calls updateChildren once per parent element.
1270         (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
1271         false if the nodes are the same. Return true if the nodes are the same while
1272         looking at ancestor frame elements. THis use to return false, which was incorrect.
1273         (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
1274         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
1275         onpopulate and changed to rebuild the children elements by adding new children,
1276         moving existing children and removed old children.
1277         (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
1278         call registerMutationEventListeners to track any mutations.
1279         * page/inspector/inspector.js:
1280         (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
1281         * page/inspector/treeoutline.js:
1282         (TreeElement.prototype.get hasChildren): Return _hasChildren.
1283         (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
1284         (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
1285         (TreeElement.prototype.expand): Fix an exception that can happen if expand is
1286         called before _attach.
1287         * WebCore/manual-tests/inspector/dom-mutation.html: Added.
1288         * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
1289         * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
1290
1291 2008-07-22  Timothy Hatcher  <timothy@apple.com>
1292
1293         Fix an exception that occurred when double clicking the closing tag
1294         of an element in the DOM tree.
1295
1296         Reviewed by Anders Carlsson.
1297
1298         * page/inspector/ElementsPanel.js:
1299         (WebInspector.ElementsPanel.prototype._ondblclick): Null check
1300         element.ondblclick.
1301
1302 2008-07-22  Timothy Hatcher  <timothy@apple.com>
1303
1304         Fix a regression where elements in subframes would not be revealed
1305         or selected when inspected from the context menu. This was caused by
1306         JavaScript equality is not being true for JSInspectedObjectWrappers
1307         of the same node wrapped with different global ExecStates. This change
1308         adds a helper function that uses isSameNode to compare wrapped nodes.
1309
1310         https://bugs.webkit.org/show_bug.cgi?id=19377
1311
1312         Reviewed by Adam Roben.
1313
1314         * page/inspector/ElementsPanel.js:
1315         (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
1316         to compare nodes.
1317         (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
1318         (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
1319         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
1320         (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
1321         (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
1322         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
1323         * page/inspector/treeoutline.js:
1324         (TreeOutline.prototype.findTreeElement): Add an equal argument
1325         to accept a functions to compare two representedObjects. Defaults
1326         to strict equal if not supplied. All current clients pass objectsAreSame.
1327         * page/inspector/utilities.js:
1328         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
1329         to compare nodes.
1330         (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
1331         (Element.prototype.query): Use the ownerDocument of the node, not document.
1332         (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
1333         it exists on both objects.
1334         (isAncestorNode): Use objectsAreSame to compare nodes.
1335         (firstCommonNodeAncestor): Ditto.
1336         (traverseNextNode): Ditto.
1337
1338 2008-07-21  Timothy Hatcher  <timothy@apple.com>
1339
1340         Added InspectorController.isWindowVisible to the JavaScript class
1341         for use in an upcoming change. This will allow the Inspector to not
1342         perform selective actions while the window is hidden.
1343
1344         Reviewed by Adam Roben.
1345
1346         * page/InspectorController.cpp:
1347         (WebCore::isWindowVisible): Call InspectorController::windowVisible.
1348         (WebCore::InspectorController::windowScriptObjectAvailable): Add
1349         the isWindowVisible function to the JavaScript class.
1350
1351 2008-07-21  Timothy Hatcher  <timothy@apple.com>
1352
1353         Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
1354         for efficiency of callers that know the index of the child. This
1355         will be used in an upcoming change.
1356
1357         Reviewed by Adam Roben.
1358
1359         * page/inspector/treeoutline.js:
1360         (TreeOutline._removeChildAtIndex): Renamed from _removeChild
1361         and modified to take an index.
1362         (TreeOutline._removeChild): Call _removeChildAtIndex with the
1363         child index found using indexOf.
1364         (TreeOutline.prototype.removeChildAtIndex): Added. Calls
1365         TreeOutline._removeChildAtIndex.
1366         (TreeElement.prototype.removeChildAtIndex): Ditto.
1367
1368 2008-07-21  Timothy Hatcher  <timothy@apple.com>
1369
1370         Fixes a regression where TreeOutline.findTreeElement would
1371         return the parent TreeElement of the representedObject instead
1372         of the TreeElement for the representedObject. Regressed with the
1373         fix for bug 19164.
1374
1375         Reviewed by Adam Roben.
1376
1377         * page/inspector/treeoutline.js:
1378         (TreeOutline.prototype.findTreeElement): When performing a slow search,
1379         do a final search for representedObject instead of returning item, which
1380         is the parent of representedObject.
1381
1382 2008-07-23  Adele Peterson  <adele@apple.com>
1383
1384         Reviewed by Adam.
1385
1386         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
1387
1388         * WebCore.base.exp: Added symbols.
1389         * page/Chrome.cpp:
1390         (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
1391         (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
1392         * page/ChromeClient.h:
1393         * page/Settings.cpp:
1394         (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
1395         (WebCore::Settings::setShouldPaintCustomScrollbars):
1396         * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
1397         * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
1398         * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
1399         * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
1400         * platform/win/PlatformScrollBarSafari.cpp:
1401         (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
1402         (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
1403         (WebCore::ScrollbarControlStateFromThemeState): ditto.
1404         (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
1405          Added new code to paint the custom scrollbars if necessary.
1406         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
1407
1408 2008-07-23  Sam Weinig  <sam@webkit.org>
1409
1410         Reviewed by Anders Carlsson.
1411
1412         Cleanup and pack the member variables in Node.
1413
1414         * bindings/js/JSNodeCustom.cpp:
1415         (WebCore::JSNode::mark):
1416         * dom/Attr.cpp:
1417         (WebCore::Attr::Attr):
1418         * dom/Attr.h:
1419         (WebCore::Attr::specified):
1420         (WebCore::Attr::setSpecified):
1421         * dom/ContainerNode.cpp:
1422         (WebCore::ContainerNode::setFocus):
1423         * dom/Document.cpp:
1424         (WebCore::Document::adoptNode):
1425         * dom/Element.cpp:
1426         (WebCore::Element::~Element):
1427         (WebCore::Element::rareData):
1428         (WebCore::Element::createRareData):
1429         * dom/Element.h:
1430         (WebCore::Element::hasRareData):
1431         (WebCore::Element::setHasRareData):
1432         * dom/Node.h:
1433         (WebCore::Node::setIsLink):
1434         (WebCore::Node::inSubtreeMark):
1435         (WebCore::Node::setInSubtreeMark):
1436         (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
1437         (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
1438         * html/HTMLAnchorElement.cpp:
1439         (WebCore::HTMLAnchorElement::supportsFocus):
1440         (WebCore::HTMLAnchorElement::isFocusable):
1441         (WebCore::HTMLAnchorElement::defaultEventHandler):
1442         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1443         (WebCore::HTMLAnchorElement::isLiveLink):
1444         * html/HTMLImageElement.cpp:
1445         (WebCore::HTMLImageElement::parseMappedAttribute):
1446         * html/HTMLInputElement.cpp:
1447         (WebCore::HTMLInputElement::setInputType):
1448         * html/HTMLTableElement.cpp:
1449         (WebCore::HTMLTableElement::attach):
1450         * svg/SVGAElement.cpp:
1451         (WebCore::SVGAElement::svgAttributeChanged):
1452         (WebCore::SVGAElement::defaultEventHandler):
1453
1454 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
1455
1456         Reviewed by Adele.
1457
1458         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
1459
1460         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
1461
1462         * platform/graphics/win/QTMovieWin.cpp:
1463         (QTMovieWinPrivate::QTMovieWinPrivate):
1464         (QTMovieWinPrivate::~QTMovieWinPrivate):
1465         (QTMovieWinPrivate::task):
1466         (QTMovieWinPrivate::createMovieController):
1467         (QTMovieWinPrivate::createGWorld):
1468         (QTMovieWinPrivate::setSize):
1469         (QTMovieWinPrivate::deleteGWorld):
1470         (QTMovieWin::play):
1471         (QTMovieWin::pause):
1472         (QTMovieWin::setRate):
1473         (QTMovieWin::setCurrentTime):
1474         (QTMovieWin::load):
1475
1476 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
1477
1478         Reviewed by Adele.
1479
1480         Added a debug mode for viewing frames per second for videos.  This is controlled by two 
1481         independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
1482         Unless either flags is turned on there is no change to the code for video frame drawing.
1483
1484         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1485         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1486         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1487         (WebCore::MediaPlayerPrivate::play):
1488         (WebCore::MediaPlayerPrivate::pause):
1489         (WebCore::MediaPlayerPrivate::didEnd):
1490         (WebCore::MediaPlayerPrivate::repaint):
1491         (WebCore::MediaPlayerPrivate::paint):
1492         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1493         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1494         (WebCore::MediaPlayerPrivate::play):
1495         (WebCore::MediaPlayerPrivate::pause):
1496         (WebCore::MediaPlayerPrivate::didEnd):
1497         (WebCore::MediaPlayerPrivate::paint):
1498         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
1499         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1500
1501 2008-07-23  Adele Peterson  <adele@apple.com>
1502
1503         Reviewed by Sam.
1504
1505         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
1506
1507         * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
1508         Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
1509         * platform/graphics/GraphicsContext.h:
1510         (WebCore::): Added InterpolationQuality enum.
1511         (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
1512         The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
1513         (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
1514         * platform/graphics/cg/GraphicsContextCG.cpp:
1515         (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
1516         (WebCore::GraphicsContext::imageInterpolationQuality): Added.
1517         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
1518         Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
1519
1520 2008-07-23  Sam Weinig  <sam@webkit.org>
1521
1522         Reviewed by Anders Carlsson.
1523
1524         Remove extraneous allocations by using equalIgnoringCase rather than
1525         String::lower.
1526
1527         * dom/StyledElement.cpp:
1528         (WebCore::StyledElement::addCSSColor):
1529         * html/HTMLCollection.cpp:
1530         (WebCore::HTMLCollection::checkForNameMatch):
1531         * html/HTMLFormCollection.cpp:
1532         (WebCore::HTMLFormCollection::getNamedFormItem):
1533         * html/HTMLLinkElement.cpp:
1534         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
1535         * html/HTMLObjectElement.cpp:
1536         (WebCore::HTMLObjectElement::containsJavaApplet):
1537         * html/PreloadScanner.cpp:
1538         (WebCore::PreloadScanner::emitCSSRule):
1539         * loader/FrameLoader.cpp:
1540         (WebCore::FrameLoader::createJavaAppletWidget):
1541         * page/DOMSelection.cpp:
1542         (WebCore::DOMSelection::modify):
1543         * rendering/RenderPartObject.cpp:
1544         (WebCore::RenderPartObject::updateWidget):
1545
1546 2008-07-23  Maxime Britto  <britto@apple.com>
1547
1548         Reviewed by Adam Roben.
1549
1550         <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
1551         Add a check for the m_page member value before asking for page()->mainFrame()
1552
1553         * page/EventHandler.cpp:
1554         (WebCore::EventHandler::stopAutoscrollTimer):
1555
1556 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
1557
1558        Reviewed by Adele.
1559
1560        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
1561
1562        Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
1563        until after movie tracks of unsupported types have been disabled, to make sure they never draw.
1564
1565         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1566         (WebCore::MediaPlayerPrivate::load):
1567         (WebCore::MediaPlayerPrivate::updateStates):
1568         (WebCore::MediaPlayerPrivate::setVisible):
1569
1570 2008-07-22  Maxime Britto  <britto@apple.com>
1571
1572         Reviewed by John Sullivan.
1573
1574         <rdar://problem/6083116>
1575         When pan-scrolling, Back then Forward causes pan-scrolling to start again
1576
1577         * page/Frame.cpp:
1578         (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
1579         * loader/FrameLoader.cpp:
1580         (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
1581
1582 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
1583
1584         Reviewed by Oliver Hunt and Sam Weinig.
1585
1586         Next step toward putting doubles in registers: Prepare the Register class
1587         and its clients for registers that don't contain JSValue*s.
1588         
1589 2008-07-22  Sam Weinig  <sam@webkit.org>
1590
1591         Reviewed by Mark Rowe.
1592
1593         <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
1594         Add additional support for JPEG and GIF for toDataURL encoding canvases.
1595
1596         * platform/MIMETypeRegistry.cpp:
1597         (WebCore::initializeSupportedImageMIMETypesForEncoding):
1598         * platform/graphics/cg/ImageBufferCG.cpp:
1599         (WebCore::utiFromMIMEType):
1600
1601 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
1602
1603         Reviewed by Dave Hyatt.
1604
1605         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
1606         Test: accessibility/internal-link-anchors2.html
1607
1608         * page/AccessibilityRenderObject.cpp:
1609         (WebCore::AccessibilityRenderObject::internalLinkElement):
1610
1611 2008-07-22  Anders Carlsson  <andersca@apple.com>
1612
1613         Reviewed by Adam.
1614
1615         Allocate the empty StringImpl from the heap.
1616         
1617         * platform/text/StringImpl.cpp:
1618         (WebCore::StringImpl::empty):
1619
1620 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
1621
1622         Reviewed by Tim.
1623
1624         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
1625         view (19228)
1626         - Implement UI for Heavy (Bottom Up) view.
1627
1628         * English.lproj/localizedStrings.js:
1629         * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
1630         profile from a profile to the Web Inspector's JavaScript.
1631         (WebCore::getHeavyProfileCallback):
1632         (WebCore::getTreeProfileCallback):
1633         (WebCore::ProfileClass):
1634         * page/inspector/ProfileView.js: Implement the dropdown for changing
1635         profile views.
1636         * page/inspector/inspector.css:
1637
1638 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
1639
1640         Reviewed by Adam Roben.
1641
1642         <rdar://problem/5955602> WebKit should support charset name x-windows-949
1643
1644         Test: fast/encoding/char-decoding.html
1645
1646         * platform/text/TextCodecICU.cpp:
1647         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
1648         Firefox compatibility.
1649
1650 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
1651
1652         Reviewed by Alexey Proskuryakov.
1653
1654         New test to check that arrays fail gracefully (throw an out of memory exception)
1655         when the vector grows to large.
1656
1657         * manual-tests/array-out-of-memory.html: Added.
1658
1659 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
1660
1661         Reviewed by Dan Bernstein.
1662
1663         https://bugs.webkit.org/show_bug.cgi?id=20117
1664         setBaseAndExtent fails to reverse the current selection
1665
1666         Test: editing/selection/setBaseAndExtent-revert-selection.html
1667
1668         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
1669
1670 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
1671
1672         Reviewed by Sam Weinig.
1673
1674         Bug 19919: Add selectors' string parsing in CSSParser
1675         https://bugs.webkit.org/show_bug.cgi?id=19919
1676
1677         No functional change.
1678
1679         * css/CSSGrammar.y: Added entry for parsing only a selector.
1680         * css/CSSParser.cpp:
1681         (WebCore::CSSParser::CSSParser):
1682         (WebCore::CSSParser::parseSelector):
1683         * css/CSSParser.h: Added m_floatingSelector to hold the
1684         Selector parsed in parseSelector.
1685
1686         * css/tokenizer.flex: Added "@-webkit-selector" token.
1687         * dom/Node.cpp:
1688         (WebCore::Node::querySelector):
1689         (WebCore::Node::querySelectorAll): Switched to parseSelector
1690         method.
1691
1692 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
1693
1694         Reviewed by Adele.
1695
1696         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
1697
1698         * platform/graphics/win/QTMovieWin.cpp:
1699         (initializeSupportedTypes): Do a Quicktime version minimum version check.
1700         (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
1701
1702 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
1703
1704         Reviewed by Adele.
1705
1706         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
1707
1708         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
1709         so that everything starts back up normally when the page is retrieved from the cache.
1710
1711 2008-07-21  Sam Weinig  <sam@webkit.org>
1712
1713         Reviewed by Mark Rowe.
1714
1715         Remove unused interface declaration.
1716
1717         * platform/network/mac/ResourceHandleMac.mm:
1718
1719 2008-07-21  Mark Rowe  <mrowe@apple.com>
1720
1721         Reviewed by Sam Weinig.
1722
1723         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
1724
1725         * Configurations/Version.xcconfig:
1726         * Info.plist:
1727
1728 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
1729
1730         Reviewed by Adele.
1731
1732         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
1733
1734         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
1735         * platform/graphics/MediaPlayer.h:
1736         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
1737         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
1738
1739 2008-07-21  Anders Carlsson  <andersca@apple.com>
1740
1741         Reviewed by Jon.
1742
1743         Don't allow requests to be made when the document loader is stopping all loaders.
1744
1745         * plugins/PluginView.cpp:
1746         (WebCore::PluginView::load):
1747
1748 2008-07-20  Maxime Britto  <britto@apple.com>
1749
1750         Reviewed by John Sullivan.
1751
1752         [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
1753         Accelerate and enhance the smoothness of the pan scrollling.
1754
1755         * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
1756         * rendering/RenderLayer.cpp: 
1757         (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
1758
1759 2008-07-18  David Hyatt  <hyatt@apple.com>
1760
1761         Change the cached clip rects to not assume they should be infinite when the root layer has been
1762         shifted as the result of a transformation.
1763
1764         Reviewed by Maciej
1765
1766         Added fast/transforms/overflow-with-transform.html
1767
1768         * rendering/RenderLayer.cpp:
1769         (WebCore::RenderLayer::calculateClipRects):
1770
1771 2008-07-21  Rob Buis  <buis@kde.org>
1772
1773         Reviewed by Mitz.
1774
1775         https://bugs.webkit.org/show_bug.cgi?id=19966
1776         CSS variables crash when using hex notation for colors
1777
1778         Support hex colors as values for the css variables.
1779
1780         Test: fast/css/variables/color-hex-test.html
1781
1782         * css/CSSParserValues.cpp:
1783         (WebCore::CSSParserValue::createCSSValue):
1784         * css/CSSPrimitiveValue.cpp:
1785         (WebCore::CSSPrimitiveValue::parserValue):
1786         * css/CSSVariablesRule.cpp:
1787
1788 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1789
1790         Reviewed by Holger.
1791
1792         Fix drawing of windowless plugins on Windows with the Qt port by
1793         avoiding the reset of the translation of the HDC to 0, 0.
1794
1795         * plugins/win/PluginViewWin.cpp:
1796         (WebCore::PluginView::paint):
1797
1798 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1799
1800         Reviewed by Holger.
1801
1802         Fix rendering of transparent windowless netscape plugins by passing
1803         the right conversion parameter to QPixmap::fromWinHBITMAP when
1804         converting from HBITMAP to QPixmap.
1805
1806         * platform/graphics/qt/GraphicsContextQt.cpp:
1807         (WebCore::GraphicsContext::releaseWindowsContext):
1808
1809 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1810
1811         Reviewed by Holger.
1812
1813         In the implementation of getValue for NPNVnetscapeWindow treat
1814         windowHandleForPlatformWidget on the return value of
1815         containingWindow() to receive the correct HWND for the Qt port.
1816
1817         * plugins/win/PluginViewWin.cpp:
1818         (WebCore::PluginView::getValue):
1819
1820 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
1821
1822         Reviewed by Holger.
1823
1824         Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
1825         a QWidget. This can happen on page/view destruction for example.
1826
1827         * plugins/win/PluginViewWin.cpp:
1828         (windowHandleForPlatformWidget):
1829
1830 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
1831
1832         Touch file to force rebuild for vsprops change.
1833
1834         * WebCorePrefix.h:
1835
1836 2008-07-20  Sam Weinig  <sam@webkit.org>
1837
1838         Remove extra space Oliver Hunt left in.
1839
1840         * page/Console.cpp:
1841         (WebCore::Console::reportException):
1842         (WebCore::Console::reportCurrentException):
1843
1844 2008-07-20  Oliver Hunt  <oliver@apple.com>
1845
1846         Reviewed by Dan Bernstein.
1847
1848         Bug 19757: Crash when an ondragstart handler hides the element
1849         <https://bugs.webkit.org/show_bug.cgi?id=19757>
1850
1851         The solution to this is problem is just to null check the renderer
1852         immediately before launching the system drag, and terminate the
1853         drag if the renderer is gone.
1854
1855         * page/EventHandler.cpp:
1856         (WebCore::EventHandler::handleDrag):
1857
1858 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
1859
1860         Reviewed by Oliver.
1861
1862         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
1863
1864         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
1865         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
1866
1867         * svg/SVGPointList.cpp:
1868         (WebCore::SVGPointList::valueAsString):
1869         * svg/SVGPointList.h:
1870         (WebCore::SVGPointList::create):
1871         * svg/SVGPolyElement.cpp:
1872         (WebCore::SVGPolyElement::SVGPolyElement):
1873         (WebCore::SVGPolyElement::svgAttributeChanged):
1874         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
1875         * svg/SVGPolyElement.h:
1876
1877 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
1878
1879         Reviewed by Oliver.
1880
1881         Cleanup JSSVGPODTypeWrapper code.
1882
1883         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
1884                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
1885                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
1886
1887         No functional changes.
1888
1889         * bindings/js/JSSVGMatrixCustom.cpp:
1890         (WebCore::JSSVGMatrix::multiply):
1891         (WebCore::JSSVGMatrix::inverse):
1892         (WebCore::JSSVGMatrix::translate):
1893         (WebCore::JSSVGMatrix::scale):
1894         (WebCore::JSSVGMatrix::scaleNonUniform):
1895         (WebCore::JSSVGMatrix::rotate):
1896         (WebCore::JSSVGMatrix::rotateFromVector):
1897         (WebCore::JSSVGMatrix::flipX):
1898         (WebCore::JSSVGMatrix::flipY):
1899         (WebCore::JSSVGMatrix::skewX):
1900         (WebCore::JSSVGMatrix::skewY):
1901         * bindings/js/JSSVGPODTypeWrapper.h:
1902         (WebCore::JSSVGDynamicPODTypeWrapper::create):
1903         (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
1904         (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
1905         (WebCore::JSSVGStaticPODTypeWrapper::create):
1906         (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
1907         (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
1908         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
1909         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
1910         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
1911         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
1912         (WebCore::PODTypeWrapperCacheInfo::operator==):
1913         (WebCore::PODTypeWrapperCacheInfoHash::hash):
1914         (WebCore::PODTypeWrapperCacheInfoHash::equal):
1915         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
1916         (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
1917         (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
1918         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
1919         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
1920         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
1921         * bindings/js/JSSVGPointListCustom.cpp:
1922         (WebCore::finishGetter):
1923         (WebCore::finishSetter):
1924         (WebCore::finishSetterReadOnlyResult):
1925         (WebCore::JSSVGPointList::initialize):
1926         (WebCore::JSSVGPointList::insertItemBefore):
1927         (WebCore::JSSVGPointList::replaceItem):
1928         (WebCore::JSSVGPointList::appendItem):
1929         * bindings/js/JSSVGTransformListCustom.cpp:
1930         (WebCore::finishGetter):
1931         (WebCore::finishSetter):
1932         (WebCore::finishSetterReadOnlyResult):
1933         (WebCore::JSSVGTransformList::initialize):
1934         (WebCore::JSSVGTransformList::getItem):
1935         (WebCore::JSSVGTransformList::insertItemBefore):
1936         (WebCore::JSSVGTransformList::replaceItem):
1937         (WebCore::JSSVGTransformList::removeItem):
1938         (WebCore::JSSVGTransformList::appendItem):
1939         * bindings/scripts/CodeGeneratorJS.pm:
1940
1941 2008-07-19  Oliver Hunt  <oliver@apple.com>
1942
1943         Reviewed by Mark Rowe.
1944
1945         Bug 15979: Console logs in a database callback lose line number information
1946         <https://bugs.webkit.org/show_bug.cgi?id=15979>
1947
1948         The problem was that there were multiple versions of the logic to
1949         log an exception to the console, many of which were incorrect.  We
1950         resolve this by making one single shared reportException method,
1951         which handles the exceptions correctly.
1952
1953         This improves fidelity of callback errors, and ensures that
1954         exceptions thrown in timer callbacks correctly report line numbers,
1955         etc.
1956
1957         Test: fast/js/exceptions-thrown-in-callbacks.html
1958
1959         * bindings/js/JSCustomSQLStatementCallback.cpp:
1960         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1961         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1962         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1963         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1964         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1965         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1966         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1967         * bindings/js/JSCustomVoidCallback.cpp:
1968         (WebCore::JSCustomVoidCallback::handleEvent):
1969         * bindings/js/JSCustomXPathNSResolver.cpp:
1970         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1971         * bindings/js/JSEventListener.cpp:
1972         (WebCore::JSAbstractEventListener::handleEvent):
1973         * bindings/js/ScheduledAction.cpp:
1974         (WebCore::ScheduledAction::execute):
1975         * bindings/js/ScriptController.cpp:
1976         (WebCore::ScriptController::evaluate):
1977         * bindings/objc/WebScriptObject.mm:
1978         (WebCore::addExceptionToConsole):
1979         * page/Console.cpp:
1980         (WebCore::Console::reportException):
1981         * page/Console.h:
1982
1983 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
1984
1985         Rubber stamped by Oliver.
1986
1987         Another attempt to fix the win build.
1988
1989         * svg/SVGAnimatedProperty.h:
1990
1991 2008-07-20  Alexey Proskuryakov  <ap@webkit.org>
1992
1993         Reviewed by David Kilzer.
1994
1995         Fix high CPU usage on testmyiphone.com.
1996
1997         - Made the logic for determining when to stop looking for meta charset more strainghtforward.
1998         Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
1999         bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
2000         offending tag was seen at any point before).
2001
2002         - The above change made one of our regression tests fail, because it had its <meta>
2003         declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
2004
2005         - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
2006
2007         - Moved a check for XML content type out of the loop.
2008
2009         * loader/TextResourceDecoder.cpp:
2010         (WebCore::TextResourceDecoder::checkForHeadCharset): 
2011
2012 2008-07-20  Oliver Hunt  <oliver@apple.com>
2013
2014         Reviewed by NOBODY (build fix).
2015
2016         Attempt to fix windows build
2017
2018         * svg/SVGAnimatedProperty.h:
2019
2020 2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
2021
2022         Reviewed by Oliver & parts by Eric.
2023
2024         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
2025
2026         Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
2027         Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
2028
2029         * dom/Element.cpp:
2030         (WebCore::Element::attributes):
2031         (WebCore::Element::getAttribute):
2032         (WebCore::Element::hasAttributes):
2033         * dom/Element.h:
2034         (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
2035         * svg/SVGAElement.cpp:
2036         (WebCore::SVGAElement::SVGAElement):
2037         * svg/SVGAElement.h:
2038         * svg/SVGAltGlyphElement.h:
2039         * svg/SVGAnimatedProperty.h: Added.
2040         * svg/SVGAnimatedTemplate.h:
2041         (WebCore::lookupOrCreateWrapper):
2042         * svg/SVGAnimationElement.h:
2043         * svg/SVGCircleElement.cpp:
2044         (WebCore::SVGCircleElement::SVGCircleElement):
2045         * svg/SVGCircleElement.h:
2046         * svg/SVGClipPathElement.cpp:
2047         (WebCore::SVGClipPathElement::SVGClipPathElement):
2048         * svg/SVGClipPathElement.h:
2049         * svg/SVGComponentTransferFunctionElement.cpp:
2050         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2051         * svg/SVGComponentTransferFunctionElement.h:
2052         * svg/SVGCursorElement.cpp:
2053         (WebCore::SVGCursorElement::SVGCursorElement):
2054         * svg/SVGCursorElement.h:
2055         * svg/SVGDefsElement.h:
2056         (WebCore::SVGDefsElement::contextElement):
2057         * svg/SVGElement.cpp:
2058         (WebCore::SVGElement::updateAnimatedSVGAttribute):
2059         * svg/SVGElement.h:
2060         (WebCore::SVGElement::supplementalTransform):
2061         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
2062         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
2063         (WebCore::SVGElement::addSVGPropertySynchronizer):
2064         * svg/SVGEllipseElement.cpp:
2065         (WebCore::SVGEllipseElement::SVGEllipseElement):
2066         * svg/SVGEllipseElement.h:
2067         * svg/SVGExternalResourcesRequired.cpp:
2068         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
2069         * svg/SVGExternalResourcesRequired.h:
2070         * svg/SVGFEBlendElement.cpp:
2071         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2072         * svg/SVGFEBlendElement.h:
2073         * svg/SVGFEColorMatrixElement.cpp:
2074         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2075         * svg/SVGFEColorMatrixElement.h:
2076         * svg/SVGFEComponentTransferElement.cpp:
2077         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2078         * svg/SVGFEComponentTransferElement.h:
2079         * svg/SVGFECompositeElement.cpp:
2080         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2081         * svg/SVGFECompositeElement.h:
2082         * svg/SVGFEDiffuseLightingElement.cpp:
2083         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2084         * svg/SVGFEDiffuseLightingElement.h:
2085         * svg/SVGFEDisplacementMapElement.cpp:
2086         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2087         * svg/SVGFEDisplacementMapElement.h:
2088         * svg/SVGFEFloodElement.h:
2089         * svg/SVGFEGaussianBlurElement.cpp:
2090         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2091         * svg/SVGFEGaussianBlurElement.h:
2092         * svg/SVGFEImageElement.cpp:
2093         (WebCore::SVGFEImageElement::SVGFEImageElement):
2094         * svg/SVGFEImageElement.h:
2095         * svg/SVGFELightElement.cpp:
2096         (WebCore::SVGFELightElement::SVGFELightElement):
2097         * svg/SVGFELightElement.h:
2098         (WebCore::SVGFELightElement::contextElement):
2099         * svg/SVGFEMergeElement.h:
2100         * svg/SVGFEMergeNodeElement.cpp:
2101         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
2102         * svg/SVGFEMergeNodeElement.h:
2103         * svg/SVGFEOffsetElement.cpp:
2104         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2105         * svg/SVGFEOffsetElement.h:
2106         * svg/SVGFESpecularLightingElement.cpp:
2107         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2108         * svg/SVGFESpecularLightingElement.h:
2109         * svg/SVGFETileElement.cpp:
2110         (WebCore::SVGFETileElement::SVGFETileElement):
2111         * svg/SVGFETileElement.h:
2112         * svg/SVGFETurbulenceElement.cpp:
2113         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2114         * svg/SVGFETurbulenceElement.h:
2115         * svg/SVGFilterElement.cpp:
2116         (WebCore::SVGFilterElement::SVGFilterElement):
2117         * svg/SVGFilterElement.h:
2118         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2119         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
2120         * svg/SVGFilterPrimitiveStandardAttributes.h:
2121         * svg/SVGFitToViewBox.cpp:
2122         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
2123         * svg/SVGFitToViewBox.h:
2124         * svg/SVGFontElement.h:
2125         (WebCore::SVGFontElement::rendererIsNeeded):
2126         (WebCore::SVGFontElement::contextElement):
2127         * svg/SVGForeignObjectElement.cpp:
2128         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2129         * svg/SVGForeignObjectElement.h:
2130         * svg/SVGGElement.h:
2131         * svg/SVGGradientElement.cpp:
2132         (WebCore::SVGGradientElement::SVGGradientElement):
2133         * svg/SVGGradientElement.h:
2134         (WebCore::SVGGradientElement::contextElement):
2135         * svg/SVGImageElement.cpp:
2136         (WebCore::SVGImageElement::SVGImageElement):
2137         * svg/SVGImageElement.h:
2138         * svg/SVGLineElement.cpp:
2139         (WebCore::SVGLineElement::SVGLineElement):
2140         * svg/SVGLineElement.h:
2141         * svg/SVGLinearGradientElement.cpp:
2142         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
2143         * svg/SVGLinearGradientElement.h:
2144         * svg/SVGMarkerElement.cpp:
2145         (WebCore::SVGMarkerElement::SVGMarkerElement):
2146         (WebCore::SVGMarkerElement::canvasResource):
2147         * svg/SVGMarkerElement.h:
2148         * svg/SVGMaskElement.cpp:
2149         (WebCore::SVGMaskElement::SVGMaskElement):
2150         * svg/SVGMaskElement.h:
2151         * svg/SVGPathElement.cpp:
2152         (WebCore::SVGPathElement::SVGPathElement):
2153         (WebCore::SVGPathElement::parseMappedAttribute):
2154         * svg/SVGPathElement.h:
2155         * svg/SVGPatternElement.cpp:
2156         (WebCore::SVGPatternElement::SVGPatternElement):
2157         * svg/SVGPatternElement.h:
2158         (WebCore::SVGPatternElement::contextElement):
2159         * svg/SVGPolyElement.h:
2160         * svg/SVGPreserveAspectRatio.cpp:
2161         * svg/SVGRadialGradientElement.cpp:
2162         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2163         * svg/SVGRadialGradientElement.h:
2164         * svg/SVGRectElement.cpp:
2165         (WebCore::SVGRectElement::SVGRectElement):
2166         * svg/SVGRectElement.h:
2167         * svg/SVGSVGElement.cpp:
2168         (WebCore::SVGSVGElement::SVGSVGElement):
2169         * svg/SVGSVGElement.h:
2170         * svg/SVGScriptElement.cpp:
2171         * svg/SVGScriptElement.h:
2172         * svg/SVGStopElement.cpp:
2173         (WebCore::SVGStopElement::SVGStopElement):
2174         * svg/SVGStopElement.h:
2175         * svg/SVGStyledElement.cpp:
2176         (WebCore::SVGStyledElement::SVGStyledElement):
2177         * svg/SVGStyledElement.h:
2178         * svg/SVGStyledTransformableElement.cpp:
2179         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
2180         * svg/SVGStyledTransformableElement.h:
2181         * svg/SVGSwitchElement.h:
2182         * svg/SVGSymbolElement.h:
2183         (WebCore::SVGSymbolElement::contextElement):
2184         * svg/SVGTRefElement.h:
2185         * svg/SVGTSpanElement.h:
2186         * svg/SVGTextContentElement.cpp:
2187         (WebCore::SVGTextContentElement::SVGTextContentElement):
2188         * svg/SVGTextContentElement.h:
2189         (WebCore::SVGTextContentElement::contextElement):
2190         * svg/SVGTextElement.cpp:
2191         (WebCore::SVGTextElement::SVGTextElement):
2192         * svg/SVGTextElement.h:
2193         * svg/SVGTextPathElement.cpp:
2194         (WebCore::SVGTextPathElement::SVGTextPathElement):
2195         * svg/SVGTextPathElement.h:
2196         * svg/SVGTextPositioningElement.cpp:
2197         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
2198         * svg/SVGTextPositioningElement.h:
2199         * svg/SVGTransformable.h:
2200         * svg/SVGURIReference.cpp:
2201         (WebCore::SVGURIReference::SVGURIReference):
2202         * svg/SVGURIReference.h:
2203         * svg/SVGUseElement.cpp:
2204         (WebCore::SVGUseElement::SVGUseElement):
2205         * svg/SVGUseElement.h:
2206         * svg/SVGViewElement.h:
2207         * svg/SVGViewSpec.h:
2208
2209 2008-07-18  Maxime Britto  <britto@apple.com>
2210
2211         Reviewed by Adele.
2212         
2213         Fixed <rdar://problem/6049803>
2214         Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
2215
2216         Test: fast/events/autoscroll-with-non-scrollable-parent.html
2217
2218         * ChangeLog:
2219         * page/EventHandler.cpp: Edited
2220         (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
2221         (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
2222         * rendering/RenderLayer.cpp:
2223         (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
2224         * rendering/RenderListBox.h:
2225         (WebCore::RenderListBox::canBeProgramaticallyScrolled):
2226         * rendering/RenderObject.cpp:
2227         (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
2228         (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
2229         * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
2230         * rendering/RenderTextControl.h:
2231         (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
2232
2233 2008-07-18  Sam Weinig  <sam@webkit.org>
2234
2235         Reviewed by Anders Carlsson.
2236
2237         <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
2238
2239         - Overload XMLHttpRequests send() method to accept File tokens.
2240
2241         * bindings/js/JSXMLHttpRequestCustom.cpp:
2242         (WebCore::JSXMLHttpRequest::send): 
2243         * xml/XMLHttpRequest.cpp:
2244         (WebCore::XMLHttpRequest::send):
2245         * xml/XMLHttpRequest.h:
2246
2247 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
2248
2249         Reviewed by Cameron Zwarich.
2250         
2251         Three renames:
2252         
2253         "CallTypeNative" => "CallTypeHost"
2254         "code" => "byteCode"
2255         "generatedCode" => "generatedByteCode"
2256
2257 2008-07-18  Adele Peterson  <adele@apple.com>
2258
2259         Reviewed by Dan Bernstein.
2260
2261         I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
2262         which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
2263         This change will now check both the media element and the player to decide whether or not to make the controls persistent.
2264
2265         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
2266
2267 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
2268
2269         Reviewed by mitz
2270
2271         Remove braces around single-line conditional.
2272         
2273         * css/CSSComputedStyleDeclaration.cpp:
2274         (WebCore::computedTransform):
2275
2276 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
2277
2278         Reviewed by Dave Hyatt
2279
2280         getComputedStyle() for -webkit-transform should return 
2281         'none' for elements with no renderer, or those with no
2282         transform.
2283
2284         https://bugs.webkit.org/show_bug.cgi?id=20008
2285
2286         Testcase: LayoutTests/fast/css/computed-style-without-renderer
2287                   LayoutTests/fast/css/computed-style-expected.txt
2288
2289         * css/CSSComputedStyleDeclaration.cpp:
2290         (WebCore::computedTransform):
2291
2292 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
2293
2294         Reviewed by Dave Hyatt
2295
2296         Fix assertion about creating Length values with percentage types
2297         when blending transforms.
2298         https://bugs.webkit.org/show_bug.cgi?id=20086
2299
2300         * rendering/style/RenderStyle.cpp:
2301         (WebCore::TranslateTransformOperation::blend):
2302
2303 2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
2304
2305         Reviewed by rwlbuis@gmail.com
2306
2307         https://bugs.webkit.org/show_bug.cgi?id=19965
2308
2309         - Added "@"{ident} rule (below other @-rules) to use flex for longest match
2310           (if an earlier rule - e.g. @media - also matches then flex chooses that one
2311            however, if a longer match - e.g. @mediaall matches flex will choose that)
2312         - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
2313           in the error recovery grammar. 
2314
2315         Test: css2.1/atrule_longest_match.html
2316
2317         * ChangeLog:
2318         * css/CSSGrammar.y:
2319         * css/tokenizer.flex:
2320
2321 2008-07-17  David Hyatt  <hyatt@apple.com>
2322
2323         Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
2324         recursive (and checks for transparency layers all the way up the ancestor document chain back to
2325         the top-level frame).
2326
2327         Reviewed by Dan
2328
2329         * rendering/RenderView.cpp:
2330         (WebCore::RenderView::paintBoxDecorations):
2331
2332 2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
2333
2334         REGRESSION: Can't create windowless plug-in with Flash 9
2335         https://bugs.webkit.org/show_bug.cgi?id=20070
2336
2337         Reviewed by Mark Rowe.
2338
2339         * plugins/win/PluginPackageWin.cpp:
2340         (WebCore::PluginPackage::determineQuirks): Reverse argument order;
2341         PlatformModuleVersion constructor takes leastSig, mostSig.
2342
2343 2008-07-16  Eric Seidel  <eric@webkit.org>
2344
2345         Reviewed by mitz.
2346
2347         Attempt to make initializeATSUStyle human-readable by
2348         splitting it out into better-named static inline functions.
2349
2350         No functional changes, thus no tests.
2351
2352         * platform/graphics/mac/FontMac.mm:
2353         (WebCore::fontHasMirroringInfo):
2354         (WebCore::disableLigatures):
2355         (WebCore::initializeATSUStyle):
2356
2357 2008-07-16  Eric Seidel  <eric@webkit.org>
2358
2359         No review, build fix only.
2360
2361         Attempt to fix Mac build
2362
2363         * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
2364
2365 2008-07-16  Eric Seidel  <eric@webkit.org>
2366
2367         Reviewed by mitz.
2368
2369         Make ATSULayoutParameters a real C++ class
2370         (Give it a destructor to clean up after itself)
2371         (Also use OwnArrayPtr instead of manual member cleanup)
2372
2373         * platform/graphics/mac/FontMac.mm:
2374         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
2375         (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
2376         (WebCore::overrideLayoutOperation):
2377         (WebCore::ATSULayoutParameters::initialize):
2378         (WebCore::Font::selectionRectForComplexText):
2379         (WebCore::Font::drawComplexText):
2380         (WebCore::Font::floatWidthForComplexText):
2381         (WebCore::Font::offsetForPositionForComplexText):
2382
2383 2008-07-16  Eric Seidel  <eric@webkit.org>
2384
2385         Reviewed by mitz.
2386
2387         Make ownership of copied UChar buffer clearer
2388         (and more leak-proof) by using a OwnArrayPtr.
2389
2390         No functional changes, thus no tests.
2391
2392         * platform/graphics/mac/FontMac.mm:
2393         (WebCore::copyRunForDirectionalOverrideIfNecessary):
2394         (WebCore::Font::selectionRectForComplexText):
2395         (WebCore::Font::drawComplexText):
2396         (WebCore::Font::offsetForPositionForComplexText):
2397
2398 2008-07-16  Eric Seidel  <eric@webkit.org>
2399
2400         Reviewed by Sam.
2401
2402         Split out TextRun into its own header file.
2403         Re-order members to place all bools together
2404         (to allow compilers to better pack the struct)
2405
2406         No functional changes, thus no tests.
2407
2408         * WebCore.vcproj/WebCore.vcproj:
2409         * WebCore.xcodeproj/project.pbxproj:
2410         * platform/graphics/Font.h: Moved TextRun into its own file.
2411         * platform/graphics/TextRun.h: Split out from Font.h
2412
2413 2008-07-16  Simon Fraser  <simon.fraser@apple.com>
2414
2415         Reviewed by Dave Hyatt
2416
2417         AnimationController needs to adjust z-index in the blended
2418         style in case opacity or transform were changed by blending.
2419
2420         https://bugs.webkit.org/show_bug.cgi?id=20047
2421         
2422         Test: transitions/opacity-transition-zindex.html
2423
2424         * page/AnimationController.cpp:
2425         (WebCore::AnimationController::updateImplicitAnimations):
2426
2427 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
2428
2429         Reviewed by Sam.
2430
2431         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
2432         Prepare SVGAnimatedProperty introduction.
2433
2434         Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
2435         contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
2436         See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
2437
2438         * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
2439         * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
2440         * svg/svgattrs.in: Export all SVG attributes as strings.
2441         * svg/svgtags.in: Export all SVG tags as strings.
2442         * svg/xlinkattrs.in: Expose all XLink attributes as strings.
2443
2444 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
2445
2446         Reviewed by Eric.
2447
2448         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
2449         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
2450
2451         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
2452
2453         * GNUmakefile.am:
2454         * WebCore.pro:
2455         * WebCore.vcproj/WebCore.vcproj:
2456         * WebCore.xcodeproj/project.pbxproj:
2457         * bindings/js/JSSVGLengthCustom.cpp: Added.
2458         (WebCore::JSSVGLength::value):
2459         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2460         * bindings/scripts/CodeGeneratorObjC.pm:
2461         * css/CSSCursorImageValue.cpp:
2462         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2463         * rendering/RenderForeignObject.cpp:
2464         (WebCore::RenderForeignObject::translationForAttributes):
2465         * rendering/RenderSVGImage.cpp:
2466         (WebCore::RenderSVGImage::layout):
2467         * rendering/RenderSVGRoot.cpp:
2468         (WebCore::RenderSVGRoot::calcViewport):
2469         * rendering/RenderSVGText.cpp:
2470         (WebCore::RenderSVGText::layout):
2471         * rendering/RenderSVGViewportContainer.cpp:
2472         (WebCore::RenderSVGViewportContainer::calcViewport):
2473         * rendering/SVGCharacterLayoutInfo.cpp:
2474         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
2475         (WebCore::SVGCharacterLayoutInfo::addStackContent):
2476         * rendering/SVGCharacterLayoutInfo.h:
2477         * rendering/SVGRootInlineBox.cpp:
2478         (WebCore::SVGRootInlineBox::buildTextChunks):
2479         * svg/SVGAnimateElement.h:
2480         * svg/SVGAnimateMotionElement.h:
2481         * svg/SVGAnimateTransformElement.h:
2482         * svg/SVGAnimationElement.h:
2483         (WebCore::SVGAnimationElement::contextElement):
2484         * svg/SVGCircleElement.cpp:
2485         (WebCore::SVGCircleElement::SVGCircleElement):
2486         (WebCore::SVGCircleElement::parseMappedAttribute):
2487         (WebCore::SVGCircleElement::toPathData):
2488         * svg/SVGCursorElement.cpp:
2489         (WebCore::SVGCursorElement::SVGCursorElement):
2490         (WebCore::SVGCursorElement::parseMappedAttribute):
2491         * svg/SVGEllipseElement.cpp:
2492         (WebCore::SVGEllipseElement::SVGEllipseElement):
2493         (WebCore::SVGEllipseElement::parseMappedAttribute):
2494         (WebCore::SVGEllipseElement::toPathData):
2495         * svg/SVGFilterElement.cpp:
2496         (WebCore::SVGFilterElement::SVGFilterElement):
2497         (WebCore::SVGFilterElement::parseMappedAttribute):
2498         (WebCore::SVGFilterElement::canvasResource):
2499         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2500         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
2501         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
2502         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2503         * svg/SVGForeignObjectElement.cpp:
2504         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2505         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
2506         * svg/SVGImageElement.cpp:
2507         (WebCore::SVGImageElement::SVGImageElement):
2508         (WebCore::SVGImageElement::parseMappedAttribute):
2509         * svg/SVGLength.cpp:
2510         (WebCore::SVGLength::SVGLength):
2511         (WebCore::SVGLength::value):
2512         (WebCore::SVGLength::convertToSpecifiedUnits):
2513         (WebCore::SVGLength::PercentageOfViewport):
2514         * svg/SVGLength.h:
2515         * svg/SVGLength.idl:
2516         * svg/SVGLengthList.cpp:
2517         (WebCore::SVGLengthList::parse):
2518         * svg/SVGLengthList.h:
2519         * svg/SVGLineElement.cpp:
2520         (WebCore::SVGLineElement::SVGLineElement):
2521         (WebCore::SVGLineElement::parseMappedAttribute):
2522         (WebCore::SVGLineElement::toPathData):
2523         * svg/SVGLinearGradientElement.cpp:
2524         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
2525         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
2526         * svg/SVGMarkerElement.cpp:
2527         (WebCore::SVGMarkerElement::SVGMarkerElement):
2528         (WebCore::SVGMarkerElement::parseMappedAttribute):
2529         (WebCore::SVGMarkerElement::canvasResource):
2530         * svg/SVGMaskElement.cpp:
2531         (WebCore::SVGMaskElement::SVGMaskElement):
2532         (WebCore::SVGMaskElement::parseMappedAttribute):
2533         (WebCore::SVGMaskElement::drawMaskerContent):
2534         * svg/SVGPatternElement.cpp:
2535         (WebCore::SVGPatternElement::SVGPatternElement):
2536         (WebCore::SVGPatternElement::parseMappedAttribute):
2537         (WebCore::SVGPatternElement::buildPattern):
2538         * svg/SVGRadialGradientElement.cpp:
2539         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2540         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
2541         * svg/SVGRectElement.cpp:
2542         (WebCore::SVGRectElement::SVGRectElement):
2543         (WebCore::SVGRectElement::parseMappedAttribute):
2544         (WebCore::SVGRectElement::toPathData):
2545         * svg/SVGSVGElement.cpp:
2546         (WebCore::SVGSVGElement::SVGSVGElement):
2547         (WebCore::SVGSVGElement::viewport):
2548         (WebCore::SVGSVGElement::parseMappedAttribute):
2549         (WebCore::SVGSVGElement::getCTM):
2550         (WebCore::SVGSVGElement::getScreenCTM):
2551         * svg/SVGTextContentElement.cpp:
2552         (WebCore::SVGTextContentElement::SVGTextContentElement):
2553         (WebCore::SVGTextContentElement::parseMappedAttribute):
2554         * svg/SVGTextPathElement.cpp:
2555         (WebCore::SVGTextPathElement::SVGTextPathElement):
2556         (WebCore::SVGTextPathElement::parseMappedAttribute):
2557         * svg/SVGTextPositioningElement.cpp:
2558         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
2559         * svg/SVGUseElement.cpp:
2560         (WebCore::SVGUseElement::SVGUseElement):
2561         (WebCore::SVGUseElement::parseMappedAttribute):
2562         (WebCore::SVGUseElement::buildPendingResource):
2563         (WebCore::SVGUseElement::buildInstanceTree):
2564         (WebCore::SVGUseElement::handleDeepUseReferencing):
2565         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
2566         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2567         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
2568         * svg/SVGUseElement.h:
2569         * svg/SynchronizableTypeWrapper.h:
2570         * svg/graphics/SVGImage.cpp:
2571         (WebCore::SVGImage::size):
2572
2573 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
2574
2575         Reviewed by Oliver Hunt.
2576
2577         Support for JavaScriptCore's first step toward putting doubles in
2578         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
2579
2580         * bindings/js/ScheduledAction.cpp:
2581         (WebCore::ScheduledAction::ScheduledAction):
2582
2583 2008-07-15  Maxime Britto  <britto@apple.com>
2584
2585         Reviewed by Eric.
2586
2587         https://bugs.webkit.org/show_bug.cgi?id=17589
2588         <rdar://problem/5770893>
2589         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
2590         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
2591         For the other platforms, nothing is changed but if someone want to activate this feature 
2592         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
2593
2594         * ChangeLog:
2595         * page/EventHandler.cpp:
2596         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
2597         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
2598         * platform/PlatformWheelEvent.h:
2599         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
2600         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
2601         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
2602         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
2603         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
2604         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2605         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
2606         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2607         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
2608         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2609         * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
2610         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
2611         (WebCore::ScrollView::updateScrollbars):
2612         (WebCore::ScrollView::wheelEvent):
2613         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
2614         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2615         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
2616         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2617
2618 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
2619
2620         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
2621
2622         * WebCoreSources.bkl:
2623
2624 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
2625
2626         Reviewed by Dan.
2627
2628         <rdar://problem/5620273> REGRESSION: Apparent caching between form
2629         submits twice (on Maconomy) (18401)
2630
2631         Frames did not set the createdByParser flag even when they were.
2632
2633         * html/HTMLElementFactory.cpp:
2634         (WebCore::frameConstructor):
2635         (WebCore::iframeConstructor):
2636
2637 2008-07-15  Dan Bernstein  <mitz@apple.com>
2638
2639         Reviewed by Dave Hyatt.
2640
2641         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
2642           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
2643
2644         Test: fast/reflections/inline-crash.html
2645
2646         * rendering/RenderInline.cpp:
2647         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
2648         Inline flows never have reflections.
2649
2650 2008-07-14  David Hyatt  <hyatt@apple.com>
2651
2652         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
2653         no <body> exists yet though.
2654
2655         Reviewed by Sam
2656
2657         Added fast/css/style-parsed-outside-of-head.html
2658
2659         * html/HTMLElement.cpp:
2660         (WebCore::inlineTagList):
2661
2662 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
2663
2664         Reviewed by Geoff.
2665
2666         Rename pageGroupIdentifier to profileGroup to keep mention of a
2667         pageGroup out of JavaScriptCore.
2668
2669         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2670         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
2671         * bindings/js/ScriptController.cpp:
2672         (WebCore::ScriptController::clear):
2673         (WebCore::ScriptController::initScript):
2674         * history/CachedPage.cpp:
2675         (WebCore::CachedPage::restore):
2676
2677 2008-07-15  Adam Roben  <aroben@apple.com>
2678
2679         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
2680
2681         <rdar://6059127>
2682
2683         Reviewed by John Sullivan.
2684
2685         * platform/graphics/win/FontCGWin.cpp:
2686         (WebCore::Font::drawGlyphs): Pass the result of
2687         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
2688         * platform/win/WebCoreTextRenderer.cpp:
2689         (WebCore::WebCoreSetShouldUseFontSmoothing):
2690         (WebCore::WebCoreShouldUseFontSmoothing):
2691         Added.
2692         * platform/win/WebCoreTextRenderer.h:
2693
2694 2008-07-15  Adam Roben  <aroben@apple.com>
2695
2696         Windows build fix
2697
2698         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
2699         to the project.
2700
2701 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
2702
2703         Build fix for the Gtk+ and Qt platform.
2704
2705         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
2706         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
2707
2708 2008-07-14  Dan Bernstein  <mitz@apple.com>
2709
2710         - Tiger build fix
2711
2712         * platform/mac/WidgetMac.mm:
2713         (WebCore::Widget::paint):
2714
2715 2008-07-14  Dan Bernstein  <mitz@apple.com>
2716
2717         Reviewed by John Sullivan.
2718
2719         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
2720
2721         * platform/mac/WidgetMac.mm:
2722         (WebCore::Widget::paint): Changed to account for the case of drawing
2723         into a bitmap context that is not a window's backing store. In that
2724         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
2725         drawing to the correct context, after setting up the right transform
2726         on it. For subframes, additional code ensures that the scroll view will
2727         not paint the background behind a transparent frame.
2728
2729 2008-07-14  chris fleizach  <cfleizach@apple.com>
2730
2731         Reviewed by Beth Dakin
2732
2733         <rdar://problem/6038106> AXChildren returned for this web area is null
2734         Accessibility of image maps needed to be updated
2735
2736         Tests: accessibility/image-map1.html
2737                accessibility/image-map2.html
2738
2739         * WebCore.xcodeproj/project.pbxproj:
2740         * page/AXObjectCache.cpp:
2741         (WebCore::AXObjectCache::get):
2742         * page/AccessibilityImageMapLink.cpp: Added.
2743         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
2744         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
2745         (WebCore::AccessibilityImageMapLink::create):
2746         (WebCore::AccessibilityImageMapLink::parentObject):
2747         (WebCore::AccessibilityImageMapLink::anchorElement):
2748         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
2749         (WebCore::AccessibilityImageMapLink::title):
2750         (WebCore::AccessibilityImageMapLink::elementRect):
2751         (WebCore::AccessibilityImageMapLink::size):
2752         * page/AccessibilityImageMapLink.h: Added.
2753         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
2754         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
2755         (WebCore::AccessibilityImageMapLink::roleValue):
2756         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
2757         (WebCore::AccessibilityImageMapLink::isLink):
2758         * page/AccessibilityListBoxOption.h:
2759         * page/AccessibilityObject.cpp:
2760         (WebCore::AccessibilityObject::selectedChildren):
2761         (WebCore::AccessibilityObject::visibleChildren):
2762         * page/AccessibilityObject.h:
2763         (WebCore::):
2764         * page/AccessibilityRenderObject.cpp:
2765         (WebCore::AccessibilityRenderObject::parentObject):
2766         (WebCore::AccessibilityRenderObject::isAnchor):
2767         (WebCore::AccessibilityRenderObject::anchorElement):
2768         (WebCore::AccessibilityRenderObject::helpText):
2769         (WebCore::AccessibilityRenderObject::intValue):
2770         (WebCore::AccessibilityRenderObject::stringValue):
2771         (WebCore::AccessibilityRenderObject::title):
2772         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2773         (WebCore::AccessibilityRenderObject::elementRect):
2774         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2775         (WebCore::AccessibilityRenderObject::roleValue):
2776         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2777         (WebCore::AccessibilityRenderObject::addChildren):
2778         * page/AccessibilityRenderObject.h:
2779         * page/mac/AccessibilityObjectWrapper.mm:
2780         (convertToNSArray):
2781         (RoleEntry::):
2782
2783 2008-07-14  Sam Weinig  <sam@webkit.org>
2784
2785         Rubber-stamped by David Hyatt.
2786
2787         Remove unused ExceptionCode parameter from compareDocumentPosition.
2788
2789         * dom/Document.cpp:
2790         (WebCore::Document::addStyleSheetCandidateNode):
2791         * dom/Node.cpp:
2792         (WebCore::Node::compareDocumentPosition):
2793         * dom/Node.h:
2794         * dom/Node.idl:
2795
2796 2008-07-14  David Hyatt  <hyatt@apple.com>
2797
2798         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
2799
2800         Reviewed by Sam
2801
2802         Added fast/css/style-outside-head.html
2803         Added fast/css/link-outside-head.html
2804
2805         * dom/Document.cpp:
2806         (WebCore::Document::addStyleSheetCandidateNode):
2807         (WebCore::Document::removeStyleSheetCandidateNode):
2808         (WebCore::Document::recalcStyleSelector):
2809         * dom/Document.h:
2810         * dom/Node.cpp:
2811         (WebCore::Node::compareDocumentPosition):
2812         * dom/ProcessingInstruction.cpp:
2813         (WebCore::ProcessingInstruction::checkStyleSheet):
2814         (WebCore::ProcessingInstruction::insertedIntoDocument):
2815         (WebCore::ProcessingInstruction::removedFromDocument):
2816         (WebCore::ProcessingInstruction::finishParsingChildren):
2817         * dom/ProcessingInstruction.h:
2818         (WebCore::ProcessingInstruction::setCreatedByParser):
2819         * dom/StyleElement.cpp:
2820         (WebCore::StyleElement::removedFromDocument):
2821         * dom/XMLTokenizer.cpp:
2822         (WebCore::XMLTokenizer::startElementNs):
2823         (WebCore::XMLTokenizer::processingInstruction):
2824         (WebCore::):
2825         * html/HTMLElementFactory.cpp:
2826         (WebCore::linkConstructor):
2827         * html/HTMLLinkElement.cpp:
2828         (WebCore::HTMLLinkElement::HTMLLinkElement):
2829         (WebCore::HTMLLinkElement::insertedIntoDocument):
2830         (WebCore::HTMLLinkElement::removedFromDocument):
2831         (WebCore::HTMLLinkElement::finishParsingChildren):
2832         * html/HTMLLinkElement.h:
2833         (WebCore::HTMLLinkElement::setCreatedByParser):
2834         * html/HTMLStyleElement.cpp:
2835         (WebCore::HTMLStyleElement::insertedIntoDocument):
2836         (WebCore::HTMLStyleElement::removedFromDocument):
2837         * svg/SVGStyleElement.cpp:
2838         (WebCore::SVGStyleElement::insertedIntoDocument):
2839         (WebCore::SVGStyleElement::removedFromDocument):
2840
2841 2008-07-14  Sam Weinig  <sam@webkit.org>
2842
2843         Reviewed by Mark Rowe.
2844
2845         Sort interface extended attributes to appease *the* Mark Rowe.
2846
2847         * page/DOMWindow.idl:
2848
2849 2008-07-14  Anders Carlsson  <andersca@apple.com>
2850
2851         Reviewed by Geoff.
2852
2853         <rdar://problem/6073974>
2854         https://bugs.webkit.org/show_bug.cgi?id=18106
2855         The "onscroll" event bubbles, which is inconsistent with Firefox and IE
2856
2857         Don't bubble the scroll event.
2858         
2859         * rendering/RenderLayer.cpp:
2860         (WebCore::RenderLayer::scrollToOffset):
2861         * rendering/RenderListBox.cpp:
2862         (WebCore::RenderListBox::valueChanged):
2863
2864 2008-07-14  Adele Peterson  <adele@apple.com>
2865
2866         Reviewed by Geoff.
2867
2868         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
2869
2870         The web server on this particular piece of hardware doesn't handle "text/xml" in the 
2871         Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
2872         the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
2873         server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
2874         is being deprecated in favor of "application/xml".  We decided that the best solution is 
2875         to match Firefox 3 and stop sending "text/xml" in the Accept header.
2876
2877         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
2878
2879         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
2880
2881 2008-07-14  Sam Weinig  <sam@webkit.org>
2882
2883         Reviewed by Adele Peterson.
2884
2885         Fix for <rdar://problem/5769819>
2886
2887         Test: http/tests/security/cross-frame-access-object-prototype.html
2888
2889         * bindings/js/JSDOMWindowCustom.cpp:
2890         (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
2891         (WebCore::JSDOMWindow::defineGetter): Ditto.
2892         (WebCore::JSDOMWindow::defineSetter): Ditto.
2893         (WebCore::JSDOMWindow::lookupGetter): Ditto.
2894         (WebCore::JSDOMWindow::lookupSetter): Ditto.
2895         * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
2896         of all the core JSObject functionality.
2897         * page/DOMWindow.idl: Override remaining core JSObject functionality,
2898         to inject security checks.
2899
2900 2008-07-14  Adam Roben  <aroben@apple.com>
2901
2902         Windows build fixes
2903
2904         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
2905         path.
2906         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
2907         bindings to regenerate.
2908         * loader/FTPDirectoryDocument.cpp:
2909         * loader/FTPDirectoryParser.cpp:
2910         Fixed some duplicate macro definitions now that we're including
2911         pthread.h again.
2912
2913 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2914
2915         Reviewed by Kevin McCullough.
2916
2917         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
2918         global data.
2919
2920         * bindings/js/JSDOMWindowBase.cpp:
2921         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
2922
2923 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
2924
2925         Reviewed by Holger.
2926
2927         Make listDirectory() in the Qt port work with empty namefilters.
2928         Don't include . and .. to avoid scanning the parent directory.
2929
2930         * platform/qt/FileSystemQt.cpp:
2931         (WebCore::listDirectory):
2932
2933 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2934
2935         Reviewed by Geoff Garen.
2936
2937         Eliminate per-thread JavaScript global data instance support and make arbitrary
2938         global data/global object combinations possible.
2939
2940         * bindings/js/JSDOMWindowBase.h:
2941         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
2942         WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
2943
2944         * bindings/js/JSDOMWindowShell.cpp:
2945         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2946         (WebCore::JSDOMWindowShell::operator new):
2947         * bindings/js/ScriptController.cpp:
2948         (WebCore::ScriptController::clear):
2949         * bindings/scripts/CodeGeneratorJS.pm:
2950         Pass commonJSGlobalData() as an allocator.
2951
2952         * bridge/c/c_utility.cpp:
2953         (KJS::Bindings::identifierFromNPIdentifier):
2954         * bridge/jni/jni_class.cpp:
2955         (JavaClass::JavaClass):
2956         * history/CachedPage.cpp:
2957         (WebCore::CachedPage::restore):
2958         * storage/Database.cpp:
2959         (WebCore::Database::Database):
2960         * bindings/js/GCController.cpp:
2961         (WebCore::collect):
2962         (WebCore::GCController::gcTimerFired):
2963         (WebCore::GCController::garbageCollectNow):
2964         Use JSDOMWindow::commonJSGlobalData().
2965
2966         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
2967         it need to be accesible outside of JSC).
2968
2969         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
2970
2971 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2972
2973         Reviewed by Simon.
2974
2975         MinGW build fixes
2976
2977         * plugins/win/PluginDatabaseWin.cpp:
2978         * plugins/win/PluginViewWin.cpp:
2979         (WebCore::PluginView::handleKeyboardEvent):
2980         (WebCore::PluginView::handleMouseEvent):
2981         * svg/SynchronizableTypeWrapper.h:
2982         (WebCore::::SynchronizableTypeWrapper):
2983
2984 2008-07-13  Sam Weinig  <sam@webkit.org>
2985
2986         Reviewed by Oliver Hunt and Dan Bernstein.
2987
2988         Fix for <rdar://problem/5888127>
2989         https://bugs.webkit.org/show_bug.cgi?id=18699
2990
2991         - Match Firefox in restricting the size of custom cursor to images to
2992           128x128 px.
2993         - Restrict custom cursor hotspots to values within the bounds of the
2994           cursor image.
2995
2996         * manual-tests/cursor-max-size.html: Added.
2997         * page/EventHandler.cpp:
2998         (WebCore::EventHandler::selectCursor):
2999
3000 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
3001
3002         wx build fix.
3003
3004         * platform/graphics/wx/AffineTransformWx.cpp:
3005         (WebCore::AffineTransform::a):
3006         (WebCore::AffineTransform::b):
3007         (WebCore::AffineTransform::c):
3008         (WebCore::AffineTransform::d):
3009         (WebCore::AffineTransform::e):
3010         (WebCore::AffineTransform::f):
3011
3012 2008-07-12  Dan Bernstein  <mitz@apple.com>
3013
3014         Reviewed by Oliver Hunt.
3015
3016         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
3017           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
3018
3019         Test: fast/block/basic/min-pref-width-nowrap-floats.html
3020
3021         * rendering/RenderBlock.cpp:
3022         (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
3023         float's width was added to the minimum preferred widths instead of just
3024         acting as a lower bound on the minimum preferred width (since the float
3025         can always be pushed down to be the only thing on the line).
3026
3027 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
3028
3029         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
3030
3031         <https://bugs.webkit.org/show_bug.cgi?id=13067>
3032
3033         Reviewed by Darin.
3034
3035         Test: WebCore/manual-tests/hash-ref.html
3036
3037         * loader/FrameLoader.cpp:
3038         (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
3039              FrameLoadType newLoadType, const String& frameName, Event* event,
3040              PassRefPtr<FormState> formState)): Extracted logic into
3041         shouldScrollToAnchor() for determining when to scroll to an anchor.
3042
3043         (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
3044              PassRefPtr<FormState> formState)): Added check for
3045         shouldScrollToAnchor() to catch cases when the user manually added a
3046         hash ref to the URL in the address bar.  This is the bug fix.
3047
3048         (WebCore::FrameLoader::shouldReload): Simplified early return logic.
3049         We only need to check if the destinationURL has a hash ref, not the
3050         currentURL, per the comment in the method.
3051
3052         (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
3053         from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
3054         of arguments to shouldReload() since they were backwards, although the
3055         previous logic in the method made this irrelevant.
3056
3057         (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
3058         we're navigating to a HistoryItem, it doesn't make sense to ask whether
3059         we need to reload the page or not.  Additionally, the logic at the end
3060         of shouldReload() is also checked in urlsMatchItem(), so there's no need
3061         to call the method.  This fixed the fast/css/target-fragment-match.html
3062         test from continuously reloading after the other changes.
3063
3064         * loader/FrameLoader.h:
3065         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
3066
3067         * manual-tests/hash-ref.html: Added.
3068         * manual-tests/resources/hash-ref-test.html: Added.
3069
3070 2008-07-11  Stephanie Lewis  <slewis@apple.com>
3071
3072         Reviewed by Darin Adler.
3073
3074         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
3075
3076         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3077         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
3078         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
3079         * bindings/js/JSEventListener.cpp:
3080         (WebCore::JSEventListener::JSEventListener):
3081         (WebCore::JSEventListener::~JSEventListener):
3082         * dom/Node.cpp:
3083         (WebCore::Node::Node):
3084         (WebCore::Node::~Node):
3085         * dom/Range.cpp:
3086         (WebCore::Range::Range):
3087         (WebCore::Range::~Range):
3088         * history/CachedPage.cpp:
3089         (WebCore::CachedPage::CachedPage):
3090         (WebCore::CachedPage::~CachedPage):
3091         * loader/SubresourceLoader.cpp:
3092         (WebCore::SubresourceLoader::SubresourceLoader):
3093         (WebCore::SubresourceLoader::~SubresourceLoader):
3094         * page/Frame.cpp:
3095         (WebCore::Frame::Frame):
3096         (WebCore::Frame::~Frame):
3097         * page/Page.cpp:
3098         (WebCore::Page::Page):
3099         (WebCore::Page::~Page):
3100         * rendering/RenderObject.cpp:
3101         (WebCore::RenderObject::RenderObject):
3102         (WebCore::RenderObject::~RenderObject):
3103         * rendering/bidi.cpp:
3104         (WebCore::throw):
3105         (WebCore::BidiRun::operator delete):
3106
3107 2008-07-11  Sam Weinig  <sam@webkit.org>
3108
3109         Reviewed by Mark Rowe.
3110
3111         Update getSubStringLength and selectSubString methods exception throwing conditions
3112         based on SVG working group errata.
3113
3114         Test: svg/custom/selectSubString.html
3115
3116         * svg/SVGTextContentElement.cpp:
3117         (WebCore::SVGTextContentElement::getSubStringLength):
3118         (WebCore::SVGTextContentElement::selectSubString):
3119
3120 2008-07-11  Sam Weinig  <sam@webkit.org>
3121
3122         Reviewed by Mark Rowe.
3123
3124         We can only use the Id fast path for querySelector and querySelectorAll
3125         if the selector is purely an Id selector.
3126
3127         Test: fast/dom/SelectorAPI/id-fastpath.html
3128
3129         * dom/Node.cpp:
3130         (WebCore::Node::querySelector):
3131         * dom/SelectorNodeList.cpp:
3132         (WebCore::createSelectorNodeList):
3133
3134 2008-07-11  David Hyatt  <hyatt@apple.com>
3135
3136         Implement the DOM level 3 compareDocumentPosition method on Node.
3137
3138         Reviewed by Darin
3139
3140         * dom/Node.cpp:
3141         (WebCore::Node::compareDocumentPosition):
3142         * dom/Node.h:
3143         * dom/Node.idl:
3144
3145 2008-07-11  Brady Eidson  <beidson@apple.com>
3146
3147         Rubberstamped by Sam
3148
3149         Removed unneeded export
3150
3151         * WebCore.base.exp:
3152
3153 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
3154
3155         Reviewed by Geoff.
3156
3157         <rdar://problem/6067178> REGRESSION: Start profile button in profiler
3158         now profiles inspector rather than actual page (19833)
3159         - The JSQuarantinedObjectWrapper should use the wrapped exec state
3160         so that calls to it execute in its quarantined world.
3161
3162         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3163         (WebCore::JSQuarantinedObjectWrapper::construct):
3164         (WebCore::JSQuarantinedObjectWrapper::call):
3165
3166 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
3167
3168         Reviewed by Dave Hyatt
3169
3170         StyleRareNonInheritedData needs to initialize and compare
3171         m_maskBoxImage.
3172         <https://bugs.webkit.org/show_bug.cgi?id=20005>
3173
3174         * rendering/style/RenderStyle.cpp:
3175         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3176         (WebCore::StyleRareNonInheritedData::operator==):
3177
3178 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
3179
3180         Reviewed by Dave Hyatt
3181
3182         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
3183         look for transforms, since transforms create containing
3184         blocks.
3185         <https://bugs.webkit.org/show_bug.cgi?id=18885>
3186
3187         Test: fast/transforms/transform-positioned-ancestor.html
3188
3189         * rendering/RenderLayer.cpp:
3190         (WebCore::RenderLayer::stackingContext):
3191         (WebCore::RenderLayer::enclosingPositionedAncestor):
3192         (WebCore::RenderLayer::enclosingTransformedAncestor):
3193
3194 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
3195
3196         Reviewed by Darin Adler
3197
3198         http://bugs.webkit.org/show_bug.cgi?id=19978
3199         GTK port always ends up with # at the end of resource URLs (and hence can't load files)
3200
3201         - Optimized KURL::removeRef() and used it rather than setRef("")
3202           which after r35040 does the wrong thing.
3203
3204         * platform/KURL.cpp:
3205         (WebCore::KURL::removeRef):
3206         * platform/network/curl/ResourceHandleManager.cpp:
3207         (WebCore::ResourceHandleManager::initializeHandle):
3208
3209 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
3210
3211         Fix the Qt/Windows build, include windows.h for HWND directly
3212         instead of implicit inclusion through Timer.h.
3213
3214         * plugins/win/PluginMessageThrottlerWin.h:
3215
3216 2008-07-11  Dan Bernstein  <mitz@apple.com>
3217
3218         Reviewed by Darin Adler.
3219
3220         - fix popularity tracking for cached resources, which regressed in r23923
3221
3222         * loader/Cache.cpp:
3223         (WebCore::Cache::requestResource): Changed to increase the access count
3224         whenever this function returns a CachedResource and the cache is
3225         enabled, instead of only when creating a new CachedResources. The
3226         incorrect behavior resulted in all resources in the cache having an
3227         access count of exactly 1 at all times.
3228         (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
3229
3230 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3231
3232         Reviewed by Simon.
3233
3234         Enable Netscape plugins for the Qt/Windows build.
3235
3236         This required various smaller fixes across a wider set of
3237         files described below.
3238
3239         * WebCore.pro: Add various windows specific files to the build.
3240         * page/Page.h: Extend the #ifdeffery for windows types to include the
3241         Qt/Windows build.
3242         * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
3243         the Qt port, as PluginViewWin.cpp uses it.
3244         * platform/graphics/qt/GraphicsContextQt.cpp:
3245         (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
3246         * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
3247         are now implemented through *Win.cpp files.
3248         * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
3249         * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
3250         (WebCore::PluginView::setFrameGeometry): Ditto.
3251         (WebCore::PluginView::PluginView): Ditto.
3252         * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
3253         which expands to HWND directly for the Qt/Windows build and
3254         PlatformWidget for the remaining platforms. That is because
3255         PlatformWidget is QWidget* for the Qt build but for the plugin
3256         window we need a native window, aka HWND.
3257         * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
3258         after config.h.
3259         * plugins/win/PluginViewWin.cpp:
3260         (windowHandleForPlatformWidget): Added a little helper function to
3261         determine the HWND from a PlatformWidget.
3262         (WebCore::registerPluginView): For the Qt port we need to set the
3263         global application instance handle here in the library, as the
3264         browser doesn't do it.
3265         (WebCore::PluginView::handleMouseEvent): Mask out
3266         ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
3267         (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
3268         manually just here to avoid compiling in IntRectWin.cpp.
3269         (WebCore::PluginView::invalidateRegion): Ditto.
3270         (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
3271         on containingWindow() to get the correct HWND for the Qt port.
3272         (WebCore::PluginView::init): Determine the parent HWND for m_window
3273         using windowHandleForPlatformWidget.
3274
3275 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
3276
3277         Rubber-stamped by Holger.
3278
3279         Enable Database and Icondatabase functionality for the Qt/Windows
3280         build when building inside Qt, as we can use the builtin copy of
3281         sqlite then.
3282
3283         * WebCore.pro:
3284
3285 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3286
3287         Reviewed by Adam Roben.
3288
3289         Fix compile with MinGW since it does not like friend static function.
3290
3291         * plugins/PluginView.h:
3292         * plugins/win/PluginViewWin.cpp:
3293
3294 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3295
3296         Reviewed by Simon.
3297
3298         Fix Qt/Win32 build.
3299
3300         * platform/graphics/qt/GraphicsContextQt.cpp:
3301
3302 2008-07-10  Sam Weinig  <sam@webkit.org>
3303
3304         Reviewed by Oliver Hunt.
3305
3306         Add support for NSResolver to resolve namespaces for querySelector 
3307         and querySelectorAll.
3308
3309         - Namespace resolution is done after parsing by iterating over all the
3310           parts of the CSSSelector.
3311
3312         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
3313                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
3314
3315         * GNUmakefile.am: Updated with new files.
3316         * WebCore.pro: Ditto.
3317         * WebCore.vcproj/WebCore.vcproj: Ditto.
3318         * WebCore.xcodeproj/project.pbxproj: Ditto.
3319         * WebCoreSources.bkl: Ditto.
3320
3321         * bindings/js/JSDOMBinding.cpp:
3322         (WebCore::execStateFromNode):
3323         * bindings/js/JSDOMBinding.h:
3324         Move execStateFromNode here from NodeFilter.
3325
3326         * bindings/js/JSDocumentCustom.cpp:
3327         (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
3328         and instead create one if the argument is not undefined or null.
3329         (WebCore::JSDocument::querySelectorAll): Ditto.
3330         * bindings/js/JSDocumentFragmentCustom.cpp:
3331         (WebCore::JSDocumentFragment::querySelector): Ditto.
3332         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
3333         * bindings/js/JSElementCustom.cpp:
3334         (WebCore::JSElement::querySelector): Ditto.
3335         (WebCore::JSElement::querySelectorAll): Ditto.
3336
3337         * bindings/js/JSNSResolver.cpp: Added.
3338         (WebCore::JSNSResolver::JSNSResolver):
3339         (WebCore::JSNSResolver::mark):
3340         (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
3341         from the passed in argument, either the value itself, or the result of
3342         getting the lookupNamespaceURI property, and call it.
3343         (WebCore::toNSResolver):
3344         * bindings/js/JSNSResolver.h: Added.
3345         (WebCore::JSNSResolver::create):
3346
3347         * dom/Document.idl: Update with NSResolver parameter.
3348         * dom/DocumentFragment.idl: Ditto.
3349         * dom/Element.idl: Ditto.
3350
3351         * dom/NSResolver.h: Added.
3352         (WebCore::NSResolver::~NSResolver):
3353         (WebCore::NSResolver::mark):
3354         Abstract base class.
3355
3356         * dom/NSResolver.idl: Added.
3357
3358         * dom/Node.cpp:
3359         (WebCore::forEachTagSelector):
3360         (WebCore::forEachSelector):
3361         Functions to iterate over all parts of the selector.
3362
3363         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
3364         Functor to be passed to forEachSelector to determine if a selector
3365         needs namespace resolution, for the case when no NSResolver is passed
3366         and we need to determine whether to throw a NAMESPACE_ERR.
3367
3368         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
3369         (WebCore::ResolveNamespaceFunctor::operator()):
3370         Functor to resolve namespaces for the selector.
3371
3372         (WebCore::selectorNeedsNamespaceResolution):
3373         (WebCore::resolveNamespacesForSelector):
3374         (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
3375         if a NSResolver is passed in.
3376         (WebCore::Node::querySelectorAll): Ditto.
3377         * dom/Node.h:
3378
3379         * dom/NodeFilter.cpp:
3380         * dom/NodeFilter.h:
3381         * dom/NodeIterator.h:
3382         (WebCore::NodeIterator::nextNode):
3383         (WebCore::NodeIterator::previousNode):
3384         * dom/TreeWalker.h:
3385         (WebCore::TreeWalker::parentNode):
3386         (WebCore::TreeWalker::firstChild):
3387         (WebCore::TreeWalker::lastChild):
3388         (WebCore::TreeWalker::previousSibling):
3389         (WebCore::TreeWalker::nextSibling):
3390         (WebCore::TreeWalker::previousNode):
3391         (WebCore::TreeWalker::nextNode):
3392         Use the version of execStateFromNode in JSDOMBinding.
3393
3394 2008-07-10  Mark Rowe  <mrowe@apple.com>
3395
3396         Reviewed by Sam Weinig.
3397
3398         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
3399
3400         * Configurations/WebCore.xcconfig:
3401
3402 2008-07-10  Dean Jackson  <dino@apple.com>
3403
3404         Reviewed by hyatt.
3405
3406         Calculate computed style for -webkit-transform property
3407         https://bugs.webkit.org/show_bug.cgi?id=19864
3408
3409         Test: css3/transform-computed-style-001.html
3410
3411         * css/CSSComputedStyleDeclaration.cpp:
3412         (WebCore::computedTransform):
3413         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3414             handles -webkit-transform property now
3415         * manual-tests/computed-transform-value.html: Added.
3416
3417 2008-07-10  Dan Bernstein  <mitz@apple.com>
3418
3419         Reviewed by Adam Roben.
3420
3421         - fix a parse error in inspector.js
3422
3423         * page/inspector/inspector.js: Added missing brace.
3424
3425 2008-07-10  Adam Roben  <aroben@apple.com>
3426
3427         Build fix
3428
3429         * WebCore.vcproj/QTMovieWin.vcproj: Add
3430         OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
3431
3432 2008-07-10  Chris Fleizach  <cfleizach@apple.com>
3433
3434         Reviewed by Dan Bernstein
3435
3436         <rdar://problem/6067408> AX: internal anchors broken
3437
3438         * page/AccessibilityRenderObject.cpp:
3439         (WebCore::AccessibilityRenderObject::internalLinkElement):
3440         * platform/KURL.cpp:
3441         (WebCore::KURL::removeRef):
3442         * platform/KURL.h:
3443
3444 2008-07-10  Mark Rowe  <mrowe@apple.com>
3445
3446         Build fix.
3447
3448         * bridge/npapi.h: Remove extra comma.
3449
3450 2008-07-10  Sam Weinig  <sam@webkit.org>
3451
3452         Reviewed by Mark Rowe.
3453
3454         Remove no-op debug method.
3455
3456         * css/CSSSelector.cpp:
3457         * css/CSSSelector.h:
3458
3459 2008-07-10  Sam Weinig  <sam@webkit.org>
3460
3461         Reviewed by Dave Hyatt and Darin Adler.
3462
3463         Add support for calling querySelector and querySelectorAll on DocumentFragments
3464
3465         - Fixes bug where nodes not in the document tree would not match based on ID due
3466           to over optimization.
3467
3468         Test: fast/dom/SelectorAPI/detached-element.html
3469
3470         * GNUmakefile.am:
3471         * WebCore.pro:
3472         * WebCore.vcproj/WebCore.vcproj:
3473         * WebCore.xcodeproj/project.pbxproj:
3474         * WebCoreSources.bkl:
3475         * bindings/js/JSDocumentFragmentCustom.cpp: Added.
3476         (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
3477         and JSDocument that checks for a 2nd arguments and throws an exception indicating
3478         we do not currently support the optional NSResolver part of the Selectors API spec.
3479         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
3480         * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
3481
3482         * dom/Node.cpp:
3483         (WebCore::Node::querySelector): Make the CSS parser parse the selector
3484         according to the strictness of the document so that mixed case ID selectors
3485         match in quirks mode.  Also, don't use the fast ID path if the root is not
3486         in the DOM tree, as it won't work.
3487         (WebCore::Node::querySelectorAll): Ditto.
3488         * dom/SelectorNodeList.cpp:
3489         (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
3490         in the DOM tree, as it won't work.
3491
3492 2008-07-10  Anthony Ricaud  <rik24d@gmail.com>
3493
3494         Bug 19389: querySelectorAll exception while searching invalid CSS selector
3495         <https://bugs.webkit.org/show_bug.cgi?id=19389>
3496
3497         Reviewed by Tim Hatcher.
3498
3499         * page/inspector/inspector.js: Added a try/catch block.
3500
3501 2008-07-10  Brent Fulgham  <bfulgham@gmail.com>
3502
3503         Correct a build regression due to an uninitialized variable.
3504
3505         <https://bugs.webkit.org/show_bug.cgi?id=19976>
3506
3507         Reviewed by Darin.
3508
3509         * platform/graphics/cairo/FontCairo.cpp:
3510         (WebCore::Font::drawGlyphs):
3511
3512 2008-07-10  Adam Roben  <aroben@apple.com>
3513
3514         Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
3515         HTMLCollection::resetCollectionInfo (codegen issue?)
3516
3517         <https://bugs.webkit.org/show_bug.cgi?id=19580>
3518         <rdar://6029794>
3519
3520         Reviewed by Cameron Zwarich.
3521
3522         * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
3523         which was causing some bad codegen in HTMLFormElement::elements.
3524         * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
3525
3526 2008-07-10  Anders Carlsson  <andersca@apple.com>
3527
3528         Reviewed by Jon.
3529
3530         <rdar://problem/6067135>
3531         WebKit should respond true to a query for NPNVSupportsWindowless.
3532         
3533         Handle NPNVSupportsWindowless and return true.
3534         
3535         * bridge/npapi.h:
3536         * plugins/win/PluginViewWin.cpp:
3537         (WebCore::PluginView::getValue):
3538
3539 2008-07-10  Kevin McCullough  <kmccullough@apple.com>
3540
3541         Reviewed by Darin.
3542
3543         -Minor cleanup. Renamed callTree() to head() and no longer use m_head
3544         directly but instead keep it private and access via a method().
3545
3546         * page/JavaScriptProfile.cpp:
3547         (WebCore::getHeadCallback):
3548
3549 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
3550
3551         When a mask image changes, ensure that elements
3552         that use that mask image are repainted correctly.
3553         
3554         <https://bugs.webkit.org/show_bug.cgi?id=19954>
3555         
3556         Reviewed by Dave Hyatt
3557
3558         * manual-tests/canvas-mask-redraw.html
3559           Manual testcase
3560         * rendering/RenderBox.cpp:
3561         (WebCore::RenderBox::imageChanged):
3562         (WebCore::RenderBox::repaintLayerRectsForImage):
3563         * rendering/RenderBox.h:
3564         Loop through background layers and mask layers, and
3565         if this image is used in a layer, compute a repaint
3566         rect and repaint.
3567         * rendering/RenderImage.cpp:
3568         (WebCore::RenderImage::imageChanged):
3569         If this image has a mask, call the base class method.
3570         * rendering/RenderObject.cpp:
3571         Remove a bogus 'return'.
3572
3573 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
3574
3575         Transforms create a containing block, so
3576         RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
3577         <https://bugs.webkit.org/show_bug.cgi?id=18886>
3578         
3579         Reviewed by Dave Hyatt
3580
3581         Test: fast/transforms/transform-overflow.html
3582
3583         * rendering/RenderLayer.cpp:
3584         (WebCore::RenderLayer::shouldBeOverflowOnly):
3585
3586 2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
3587
3588         Reviewed by Oliver Hunt.
3589
3590         bug 19835: WebKit needs cross-platform filter system
3591         <https://bugs.webkit.org/show_bug.cgi?id=19835>
3592
3593         More class refactoring in preparation for cross-platform filter 
3594         implementation.
3595
3596         * WebCore.xcodeproj/project.pbxproj:
3597         * rendering/SVGRenderTreeAsText.h: