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