4a27b1c8c8fc5914fd9a8f15aad222558d56f098
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
2
3         Reviewed by Eric.
4
5         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
6         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
7
8         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
9
10         * GNUmakefile.am:
11         * WebCore.pro:
12         * WebCore.vcproj/WebCore.vcproj:
13         * WebCore.xcodeproj/project.pbxproj:
14         * bindings/js/JSSVGLengthCustom.cpp: Added.
15         (WebCore::JSSVGLength::value):
16         (WebCore::JSSVGLength::convertToSpecifiedUnits):
17         * bindings/scripts/CodeGeneratorObjC.pm:
18         * css/CSSCursorImageValue.cpp:
19         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
20         * rendering/RenderForeignObject.cpp:
21         (WebCore::RenderForeignObject::translationForAttributes):
22         * rendering/RenderSVGImage.cpp:
23         (WebCore::RenderSVGImage::layout):
24         * rendering/RenderSVGRoot.cpp:
25         (WebCore::RenderSVGRoot::calcViewport):
26         * rendering/RenderSVGText.cpp:
27         (WebCore::RenderSVGText::layout):
28         * rendering/RenderSVGViewportContainer.cpp:
29         (WebCore::RenderSVGViewportContainer::calcViewport):
30         * rendering/SVGCharacterLayoutInfo.cpp:
31         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
32         (WebCore::SVGCharacterLayoutInfo::addStackContent):
33         * rendering/SVGCharacterLayoutInfo.h:
34         * rendering/SVGRootInlineBox.cpp:
35         (WebCore::SVGRootInlineBox::buildTextChunks):
36         * svg/SVGAnimateElement.h:
37         * svg/SVGAnimateMotionElement.h:
38         * svg/SVGAnimateTransformElement.h:
39         * svg/SVGAnimationElement.h:
40         (WebCore::SVGAnimationElement::contextElement):
41         * svg/SVGCircleElement.cpp:
42         (WebCore::SVGCircleElement::SVGCircleElement):
43         (WebCore::SVGCircleElement::parseMappedAttribute):
44         (WebCore::SVGCircleElement::toPathData):
45         * svg/SVGCursorElement.cpp:
46         (WebCore::SVGCursorElement::SVGCursorElement):
47         (WebCore::SVGCursorElement::parseMappedAttribute):
48         * svg/SVGEllipseElement.cpp:
49         (WebCore::SVGEllipseElement::SVGEllipseElement):
50         (WebCore::SVGEllipseElement::parseMappedAttribute):
51         (WebCore::SVGEllipseElement::toPathData):
52         * svg/SVGFilterElement.cpp:
53         (WebCore::SVGFilterElement::SVGFilterElement):
54         (WebCore::SVGFilterElement::parseMappedAttribute):
55         (WebCore::SVGFilterElement::canvasResource):
56         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
57         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
58         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
59         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
60         * svg/SVGForeignObjectElement.cpp:
61         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
62         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
63         * svg/SVGImageElement.cpp:
64         (WebCore::SVGImageElement::SVGImageElement):
65         (WebCore::SVGImageElement::parseMappedAttribute):
66         * svg/SVGLength.cpp:
67         (WebCore::SVGLength::SVGLength):
68         (WebCore::SVGLength::value):
69         (WebCore::SVGLength::convertToSpecifiedUnits):
70         (WebCore::SVGLength::PercentageOfViewport):
71         * svg/SVGLength.h:
72         * svg/SVGLength.idl:
73         * svg/SVGLengthList.cpp:
74         (WebCore::SVGLengthList::parse):
75         * svg/SVGLengthList.h:
76         * svg/SVGLineElement.cpp:
77         (WebCore::SVGLineElement::SVGLineElement):
78         (WebCore::SVGLineElement::parseMappedAttribute):
79         (WebCore::SVGLineElement::toPathData):
80         * svg/SVGLinearGradientElement.cpp:
81         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
82         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
83         * svg/SVGMarkerElement.cpp:
84         (WebCore::SVGMarkerElement::SVGMarkerElement):
85         (WebCore::SVGMarkerElement::parseMappedAttribute):
86         (WebCore::SVGMarkerElement::canvasResource):
87         * svg/SVGMaskElement.cpp:
88         (WebCore::SVGMaskElement::SVGMaskElement):
89         (WebCore::SVGMaskElement::parseMappedAttribute):
90         (WebCore::SVGMaskElement::drawMaskerContent):
91         * svg/SVGPatternElement.cpp:
92         (WebCore::SVGPatternElement::SVGPatternElement):
93         (WebCore::SVGPatternElement::parseMappedAttribute):
94         (WebCore::SVGPatternElement::buildPattern):
95         * svg/SVGRadialGradientElement.cpp:
96         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
97         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
98         * svg/SVGRectElement.cpp:
99         (WebCore::SVGRectElement::SVGRectElement):
100         (WebCore::SVGRectElement::parseMappedAttribute):
101         (WebCore::SVGRectElement::toPathData):
102         * svg/SVGSVGElement.cpp:
103         (WebCore::SVGSVGElement::SVGSVGElement):
104         (WebCore::SVGSVGElement::viewport):
105         (WebCore::SVGSVGElement::parseMappedAttribute):
106         (WebCore::SVGSVGElement::getCTM):
107         (WebCore::SVGSVGElement::getScreenCTM):
108         * svg/SVGTextContentElement.cpp:
109         (WebCore::SVGTextContentElement::SVGTextContentElement):
110         (WebCore::SVGTextContentElement::parseMappedAttribute):
111         * svg/SVGTextPathElement.cpp:
112         (WebCore::SVGTextPathElement::SVGTextPathElement):
113         (WebCore::SVGTextPathElement::parseMappedAttribute):
114         * svg/SVGTextPositioningElement.cpp:
115         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
116         * svg/SVGUseElement.cpp:
117         (WebCore::SVGUseElement::SVGUseElement):
118         (WebCore::SVGUseElement::parseMappedAttribute):
119         (WebCore::SVGUseElement::buildPendingResource):
120         (WebCore::SVGUseElement::buildInstanceTree):
121         (WebCore::SVGUseElement::handleDeepUseReferencing):
122         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
123         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
124         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
125         * svg/SVGUseElement.h:
126         * svg/SynchronizableTypeWrapper.h:
127         * svg/graphics/SVGImage.cpp:
128         (WebCore::SVGImage::size):
129
130 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
131
132         Reviewed by Oliver Hunt.
133
134         Support for JavaScriptCore's first step toward putting doubles in
135         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
136
137         * bindings/js/ScheduledAction.cpp:
138         (WebCore::ScheduledAction::ScheduledAction):
139
140 2008-07-15  Maxime Britto  <britto@apple.com>
141
142         Reviewed by Eric.
143
144         https://bugs.webkit.org/show_bug.cgi?id=17589
145         <rdar://problem/5770893>
146         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
147         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
148         For the other platforms, nothing is changed but if someone want to activate this feature 
149         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
150
151         * ChangeLog:
152         * page/EventHandler.cpp:
153         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
154         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
155         * platform/PlatformWheelEvent.h:
156         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
157         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
158         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
159         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
160         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
161         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
162         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
163         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
164         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
165         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
166         * 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
167         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
168         (WebCore::ScrollView::updateScrollbars):
169         (WebCore::ScrollView::wheelEvent):
170         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
171         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
172         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
173         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
174
175 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
176
177         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
178
179         * WebCoreSources.bkl:
180
181 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
182
183         Reviewed by Dan.
184
185         <rdar://problem/5620273> REGRESSION: Apparent caching between form
186         submits twice (on Maconomy) (18401)
187
188         Frames did not set the createdByParser flag even when they were.
189
190         * html/HTMLElementFactory.cpp:
191         (WebCore::frameConstructor):
192         (WebCore::iframeConstructor):
193
194 2008-07-15  Dan Bernstein  <mitz@apple.com>
195
196         Reviewed by Dave Hyatt.
197
198         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
199           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
200
201         Test: fast/reflections/inline-crash.html
202
203         * rendering/RenderInline.cpp:
204         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
205         Inline flows never have reflections.
206
207 2008-07-14  David Hyatt  <hyatt@apple.com>
208
209         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
210         no <body> exists yet though.
211
212         Reviewed by Sam
213
214         Added fast/css/style-parsed-outside-of-head.html
215
216         * html/HTMLElement.cpp:
217         (WebCore::inlineTagList):
218
219 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
220
221         Reviewed by Geoff.
222
223         Rename pageGroupIdentifier to profileGroup to keep mention of a
224         pageGroup out of JavaScriptCore.
225
226         * bindings/js/JSQuarantinedObjectWrapper.cpp:
227         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
228         * bindings/js/ScriptController.cpp:
229         (WebCore::ScriptController::clear):
230         (WebCore::ScriptController::initScript):
231         * history/CachedPage.cpp:
232         (WebCore::CachedPage::restore):
233
234 2008-07-15  Adam Roben  <aroben@apple.com>
235
236         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
237
238         <rdar://6059127>
239
240         Reviewed by John Sullivan.
241
242         * platform/graphics/win/FontCGWin.cpp:
243         (WebCore::Font::drawGlyphs): Pass the result of
244         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
245         * platform/win/WebCoreTextRenderer.cpp:
246         (WebCore::WebCoreSetShouldUseFontSmoothing):
247         (WebCore::WebCoreShouldUseFontSmoothing):
248         Added.
249         * platform/win/WebCoreTextRenderer.h:
250
251 2008-07-15  Adam Roben  <aroben@apple.com>
252
253         Windows build fix
254
255         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
256         to the project.
257
258 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
259
260         Build fix for the Gtk+ and Qt platform.
261
262         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
263         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
264
265 2008-07-14  Dan Bernstein  <mitz@apple.com>
266
267         - Tiger build fix
268
269         * platform/mac/WidgetMac.mm:
270         (WebCore::Widget::paint):
271
272 2008-07-14  Dan Bernstein  <mitz@apple.com>
273
274         Reviewed by John Sullivan.
275
276         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
277
278         * platform/mac/WidgetMac.mm:
279         (WebCore::Widget::paint): Changed to account for the case of drawing
280         into a bitmap context that is not a window's backing store. In that
281         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
282         drawing to the correct context, after setting up the right transform
283         on it. For subframes, additional code ensures that the scroll view will
284         not paint the background behind a transparent frame.
285
286 2008-07-14  chris fleizach  <cfleizach@apple.com>
287
288         Reviewed by Beth Dakin
289
290         <rdar://problem/6038106> AXChildren returned for this web area is null
291         Accessibility of image maps needed to be updated
292
293         Tests: accessibility/image-map1.html
294                accessibility/image-map2.html
295
296         * WebCore.xcodeproj/project.pbxproj:
297         * page/AXObjectCache.cpp:
298         (WebCore::AXObjectCache::get):
299         * page/AccessibilityImageMapLink.cpp: Added.
300         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
301         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
302         (WebCore::AccessibilityImageMapLink::create):
303         (WebCore::AccessibilityImageMapLink::parentObject):
304         (WebCore::AccessibilityImageMapLink::anchorElement):
305         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
306         (WebCore::AccessibilityImageMapLink::title):
307         (WebCore::AccessibilityImageMapLink::elementRect):
308         (WebCore::AccessibilityImageMapLink::size):
309         * page/AccessibilityImageMapLink.h: Added.
310         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
311         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
312         (WebCore::AccessibilityImageMapLink::roleValue):
313         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
314         (WebCore::AccessibilityImageMapLink::isLink):
315         * page/AccessibilityListBoxOption.h:
316         * page/AccessibilityObject.cpp:
317         (WebCore::AccessibilityObject::selectedChildren):
318         (WebCore::AccessibilityObject::visibleChildren):
319         * page/AccessibilityObject.h:
320         (WebCore::):
321         * page/AccessibilityRenderObject.cpp:
322         (WebCore::AccessibilityRenderObject::parentObject):
323         (WebCore::AccessibilityRenderObject::isAnchor):
324         (WebCore::AccessibilityRenderObject::anchorElement):
325         (WebCore::AccessibilityRenderObject::helpText):
326         (WebCore::AccessibilityRenderObject::intValue):
327         (WebCore::AccessibilityRenderObject::stringValue):
328         (WebCore::AccessibilityRenderObject::title):
329         (WebCore::AccessibilityRenderObject::accessibilityDescription):
330         (WebCore::AccessibilityRenderObject::elementRect):
331         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
332         (WebCore::AccessibilityRenderObject::roleValue):
333         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
334         (WebCore::AccessibilityRenderObject::addChildren):
335         * page/AccessibilityRenderObject.h:
336         * page/mac/AccessibilityObjectWrapper.mm:
337         (convertToNSArray):
338         (RoleEntry::):
339
340 2008-07-14  Sam Weinig  <sam@webkit.org>
341
342         Rubber-stamped by David Hyatt.
343
344         Remove unused ExceptionCode parameter from compareDocumentPosition.
345
346         * dom/Document.cpp:
347         (WebCore::Document::addStyleSheetCandidateNode):
348         * dom/Node.cpp:
349         (WebCore::Node::compareDocumentPosition):
350         * dom/Node.h:
351         * dom/Node.idl:
352
353 2008-07-14  David Hyatt  <hyatt@apple.com>
354
355         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
356
357         Reviewed by Sam
358
359         Added fast/css/style-outside-head.html
360         Added fast/css/link-outside-head.html
361
362         * dom/Document.cpp:
363         (WebCore::Document::addStyleSheetCandidateNode):
364         (WebCore::Document::removeStyleSheetCandidateNode):
365         (WebCore::Document::recalcStyleSelector):
366         * dom/Document.h:
367         * dom/Node.cpp:
368         (WebCore::Node::compareDocumentPosition):
369         * dom/ProcessingInstruction.cpp:
370         (WebCore::ProcessingInstruction::checkStyleSheet):
371         (WebCore::ProcessingInstruction::insertedIntoDocument):
372         (WebCore::ProcessingInstruction::removedFromDocument):
373         (WebCore::ProcessingInstruction::finishParsingChildren):
374         * dom/ProcessingInstruction.h:
375         (WebCore::ProcessingInstruction::setCreatedByParser):
376         * dom/StyleElement.cpp:
377         (WebCore::StyleElement::removedFromDocument):
378         * dom/XMLTokenizer.cpp:
379         (WebCore::XMLTokenizer::startElementNs):
380         (WebCore::XMLTokenizer::processingInstruction):
381         (WebCore::):
382         * html/HTMLElementFactory.cpp:
383         (WebCore::linkConstructor):
384         * html/HTMLLinkElement.cpp:
385         (WebCore::HTMLLinkElement::HTMLLinkElement):
386         (WebCore::HTMLLinkElement::insertedIntoDocument):
387         (WebCore::HTMLLinkElement::removedFromDocument):
388         (WebCore::HTMLLinkElement::finishParsingChildren):
389         * html/HTMLLinkElement.h:
390         (WebCore::HTMLLinkElement::setCreatedByParser):
391         * html/HTMLStyleElement.cpp:
392         (WebCore::HTMLStyleElement::insertedIntoDocument):
393         (WebCore::HTMLStyleElement::removedFromDocument):
394         * svg/SVGStyleElement.cpp:
395         (WebCore::SVGStyleElement::insertedIntoDocument):
396         (WebCore::SVGStyleElement::removedFromDocument):
397
398 2008-07-14  Sam Weinig  <sam@webkit.org>
399
400         Reviewed by Mark Rowe.
401
402         Sort interface extended attributes to appease *the* Mark Rowe.
403
404         * page/DOMWindow.idl:
405
406 2008-07-14  Anders Carlsson  <andersca@apple.com>
407
408         Reviewed by Geoff.
409
410         <rdar://problem/6073974>
411         https://bugs.webkit.org/show_bug.cgi?id=18106
412         The "onscroll" event bubbles, which is inconsistent with Firefox and IE
413
414         Don't bubble the scroll event.
415         
416         * rendering/RenderLayer.cpp:
417         (WebCore::RenderLayer::scrollToOffset):
418         * rendering/RenderListBox.cpp:
419         (WebCore::RenderListBox::valueChanged):
420
421 2008-07-14  Adele Peterson  <adele@apple.com>
422
423         Reviewed by Geoff.
424
425         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
426
427         The web server on this particular piece of hardware doesn't handle "text/xml" in the 
428         Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
429         the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
430         server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
431         is being deprecated in favor of "application/xml".  We decided that the best solution is 
432         to match Firefox 3 and stop sending "text/xml" in the Accept header.
433
434         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
435
436         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
437
438 2008-07-14  Sam Weinig  <sam@webkit.org>
439
440         Reviewed by Adele Peterson.
441
442         Fix for <rdar://problem/5769819>
443
444         Test: http/tests/security/cross-frame-access-object-prototype.html
445
446         * bindings/js/JSDOMWindowCustom.cpp:
447         (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
448         (WebCore::JSDOMWindow::defineGetter): Ditto.
449         (WebCore::JSDOMWindow::defineSetter): Ditto.
450         (WebCore::JSDOMWindow::lookupGetter): Ditto.
451         (WebCore::JSDOMWindow::lookupSetter): Ditto.
452         * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
453         of all the core JSObject functionality.
454         * page/DOMWindow.idl: Override remaining core JSObject functionality,
455         to inject security checks.
456
457 2008-07-14  Adam Roben  <aroben@apple.com>
458
459         Windows build fixes
460
461         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
462         path.
463         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
464         bindings to regenerate.
465         * loader/FTPDirectoryDocument.cpp:
466         * loader/FTPDirectoryParser.cpp:
467         Fixed some duplicate macro definitions now that we're including
468         pthread.h again.
469
470 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
471
472         Reviewed by Kevin McCullough.
473
474         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
475         global data.
476
477         * bindings/js/JSDOMWindowBase.cpp:
478         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
479
480 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
481
482         Reviewed by Holger.
483
484         Make listDirectory() in the Qt port work with empty namefilters.
485         Don't include . and .. to avoid scanning the parent directory.
486
487         * platform/qt/FileSystemQt.cpp:
488         (WebCore::listDirectory):
489
490 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
491
492         Reviewed by Geoff Garen.
493
494         Eliminate per-thread JavaScript global data instance support and make arbitrary
495         global data/global object combinations possible.
496
497         * bindings/js/JSDOMWindowBase.h:
498         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
499         WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
500
501         * bindings/js/JSDOMWindowShell.cpp:
502         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
503         (WebCore::JSDOMWindowShell::operator new):
504         * bindings/js/ScriptController.cpp:
505         (WebCore::ScriptController::clear):
506         * bindings/scripts/CodeGeneratorJS.pm:
507         Pass commonJSGlobalData() as an allocator.
508
509         * bridge/c/c_utility.cpp:
510         (KJS::Bindings::identifierFromNPIdentifier):
511         * bridge/jni/jni_class.cpp:
512         (JavaClass::JavaClass):
513         * history/CachedPage.cpp:
514         (WebCore::CachedPage::restore):
515         * storage/Database.cpp:
516         (WebCore::Database::Database):
517         * bindings/js/GCController.cpp:
518         (WebCore::collect):
519         (WebCore::GCController::gcTimerFired):
520         (WebCore::GCController::garbageCollectNow):
521         Use JSDOMWindow::commonJSGlobalData().
522
523         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
524         it need to be accesible outside of JSC).
525
526         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
527
528 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
529
530         Reviewed by Simon.
531
532         MinGW build fixes
533
534         * plugins/win/PluginDatabaseWin.cpp:
535         * plugins/win/PluginViewWin.cpp:
536         (WebCore::PluginView::handleKeyboardEvent):
537         (WebCore::PluginView::handleMouseEvent):
538         * svg/SynchronizableTypeWrapper.h:
539         (WebCore::::SynchronizableTypeWrapper):
540
541 2008-07-13  Sam Weinig  <sam@webkit.org>
542
543         Reviewed by Oliver Hunt and Dan Bernstein.
544
545         Fix for <rdar://problem/5888127>
546         https://bugs.webkit.org/show_bug.cgi?id=18699
547
548         - Match Firefox in restricting the size of custom cursor to images to
549           128x128 px.
550         - Restrict custom cursor hotspots to values within the bounds of the
551           cursor image.
552
553         * manual-tests/cursor-max-size.html: Added.
554         * page/EventHandler.cpp:
555         (WebCore::EventHandler::selectCursor):
556
557 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
558
559         wx build fix.
560
561         * platform/graphics/wx/AffineTransformWx.cpp:
562         (WebCore::AffineTransform::a):
563         (WebCore::AffineTransform::b):
564         (WebCore::AffineTransform::c):
565         (WebCore::AffineTransform::d):
566         (WebCore::AffineTransform::e):
567         (WebCore::AffineTransform::f):
568
569 2008-07-12  Dan Bernstein  <mitz@apple.com>
570
571         Reviewed by Oliver Hunt.
572
573         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
574           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
575
576         Test: fast/block/basic/min-pref-width-nowrap-floats.html
577
578         * rendering/RenderBlock.cpp:
579         (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
580         float's width was added to the minimum preferred widths instead of just
581         acting as a lower bound on the minimum preferred width (since the float
582         can always be pushed down to be the only thing on the line).
583
584 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
585
586         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
587
588         <https://bugs.webkit.org/show_bug.cgi?id=13067>
589
590         Reviewed by Darin.
591
592         Test: WebCore/manual-tests/hash-ref.html
593
594         * loader/FrameLoader.cpp:
595         (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
596              FrameLoadType newLoadType, const String& frameName, Event* event,
597              PassRefPtr<FormState> formState)): Extracted logic into
598         shouldScrollToAnchor() for determining when to scroll to an anchor.
599
600         (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
601              PassRefPtr<FormState> formState)): Added check for
602         shouldScrollToAnchor() to catch cases when the user manually added a
603         hash ref to the URL in the address bar.  This is the bug fix.
604
605         (WebCore::FrameLoader::shouldReload): Simplified early return logic.
606         We only need to check if the destinationURL has a hash ref, not the
607         currentURL, per the comment in the method.
608
609         (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
610         from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
611         of arguments to shouldReload() since they were backwards, although the
612         previous logic in the method made this irrelevant.
613
614         (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
615         we're navigating to a HistoryItem, it doesn't make sense to ask whether
616         we need to reload the page or not.  Additionally, the logic at the end
617         of shouldReload() is also checked in urlsMatchItem(), so there's no need
618         to call the method.  This fixed the fast/css/target-fragment-match.html
619         test from continuously reloading after the other changes.
620
621         * loader/FrameLoader.h:
622         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
623
624         * manual-tests/hash-ref.html: Added.
625         * manual-tests/resources/hash-ref-test.html: Added.
626
627 2008-07-11  Stephanie Lewis  <slewis@apple.com>
628
629         Reviewed by Darin Adler.
630
631         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
632
633         * bindings/js/JSCustomSQLTransactionCallback.cpp:
634         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
635         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
636         * bindings/js/JSEventListener.cpp:
637         (WebCore::JSEventListener::JSEventListener):
638         (WebCore::JSEventListener::~JSEventListener):
639         * dom/Node.cpp:
640         (WebCore::Node::Node):
641         (WebCore::Node::~Node):
642         * dom/Range.cpp:
643         (WebCore::Range::Range):
644         (WebCore::Range::~Range):
645         * history/CachedPage.cpp:
646         (WebCore::CachedPage::CachedPage):
647         (WebCore::CachedPage::~CachedPage):
648         * loader/SubresourceLoader.cpp:
649         (WebCore::SubresourceLoader::SubresourceLoader):
650         (WebCore::SubresourceLoader::~SubresourceLoader):
651         * page/Frame.cpp:
652         (WebCore::Frame::Frame):
653         (WebCore::Frame::~Frame):
654         * page/Page.cpp:
655         (WebCore::Page::Page):
656         (WebCore::Page::~Page):
657         * rendering/RenderObject.cpp:
658         (WebCore::RenderObject::RenderObject):
659         (WebCore::RenderObject::~RenderObject):
660         * rendering/bidi.cpp:
661         (WebCore::throw):
662         (WebCore::BidiRun::operator delete):
663
664 2008-07-11  Sam Weinig  <sam@webkit.org>
665
666         Reviewed by Mark Rowe.
667
668         Update getSubStringLength and selectSubString methods exception throwing conditions
669         based on SVG working group errata.
670
671         Test: svg/custom/selectSubString.html
672
673         * svg/SVGTextContentElement.cpp:
674         (WebCore::SVGTextContentElement::getSubStringLength):
675         (WebCore::SVGTextContentElement::selectSubString):
676
677 2008-07-11  Sam Weinig  <sam@webkit.org>
678
679         Reviewed by Mark Rowe.
680
681         We can only use the Id fast path for querySelector and querySelectorAll
682         if the selector is purely an Id selector.
683
684         Test: fast/dom/SelectorAPI/id-fastpath.html
685
686         * dom/Node.cpp:
687         (WebCore::Node::querySelector):
688         * dom/SelectorNodeList.cpp:
689         (WebCore::createSelectorNodeList):
690
691 2008-07-11  David Hyatt  <hyatt@apple.com>
692
693         Implement the DOM level 3 compareDocumentPosition method on Node.
694
695         Reviewed by Darin
696
697         * dom/Node.cpp:
698         (WebCore::Node::compareDocumentPosition):
699         * dom/Node.h:
700         * dom/Node.idl:
701
702 2008-07-11  Brady Eidson  <beidson@apple.com>
703
704         Rubberstamped by Sam
705
706         Removed unneeded export
707
708         * WebCore.base.exp:
709
710 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
711
712         Reviewed by Geoff.
713
714         <rdar://problem/6067178> REGRESSION: Start profile button in profiler
715         now profiles inspector rather than actual page (19833)
716         - The JSQuarantinedObjectWrapper should use the wrapped exec state
717         so that calls to it execute in its quarantined world.
718
719         * bindings/js/JSQuarantinedObjectWrapper.cpp:
720         (WebCore::JSQuarantinedObjectWrapper::construct):
721         (WebCore::JSQuarantinedObjectWrapper::call):
722
723 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
724
725         Reviewed by Dave Hyatt
726
727         StyleRareNonInheritedData needs to initialize and compare
728         m_maskBoxImage.
729         <https://bugs.webkit.org/show_bug.cgi?id=20005>
730
731         * rendering/style/RenderStyle.cpp:
732         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
733         (WebCore::StyleRareNonInheritedData::operator==):
734
735 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
736
737         Reviewed by Dave Hyatt
738
739         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
740         look for transforms, since transforms create containing
741         blocks.
742         <https://bugs.webkit.org/show_bug.cgi?id=18885>
743
744         Test: fast/transforms/transform-positioned-ancestor.html
745
746         * rendering/RenderLayer.cpp:
747         (WebCore::RenderLayer::stackingContext):
748         (WebCore::RenderLayer::enclosingPositionedAncestor):
749         (WebCore::RenderLayer::enclosingTransformedAncestor):
750
751 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
752
753         Reviewed by Darin Adler
754
755         http://bugs.webkit.org/show_bug.cgi?id=19978
756         GTK port always ends up with # at the end of resource URLs (and hence can't load files)
757
758         - Optimized KURL::removeRef() and used it rather than setRef("")
759           which after r35040 does the wrong thing.
760
761         * platform/KURL.cpp:
762         (WebCore::KURL::removeRef):
763         * platform/network/curl/ResourceHandleManager.cpp:
764         (WebCore::ResourceHandleManager::initializeHandle):
765
766 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
767
768         Fix the Qt/Windows build, include windows.h for HWND directly
769         instead of implicit inclusion through Timer.h.
770
771         * plugins/win/PluginMessageThrottlerWin.h:
772
773 2008-07-11  Dan Bernstein  <mitz@apple.com>
774
775         Reviewed by Darin Adler.
776
777         - fix popularity tracking for cached resources, which regressed in r23923
778
779         * loader/Cache.cpp:
780         (WebCore::Cache::requestResource): Changed to increase the access count
781         whenever this function returns a CachedResource and the cache is
782         enabled, instead of only when creating a new CachedResources. The
783         incorrect behavior resulted in all resources in the cache having an
784         access count of exactly 1 at all times.
785         (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
786
787 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
788
789         Reviewed by Simon.
790
791         Enable Netscape plugins for the Qt/Windows build.
792
793         This required various smaller fixes across a wider set of
794         files described below.
795
796         * WebCore.pro: Add various windows specific files to the build.
797         * page/Page.h: Extend the #ifdeffery for windows types to include the
798         Qt/Windows build.
799         * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
800         the Qt port, as PluginViewWin.cpp uses it.
801         * platform/graphics/qt/GraphicsContextQt.cpp:
802         (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
803         * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
804         are now implemented through *Win.cpp files.
805         * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
806         * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
807         (WebCore::PluginView::setFrameGeometry): Ditto.
808         (WebCore::PluginView::PluginView): Ditto.
809         * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
810         which expands to HWND directly for the Qt/Windows build and
811         PlatformWidget for the remaining platforms. That is because
812         PlatformWidget is QWidget* for the Qt build but for the plugin
813         window we need a native window, aka HWND.
814         * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
815         after config.h.
816         * plugins/win/PluginViewWin.cpp:
817         (windowHandleForPlatformWidget): Added a little helper function to
818         determine the HWND from a PlatformWidget.
819         (WebCore::registerPluginView): For the Qt port we need to set the
820         global application instance handle here in the library, as the
821         browser doesn't do it.
822         (WebCore::PluginView::handleMouseEvent): Mask out
823         ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
824         (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
825         manually just here to avoid compiling in IntRectWin.cpp.
826         (WebCore::PluginView::invalidateRegion): Ditto.
827         (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
828         on containingWindow() to get the correct HWND for the Qt port.
829         (WebCore::PluginView::init): Determine the parent HWND for m_window
830         using windowHandleForPlatformWidget.
831
832 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
833
834         Rubber-stamped by Holger.
835
836         Enable Database and Icondatabase functionality for the Qt/Windows
837         build when building inside Qt, as we can use the builtin copy of
838         sqlite then.
839
840         * WebCore.pro:
841
842 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
843
844         Reviewed by Adam Roben.
845
846         Fix compile with MinGW since it does not like friend static function.
847
848         * plugins/PluginView.h:
849         * plugins/win/PluginViewWin.cpp:
850
851 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
852
853         Reviewed by Simon.
854
855         Fix Qt/Win32 build.
856
857         * platform/graphics/qt/GraphicsContextQt.cpp:
858
859 2008-07-10  Sam Weinig  <sam@webkit.org>
860
861         Reviewed by Oliver Hunt.
862
863         Add support for NSResolver to resolve namespaces for querySelector 
864         and querySelectorAll.
865
866         - Namespace resolution is done after parsing by iterating over all the
867           parts of the CSSSelector.
868
869         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
870                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
871
872         * GNUmakefile.am: Updated with new files.
873         * WebCore.pro: Ditto.
874         * WebCore.vcproj/WebCore.vcproj: Ditto.
875         * WebCore.xcodeproj/project.pbxproj: Ditto.
876         * WebCoreSources.bkl: Ditto.
877
878         * bindings/js/JSDOMBinding.cpp:
879         (WebCore::execStateFromNode):
880         * bindings/js/JSDOMBinding.h:
881         Move execStateFromNode here from NodeFilter.
882
883         * bindings/js/JSDocumentCustom.cpp:
884         (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
885         and instead create one if the argument is not undefined or null.
886         (WebCore::JSDocument::querySelectorAll): Ditto.
887         * bindings/js/JSDocumentFragmentCustom.cpp:
888         (WebCore::JSDocumentFragment::querySelector): Ditto.
889         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
890         * bindings/js/JSElementCustom.cpp:
891         (WebCore::JSElement::querySelector): Ditto.
892         (WebCore::JSElement::querySelectorAll): Ditto.
893
894         * bindings/js/JSNSResolver.cpp: Added.
895         (WebCore::JSNSResolver::JSNSResolver):
896         (WebCore::JSNSResolver::mark):
897         (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
898         from the passed in argument, either the value itself, or the result of
899         getting the lookupNamespaceURI property, and call it.
900         (WebCore::toNSResolver):
901         * bindings/js/JSNSResolver.h: Added.
902         (WebCore::JSNSResolver::create):
903
904         * dom/Document.idl: Update with NSResolver parameter.
905         * dom/DocumentFragment.idl: Ditto.
906         * dom/Element.idl: Ditto.
907
908         * dom/NSResolver.h: Added.
909         (WebCore::NSResolver::~NSResolver):
910         (WebCore::NSResolver::mark):
911         Abstract base class.
912
913         * dom/NSResolver.idl: Added.
914
915         * dom/Node.cpp:
916         (WebCore::forEachTagSelector):
917         (WebCore::forEachSelector):
918         Functions to iterate over all parts of the selector.
919
920         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
921         Functor to be passed to forEachSelector to determine if a selector
922         needs namespace resolution, for the case when no NSResolver is passed
923         and we need to determine whether to throw a NAMESPACE_ERR.
924
925         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
926         (WebCore::ResolveNamespaceFunctor::operator()):
927         Functor to resolve namespaces for the selector.
928
929         (WebCore::selectorNeedsNamespaceResolution):
930         (WebCore::resolveNamespacesForSelector):
931         (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
932         if a NSResolver is passed in.
933         (WebCore::Node::querySelectorAll): Ditto.
934         * dom/Node.h:
935
936         * dom/NodeFilter.cpp:
937         * dom/NodeFilter.h:
938         * dom/NodeIterator.h:
939         (WebCore::NodeIterator::nextNode):
940         (WebCore::NodeIterator::previousNode):
941         * dom/TreeWalker.h:
942         (WebCore::TreeWalker::parentNode):
943         (WebCore::TreeWalker::firstChild):
944         (WebCore::TreeWalker::lastChild):
945         (WebCore::TreeWalker::previousSibling):
946         (WebCore::TreeWalker::nextSibling):
947         (WebCore::TreeWalker::previousNode):
948         (WebCore::TreeWalker::nextNode):
949         Use the version of execStateFromNode in JSDOMBinding.
950
951 2008-07-10  Mark Rowe  <mrowe@apple.com>
952
953         Reviewed by Sam Weinig.
954
955         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
956
957         * Configurations/WebCore.xcconfig:
958
959 2008-07-10  Dean Jackson  <dino@apple.com>
960
961         Reviewed by hyatt.
962
963         Calculate computed style for -webkit-transform property
964         https://bugs.webkit.org/show_bug.cgi?id=19864
965
966         Test: css3/transform-computed-style-001.html
967
968         * css/CSSComputedStyleDeclaration.cpp:
969         (WebCore::computedTransform):
970         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
971             handles -webkit-transform property now
972         * manual-tests/computed-transform-value.html: Added.
973
974 2008-07-10  Dan Bernstein  <mitz@apple.com>
975
976         Reviewed by Adam Roben.
977
978         - fix a parse error in inspector.js
979
980         * page/inspector/inspector.js: Added missing brace.
981
982 2008-07-10  Adam Roben  <aroben@apple.com>
983
984         Build fix
985
986         * WebCore.vcproj/QTMovieWin.vcproj: Add
987         OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
988
989 2008-07-10  Chris Fleizach  <cfleizach@apple.com>
990
991         Reviewed by Dan Bernstein
992
993         <rdar://problem/6067408> AX: internal anchors broken
994
995         * page/AccessibilityRenderObject.cpp:
996         (WebCore::AccessibilityRenderObject::internalLinkElement):
997         * platform/KURL.cpp:
998         (WebCore::KURL::removeRef):
999         * platform/KURL.h:
1000
1001 2008-07-10  Mark Rowe  <mrowe@apple.com>
1002
1003         Build fix.
1004
1005         * bridge/npapi.h: Remove extra comma.
1006
1007 2008-07-10  Sam Weinig  <sam@webkit.org>
1008
1009         Reviewed by Mark Rowe.
1010
1011         Remove no-op debug method.
1012
1013         * css/CSSSelector.cpp:
1014         * css/CSSSelector.h:
1015
1016 2008-07-10  Sam Weinig  <sam@webkit.org>
1017
1018         Reviewed by Dave Hyatt and Darin Adler.
1019
1020         Add support for calling querySelector and querySelectorAll on DocumentFragments
1021
1022         - Fixes bug where nodes not in the document tree would not match based on ID due
1023           to over optimization.
1024
1025         Test: fast/dom/SelectorAPI/detached-element.html
1026
1027         * GNUmakefile.am:
1028         * WebCore.pro:
1029         * WebCore.vcproj/WebCore.vcproj:
1030         * WebCore.xcodeproj/project.pbxproj:
1031         * WebCoreSources.bkl:
1032         * bindings/js/JSDocumentFragmentCustom.cpp: Added.
1033         (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
1034         and JSDocument that checks for a 2nd arguments and throws an exception indicating
1035         we do not currently support the optional NSResolver part of the Selectors API spec.
1036         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
1037         * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
1038
1039         * dom/Node.cpp:
1040         (WebCore::Node::querySelector): Make the CSS parser parse the selector
1041         according to the strictness of the document so that mixed case ID selectors
1042         match in quirks mode.  Also, don't use the fast ID path if the root is not
1043         in the DOM tree, as it won't work.
1044         (WebCore::Node::querySelectorAll): Ditto.
1045         * dom/SelectorNodeList.cpp:
1046         (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
1047         in the DOM tree, as it won't work.
1048
1049 2008-07-10  Anthony Ricaud  <rik24d@gmail.com>
1050
1051         Bug 19389: querySelectorAll exception while searching invalid CSS selector
1052         <https://bugs.webkit.org/show_bug.cgi?id=19389>
1053
1054         Reviewed by Tim Hatcher.
1055
1056         * page/inspector/inspector.js: Added a try/catch block.
1057
1058 2008-07-10  Brent Fulgham  <bfulgham@gmail.com>
1059
1060         Correct a build regression due to an uninitialized variable.
1061
1062         <https://bugs.webkit.org/show_bug.cgi?id=19976>
1063
1064         Reviewed by Darin.
1065
1066         * platform/graphics/cairo/FontCairo.cpp:
1067         (WebCore::Font::drawGlyphs):
1068
1069 2008-07-10  Adam Roben  <aroben@apple.com>
1070
1071         Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
1072         HTMLCollection::resetCollectionInfo (codegen issue?)
1073
1074         <https://bugs.webkit.org/show_bug.cgi?id=19580>
1075         <rdar://6029794>
1076
1077         Reviewed by Cameron Zwarich.
1078
1079         * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
1080         which was causing some bad codegen in HTMLFormElement::elements.
1081         * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
1082
1083 2008-07-10  Anders Carlsson  <andersca@apple.com>
1084
1085         Reviewed by Jon.
1086
1087         <rdar://problem/6067135>
1088         WebKit should respond true to a query for NPNVSupportsWindowless.
1089         
1090         Handle NPNVSupportsWindowless and return true.
1091         
1092         * bridge/npapi.h:
1093         * plugins/win/PluginViewWin.cpp:
1094         (WebCore::PluginView::getValue):
1095
1096 2008-07-10  Kevin McCullough  <kmccullough@apple.com>
1097
1098         Reviewed by Darin.
1099
1100         -Minor cleanup. Renamed callTree() to head() and no longer use m_head
1101         directly but instead keep it private and access via a method().
1102
1103         * page/JavaScriptProfile.cpp:
1104         (WebCore::getHeadCallback):
1105
1106 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
1107
1108         When a mask image changes, ensure that elements
1109         that use that mask image are repainted correctly.
1110         
1111         <https://bugs.webkit.org/show_bug.cgi?id=19954>
1112         
1113         Reviewed by Dave Hyatt
1114
1115         * manual-tests/canvas-mask-redraw.html
1116           Manual testcase
1117         * rendering/RenderBox.cpp:
1118         (WebCore::RenderBox::imageChanged):
1119         (WebCore::RenderBox::repaintLayerRectsForImage):
1120         * rendering/RenderBox.h:
1121         Loop through background layers and mask layers, and
1122         if this image is used in a layer, compute a repaint
1123         rect and repaint.
1124         * rendering/RenderImage.cpp:
1125         (WebCore::RenderImage::imageChanged):
1126         If this image has a mask, call the base class method.
1127         * rendering/RenderObject.cpp:
1128         Remove a bogus 'return'.
1129
1130 2008-07-10  Simon Fraser  <simon.fraser@apple.com>
1131
1132         Transforms create a containing block, so
1133         RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
1134         <https://bugs.webkit.org/show_bug.cgi?id=18886>
1135         
1136         Reviewed by Dave Hyatt
1137
1138         Test: fast/transforms/transform-overflow.html
1139
1140         * rendering/RenderLayer.cpp:
1141         (WebCore::RenderLayer::shouldBeOverflowOnly):
1142
1143 2008-07-09  Alex Mathews  <possessedpenguinbob@gmail.com>
1144
1145         Reviewed by Oliver Hunt.
1146
1147         bug 19835: WebKit needs cross-platform filter system
1148         <https://bugs.webkit.org/show_bug.cgi?id=19835>
1149
1150         More class refactoring in preparation for cross-platform filter 
1151         implementation.
1152
1153         * WebCore.xcodeproj/project.pbxproj:
1154         * rendering/SVGRenderTreeAsText.h:
1155         (WebCore::operator<<):
1156         * svg/FilterEffect.cpp:
1157         (WebCore::FilterEffect::externalRepresentation):
1158         * svg/FilterEffect.h:
1159         * svg/SVGFEBlendElement.cpp:
1160         (WebCore::SVGFEBlendElement::build):
1161         * svg/SVGFEBlendElement.h:
1162         * svg/SVGFEColorMatrixElement.cpp:
1163         (WebCore::SVGFEColorMatrixElement::build):
1164         * svg/SVGFEColorMatrixElement.h:
1165         * svg/SVGFEComponentTransferElement.cpp:
1166         (WebCore::SVGFEComponentTransferElement::build):
1167         * svg/SVGFEComponentTransferElement.h:
1168         * svg/SVGFECompositeElement.cpp:
1169         (WebCore::SVGFECompositeElement::build):
1170         * svg/SVGFECompositeElement.h:
1171         * svg/SVGFEDiffuseLightingElement.cpp:
1172         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1173         (WebCore::SVGFEDiffuseLightingElement::build):
1174         (WebCore::SVGFEDiffuseLightingElement::findLights):
1175         * svg/SVGFEDiffuseLightingElement.h:
1176         * svg/SVGFEDisplacementMapElement.cpp:
1177         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1178         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
1179         (WebCore::SVGFEDisplacementMapElement::filterEffect):
1180         (WebCore::SVGFEDisplacementMapElement::build):
1181         * svg/SVGFEDisplacementMapElement.h:
1182         * svg/SVGFEFloodElement.cpp:
1183         (WebCore::SVGFEFloodElement::filterEffect):
1184         (WebCore::SVGFEFloodElement::build):
1185         * svg/SVGFEFloodElement.h:
1186         (WebCore::SVGFEFloodElement::contextElement):
1187         * svg/SVGFEGaussianBlurElement.cpp:
1188         (WebCore::SVGFEGaussianBlurElement::filterEffect):
1189         (WebCore::SVGFEGaussianBlurElement::build):
1190         * svg/SVGFEGaussianBlurElement.h:
1191         * svg/SVGFEImageElement.cpp:
1192         (WebCore::SVGFEImageElement::filterEffect):
1193         (WebCore::SVGFEImageElement::build):
1194         * svg/SVGFEImageElement.h:
1195         * svg/SVGFEMergeElement.cpp:
1196         (WebCore::SVGFEMergeElement::filterEffect):
1197         (WebCore::SVGFEMergeElement::build):
1198         * svg/SVGFEMergeElement.h:
1199         (WebCore::SVGFEMergeElement::contextElement):
1200         * svg/SVGFEOffsetElement.cpp:
1201         (WebCore::SVGFEOffsetElement::filterEffect):
1202         (WebCore::SVGFEOffsetElement::build):
1203         * svg/SVGFEOffsetElement.h:
1204         * svg/SVGFESpecularLightingElement.cpp:
1205         (WebCore::SVGFESpecularLightingElement::filterEffect):
1206         (WebCore::SVGFESpecularLightingElement::findLights):
1207         (WebCore::SVGFESpecularLightingElement::build):
1208         * svg/SVGFESpecularLightingElement.h:
1209         * svg/SVGFETileElement.cpp:
1210         (WebCore::SVGFETileElement::filterEffect):
1211         (WebCore::SVGFETileElement::build):
1212         * svg/SVGFETileElement.h:
1213         * svg/SVGFETurbulenceElement.cpp:
1214         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1215         (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
1216         (WebCore::SVGFETurbulenceElement::filterEffect):
1217         (WebCore::SVGFETurbulenceElement::build):
1218         * svg/SVGFETurbulenceElement.h:
1219         * svg/SVGFilterPrimitiveStandardAttributes.h:
1220         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1221         (WebCore::FEConvolveMatrix::FEConvolveMatrix):
1222         (WebCore::FEConvolveMatrix::create):
1223         (WebCore::FEConvolveMatrix::kernelSize):
1224         (WebCore::FEConvolveMatrix::setKernelSize):
1225         (WebCore::FEConvolveMatrix::kernel):
1226         (WebCore::FEConvolveMatrix::setKernel):
1227         (WebCore::FEConvolveMatrix::divisor):
1228         (WebCore::FEConvolveMatrix::setDivisor):
1229         (WebCore::FEConvolveMatrix::bias):
1230         (WebCore::FEConvolveMatrix::setBias):
1231         (WebCore::FEConvolveMatrix::targetOffset):
1232         (WebCore::FEConvolveMatrix::setTargetOffset):
1233         (WebCore::FEConvolveMatrix::edgeMode):
1234         (WebCore::FEConvolveMatrix::setEdgeMode):
1235         (WebCore::FEConvolveMatrix::kernelUnitLength):
1236         (WebCore::FEConvolveMatrix::setKernelUnitLength):
1237         (WebCore::FEConvolveMatrix::preserveAlpha):
1238         (WebCore::FEConvolveMatrix::setPreserveAlpha):
1239         (WebCore::FEConvolveMatrix::apply):
1240         (WebCore::FEConvolveMatrix::dump):
1241         (WebCore::operator<<):
1242         (WebCore::FEConvolveMatrix::externalRepresentation):
1243         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1244         (WebCore::):
1245         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1246         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
1247         (WebCore::FEDiffuseLighting::create):
1248         (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
1249         (WebCore::FEDiffuseLighting::lightingColor):
1250         (WebCore::FEDiffuseLighting::setLightingColor):
1251         (WebCore::FEDiffuseLighting::surfaceScale):
1252         (WebCore::FEDiffuseLighting::setSurfaceScale):
1253         (WebCore::FEDiffuseLighting::diffuseConstant):
1254         (WebCore::FEDiffuseLighting::setDiffuseConstant):
1255         (WebCore::FEDiffuseLighting::kernelUnitLengthX):
1256         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
1257         (WebCore::FEDiffuseLighting::kernelUnitLengthY):
1258         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
1259         (WebCore::FEDiffuseLighting::lightSource):
1260         (WebCore::FEDiffuseLighting::setLightSource):
1261         (WebCore::FEDiffuseLighting::apply):
1262         (WebCore::FEDiffuseLighting::dump):
1263         (WebCore::FEDiffuseLighting::externalRepresentation):
1264         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1265         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1266         (WebCore::FEDisplacementMap::FEDisplacementMap):
1267         (WebCore::FEDisplacementMap::create):
1268         (WebCore::FEDisplacementMap::xChannelSelector):
1269         (WebCore::FEDisplacementMap::setXChannelSelector):
1270         (WebCore::FEDisplacementMap::yChannelSelector):
1271         (WebCore::FEDisplacementMap::setYChannelSelector):
1272         (WebCore::FEDisplacementMap::scale):
1273         (WebCore::FEDisplacementMap::setScale):
1274         (WebCore::FEDisplacementMap::apply):
1275         (WebCore::FEDisplacementMap::dump):
1276         (WebCore::operator<<):
1277         (WebCore::FEDisplacementMap::externalRepresentation):
1278         * svg/graphics/filters/SVGFEDisplacementMap.h:
1279         (WebCore::):
1280         * svg/graphics/filters/SVGFEFlood.cpp:
1281         (WebCore::FEFlood::FEFlood):
1282         (WebCore::FEFlood::create):
1283         (WebCore::FEFlood::floodColor):
1284         (WebCore::FEFlood::setFloodColor):
1285         (WebCore::FEFlood::floodOpacity):
1286         (WebCore::FEFlood::setFloodOpacity):
1287         (WebCore::FEFlood::apply):
1288         (WebCore::FEFlood::dump):
1289         (WebCore::FEFlood::externalRepresentation):
1290         * svg/graphics/filters/SVGFEFlood.h:
1291         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1292         (WebCore::FEGaussianBlur::FEGaussianBlur):
1293         (WebCore::FEGaussianBlur::create):
1294         (WebCore::FEGaussianBlur::stdDeviationX):
1295         (WebCore::FEGaussianBlur::setStdDeviationX):
1296         (WebCore::FEGaussianBlur::stdDeviationY):
1297         (WebCore::FEGaussianBlur::setStdDeviationY):
1298         (WebCore::FEGaussianBlur::apply):
1299         (WebCore::FEGaussianBlur::dump):
1300         (WebCore::FEGaussianBlur::externalRepresentation):
1301         * svg/graphics/filters/SVGFEGaussianBlur.h:
1302         * svg/graphics/filters/SVGFEImage.cpp:
1303         (WebCore::FEImage::FEImage):
1304         (WebCore::FEImage::create):
1305         (WebCore::FEImage::~FEImage):
1306         (WebCore::FEImage::cachedImage):
1307         (WebCore::FEImage::apply):
1308         (WebCore::FEImage::dump):
1309         (WebCore::FEImage::externalRepresentation):
1310         * svg/graphics/filters/SVGFEImage.h:
1311         * svg/graphics/filters/SVGFEMerge.cpp:
1312         (WebCore::FEMerge::FEMerge):
1313         (WebCore::FEMerge::create):
1314         (WebCore::FEMerge::mergeInputs):
1315         (WebCore::FEMerge::setMergeInputs):
1316         (WebCore::FEMerge::apply):
1317         (WebCore::FEMerge::dump):
1318         (WebCore::FEMerge::externalRepresentation):
1319         * svg/graphics/filters/SVGFEMerge.h:
1320         * svg/graphics/filters/SVGFEMorphology.cpp:
1321         (WebCore::FEMorphology::FEMorphology):
1322         (WebCore::FEMorphology::create):
1323         (WebCore::FEMorphology::morphologyOperator):
1324         (WebCore::FEMorphology::setMorphologyOperator):
1325         (WebCore::FEMorphology::radiusX):
1326         (WebCore::FEMorphology::setRadiusX):
1327         (WebCore::FEMorphology::radiusY):
1328         (WebCore::FEMorphology::setRadiusY):
1329         (WebCore::FEMorphology::apply):
1330         (WebCore::FEMorphology::dump):
1331         (WebCore::operator<<):
1332         (WebCore::FEMorphology::externalRepresentation):
1333         * svg/graphics/filters/SVGFEMorphology.h:
1334         (WebCore::):
1335         * svg/graphics/filters/SVGFEOffset.cpp:
1336         (WebCore::FEOffset::FEOffset):
1337         (WebCore::FEOffset::create):
1338         (WebCore::FEOffset::dx):
1339         (WebCore::FEOffset::setDx):
1340         (WebCore::FEOffset::dy):
1341         (WebCore::FEOffset::setDy):
1342         (WebCore::FEOffset::apply):
1343         (WebCore::FEOffset::dump):
1344         (WebCore::FEOffset::externalRepresentation):
1345         * svg/graphics/filters/SVGFEOffset.h:
1346         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1347         (WebCore::FESpecularLighting::FESpecularLighting):
1348         (WebCore::FESpecularLighting::create):
1349         (WebCore::FESpecularLighting::~FESpecularLighting):
1350         (WebCore::FESpecularLighting::lightingColor):
1351         (WebCore::FESpecularLighting::setLightingColor):
1352         (WebCore::FESpecularLighting::surfaceScale):
1353         (WebCore::FESpecularLighting::setSurfaceScale):
1354         (WebCore::FESpecularLighting::specularConstant):
1355         (WebCore::FESpecularLighting::setSpecularConstant):
1356         (WebCore::FESpecularLighting::specularExponent):
1357         (WebCore::FESpecularLighting::setSpecularExponent):
1358         (WebCore::FESpecularLighting::kernelUnitLengthX):
1359         (WebCore::FESpecularLighting::setKernelUnitLengthX):
1360         (WebCore::FESpecularLighting::kernelUnitLengthY):
1361         (WebCore::FESpecularLighting::setKernelUnitLengthY):
1362         (WebCore::FESpecularLighting::lightSource):
1363         (WebCore::FESpecularLighting::setLightSource):
1364         (WebCore::FESpecularLighting::apply):
1365         (WebCore::FESpecularLighting::dump):
1366         (WebCore::FESpecularLighting::externalRepresentation):
1367         * svg/graphics/filters/SVGFESpecularLighting.h:
1368         * svg/graphics/filters/SVGFETile.cpp:
1369         (WebCore::FETile::FETile):
1370         (WebCore::FETile::create):
1371         (WebCore::FETile::apply):
1372         (WebCore::FETile::dump):
1373         (WebCore::FETile::externalRepresentation):
1374         * svg/graphics/filters/SVGFETile.h:
1375         * svg/graphics/filters/SVGFETurbulence.cpp:
1376         (WebCore::FETurbulence::FETurbulence):
1377         (WebCore::FETurbulence::create):
1378         (WebCore::FETurbulence::type):
1379         (WebCore::FETurbulence::setType):
1380         (WebCore::FETurbulence::baseFrequencyY):
1381         (WebCore::FETurbulence::setBaseFrequencyY):
1382         (WebCore::FETurbulence::baseFrequencyX):
1383         (WebCore::FETurbulence::setBaseFrequencyX):
1384         (WebCore::FETurbulence::seed):
1385         (WebCore::FETurbulence::setSeed):
1386         (WebCore::FETurbulence::numOctaves):
1387         (WebCore::FETurbulence::setNumOctaves):
1388         (WebCore::FETurbulence::stitchTiles):
1389         (WebCore::FETurbulence::setStitchTiles):
1390         (WebCore::FETurbulence::apply):
1391         (WebCore::FETurbulence::dump):
1392         (WebCore::operator<<):
1393         (WebCore::FETurbulence::externalRepresentation):
1394         * svg/graphics/filters/SVGFETurbulence.h:
1395         (WebCore::):
1396         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1397         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
1398         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
1399         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
1400         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1401         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1402         (WebCore::getVectorForChannel):
1403         * svg/graphics/filters/cg/SVGFEImageCg.mm:
1404         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
1405         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
1406         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
1407         * svg/graphics/filters/cg/SVGFETileCg.mm:
1408
1409 2008-07-09  Mark Rowe  <mrowe@apple.com>
1410
1411         Reviewed by Geoff Garen.
1412
1413         Don't warn about deprecated functions in production builds.
1414
1415         * Configurations/Base.xcconfig:
1416         * Configurations/DebugRelease.xcconfig:
1417
1418 2008-07-09  Brady Eidson  <beidson@apple.com>
1419
1420         Reviewed by Darin
1421
1422         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
1423         has been installed in a frame tree.
1424
1425         The root of this problem was that calling init() on a new frame could end up calling arbitrary
1426         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
1427         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
1428         destroying the frame.
1429
1430         Test: fast/loader/frame-creation-removal.html
1431
1432         * loader/FrameLoader.cpp:
1433         (WebCore::FrameLoader::endIfNotLoadingMainResource):  If the frame doesn't have a page, don't close up
1434           the document and parser because they don't exist, and this frame is on its way out.
1435         (WebCore::FrameLoader::finishedParsing):  We can't rely on the refCount check to discover "am I being deleted?"
1436           because we no longer store refCounts of 0.  The new check is "do I have a FrameView?" while will always be
1437           false if the Frame is being destroyed.
1438
1439 2008-07-09  Dean Jackson  <dino@apple.com>
1440
1441         Changed to use the correct license in header comment (via Darin)
1442
1443         * css/WebKitCSSTransformValue.idl:
1444
1445 2008-07-09  Dean Jackson  <dino@apple.com>
1446
1447         Add DOM interface for WebKitCSSTransformValue.
1448         https://bugs.webkit.org/show_bug.cgi?id=19863
1449
1450         Reviewed by Hyatt.
1451
1452         * bindings/objc/DOMInternal.h:
1453         * css/WebKitCSSTransformValue.idl: Added.
1454
1455         * bindings/scripts/CodeGeneratorObjC.pm:
1456             make sure new class inherits from CSSValue not Node
1457
1458         * DerivedSources.make:
1459         * GNUmakefile.am:
1460         * WebCore.pro:
1461         * WebCore.vcproj/WebCore.vcproj:
1462         * WebCore.xcodeproj/project.pbxproj:
1463         * WebCoreSources.bkl:
1464             Adding new generated files
1465
1466 2008-07-09  Maxime Britto  <britto@apple.com>
1467
1468         Reviewed by Adele.
1469
1470         http://bugs.webkit.org/show_bug.cgi?id=14227
1471         Add the middle click panning feature to the windows release.
1472         Details on almost each method below.
1473         Manual test is included in the patch.
1474
1475         * ChangeLog:
1476         * WebCore.vcproj/WebCore.vcproj:
1477         * manual-tests/panScroll.html: Added.
1478         * manual-tests/resources/big-page.html: Added.
1479         * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
1480         (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
1481         (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
1482         (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
1483         (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
1484         (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
1485         (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
1486         (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
1487         * page/EventHandler.h:
1488         (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
1489         (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
1490         * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
1491         * platform/gtk/ScrollViewGtk.cpp:
1492         (WebCore::ScrollView::isScrollable): Not implemented : returns true
1493         * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
1494         (WebCore::ScrollView::isScrollable):
1495         * platform/qt/ScrollViewQt.cpp:
1496         (WebCore::ScrollView::isScrollable): Not implemented : returns true
1497         * platform/win/ScrollViewWin.cpp:
1498         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
1499         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
1500         (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method  
1501         (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
1502         (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
1503         (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
1504         (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
1505         (WebCore::ScrollView::paint): Modified to draw the icon if needed.
1506         * platform/wx/ScrollViewWx.cpp:
1507         (WebCore::ScrollView::isScrollable): Not implemented : returns true
1508         * rendering/RenderLayer.cpp:
1509         (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
1510         * rendering/RenderLayer.h:
1511         * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
1512         (WebCore::RenderListBox::panScroll):
1513         (WebCore::RenderListBox::scrollToward):
1514         (WebCore::RenderListBox::autoscroll):
1515         * rendering/RenderListBox.h:
1516         (WebCore::RenderListBox::shouldPanScroll):
1517         * rendering/RenderObject.cpp: 
1518         (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
1519         (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
1520         * rendering/RenderObject.h:
1521         (WebCore::RenderObject::stopPanScroll): 
1522
1523 2008-07-09  Dean Jackson  <dino@apple.com>
1524
1525         Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
1526         the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
1527         https://bugs.webkit.org/show_bug.cgi?id=19861
1528
1529         Reviewed by Hyatt
1530
1531         * css/CSSParser.cpp:
1532         * css/CSSStyleSelector.cpp:
1533         * css/CSSTransformValue.cpp: Removed.
1534         * css/CSSTransformValue.h: Removed.
1535         * css/CSSValueList.h:
1536         * css/WebKitCSSTransformValue.cpp: Added.
1537         * css/WebKitCSSTransformValue.h: Added.
1538
1539         * GNUmakefile.am:
1540         * WebCore.order:
1541         * WebCore.pro:
1542         * WebCore.vcproj/WebCore.vcproj:
1543         * WebCore.xcodeproj/project.pbxproj:
1544         * WebCoreSources.bkl:
1545             updated for new file names
1546         
1547
1548 2008-07-09  David Hyatt  <hyatt@apple.com>
1549
1550         Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
1551         change.  Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
1552         completion.
1553
1554         Reviewed by Dean
1555
1556         * manual-tests/transitions.html:
1557         * manual-tests/transitions2.html:
1558         * page/AnimationController.cpp:
1559         (WebCore::ImplicitAnimation::reset):
1560         (WebCore::CompositeImplicitAnimation::animate):
1561         (WebCore::AnimationControllerPrivate::get):
1562         (WebCore::AnimationController::updateImplicitAnimations):
1563
1564 2008-07-09  Michelangelo De Simone  <m.des@mac.com>
1565
1566         Reviewed by Adele.
1567
1568         Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
1569
1570         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1571         Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
1572         * dom/Node.h: Added base isTextControl().
1573         * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
1574         * html/HTMLTextAreaElement.h: Added isTextControl().
1575
1576 2008-07-09  Rob Buis  <buis@kde.org>
1577
1578         Reviewed by Eric.
1579
1580         https://bugs.webkit.org/show_bug.cgi?id=15431
1581         SVGRenderStyle should store pre-modified resource URIs
1582
1583         Store pre-modified resource URIs to decrease string
1584         operations during layout/rendering.
1585
1586         * css/SVGCSSStyleSelector.cpp:
1587         (WebCore::CSSStyleSelector::applySVGProperty):
1588         * rendering/RenderPath.cpp:
1589         (WebCore::RenderPath::absoluteClippedOverflowRect):
1590         (WebCore::RenderPath::drawMarkersIfNeeded):
1591         * rendering/RenderSVGContainer.cpp:
1592         (WebCore::RenderSVGContainer::selfWillPaint):
1593         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
1594         * rendering/RenderSVGImage.cpp:
1595         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1596         * rendering/RenderSVGRoot.cpp:
1597         (WebCore::RenderSVGRoot::paint):
1598         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
1599         * rendering/RenderSVGText.cpp:
1600         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
1601         * rendering/SVGRenderSupport.cpp:
1602         (WebCore::prepareToRenderSVGContent):
1603
1604 2008-07-09  Anders Carlsson  <andersca@apple.com>
1605
1606         Reviewed by Mitz.
1607
1608         Remove an unused instance variable.
1609
1610         * loader/DocumentLoader.h:
1611
1612 2008-07-09  Dan Bernstein  <mitz@apple.com>
1613
1614         Reviewed by Anders Carlsson.
1615
1616         - remove unused #includes
1617
1618         * dom/XMLTokenizer.cpp:
1619         * html/PreloadScanner.cpp:
1620         * loader/CachedCSSStyleSheet.cpp:
1621         * loader/CachedScript.cpp:
1622         * loader/CachedXBLDocument.cpp:
1623         * loader/CachedXSLStyleSheet.cpp:
1624         * page/mac/FrameMac.mm:
1625         * xml/XSLTProcessor.cpp:
1626
1627 2008-07-08  Geoffrey Garen  <ggaren@apple.com>
1628
1629         Reviewed by Oliver Hunt.
1630         
1631         Only artificially mark JS DOM wrappers if they have custom properties.
1632         
1633         21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
1634         
1635         No, that is not a typo.
1636
1637         * bindings/js/JSDOMBinding.cpp:
1638         (WebCore::ScriptInterpreter::markDOMNodesForDocument):
1639
1640 2008-07-08  Kevin Watters  <kevinwatters@gmail.com>
1641
1642         Reviewed by Kevin Ollivier.
1643
1644         Fix to previous patch for handling mouse up events.
1645         
1646         https://bugs.webkit.org/show_bug.cgi?id=18464
1647
1648         * platform/wx/MouseEventWx.cpp:
1649         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1650
1651 2008-07-08  Dan Bernstein  <mitz@apple.com>
1652
1653         Reviewed by Brady Eidson.
1654
1655         - initialize the Archives log channel's state
1656
1657         * platform/mac/LoggingMac.mm:
1658         (WebCore::InitializeLoggingChannelsIfNecessary):
1659
1660 2008-07-08  Kevin McCullough  <kmccullough@apple.com>
1661
1662         Added manual test for the new heavy view.
1663
1664         * manual-tests/inspector/profiler-test-heavy-view.html: Added.
1665
1666 2008-07-08  Darin Adler  <darin@apple.com>
1667
1668         Reviewed by Mitz.
1669
1670         - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
1671           looks wrong due to OpenCube QuickMenu appVersion check
1672
1673         * page/Navigator.cpp:
1674         (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
1675
1676 2008-07-08  Dan Bernstein  <mitz@apple.com>
1677
1678         Reviewed by John Sullivan.
1679
1680         - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
1681
1682         Added a setting, updatesWhenOffscreen(), which controls whether an
1683         offscreen web view gets marked as needing update when its contents
1684         change (the existing behavior) or not (a new behavior), in which case it
1685         will be marked as needing update just before it goes on screen. The
1686         existing behavior (updating while offscreen) remains the default.
1687
1688         * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
1689         * page/FrameView.cpp:
1690         (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
1691         value from settings.
1692         * page/FrameView.h:
1693         * page/Settings.cpp:
1694         (WebCore::Settings::setUpdatesWhenOffscreen): Added.
1695         * page/Settings.h:
1696         (WebCore::Settings::updatesWhenOffscreen): Added.
1697         * platform/ScrollView.h:
1698         * platform/mac/ScrollViewMac.mm:
1699         (WebCore::ScrollView::updateContents): Added code to return early and
1700         not call -setNeedsDisplayInRect: if the view is not in a visible window
1701         and the setting is not to update when offscreen.
1702
1703 2008-07-08  Simon Hausmann  <hausmann@webkit.org>
1704
1705         Fix the build with enabled SVG filters.
1706
1707         * svg/SVGFESpecularLightingElement.cpp: The last argument to
1708         ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
1709         the attr suffix.
1710
1711 2008-07-07  Sam Weinig  <sam@webkit.org>
1712
1713         Reviewed by Anders Carlsson.
1714
1715         Remove extraneous null check.
1716
1717         * dom/Node.cpp:
1718         (WebCore::Node::querySelector):
1719         (WebCore::Node::querySelectorAll):
1720
1721 2008-07-07  Sam Weinig  <sam@webkit.org>
1722
1723         Reviewed by Anders Carlsson.
1724
1725         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
1726         Use of CSS3 Namespaces syntax in Selectors API should throw an exception
1727
1728         - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
1729           used in a selector passed to querySelector or querySelectorAll.
1730
1731         Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
1732
1733         * dom/Node.cpp:
1734         (WebCore::selectorNeedsNamespaceResolution):
1735         (WebCore::Node::querySelector):
1736         (WebCore::Node::querySelectorAll):
1737
1738 2008-07-07  Simon Fraser  <simon.fraser@apple.com>
1739
1740         Reviewed by Darin.
1741
1742         Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
1743         nodeIterator with filter fails on documents not in a frame
1744
1745         Tests: traversal/node-iterator-009.html
1746                traversal/tree-walker-006.html
1747
1748         * bindings/js/JSNodeFilterCondition.cpp:
1749         * bindings/js/JSNodeFilterCondition.h:
1750         * bindings/js/JSNodeFilterCustom.cpp:
1751         * bindings/js/JSNodeIteratorCustom.cpp:
1752         * bindings/js/JSTreeWalkerCustom.cpp:
1753         * bindings/objc/DOM.mm:
1754         * dom/NodeFilter.cpp:
1755         * dom/NodeFilter.h:
1756         * dom/NodeFilterCondition.cpp:
1757         * dom/NodeFilterCondition.h:
1758         * dom/NodeIterator.cpp:
1759         * dom/NodeIterator.h:
1760         * dom/Traversal.cpp:
1761         * dom/Traversal.h:
1762         * dom/TreeWalker.cpp:
1763         * dom/TreeWalker.h:
1764
1765 2008-07-07  Adele Peterson  <adele@apple.com>
1766
1767         Reviewed by Dan Bernstein.
1768
1769         Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
1770         <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
1771
1772         * page/DragController.cpp: (WebCore::DragController::concludeDrag):
1773         Check that the file control is enabled before taking dropped files.
1774
1775 2008-07-07  Adele Peterson  <adele@apple.com>
1776
1777         Reviewed by Beth.
1778
1779         Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
1780
1781         Change default volume setting to 1.0.
1782
1783         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
1784         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
1785
1786 2008-07-07  Darin Adler  <darin@apple.com>
1787
1788         Reviewed by Mark Rowe.
1789
1790         - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
1791
1792         The old version of the OpenCube QuickMenu library used on this site still has code
1793         that detects Netscape 4 by checking appVersion to see if it has the substring "4."
1794         in it. We decided to special-case the filename of the script and tweak the appVersion
1795         for files with that name.
1796
1797         * bindings/js/ScriptController.cpp:
1798         (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
1799         m_sourceURL. Use false instead of 0 to initialize a boolean.
1800         (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
1801         Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
1802         maintained the value of m_processingInlineCode, since the old code set it to
1803         false rather than restoring it. Renamed a local variable named sourceURL to
1804         exceptionSourceURL for clarity.
1805         (WebCore::ScriptController::processingUserGesture): Code that formerly used
1806         m_processingInlineCode to detect that it was evaluating code with no URL now
1807         uses m_sourceURL to do the same check.
1808
1809         * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
1810         been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
1811         removed m_processingInlineCode.
1812
1813         * page/Navigator.cpp:
1814         (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
1815         a source URL ending in "/dqm_script.js" and if the settings say we should do
1816         site-specific quirks (really JavaScript-library-specific in this case).
1817         (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
1818
1819 2008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1820
1821         Reviewed by Geoff.
1822
1823         Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
1824         <https://bugs.webkit.org/show_bug.cgi?id=19907>
1825
1826         Clear exceptions set on ExecStates before returning from NPAPI
1827         callbacks, in order to avoid causing problems for the next script that
1828         executes.
1829
1830         While fixing this bug, the question was raised of whether we are
1831         correctly propagating exception information back to the caller:
1832
1833         Bug 19936: Correctly propagate exception information from NPAPI callbacks
1834         <https://bugs.webkit.org/show_bug.cgi?id=19936>
1835
1836         * bridge/NP_jsobject.cpp:
1837         (_NPN_InvokeDefault):
1838         (_NPN_Invoke):
1839         (_NPN_Evaluate):
1840         (_NPN_GetProperty):
1841         (_NPN_SetProperty):
1842         (_NPN_RemoveProperty):
1843         (_NPN_HasProperty):
1844         (_NPN_HasMethod):
1845         (_NPN_Enumerate):
1846
1847 2008-07-07  Dan Bernstein  <mitz@apple.com>
1848
1849         Reviewed by Darin Adler.
1850
1851         - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
1852
1853         * css/CSSFontFaceSource.cpp:
1854         (WebCore::CSSFontFaceSource::getFontData): Added a null check because
1855         docLoader() can return 0 now.
1856         * css/CSSFontSelector.cpp:
1857         (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
1858         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
1859         (WebCore::CSSFontSelector::fontLoaded): Ditto.
1860         (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
1861         (WebCore::fontDataForGenericFamily): Added a null check of document.
1862         * css/CSSFontSelector.h:
1863         (WebCore::CSSFontSelector::clearDocument): Added.
1864         * css/CSSStyleSelector.cpp:
1865         (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
1866         CSSFontSelector::clearDocument(). When the style selector is destroyed,
1867         there is no guarantee that the document will continue to exist.
1868
1869 2008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
1870
1871         Not reviewed.
1872
1873         No svg build fix.
1874
1875         * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
1876         * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
1877
1878 2008-07-07  Michelangelo De Simone  <m.des@mac.com>
1879
1880         Reviewed by Adele.
1881
1882         Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
1883
1884         URL: http://www.w3.org/TR/web-forms-2/#relation
1885
1886         Tests: fast/css/readonly-pseudoclass-opera-001.html
1887                fast/css/readonly-pseudoclass-opera-002.html
1888                fast/css/readonly-pseudoclass-opera-003.html
1889                fast/css/readonly-pseudoclass-opera-004.html
1890                fast/css/readonly-pseudoclass-opera-005.html
1891
1892         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
1893         Added "read-only" and "read-write" values for PseudoType extraction.
1894         * css/CSSSelector.h: (WebCore::CSSSelector::):
1895         Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
1896         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1897         Checks to determine whether to match :read-only and :read-write pseudoclasses on
1898         text controls.
1899
1900 2008-07-07  Sam Weinig  <sam@webkit.org>
1901
1902         Reviewed by Geoffrey Garen.
1903
1904         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
1905         querySelectorAll should throw an exception if a NSResolver is passed in.
1906
1907         - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
1908           as the second argument to querySelector or querySelectorAll.
1909
1910         Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
1911
1912         * bindings/js/JSDocumentCustom.cpp:
1913         (WebCore::JSDocument::querySelector):
1914         (WebCore::JSDocument::querySelectorAll):
1915         * bindings/js/JSElementCustom.cpp:
1916         (WebCore::JSElement::querySelector):
1917         (WebCore::JSElement::querySelectorAll):
1918         * dom/Document.idl:
1919         * dom/Element.idl:
1920
1921 2008-07-07  Brady Eidson  <beidson@apple.com>
1922
1923         Reviewed by Mitz and Geoff
1924
1925         Test: fast/loader/empty-ref-versus-no-ref.html
1926
1927         Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
1928         "all DOM operations stop working when location.hash set to '#'"
1929
1930         The underlying problem is that KURL didn't really know the difference between "empty ref"
1931         and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
1932         affecting removal of the ref, which ended up causing an infinite load load, also killing
1933         javascript.
1934
1935         * platform/KURL.cpp:
1936         (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
1937           meaning of "no ref at all" while empty means "empty ref"
1938
1939 2008-07-07  Kevin McCullough  <kmccullough@apple.com>
1940
1941         Reviewed by Darin.
1942
1943         Because profiler.h no longer #includes profile.h we need to explicitly
1944         include it in console.cpp.
1945
1946         * page/Console.cpp:
1947
1948 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
1949
1950         Not reviewed. Build fix.
1951
1952         Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
1953
1954         * svg/SVGFEColorMatrixElement.cpp:
1955         * svg/SVGFEDiffuseLightingElement.cpp:
1956         * svg/SVGFEImageElement.cpp:
1957         * svg/SVGFELightElement.cpp:
1958         * svg/SVGFESpecularLightingElement.cpp:
1959
1960 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
1961
1962         Reviewed by Antti.
1963
1964         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
1965
1966         Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
1967         Remove unneccessary parameters of all macros.
1968
1969         SVG Errata states: "All SVG DOM objects that directly correspond to an
1970         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
1971         means that any changes made to the attribute are immediately reflected in the
1972         corresponding SVG DOM object." (see linked URL on bug report)
1973
1974         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
1975         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
1976
1977         Add a new synchronization layer to handle SVG DOM -> XML changes.
1978
1979         Added test: svg/custom/svg-xml-dom-sync.html
1980         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
1981
1982         * dom/Element.cpp:
1983         (WebCore::Element::Element): Initialize the two new bits.
1984         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
1985         (WebCore::Element::getAttribute): Ditto.
1986         (WebCore::Element::hasAttributes): Ditto.
1987         * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
1988         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
1989         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
1990         * svg/SVGAElement.cpp:
1991         * svg/SVGAElement.h:
1992         * svg/SVGAnimatedTemplate.h:
1993         (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
1994         * svg/SVGCircleElement.cpp:
1995         (WebCore::SVGCircleElement::SVGCircleElement):
1996         * svg/SVGCircleElement.h:
1997         * svg/SVGClipPathElement.cpp:
1998         * svg/SVGClipPathElement.h:
1999         * svg/SVGComponentTransferFunctionElement.cpp:
2000         * svg/SVGComponentTransferFunctionElement.h:
2001         * svg/SVGCursorElement.cpp:
2002         (WebCore::SVGCursorElement::SVGCursorElement):
2003         * svg/SVGCursorElement.h:
2004         * svg/SVGElement.cpp:
2005         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
2006         (WebCore::SVGElement::setSynchronizedSVGAttributes):
2007         * svg/SVGElement.h:
2008         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
2009         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
2010         (WebCore::SVGElement::addSVGPropertySynchronizer):
2011         * svg/SVGEllipseElement.cpp:
2012         * svg/SVGEllipseElement.h:
2013         * svg/SVGExternalResourcesRequired.cpp:
2014         * svg/SVGExternalResourcesRequired.h:
2015         * svg/SVGFEBlendElement.cpp:
2016         * svg/SVGFEBlendElement.h:
2017         * svg/SVGFEColorMatrixElement.cpp:
2018         * svg/SVGFEColorMatrixElement.h:
2019         * svg/SVGFEComponentTransferElement.cpp:
2020         * svg/SVGFEComponentTransferElement.h:
2021         * svg/SVGFECompositeElement.cpp:
2022         * svg/SVGFECompositeElement.h:
2023         * svg/SVGFEDiffuseLightingElement.cpp:
2024         * svg/SVGFEDiffuseLightingElement.h:
2025         * svg/SVGFEDisplacementMapElement.cpp:
2026         * svg/SVGFEDisplacementMapElement.h:
2027         * svg/SVGFEGaussianBlurElement.cpp:
2028         * svg/SVGFEGaussianBlurElement.h:
2029         * svg/SVGFEImageElement.cpp:
2030         * svg/SVGFEImageElement.h:
2031         * svg/SVGFELightElement.cpp:
2032         * svg/SVGFELightElement.h:
2033         * svg/SVGFEMergeNodeElement.cpp:
2034         * svg/SVGFEMergeNodeElement.h:
2035         * svg/SVGFEOffsetElement.cpp:
2036         * svg/SVGFEOffsetElement.h:
2037         * svg/SVGFESpecularLightingElement.cpp:
2038         * svg/SVGFESpecularLightingElement.h:
2039         * svg/SVGFETileElement.cpp:
2040         * svg/SVGFETileElement.h:
2041         * svg/SVGFETurbulenceElement.cpp:
2042         * svg/SVGFETurbulenceElement.h:
2043         * svg/SVGFilterElement.cpp:
2044         * svg/SVGFilterElement.h:
2045         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2046         * svg/SVGFilterPrimitiveStandardAttributes.h:
2047         * svg/SVGFitToViewBox.cpp:
2048         * svg/SVGFitToViewBox.h:
2049         * svg/SVGForeignObjectElement.cpp:
2050         * svg/SVGForeignObjectElement.h:
2051         * svg/SVGGradientElement.cpp:
2052         * svg/SVGGradientElement.h:
2053         * svg/SVGImageElement.cpp:
2054         * svg/SVGImageElement.h:
2055         * svg/SVGLineElement.cpp:
2056         * svg/SVGLineElement.h:
2057         * svg/SVGLinearGradientElement.cpp:
2058         * svg/SVGLinearGradientElement.h:
2059         * svg/SVGMarkerElement.cpp:
2060         * svg/SVGMarkerElement.h:
2061         * svg/SVGMaskElement.cpp:
2062         * svg/SVGMaskElement.h:
2063         * svg/SVGPathElement.cpp:
2064         * svg/SVGPathElement.h:
2065         * svg/SVGPatternElement.cpp:
2066         * svg/SVGPatternElement.h:
2067         * svg/SVGRadialGradientElement.cpp:
2068         * svg/SVGRadialGradientElement.h:
2069         * svg/SVGRectElement.cpp:
2070         * svg/SVGRectElement.h:
2071         * svg/SVGSVGElement.cpp:
2072         * svg/SVGSVGElement.h:
2073         * svg/SVGScriptElement.h:
2074         * svg/SVGStopElement.cpp:
2075         * svg/SVGStopElement.h:
2076         * svg/SVGStyledElement.cpp:
2077         * svg/SVGStyledElement.h:
2078         * svg/SVGStyledTransformableElement.cpp:
2079         * svg/SVGStyledTransformableElement.h:
2080         * svg/SVGSymbolElement.h:
2081         * svg/SVGTextContentElement.cpp:
2082         * svg/SVGTextContentElement.h:
2083         * svg/SVGTextElement.cpp:
2084         * svg/SVGTextElement.h:
2085         * svg/SVGTextPathElement.cpp:
2086         * svg/SVGTextPathElement.h:
2087         * svg/SVGTextPositioningElement.cpp:
2088         * svg/SVGTextPositioningElement.h:
2089         * svg/SVGURIReference.cpp:
2090         * svg/SVGURIReference.h:
2091         * svg/SVGUseElement.cpp:
2092         * svg/SVGUseElement.h:
2093         * svg/SVGViewElement.h:
2094         * svg/SynchronizableTypeWrapper.h: Added.
2095
2096 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
2097
2098         Reviewed by Oliver.
2099
2100         Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
2101
2102         Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
2103
2104         Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
2105         Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
2106         in SVGAnimatedTemplate.
2107
2108         * svg/SVGAnimatedTemplate.h:
2109         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
2110         (WebCore::lookupOrCreateWrapper):
2111         (WebCore::SVGAnimatedTypeValue::null):
2112         (WebCore::SVGAnimatedTypeValue::toString):
2113         (WebCore::):
2114         * svg/SVGDocumentExtensions.h:
2115         (WebCore::SVGDocumentExtensions::baseValue):
2116         * svg/SVGLengthList.cpp:
2117         (WebCore::SVGLengthList::valueAsString):
2118         * svg/SVGLengthList.h:
2119         * svg/SVGNumberList.cpp:
2120         (WebCore::SVGNumberList::valueAsString):
2121         * svg/SVGNumberList.h:
2122         * svg/SVGPreserveAspectRatio.cpp:
2123         (WebCore::SVGPreserveAspectRatio::valueAsString):
2124         * svg/SVGPreserveAspectRatio.h:
2125         * svg/SVGTransformList.cpp:
2126         (SVGTransformList::valueAsString):
2127         * svg/SVGTransformList.h:
2128
2129 2008-07-06  Sam Weinig  <sam@webkit.org>
2130
2131         Reviewed by Dan Bernstein.
2132
2133         Rename "Access-Contol-Origin" to "Origin" to match the latest
2134         Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
2135
2136         * xml/XMLHttpRequest.cpp:
2137         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
2138         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2139         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
2140
2141 2008-07-06  Dan Bernstein  <mitz@apple.com>
2142
2143         - try to fix the Windows build
2144
2145         * WebCore.vcproj/WebCore.vcproj:
2146
2147 2008-07-06  Dan Bernstein  <mitz@apple.com>
2148
2149         - add missing brace
2150
2151         * platform/graphics/qt/FontCacheQt.cpp:
2152
2153 2008-07-06  Dan Bernstein  <mitz@apple.com>
2154
2155         - try to fix the Qt build
2156
2157         * platform/graphics/qt/FontCacheQt.cpp:
2158         (WebCore::FontCache::addClient):
2159         (WebCore::FontCache::removeClient):
2160
2161 2008-07-06  Sam Weinig  <sam@webkit.org>
2162
2163         Reviewed by Cameron Zwarich.
2164
2165         Add #include for kjs/protect.h.
2166
2167         * xml/XMLHttpRequest.cpp:
2168         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2169
2170 2008-07-06  David Kilzer  <ddkilzer@apple.com>
2171
2172         Save a few more bits in RenderStyle
2173
2174         Reviewed by Darin.
2175
2176         No test cases added since there is no change in behavior.
2177
2178         This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
2179         WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
2180         and WebCore::RenderStyle::noninherited_flags from using 49 bits to
2181         47 bits.
2182
2183         * rendering/style/RenderStyle.h:
2184         (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
2185         since EMarqueeBehavior has 4 items.
2186         (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
2187         4 bits to 3 bits since ETextAlign has 8 items.
2188         (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
2189         4 bits to 3 bits since EOverflow has 6 items.
2190         (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
2191
2192 2008-07-06  Dan Bernstein  <mitz@apple.com>
2193
2194         Reviewed by Darin Adler.
2195
2196         - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
2197
2198         * css/CSSFontSelector.cpp:
2199         (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
2200         FontCache::addClient().
2201         (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
2202         FontCache::removeClient().
2203         (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
2204         font cache when it is invalidated, and ensures that the document is
2205         updated.
2206
2207         * css/CSSFontSelector.h:
2208
2209         * platform/graphics/Font.cpp:
2210         (WebCore::Font::operator==): Added code to compare the font fallback
2211         lists' font cache generations.
2212
2213         * platform/graphics/FontCache.cpp:
2214         (WebCore::FontCache::addClient): Added.
2215         (WebCore::FontCache::removeClient): Added.
2216         (WebCore::FontCache::generation): Added.
2217         (WebCore::FontCache::invalidate): Added. Deletes the platform data
2218         cache, increments the generation counter, and notifies all clients.
2219
2220         * platform/graphics/FontCache.h:
2221
2222         * platform/graphics/FontFallbackList.cpp:
2223         (WebCore::FontFallbackList::FontFallbackList): Added initialization of
2224         m_generation.
2225         (WebCore::FontFallbackList::invalidate): Added code to reset
2226         m_generation.
2227         (WebCore::FontFallbackList::fontDataAt): Added an assertion.
2228         (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
2229         (WebCore::FontFallbackList::setPlatformFont): Ditto.
2230
2231         * platform/graphics/FontFallbackList.h:
2232         (WebCore::FontFallbackList::generation): Added. Returns the font cache
2233         generation used to populate the list.
2234
2235         * platform/graphics/FontSelector.h:
2236         (WebCore::FontSelector::fontCacheInvalidated): Added.
2237
2238         * platform/graphics/mac/FontCacheMac.mm:
2239         (WebCore::fontCacheATSNotificationCallback): Added. Calls
2240         FontCache::invalidate().
2241         (WebCore::FontCache::platformInit): Added code to register for ATS
2242         notifications.
2243
2244         * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
2245
2246 2008-07-05  Sam Weinig  <sam@webkit.org>
2247
2248         Rubber-stamped by Cameron Zwarich.
2249
2250         Rename list.h/cpp to ArgList.h/cpp.
2251
2252         * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
2253         * ForwardingHeaders/kjs/list.h: Removed.
2254         * WebCore.vcproj/WebCore.vcproj:
2255         * bridge/qt/qt_instance.cpp:
2256         * page/Console.cpp:
2257
2258 2008-07-05  Sam Weinig  <sam@webkit.org>
2259
2260         Rubber-stamped by Cameron Zwarich.
2261
2262         Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 
2263         the functions on the global object out of JSFunction.h/cpp.
2264
2265         * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
2266         * bindings/js/JSDOMBinding.cpp:
2267
2268 2008-07-05  Dan Bernstein  <mitz@apple.com>
2269
2270         Rubber-stamped by Sam Weinig.
2271
2272         - rename BidiIterator and BidiState
2273
2274         Renamed BidiIterator to InlineIterator and BidiState
2275         to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
2276         to "resolver".
2277
2278         * rendering/RenderBlock.h:
2279         * rendering/RootInlineBox.h:
2280         * rendering/bidi.cpp:
2281         (WebCore::InlineIterator::InlineIterator):
2282         (WebCore::operator==):
2283         (WebCore::operator!=):
2284         (WebCore::bidiNext):
2285         (WebCore::bidiFirst):
2286         (WebCore::InlineIterator::increment):
2287         (WebCore::InlineBidiResolver::increment):
2288         (WebCore::InlineIterator::atEnd):
2289         (WebCore::InlineIterator::current):
2290         (WebCore::InlineIterator::direction):
2291         (WebCore::chopMidpointsAt):
2292         (WebCore::checkMidpoints):
2293         (WebCore::addMidpoint):
2294         (WebCore::appendRunsForObject):
2295         (WebCore::InlineBidiResolver::appendRun):
2296         (WebCore::RenderBlock::bidiReorderLine):
2297         (WebCore::buildCompactRuns):
2298         (WebCore::RenderBlock::layoutInlineChildren):
2299         (WebCore::RenderBlock::determineStartPosition):
2300         (WebCore::RenderBlock::determineEndPosition):
2301         (WebCore::RenderBlock::matchedEndLine):
2302         (WebCore::skipNonBreakingSpace):
2303         (WebCore::requiresLineBox):
2304         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
2305         (WebCore::RenderBlock::skipWhitespace):
2306         (WebCore::shouldSkipWhitespaceAfterStartObject):
2307         (WebCore::RenderBlock::findNextLineBreak):
2308
2309 2008-07-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
2310
2311         Rubber-stamped by Oliver Hunt
2312
2313         Coding style fix
2314
2315         * html/CanvasRenderingContext2D.cpp: Indentation fix
2316
2317 2008-07-04  Oliver Hunt  <oliver@apple.com>
2318
2319         Fix windows build
2320
2321         * WebCore.vcproj/WebCore.vcproj:
2322
2323 2008-07-04  Sam Weinig  <sam@webkit.org>
2324
2325         Fix Qt build.
2326
2327         * bridge/qt/qt_instance.cpp:
2328
2329 2008-07-04  Sam Weinig  <sam@webkit.org>
2330
2331         Rubber-stamped by Dan Bernstein.
2332
2333         Split Error and GetterSetter out of JSObject.h.
2334
2335         * ForwardingHeaders/kjs/Error.h: Added.
2336         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2337         * bindings/js/JSClipboardCustom.cpp:
2338         * bindings/js/JSDOMWindowBase.cpp:
2339         * bindings/js/JSEventTargetBase.cpp:
2340         * bindings/js/JSHTMLDocumentCustom.cpp:
2341         * bindings/js/JSXMLHttpRequestCustom.cpp:
2342         * bindings/scripts/CodeGeneratorJS.pm:
2343         * bridge/NP_jsobject.cpp:
2344         * bridge/jni/jni_instance.cpp:
2345         * bridge/jni/jni_runtime.cpp:
2346         * bridge/objc/objc_instance.mm:
2347         * bridge/objc/objc_runtime.mm:
2348         * bridge/objc/objc_utility.h:
2349         * bridge/runtime_array.cpp:
2350         * bridge/runtime_method.cpp:
2351         * bridge/runtime_object.cpp:
2352
2353 2008-07-04  David D. Kilzer  <ddkilzer@webkit.org>
2354
2355         Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
2356
2357         <https://bugs.webkit.org/show_bug.cgi?id=15290>
2358         <rdar://problem/5509173>
2359
2360         Reviewed by Dan Bernstein.
2361
2362         Tests: webarchive/archive-empty-frame-dom.html
2363                webarchive/doctype.html
2364
2365         * editing/markup.cpp:
2366         (WebCore::createFullMarkup): If the Node is a Document or a
2367         DocumentType, don't prepend the <!DOCTYPE> tag since that will
2368         cause it to be duplicated.
2369         * loader/archive/cf/LegacyWebArchive.cpp:
2370         (WebCore::LegacyWebArchive::create): Ditto.
2371
2372 2008-07-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
2373
2374         Gtk build fix
2375
2376         * GNUmakefile.am:
2377
2378 2008-07-04  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2379
2380         Reviewed by Eric Seidel.
2381
2382         Bring our implementation of the Netscape plugin API closer to current
2383         code style guidelines.
2384
2385         * bridge/NP_jsobject.cpp:
2386         (getListFromVariantArgs):
2387         (jsAllocate):
2388         (jsDeallocate):
2389         (_NPN_CreateScriptObject):
2390         (_NPN_CreateNoScriptObject):
2391         (_NPN_InvokeDefault):
2392         (_NPN_Invoke):
2393         (_NPN_Evaluate):
2394         (_NPN_GetProperty):
2395         (_NPN_SetProperty):
2396         (_NPN_RemoveProperty):
2397         (_NPN_HasProperty):
2398         (_NPN_HasMethod):
2399         (_NPN_Enumerate):
2400         * bridge/npruntime_impl.h:
2401
2402 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2403
2404         Fix the Qt/Windows build.
2405
2406         * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
2407         sources, so that it is always compiled.
2408         * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
2409         Windows header.
2410         * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
2411         that are defined by Windows already.
2412         * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
2413         that are now platform-independent in plugin/PluginDatabase.cpp.
2414
2415 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2416
2417         Fix the Mac build for real, don't define listDirectory() twice.
2418
2419         * platform/mac/FileSystemMac.mm:
2420
2421 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2422
2423         Prospective Mac build fix.
2424
2425         * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
2426         * platform/posix/FileSystemPOSIX.cpp: Ditto.
2427
2428 2008-07-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
2429
2430         Reviewed by Simon.
2431
2432         Move duplicated code from each PluginDatabaseXX-implementation
2433         to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
2434         compiling plugins for.
2435
2436         This make the code cleaner and we can share common patterns.
2437         The only implementation left which is specific is the Win
2438         implementation (also used by QtWebKit/Win), but we might
2439         want to move that too.
2440
2441         * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
2442         * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
2443         * plugins/PluginDatabase.cpp:
2444         (WebCore::PluginDatabase::defaultPluginDirectories):
2445         (WebCore::PluginDatabase::isPreferredPluginDirectory):
2446         (WebCore::PluginDatabase::getPluginPathsInDirectories):
2447         * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
2448         * plugins/qt/PluginDatabaseQt.cpp: Removed.
2449         * plugins/wx/PluginDatabaseWx.cpp: Removed.
2450         * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
2451
2452 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2453
2454         Fix the Wx build.
2455
2456         * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
2457         build.
2458         * page/FocusController.cpp:
2459         (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
2460         layoutIfNeededRecursive does not exist for the Wx port.
2461
2462 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2463
2464         Fix the Gtk build, adapt to renamed files.
2465
2466         * GNUmakefile.am:
2467
2468 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
2469
2470         Fix the Qt build, adapt to renamed files.
2471
2472         * WebCore.pro:
2473
2474 2008-07-03  Oliver Hunt  <oliver@apple.com>
2475
2476         Reviewed by Eric Seidel.
2477
2478         Move filter implementations to platform directory.
2479
2480         * WebCore.vcproj/WebCore.vcproj
2481         * WebCore.xcodeproj/project.pbxproj:
2482         * svg/SVGComponentTransferFunctionElement.h:
2483         * svg/SVGFEBlendElement.h:
2484         * svg/SVGFEColorMatrixElement.h:
2485         * svg/SVGFEComponentTransferElement.h:
2486         * svg/SVGFECompositeElement.h:
2487         * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
2488         * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
2489         * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
2490         * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
2491         * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
2492         * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
2493         * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
2494         * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
2495
2496 2008-07-03  Alex Mathews  <possessedpenguinbob@gmail.com>
2497
2498         Reviewed by Oliver Hunt.
2499
2500         Bug 19835: WebKit needs cross-platform filter system
2501         <https://bugs.webkit.org/show_bug.cgi?id=19835>
2502
2503         More class refactoring in preparation for cross-platform filter
2504         implementation.
2505
2506         * WebCore.xcodeproj/project.pbxproj:
2507         * svg/FilterEffect.h:
2508         * svg/SVGComponentTransferFunctionElement.cpp:
2509         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2510         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
2511         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
2512         * svg/SVGComponentTransferFunctionElement.h:
2513         * svg/SVGFEColorMatrixElement.cpp:
2514         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2515         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
2516         (WebCore::SVGFEColorMatrixElement::filterEffect):
2517         (WebCore::SVGFEColorMatrixElement::build):
2518         * svg/SVGFEColorMatrixElement.h:
2519         * svg/SVGFEComponentTransferElement.cpp:
2520         (WebCore::SVGFEComponentTransferElement::filterEffect):
2521         (WebCore::SVGFEComponentTransferElement::build):
2522         * svg/SVGFEComponentTransferElement.h:
2523         * svg/SVGFECompositeElement.cpp:
2524         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2525         (WebCore::SVGFECompositeElement::parseMappedAttribute):
2526         (WebCore::SVGFECompositeElement::filterEffect):
2527         (WebCore::SVGFECompositeElement::build):
2528         * svg/SVGFECompositeElement.h:
2529         * svg/graphics/filters/SVGFEBlend.cpp:
2530         * svg/graphics/filters/SVGFEBlend.h:
2531         * svg/graphics/filters/SVGFEColorMatrix.cpp:
2532         (WebCore::FEColorMatrix::FEColorMatrix):
2533         (WebCore::FEColorMatrix::create):
2534         (WebCore::FEColorMatrix::type):
2535         (WebCore::FEColorMatrix::setType):
2536         (WebCore::FEColorMatrix::values):
2537         (WebCore::FEColorMatrix::setValues):
2538         (WebCore::FEColorMatrix::apply):
2539         (WebCore::FEColorMatrix::dump):
2540         * svg/graphics/filters/SVGFEColorMatrix.h:
2541         (WebCore::):
2542         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
2543         (WebCore::FEComponentTransfer::FEComponentTransfer):
2544         (WebCore::FEComponentTransfer::create):
2545         (WebCore::FEComponentTransfer::redFunction):
2546         (WebCore::FEComponentTransfer::setRedFunction):
2547         (WebCore::FEComponentTransfer::greenFunction):
2548         (WebCore::FEComponentTransfer::setGreenFunction):
2549         (WebCore::FEComponentTransfer::blueFunction):
2550         (WebCore::FEComponentTransfer::setBlueFunction):
2551         (WebCore::FEComponentTransfer::alphaFunction):
2552         (WebCore::FEComponentTransfer::setAlphaFunction):
2553         (WebCore::FEComponentTransfer::apply):
2554         (WebCore::FEComponentTransfer::dump):
2555         * svg/graphics/filters/SVGFEComponentTransfer.h:
2556         (WebCore::):
2557         (WebCore::ComponentTransferFunction::ComponentTransferFunction):
2558         * svg/graphics/filters/SVGFEComposite.cpp:
2559         (WebCore::FEComposite::FEComposite):
2560         (WebCore::FEComposite::create):
2561         (WebCore::FEComposite::operation):
2562         (WebCore::FEComposite::setOperation):
2563         (WebCore::FEComposite::k1):
2564         (WebCore::FEComposite::setK1):
2565         (WebCore::FEComposite::k2):
2566         (WebCore::FEComposite::setK2):
2567         (WebCore::FEComposite::k3):
2568         (WebCore::FEComposite::setK3):
2569         (WebCore::FEComposite::k4):
2570         (WebCore::FEComposite::setK4):
2571         (WebCore::FEComposite::apply):
2572         (WebCore::FEComposite::dump):
2573         * svg/graphics/filters/SVGFEComposite.h:
2574         (WebCore::):
2575         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
2576         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
2577         * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
2578
2579 2008-07-03  Dan Bernstein  <mitz@apple.com>
2580
2581         Reviewed by John Sullivan.
2582
2583         - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
2584
2585         Test: fast/text/international/bidi-AN-after-empty-run.html
2586
2587         * platform/text/BidiResolver.h:
2588         (WebCore::::appendRun): Changed to reset the current direction and
2589         "end of run" direction even in the empty run case.
2590         * rendering/bidi.cpp:
2591         (WebCore::BidiState::appendRun): Ditto.
2592
2593 2008-07-02  Jon Honeycutt  <jhoneycutt@apple.com>
2594
2595         <rdar://5983747> Safari crashes trying to load the SilverLight plugin
2596
2597         If a plug-in returned an error code from NPP_NewStream, we would call
2598         NPP_DestroyStream while cleaning up the request. We now only call
2599         NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
2600
2601         Reviewed by Anders.
2602
2603         * plugins/PluginStream.cpp:
2604         (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
2605         don't set m_streamState to StreamStarted, and return after calling
2606         cancelAndDestroyStream.
2607         (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
2608         the stream didn't start successfully.
2609
2610 2008-07-03  David Hyatt  <hyatt@apple.com>
2611
2612         Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
2613         Mac.  Revert updateControlTints and add the layout call outside of it in the already-existing
2614         !PLATFORM(MAC) ifdef in FocusController's setActive method.
2615
2616         Reviewed by ggaren, weinig
2617
2618         * page/FocusController.cpp:
2619         (WebCore::FocusController::setActive):
2620         * page/FrameView.cpp:
2621         (WebCore::FrameView::updateControlTints):
2622
2623 2008-07-03  Alexey Proskuryakov  <ap@webkit.org>
2624
2625         Reviewed by Darin.
2626
2627         https://bugs.webkit.org/show_bug.cgi?id=19884
2628         Locating a store at www.366.ru doesn't work
2629
2630         Test: fast/forms/submit-with-base.html
2631
2632         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
2633         as missing one - ignore base URL.
2634
2635 2008-07-03  Dan Bernstein  <mitz@apple.com>
2636
2637         Reviewed by John Sullivan.
2638
2639         - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
2640
2641         * page/FrameView.cpp:
2642         (WebCore::FrameView::updateControlTints): Changed to update layout
2643         recursively and not just for the top-level frame.
2644
2645 2008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2646
2647         Reviewed by Geoff.
2648
2649         Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
2650         https://bugs.webkit.org/show_bug.cgi?id=19853
2651
2652         Remove the body of _NPN_SetException(), because it was simply calling
2653         throwError(), which sets an exception on an ExecState but does not
2654         actually handle it. The presence of an exception on the global ExecState
2655         causes assertions that there is no exception set on that ExecState to
2656         fail, as well as causing Machine::execute() to mistakingly return 0 in
2657         some cases, as it assumes the presence of an exception implies that it
2658         has run out of memory.
2659
2660         * bridge/NP_jsobject.cpp:
2661         (_NPN_SetException):
2662
2663 2008-07-03  Maciej Katafiasz  <mathrick@gmail.com>
2664
2665         Gtk build fix with SVG filters enabled
2666
2667         * GNUmakefile.am: Include missing SVG filter sources
2668
2669 2008-07-03  Simon Hausmann  <hausmann@webkit.org>
2670
2671         Fix the Qt build, added FilterEffect to the build.
2672
2673         * WebCore.pro:
2674
2675 2008-07-02  Brady Eidson  <beidson@apple.com>
2676
2677         Reviewed by Mitz Pettel and John Sullivan
2678
2679         Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 
2680         inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
2681
2682         Test: fast/loader/stop-provisional-loads.html
2683
2684         * loader/FrameLoader.cpp:
2685         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
2686           by the prepareForLoadStart() call, null check it again.
2687
2688 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
2689
2690         Reviewed by Oliver Hunt.
2691
2692         Renaming of class SVGFEBlend to FEBlend as well as removing
2693         a little bit of antiquated code. This includes the removal of
2694         SVGFEBlendCg.mm; the feBlend element will now no longer
2695         render. 
2696
2697         * WebCore.xcodeproj/project.pbxproj:
2698         * svg/FilterBuilder.h:
2699         (WebCore::FilterBuilder::add):
2700         (WebCore::FilterBuilder::getEffectById):
2701         * svg/SVGFEBlendElement.cpp:
2702         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2703         (WebCore::SVGFEBlendElement::parseMappedAttribute):
2704         (WebCore::SVGFEBlendElement::filterEffect):
2705         (WebCore::SVGFEBlendElement::build):
2706         * svg/SVGFEBlendElement.h:
2707         * svg/SVGFilterPrimitiveStandardAttributes.h:
2708         * svg/graphics/filters/SVGFEBlend.cpp:
2709         (WebCore::FEBlend::FEBlend):
2710         (WebCore::FEBlend::create):
2711         (WebCore::FEBlend::in2):
2712         (WebCore::FEBlend::setIn2):
2713         (WebCore::FEBlend::blendMode):
2714         (WebCore::FEBlend::setBlendMode):
2715         (WebCore::FEBlend::apply):
2716         (WebCore::FEBlend::dump):
2717         * svg/graphics/filters/SVGFEBlend.h:
2718         (WebCore::):
2719         * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
2720
2721 2008-07-02  Beth Dakin  <bdakin@apple.com>
2722
2723         Reviewed by Darin.
2724
2725         Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
2726         and
2727         <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
2728
2729         * page/AccessibilityObject.h:
2730         (WebCore::AccessibilityObject::isSlider):
2731         * page/AccessibilityRenderObject.cpp:
2732         (WebCore::AccessibilityRenderObject::isSlider):
2733         (WebCore::AccessibilityRenderObject::valueForRange):
2734         (WebCore::AccessibilityRenderObject::maxValueForRange):
2735         (WebCore::AccessibilityRenderObject::minValueForRange):
2736         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 
2737         were addressing the generic has-an-ARIA-role case too early here.
2738         (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 
2739         bug I ran into while testing role='spinbutton', spinbutton is a 
2740         role that can have an active descendant. But we were always trying 
2741         to forward focus to the active descendant, even if one was not 
2742         specified. 
2743         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 
2744         'spinbutton' maps to ProgressIndicatorRole.
2745         (WebCore::RoleEntry::):
2746         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2747         * page/AccessibilityRenderObject.h:
2748         * page/mac/AccessibilityObjectWrapper.mm:
2749         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2750         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2751
2752 2008-07-02  Dan Bernstein  <mitz@apple.com>
2753
2754         Reviewed by Adam Roben.
2755
2756         - Windows build fix
2757
2758         Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
2759         the ERROR macro is defined in <wingdi.h>.
2760
2761         * xml/XPathGrammar.y:
2762         * xml/XPathParser.cpp:
2763         (WebCore::XPath::Parser::lexString):
2764         (WebCore::XPath::Parser::nextTokenInternal):
2765
2766 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
2767
2768         Inspired and reviewed by Mark Rowe.
2769
2770         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
2771
2772         * bindings/objc/ExceptionHandlers.h:
2773         * bindings/objc/WebScriptObject.mm:
2774         * dom/Document.cpp:
2775         * dom/Node.cpp:
2776         * page/Frame.cpp:
2777         * page/InspectorController.cpp:
2778         * page/JavaScriptProfileNode.cpp:
2779         * page/mac/FrameMac.mm:
2780         * platform/mac/ThreadCheck.mm:
2781         * xml/XMLHttpRequest.cpp:
2782
2783 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
2784
2785         Fix the Gtk build.
2786
2787         * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
2788         (WebCore::PluginView::paint):
2789         (WebCore::PluginView::handleKeyboardEvent):
2790         (WebCore::PluginView::handleMouseEvent):
2791         (WebCore::PluginView::setNPWindowRect):
2792         (WebCore::PluginView::stop):
2793         (WebCore::PluginView::init):
2794
2795 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
2796
2797         Build fixes.
2798
2799         * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
2800         build.
2801         * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
2802         * bridge/qt/qt_runtime.cpp: Ditto.
2803         (KJS::Bindings::convertValueToQVariant):
2804         (KJS::Bindings::convertQVariantToValue):
2805         (KJS::Bindings::QtRuntimeMetaMethod::call):
2806         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2807         (KJS::Bindings::QtConnectionObject::execute):
2808         * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
2809         JavaScriptCore/JSValue.h.
2810         * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
2811         (WebCore::PluginView::setNPWindowRect): Ditto.
2812         (WebCore::PluginView::stop): Ditto.
2813         (WebCore::PluginView::init): Ditto.
2814
2815 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
2816
2817         Build fix.
2818
2819         * plugins/PluginView.cpp:
2820         (WebCore::PluginView::start):
2821         (WebCore::getString):
2822         (WebCore::PluginView::performRequest):
2823         (WebCore::PluginView::bindingInstance):
2824         * plugins/win/PluginViewWin.cpp:
2825         (WebCore::PluginView::dispatchNPEvent):
2826         (WebCore::PluginView::setNPWindowRect):
2827         (WebCore::PluginView::stop):
2828         Pass false to JSLock and JSLock::DropAllLocks constructors.
2829
2830 2008-07-01  Oliver Hunt  <oliver@apple.com>
2831
2832         Reviewed by Geoff Garen.
2833
2834         <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
2835
2836         In order to fix this we now make the rendering context and the canvas element
2837         share the same reference count, ensuring that references to the rendering
2838         context will force the canvas element to remain live as well.
2839
2840         Test: fast/canvas/canvas-longlived-context.html
2841
2842         * html/CanvasRenderingContext2D.cpp:
2843         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
2844         (WebCore::CanvasRenderingContext2D::createImageData):
2845         (WebCore::CanvasRenderingContext2D::getImageData):
2846         (WebCore::CanvasRenderingContext2D::putImageData):
2847         * html/CanvasRenderingContext2D.h:
2848         (WebCore::CanvasRenderingContext2D::create):
2849         * html/HTMLCanvasElement.cpp:
2850         (WebCore::HTMLCanvasElement::getContext):
2851         * html/HTMLCanvasElement.h:
2852
2853 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
2854
2855         Reviewed by Darin.
2856
2857         Disable JSLock for per-thread contexts.
2858
2859         * bridge/runtime_root.cpp:
2860         (KJS::Bindings::RootObject::invalidate):
2861         (KJS::Bindings::RootObject::gcProtect):
2862         (KJS::Bindings::RootObject::gcUnprotect):
2863         Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
2864
2865         * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
2866         to indicate that protected value list can be concurrently accessed from multiple threads now.
2867
2868         * xml/XMLHttpRequest.cpp:
2869         (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
2870         as fake locks cannot deadlock, and there is no danger that someone will try to take a real
2871         JSLock on the main thread while we are waiting for response.
2872         (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
2873         around gcProtect/gcUnprotect now.
2874         (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
2875         JSGlobalData::threadInstance().
2876
2877         * bindings/js/GCController.cpp:
2878         (WebCore::collect):
2879         (WebCore::GCController::gcTimerFired):
2880         (WebCore::GCController::garbageCollectNow):
2881         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
2882         * bindings/js/JSCustomSQLStatementCallback.cpp:
2883         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2884         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2885         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2886         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2887         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2888         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2889         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2890         * bindings/js/JSCustomVoidCallback.cpp:
2891         (WebCore::JSCustomVoidCallback::handleEvent):
2892         * bindings/js/JSCustomXPathNSResolver.cpp:
2893         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2894         * bindings/js/JSDOMWindowBase.cpp:
2895         (WebCore::DOMWindowTimer::~DOMWindowTimer):
2896         (WebCore::JSDOMWindowBase::clear):
2897         (WebCore::JSDOMWindowBase::timerFired):
2898         * bindings/js/JSEventCustom.cpp:
2899         (WebCore::toJS):
2900         * bindings/js/JSEventListener.cpp:
2901         (WebCore::JSAbstractEventListener::handleEvent):
2902         (WebCore::JSLazyEventListener::parseCode):
2903         * bindings/js/JSNodeFilterCondition.cpp:
2904         (WebCore::JSNodeFilterCondition::acceptNode):
2905         * bindings/js/ScheduledAction.cpp:
2906         (WebCore::ScheduledAction::execute):
2907         * bindings/js/ScriptController.cpp:
2908         (WebCore::ScriptController::evaluate):
2909         (WebCore::ScriptController::clear):
2910         (WebCore::ScriptController::createHTMLEventHandler):
2911         (WebCore::ScriptController::createSVGEventHandler):
2912         (WebCore::ScriptController::initScript):
2913         (WebCore::ScriptController::updateDocument):
2914         * bindings/objc/WebScriptObject.mm:
2915         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2916         (-[WebScriptObject evaluateWebScript:]):
2917         (-[WebScriptObject setValue:forKey:]):
2918         (-[WebScriptObject valueForKey:]):
2919         (-[WebScriptObject removeWebScriptKey:]):
2920         (-[WebScriptObject stringRepresentation]):
2921         (-[WebScriptObject webScriptValueAtIndex:]):
2922         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
2923         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2924         * bridge/NP_jsobject.cpp:
2925         (_NPN_InvokeDefault):
2926         (_NPN_Invoke):
2927         (_NPN_Evaluate):
2928         (_NPN_GetProperty):
2929         (_NPN_SetProperty):
2930         (_NPN_RemoveProperty):
2931         (_NPN_HasProperty):
2932         (_NPN_HasMethod):
2933         (_NPN_SetException):
2934         (_NPN_Enumerate):
2935         * bridge/c/c_class.cpp:
2936         (KJS::Bindings::CClass::~CClass):
2937         (KJS::Bindings::CClass::methodsNamed):
2938         (KJS::Bindings::CClass::fieldNamed):
2939         * bridge/c/c_instance.cpp:
2940         (KJS::Bindings::CInstance::invokeMethod):
2941         (KJS::Bindings::CInstance::invokeDefaultMethod):
2942         (KJS::Bindings::CInstance::getPropertyNames):
2943         * bridge/c/c_runtime.cpp:
2944         (KJS::Bindings::CField::valueFromInstance):
2945         (KJS::Bindings::CField::setValueToInstance):
2946         * bridge/c/c_utility.cpp:
2947         (KJS::Bindings::convertValueToNPVariant):
2948         (KJS::Bindings::convertNPVariantToValue):
2949         * bridge/jni/jni_class.cpp:
2950         (JavaClass::JavaClass):
2951         (JavaClass::~JavaClass):
2952         * bridge/jni/jni_instance.cpp:
2953         (JavaInstance::stringValue):
2954         * bridge/jni/jni_jsobject.mm:
2955         (JavaJSObject::call):
2956         (JavaJSObject::eval):
2957         (JavaJSObject::getMember):
2958         (JavaJSObject::setMember):
2959         (JavaJSObject::removeMember):
2960         (JavaJSObject::getSlot):
2961         (JavaJSObject::setSlot):
2962         (JavaJSObject::toString):
2963         (JavaJSObject::convertValueToJObject):
2964         (JavaJSObject::convertJObjectToValue):
2965         * bridge/jni/jni_objc.mm:
2966         (KJS::Bindings::dispatchJNICall):
2967         * bridge/jni/jni_runtime.cpp:
2968         (JavaMethod::signature):
2969         * bridge/jni/jni_runtime.h:
2970         (KJS::Bindings::JavaString::JavaString):
2971         (KJS::Bindings::JavaString::_commonInit):
2972         (KJS::Bindings::JavaString::~JavaString):
2973         (KJS::Bindings::JavaString::UTF8String):
2974         * bridge/jni/jni_utility.cpp:
2975         (KJS::Bindings::convertArrayInstanceToJavaArray):
2976         (KJS::Bindings::convertValueToJValue):
2977         * bridge/npruntime.cpp:
2978         (_NPN_GetStringIdentifier):
2979         * bridge/objc/objc_instance.mm:
2980         (ObjcInstance::moveGlobalExceptionToExecState):
2981         (ObjcInstance::invokeMethod):
2982         (ObjcInstance::invokeDefaultMethod):
2983         (ObjcInstance::setValueOfUndefinedField):
2984         (ObjcInstance::getValueOfUndefinedField):
2985         * bridge/objc/objc_runtime.mm:
2986         (ObjcField::valueFromInstance):
2987         (ObjcField::setValueToInstance):
2988         * bridge/objc/objc_utility.mm:
2989         (KJS::Bindings::convertValueToObjcValue):
2990         (KJS::Bindings::convertNSStringToString):
2991         (KJS::Bindings::convertObjcValueToValue):
2992         * bridge/runtime.cpp:
2993         (KJS::Bindings::Instance::createRuntimeObject):
2994         * dom/Document.cpp:
2995         (WebCore::Document::~Document):
2996         * dom/Node.cpp:
2997         (WebCore::Node::setDocument):
2998         * history/CachedPage.cpp:
2999         (WebCore::CachedPage::CachedPage):
3000         (WebCore::CachedPage::restore):
3001         (WebCore::CachedPage::clear):
3002         * html/HTMLPlugInElement.cpp:
3003         (WebCore::HTMLPlugInElement::createNPObject):
3004         * loader/FrameLoader.cpp:
3005         (WebCore::getString):
3006         * page/Frame.cpp:
3007         (WebCore::Frame::bindingRootObject):
3008         (WebCore::Frame::windowScriptNPObject):
3009         (WebCore::Frame::clearScriptObjects):
3010         * page/InspectorController.cpp:
3011         (WebCore::jsStringRef):
3012         (WebCore::ConsoleMessage::ConsoleMessage):
3013         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
3014         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
3015         (WebCore::getResourceDocumentNode):
3016         (WebCore::search):
3017         (WebCore::inspectedWindow):
3018         (WebCore::wrapCallback):
3019         (WebCore::currentCallFrame):
3020         (WebCore::profiles):
3021         (WebCore::InspectorController::focusNode):
3022         (WebCore::InspectorController::addDatabaseScriptResource):
3023         (WebCore::InspectorController::addScriptProfile):
3024         * page/JavaScriptCallFrame.cpp:
3025         (WebCore::JavaScriptCallFrame::evaluate):
3026         * page/JavaScriptProfileNode.cpp:
3027         (WebCore::getTotalTime):
3028         (WebCore::getSelfTime):
3029         (WebCore::getTotalPercent):
3030         (WebCore::getSelfPercent):
3031         (WebCore::getNumberOfCalls):
3032         (WebCore::getChildren):
3033         (WebCore::getVisible):
3034         * page/mac/FrameMac.mm:
3035         (WebCore::Frame::windowScriptObject):
3036         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
3037         doesn't need locking. In the future, it may be possible to remove some of these if we
3038         establish that this won't make JSC assertions fail (and that we don't want to add such
3039         assertions either).
3040         Added includes that are now needed.
3041
3042 2008-07-01  Dan Bernstein  <mitz@apple.com>
3043
3044         Reviewed by Oliver Hunt.
3045
3046         - fix a CSSParserValueList leak seen on the build bot
3047
3048         * css/CSSParser.cpp:
3049         (WebCore::BorderImageParseContext::commitBorderImage):
3050
3051 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
3052
3053         Reviewed by Oliver Hunt.
3054
3055         Prep for more Filter class name changes. Added the first few files for
3056         the new Filter architecture to come.
3057
3058         * WebCore.xcodeproj/project.pbxproj:
3059         * svg/Filter.cpp: Added.
3060         (WebCore::Filter::Filter):
3061         (WebCore::Filter::create):
3062         * svg/Filter.h: Added.
3063         * svg/FilterBuilder.h: Added.
3064         (WebCore::FilterBuilder::add):
3065         (WebCore::FilterBuilder::getEffectById):
3066         (WebCore::FilterBuilder::filter):
3067         * svg/FilterEffect.cpp: Added.
3068         (WebCore::FilterEffect::FilterEffect):
3069         (WebCore::FilterEffect::~FilterEffect):
3070         * svg/FilterEffect.h: Added.
3071
3072 2008-07-01  Christian Dywan  <christian@twotoasts.de>
3073
3074         Gtk+ build fix.
3075
3076         * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
3077
3078 2008-07-01  Anders Carlsson  <andersca@apple.com>
3079
3080         Reviewed by Darin.
3081
3082         Add PluginMainThreadScheduler.{cpp|h} to build.
3083         
3084         * WebCore.base.exp:
3085         * WebCore.xcodeproj/project.pbxproj:
3086         * plugins/PluginMainThreadScheduler.cpp:
3087
3088 2008-07-01  Dan Bernstein  <mitz@apple.com>
3089
3090         Reviewed by Darin Adler.
3091
3092         - move the method to set the base writing direction from Frame to Editor
3093
3094         * WebCore.base.exp: Updated.
3095         * editing/Editor.cpp:
3096         (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
3097         WritingDirection enum value and added the special behavior when the
3098         focused node is a text field or a text area.
3099         * editing/Editor.h:
3100         * page/ContextMenuController.cpp:
3101         (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
3102         to call the Editor method.
3103         * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
3104         * page/Frame.h:
3105
3106 2008-07-01  Darin Adler  <darin@apple.com>
3107
3108         Reviewed by Oliver.
3109
3110         - slight tweak of the setHash fix
3111
3112         * bindings/js/JSLocationCustom.cpp:
3113         (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
3114
3115 2008-07-01  Dan Bernstein  <mitz@apple.com>
3116
3117         Reviewed by Anders Carlsson.
3118
3119         - Mac release build fix
3120
3121         * page/Console.cpp:
3122
3123 2008-07-01  Dan Bernstein  <mitz@apple.com>
3124
3125         Reviewed by Anders Carlsson.
3126
3127         - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
3128
3129         * css/CSSPrimitiveValue.cpp:
3130         (WebCore::CSSPrimitiveValue::cleanup):
3131
3132 2008-07-01  Anders Carlsson  <andersca@apple.com>
3133
3134         Reviewed by Jon.
3135
3136         Don't add the Mozilla user agent quirk for Flash 10.
3137         
3138         * plugins/win/PluginPackageWin.cpp:
3139         (WebCore::PluginPackage::isPluginBlacklisted):
3140         (WebCore::PluginPackage::determineQuirks):
3141
3142 2008-07-01  David Kilzer  <ddkilzer@apple.com>
3143
3144         Move data: URL parsing code in HTMLObjectElement to KURL
3145
3146         Reviewed by Ada and Darin.
3147
3148         No test cases added since there is no change in behavior.
3149
3150         * html/HTMLObjectElement.cpp:
3151         (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
3152         parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
3153         * platform/KURL.cpp:
3154         (WebCore::mimeTypeFromDataURL): Added.
3155         * platform/KURL.h:
3156         (WebCore::mimeTypeFromDataURL): Added.
3157
3158 2008-07-01  Dan Bernstein  <mitz@apple.com>
3159
3160         Reviewed by Dave Hyatt.
3161
3162         - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
3163
3164         * css/CSSParser.cpp:
3165         (WebCore::CSSParser::addUnresolvedProperty):
3166
3167 2008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3168
3169         Reviewed by Brady Eidson.
3170
3171         Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
3172         <https://bugs.webkit.org/show_bug.cgi?id=19822>
3173
3174         Change JSLocation::setHash() to not schedule navigation in the case
3175         where the old fragment is the null String and the new fragment is an
3176         empty String.
3177
3178         * bindings/js/JSLocationCustom.cpp:
3179         (WebCore::JSLocation::setHash):
3180
3181 2008-06-30  Anders Carlsson  <andersca@apple.com>
3182
3183         Reviewed by Adam.
3184
3185         Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 
3186         callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
3187         
3188         * WebCore.vcproj/WebCore.vcproj:
3189         Add PluginMainThreadScheduler.{cpp|h}
3190         
3191         * plugins/PluginMainThreadScheduler.cpp: Added.
3192         * plugins/PluginMainThreadScheduler.h: Added.
3193
3194         * plugins/PluginView.cpp:
3195         (WebCore::PluginView::start):
3196         Register with the thread scheduler.
3197         
3198         * plugins/npapi.cpp:
3199         (NPN_PluginThreadAsyncCall):
3200         Call the thread scheduler.
3201         
3202         * plugins/win/PluginPackageWin.cpp:
3203         (WebCore::PluginPackage::load):
3204         Initialize the NPN_PluginThreadAsyncCall callback.
3205         
3206         * plugins/win/PluginViewWin.cpp:
3207         (WebCore::PluginView::stop):
3208         Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
3209         after the plug-in has been destroyed.
3210
3211 2008-07-01  Adam Roben  <aroben@apple.com>
3212
3213         Roll out r34913, as it broke the Windows build due to bad casting
3214
3215         r34913 introduced code that assigned pointers-to-member from a derived
3216         class into a base class pointer-to-member type (e.g., assigned a void
3217         (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
3218         because it could allow us to call SVGUseElement member functions on a
3219         different SVGElement-derived class. MSVC rightly flagged this as an
3220         error.
3221
3222         Rubberstamped by Anders Carlsson.
3223
3224 2008-07-01  Darin Adler  <darin@apple.com>
3225
3226         - fix build
3227
3228         * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
3229         not working propertly.
3230
3231 2008-07-01  Dan Bernstein  <mitz@apple.com>
3232
3233         Reviewed by Darin Adler.
3234
3235         - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
3236
3237         * html/CanvasRenderingContext2D.cpp:
3238         (WebCore::CanvasRenderingContext2D::createPattern):
3239
3240 2008-07-01  Sam Weinig  <sam@webkit.org>
3241
3242         Reviewed by Darin Adler.
3243
3244         Split JSCell and JSNumberCell class declarations out of JSValue.h
3245
3246         * ForwardingHeaders/kjs/JSNumberCell.h: Added.
3247         * bindings/scripts/CodeGeneratorJS.pm:
3248         * bridge/c/c_instance.cpp:
3249
3250 2008-07-01  chris fleizach  <cfleizach@apple.com>
3251
3252         Reviewed by Beth Dakin
3253
3254         <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
3255
3256         Test: accessibility/radio-button-checkbox-size.html
3257
3258         * page/AccessibilityRenderObject.cpp:
3259         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
3260
3261 2008-07-01  Dan Bernstein  <mitz@apple.com>
3262
3263         Reviewed by Antti Koivisto.
3264
3265         - fix SVG pointer-events layout test failures
3266
3267         * css/SVGCSSParser.cpp:
3268         (WebCore::CSSParser::parseSVGValue):
3269
3270 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
3271
3272         Reviewed by Antti.
3273
3274         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
3275         Fix two small problems in the gradient & pattern code.
3276
3277         Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
3278
3279         * svg/SVGLinearGradientElement.cpp:
3280         (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
3281         * svg/SVGPatternElement.cpp:
3282         (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
3283         * svg/SVGRadialGradientElement.cpp:
3284         (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
3285         (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
3286
3287 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
3288
3289         Fix the build, include SVGTransformList.h instead of
3290         SVGTransformlist.h
3291
3292         * svg/SVGGradientElement.h:
3293
3294 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
3295
3296         Reviewed by Antti.
3297
3298         <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
3299         the first time.
3300
3301         Test: fast/encoding/preload-encoding.html
3302
3303         * html/PreloadScanner.cpp:
3304         (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
3305         starting a load.
3306
3307 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
3308
3309         Reviewed by Antti & Eric.
3310
3311         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
3312
3313         SVG Errata states: "All SVG DOM objects that directly correspond to an
3314         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
3315         means that any changes made to the attribute are immediately reflected in the
3316         corresponding SVG DOM object." (see linked URL on bug report)
3317
3318         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
3319         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
3320
3321         Add a new synchronization layer to handle SVG DOM -> XML changes.
3322
3323         Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
3324         Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
3325         Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
3326
3327         Added test: svg/custom/svg-xml-dom-sync.html
3328         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
3329
3330         * dom/Element.cpp:
3331         (WebCore::Element::Element): Initialize the two new bits.
3332         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
3333         (WebCore::Element::getAttribute): Ditto.
3334         (WebCore::Element::hasAttributes): Ditto.
3335         * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
3336         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
3337         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
3338         * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3339         (WebCore::SVGAElement::contextElement): Return non-const value.
3340         * svg/SVGAltGlyphElement.h:
3341         (WebCore::SVGAltGlyphElement::contextElement): Ditto.
3342         * svg/SVGAnimateElement.h:
3343         (WebCore::SVGAnimateElement::contextElement): Ditto.
3344         * svg/SVGAnimateMotionElement.h:
3345         (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
3346         * svg/SVGAnimateTransformElement.h:
3347         (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
3348         * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
3349         (WebCore::SVGAnimatedTemplate::toString):
3350         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
3351         (WebCore::lookupOrCreateWrapper):
3352         (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 
3353         (WebCore::SVGAnimatedAngle::toString):
3354         (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
3355         (WebCore::SVGAnimatedBoolean::toString):
3356         (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
3357         (WebCore::SVGAnimatedEnumeration::toString):
3358         (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
3359         (WebCore::SVGAnimatedInteger::toString):
3360         (WebCore::SVGAnimatedLength::SVGAnimatedLength):
3361         (WebCore::SVGAnimatedLength::toString):
3362         (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
3363         (WebCore::SVGAnimatedLengthList::toString):
3364         (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
3365         (WebCore::SVGAnimatedNumber::toString):
3366         (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
3367         (WebCore::SVGAnimatedNumberList::toString):
3368         (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
3369         (WebCore::SVGAnimatedPreserveAspectRatio::toString):
3370         (WebCore::SVGAnimatedRect::SVGAnimatedRect):
3371         (WebCore::SVGAnimatedRect::toString):
3372         (WebCore::SVGAnimatedString::SVGAnimatedString):
3373         (WebCore::SVGAnimatedString::toString):
3374         (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
3375         (WebCore::SVGAnimatedTransformList::toString):
3376         (WebCore::SVGAnimatedType::SVGAnimatedType):
3377         * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3378         * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3379         (WebCore::SVGCircleElement::contextElement): Return non-const value.
3380         * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3381         (WebCore::SVGClipPathElement::contextElement): Return non-const value.
3382         * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3383         * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
3384         * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3385         (WebCore::SVGCursorElement::SVGCursorElement):
3386         * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
3387         (WebCore::SVGCursorElement::contextElement): Return non-const value.
3388         * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3389         (WebCore::SVGDefsElement::contextElement): Return non-const value.
3390         * svg/SVGElement.cpp:
3391         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
3392         (WebCore::SVGElement::setSynchronizedSVGAttributes):
3393         * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
3394         (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
3395         (StoredTypeWithDirtyFlag::operator=):
3396         (StoredTypeWithDirtyFlag::operator==):
3397         (StoredTypeWithDirtyFlag::operator!=):
3398         (StoredTypeWithDirtyFlag::operator StoredType):
3399         (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
3400         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
3401         (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
3402         * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3403         (WebCore::SVGEllipseElement::SVGEllipseElement):
3404         * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3405         (WebCore::SVGEllipseElement::contextElement): Return non-const value.
3406         * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
3407         * svg/SVGFEBlendElement.h:
3408         (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
3409         * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3410         * svg/SVGFEColorMatrixElement.h:
3411         (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
3412         * svg/SVGFEComponentTransferElement.h:
3413         (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
3414         * svg/SVGFECompositeElement.h:
3415         (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
3416         * svg/SVGFEDiffuseLightingElement.h:
3417         (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
3418         * svg/SVGFEDisplacementMapElement.h:
3419         (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
3420         * svg/SVGFEFloodElement.h:
3421         (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
3422         * svg/SVGFEGaussianBlurElement.h:
3423         (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
3424         * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3425         * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3426         (WebCore::SVGFEImageElement::contextElement): Return non-const value.
3427         * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
3428         * svg/SVGFEMergeElement.h:
3429         (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
3430         * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
3431         (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
3432         * svg/SVGFEOffsetElement.h:
3433         (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
3434         * svg/SVGFESpecularLightingElement.h:
3435         (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
3436         * svg/SVGFETileElement.h:
3437         (WebCore::SVGFETileElement::contextElement): Return non-const value.
3438         * svg/SVGFETurbulenceElement.h:
3439         (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
3440         * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3441         (WebCore::SVGFilterElement::SVGFilterElement):
3442         * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3443         (WebCore::SVGFilterElement::contextElement): Return non-const value.
3444         * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
3445         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3446         * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3447         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
3448         * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3449         * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
3450         * svg/SVGFontElement.h:
3451         (WebCore::SVGFontElement::contextElement): Return non-const value.
3452         * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3453         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3454         * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3455         (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
3456         * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3457         (WebCore::SVGGElement::contextElement): Return non-const value.
3458         * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3459         * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3460         * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
3461         (WebCore::SVGImageElement::SVGImageElement):
3462         * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3463         (WebCore::SVGImageElement::contextElement): Return non-const value.
3464         * svg/SVGLengthList.cpp:
3465         (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
3466         * svg/SVGLengthList.h:
3467         * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3468         (WebCore::SVGLineElement::SVGLineElement):
3469         * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3470         (WebCore::SVGLineElement::contextElement): Return non-const value.
3471         * svg/SVGLinearGradientElement.cpp:
3472         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
3473         (WebCore::SVGLinearGradientElement::collectGradientProperties):
3474         * svg/SVGLinearGradientElement.h:
3475         (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
3476         * svg/SVGMPathElement.h:
3477         (WebCore::SVGMPathElement::contextElement): Return non-const value.
3478         * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
3479         (WebCore::SVGMarkerElement::SVGMarkerElement):
3480         * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3481         (WebCore::SVGMarkerElement::contextElement): Return non-const value.
3482         * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3483         (WebCore::SVGMaskElement::SVGMaskElement):
3484         * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3485         (WebCore::SVGMaskElement::contextElement): Return non-const value.
3486         * svg/SVGNumberList.cpp:
3487         (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
3488         * svg/SVGNumberList.h:
3489         * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3490         (WebCore::SVGPathElement::contextElement): Return non-const value.
3491         * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
3492         (WebCore::SVGPatternElement::SVGPatternElement):
3493         (WebCore::SVGPatternElement::collectPatternProperties):
3494         * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3495         (WebCore::SVGPatternElement::contextElement): Return non-const value.
3496         * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3497         (WebCore::SVGPolyElement::contextElement): Return non-const value.
3498         * svg/SVGPreserveAspectRatio.cpp:
3499         (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
3500         * svg/SVGPreserveAspectRatio.h:
3501         * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3502         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3503         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
3504         (WebCore::SVGRadialGradientElement::collectGradientProperties):
3505         * svg/SVGRadialGradientElement.h:
3506         (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
3507         * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3508         (WebCore::SVGRectElement::SVGRectElement):
3509         * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3510         (WebCore::SVGRectElement::contextElement): Return non-const value.
3511         * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3512         (WebCore::SVGSVGElement::SVGSVGElement):
3513         (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
3514         * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3515         (WebCore::SVGSVGElement::contextElement): Return non-const value.
3516         * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3517         (WebCore::SVGScriptElement::contextElement): Return non-const value.
3518         * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
3519         * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3520         * svg/SVGStyledTransformableElement.h:
3521         * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3522         (WebCore::SVGSwitchElement::contextElement): Return non-const value.
3523         * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3524         (WebCore::SVGSymbolElement::contextElement): Return non-const value.
3525         * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3526         (WebCore::SVGTRefElement::contextElement): Return non-const value.
3527         * svg/SVGTSpanElement.h:
3528         (WebCore::SVGTSpanElement::contextElement): Return non-const value.
3529         * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3530         (WebCore::SVGTextContentElement::SVGTextContentElement):
3531         * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3532         * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3533         * svg/SVGTextElement.h:
3534         (WebCore::SVGTextElement::contextElement): Return non-const value.
3535         * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3536         (WebCore::SVGTextPathElement::SVGTextPathElement):
3537         * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3538         (WebCore::SVGTextPathElement::contextElement): Return non-const value.
3539         * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
3540         * svg/SVGTextPositioningElement.h:
3541         * svg/SVGTransformList.cpp:
3542         (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
3543         * svg/SVGTransformList.h:
3544         * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
3545         * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
3546         (WebCore::SVGUseElement::SVGUseElement):
3547         * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3548         (WebCore::SVGUseElement::contextElement): Return non-const value.
3549         * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
3550         (WebCore::SVGViewElement::contextElement): Return non-const value.
3551         * svg/SVGViewSpec.cpp:
3552         (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
3553         (WebCore::SVGViewSpec::contextElement): Return non-const value.
3554         * svg/SVGViewSpec.h:
3555
3556 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
3557
3558         Reviewed by Nikolas Zimmermann.
3559
3560         Class name changes for SVG Light Effect files. The class names that changed :
3561
3562         SVGLightSource -> LightSource
3563         SVGDistantLightSource -> DistantLightSource
3564         SVGPointLightSource -> PointLightSource
3565         SVGSpotLightSource -> SpotLightSource
3566
3567         Every other file that is changed is just propagating the class name changes to
3568         dependent files.
3569
3570         * svg/SVGFEDiffuseLightingElement.cpp:
3571         (WebCore::SVGFEDiffuseLightingElement::updateLights):
3572         * svg/SVGFEDistantLightElement.cpp:
3573         (WebCore::SVGFEDistantLightElement::lightSource):
3574         * svg/SVGFEDistantLightElement.h:
3575         * svg/SVGFELightElement.h:
3576         * svg/SVGFEPointLightElement.cpp:
3577         (WebCore::SVGFEPointLightElement::lightSource):
3578         * svg/SVGFEPointLightElement.h:
3579         * svg/SVGFESpecularLightingElement.cpp:
3580         (WebCore::SVGFESpecularLightingElement::updateLights):
3581         * svg/SVGFESpotLightElement.cpp:
3582         (WebCore::SVGFESpotLightElement::lightSource):
3583         * svg/SVGFESpotLightElement.h:
3584         * svg/graphics/filters/SVGDistantLightSource.h:
3585         (WebCore::DistantLightSource::DistantLightSource):
3586         (WebCore::DistantLightSource::azimuth):
3587         (WebCore::DistantLightSource::elevation):
3588         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3589         (WebCore::SVGFEDiffuseLighting::lightSource):
3590         (WebCore::SVGFEDiffuseLighting::setLightSource):
3591         * svg/graphics/filters/SVGFEDiffuseLighting.h:
3592         * svg/graphics/filters/SVGFESpecularLighting.cpp:
3593         (WebCore::SVGFESpecularLighting::lightSource):
3594         (WebCore::SVGFESpecularLighting::setLightSource):
3595         * svg/graphics/filters/SVGFESpecularLighting.h:
3596         * svg/graphics/filters/SVGLightSource.cpp:
3597         (WebCore::PointLightSource::externalRepresentation):
3598         (WebCore::SpotLightSource::externalRepresentation):
3599         (WebCore::DistantLightSource::externalRepresentation):
3600         * svg/graphics/filters/SVGLightSource.h:
3601         (WebCore::):
3602         (WebCore::LightSource::LightSource):
3603         (WebCore::LightSource::~LightSource):
3604         (WebCore::LightSource::type):
3605         * svg/graphics/filters/SVGPointLightSource.h:
3606         (WebCore::PointLightSource::PointLightSource):
3607         (WebCore::PointLightSource::position):
3608         * svg/graphics/filters/SVGSpotLightSource.h:
3609         (WebCore::SpotLightSource::SpotLightSource):
3610         (WebCore::SpotLightSource::position):
3611         (WebCore::SpotLightSource::direction):
3612         (WebCore::SpotLightSource::specularExponent):
3613         (WebCore::SpotLightSource::limitingConeAngle):
3614         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3615         (WebCore::SVGFEDiffuseLighting::getCIFilter):
3616         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3617         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3618         (WebCore::getLightVectors):
3619         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3620         (WebCore::SVGFESpecularLighting::getCIFilter):
3621
3622 2008-07-01  Alp Toker  <alp@nuanti.com>
3623
3624         Rubber-stamped by Holger.
3625
3626         autotools cleanup: move some GTK+-specific sources from libwebcore to
3627         libwebcoregtk.
3628
3629         * GNUmakefile.am:
3630
3631 2008-07-01  Dan Bernstein  <mitz@apple.com>
3632
3633         Reviewed by Oliver Hunt.
3634
3635         - fix the non-SVG build
3636
3637         * css/CSSValueKeywords.in: Added 'all'.
3638         * css/SVGCSSValueKeywords.in: Removed 'all'.
3639
3640 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
3641
3642         Build fix, include DateInstance.h.
3643
3644         * bridge/qt/qt_runtime.cpp:
3645
3646 2008-06-30  Adele Peterson  <adele@apple.com>
3647
3648         Reviewed by Oliver.
3649
3650         Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
3651
3652         Test: fast/forms/search-hidden-cancel-button.html
3653
3654         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
3655           Don't start capturing mouse events if the cancel button isn't visible.  This was causing the button to start but never stop capturing mouse events.
3656
3657 2008-06-30  Sam Weinig  <sam@webkit.org>
3658
3659         Rubber-stamped by Darin Adler.
3660
3661         Split InternalFunction into its own header file.
3662
3663         * ForwardingHeaders/kjs/InternalFunction.h: Added.
3664         * bridge/runtime_method.h:
3665
3666 2008-06-30  Adele Peterson  <adele@apple.com>
3667
3668         Reviewed by Anders.
3669
3670         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
3671
3672         Test: editing/selection/select-all-textarea.html
3673
3674         * dom/Node.cpp:
3675         (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
3676         (WebCore::Node::shadowTreeRootNode): Added helper function.
3677         * dom/Node.h:
3678         * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
3679         * dom/Range.h:
3680         * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
3681         * editing/Selection.h:
3682         * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
3683         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
3684         If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
3685         * page/Frame.cpp:
3686         (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
3687         (WebCore::Frame::markAllMatchesForText): ditto.
3688
3689 2008-06-30  chris fleizach  <cfleizach@apple.com>
3690
3691         Reviewed by Beth Dakin
3692
3693         <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
3694
3695         * page/AccessibilityObject.cpp:
3696         (WebCore::AccessibilityObject::linkedUIElements):
3697         * page/AccessibilityObject.h:
3698         * page/AccessibilityRenderObject.cpp:
3699         (WebCore::AccessibilityRenderObject::internalLinkElement):
3700         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
3701         (WebCore::AccessibilityRenderObject::linkedUIElements):
3702         * page/AccessibilityRenderObject.h:
3703         * page/mac/AccessibilityObjectWrapper.mm:
3704         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3705
3706 2008-06-30  Dan Bernstein  <mitz@apple.com>
3707
3708         Reviewed by Adele Peterson.
3709
3710         - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
3711
3712         * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
3713         Frame::setSelectionBaseWritingDirection().
3714         * page/ContextMenuController.cpp:
3715         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
3716         call Frame::setSelectionBaseWritingDirection().
3717         * page/Frame.cpp:
3718         (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
3719         focused node is a text field or text area, changes its 'dir' attribute.
3720         This is what IE does when the user changes the writing direction in a
3721         text control. Otherwise, calls down to Editor::setBaseWritingDirection().
3722         * page/Frame.h:
3723
3724 2008-06-30  David Kilzer  <ddkilzer@apple.com>
3725
3726         Improve HTMLObjectElement data encapsulation
3727
3728         Reviewed by Dave Hyatt.
3729
3730         HTMLObjectElement has some public member variables that should be
3731         private with accessor methods.
3732
3733         No test cases added since there is no change in behavior.
3734
3735         * html/HTMLObjectElement.cpp:
3736         (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
3737         initialization of member variables to match defined order in header.
3738         * html/HTMLObjectElement.h:
3739         (WebCore::HTMLObjectElement::classId): Added.
3740         (WebCore::HTMLObjectElement::url): Added.
3741         (WebCore::HTMLObjectElement::serviceType): Added.
3742         * rendering/RenderPartObject.cpp:
3743         (WebCore::RenderPartObject::updateWidget): Use new accessor methods
3744         in HTMLObjectElement now that its member variables are private.
3745
3746 2008-06-30  Dan Bernstein  <mitz@apple.com>
3747
3748         Reviewed by Anders Carlsson.
3749
3750         - remove unused member variable
3751
3752         * page/Page.h: Removed Page::m_focusedNode.
3753
3754 2008-06-30  Anders Carlsson  <andersca@apple.com>
3755
3756         Reviewed by Adam.
3757
3758         <rdar://problem/6014209>
3759         Crash when loading manifest from application cache fails
3760         
3761         There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
3762         that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
3763         group could be deleted causing us to access freed memory and then crashing.
3764         
3765         * loader/appcache/ApplicationCacheGroup.cpp:
3766         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3767         (WebCore::ApplicationCacheGroup::didFail):
3768         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
3769
3770 2008-06-30  Adam Roben  <aroben@apple.com>
3771
3772         Fix <rdar://5954749> Assertion failure due to HashTable's use of
3773         operator&
3774
3775         Reviewed by Ada Chan.
3776
3777         * bindings/js/JSSVGPODTypeWrapper.h:
3778         * dom/Document.h:
3779         * dom/StyledElement.cpp:
3780         * platform/graphics/FontCache.cpp:
3781         * platform/graphics/IntSizeHash.h:
3782         (WTF::):
3783         * platform/text/StringHash.h:
3784         * platform/win/COMPtr.h:
3785         * svg/SVGAnimatedTemplate.h:
3786         Updated all custom HashTraits for HashTable changes.
3787
3788 2008-06-30  Simon Hausmann  <hausmann@webkit.org>
3789
3790         Fix the Qt build.
3791
3792         Added missing includes and changed getItem array calls to use get()
3793         instead.
3794
3795         * bridge/qt/qt_runtime.cpp:
3796         (KJS::Bindings::convertValueToQVariant):
3797
3798 2008-06-29  David Smith  <catfish.man@gmail.com>
3799
3800         Rubberstamped by Sam Weinig.
3801
3802         Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
3803
3804         * dom/TagNodeList.cpp:
3805         (WebCore::TagNodeList::nodeMatches):
3806
3807 2008-06-29  Dan Bernstein  <mitz@apple.com>
3808
3809         Reviewed by Darin Adler.
3810
3811         - fix SVG layout test regressions
3812
3813         * css/CSSFontSelector.cpp:
3814         (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
3815         again with primitive values, because the @font-face rules SVG fonts
3816         create still use a single primitive value rather than a value list.
3817
3818 2008-06-29  Dan Bernstein  <mitz@apple.com>
3819
3820         Reviewed by Sam Weinig.
3821
3822         - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
3823
3824         Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
3825                fast/css/font-face-descriptor-multiple-values.html
3826
3827         * css/CSSFontSelector.cpp:
3828         (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
3829         lists for the descriptor properties.
3830
3831         * css/CSSParser.cpp:
3832         (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
3833         (WebCore::CSSParser::parseValue): Added a call to
3834         deleteFontFaceOnlyValues() if necessary.
3835         (WebCore::CSSParser::parseDeclaration): Ditto.
3836         (WebCore::CSSParser::clearProperties): Added code to reset
3837         m_hasFontFaceOnlyValues to false.
3838         (WebCore::CSSParser::parseFontStyle): Added. If there is a single
3839         valid identifier other than 'all', creates a CSSPrimitiveValue and
3840         assigns it to the property. If 'all' is the only value, or if there are
3841         multiple valid identifiers that are not 'all', creates a CSSValueList
3842         and assigns it to the property, and sets m_hasFontFaceOnlyValues to
3843         true.
3844         (WebCore::CSSParser::parseFontVariant): Ditto.
3845         (WebCore::CSSParser::parseFontWeight): Ditto.
3846         (WebCore::CSSParser::createStyleRule): Added a call to
3847         deleteFontFaceOnlyValues().
3848         (WebCore::CSSParser::createFontFaceRule): Added code to change
3849         font descriptor properties that had only one value, and therefore were
3850         assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
3851         (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
3852         invalidates font descriptor properties that had values that are only
3853         allowed in @font-face. Those are identified by having CSSValueLists
3854         rather than CSSPrimitiveValues as their values.
3855         * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
3856         font descriptor property values that are only valid in @font-face were
3857         encountered. This is used when the style declaration is created (and we
3858         finally know if it is @font-face or not) to delete invalid properties
3859         if needed.
3860
3861 2008-06-28  Darin Adler  <darin@apple.com>
3862
3863         Reviewed by Sam and Cameron.
3864
3865         - fix https://bugs.webkit.org/show_bug.cgi?id=19805
3866           Array.concat turns missing array elements into "undefined"
3867
3868         * bridge/jni/jni_utility.cpp:
3869         (KJS::Bindings::convertArrayInstanceToJavaArray):
3870         Use get instead of getItem, since we always want to consider values from the
3871         prototypes when looking at JavaScript arrays.
3872
3873 2008-06-28  Dan Bernstein  <mitz@apple.com>
3874
3875         Reviewed by Darin Adler.
3876
3877         - allow document markers to touch or overlap if they are not of the same type
3878
3879         Cannot be tested in DumpRenderTree
3880
3881         * dom/Document.cpp:
3882         (WebCore::Document::addMarker):
3883         * rendering/InlineTextBox.cpp:
3884         (WebCore::InlineTextBox::paintDocumentMarkers):
3885
3886 2008-06-28  Sam Weinig  <sam@webkit.org>
3887
3888         Rubber-stamped by Darin Adler.
3889
3890         Update includes after remaming string_object.h to StringObject.h and
3891         splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
3892         and StringPrototype.
3893
3894         * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
3895         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
3896         * ForwardingHeaders/kjs/StringPrototype.h: Added.
3897         * ForwardingHeaders/kjs/string_object.h: Removed.
3898         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3899
3900 2008-06-28  Sam Weinig  <sam@webkit.org>
3901
3902         Rubber-stamped by Oliver Hunt.
3903
3904         Update includes after remaming object_object.h to ObjectPrototype.h and
3905         splitting FunctionConstructor out of FunctionPrototype.h
3906
3907         * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
3908         * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
3909         * ForwardingHeaders/kjs/object_object.h: Removed.
3910         * bindings/js/JSEventListener.cpp:
3911         * bindings/scripts/CodeGeneratorJS.pm:
3912         * bridge/qt/qt_instance.cpp:
3913
3914 2008-06-28  Dan Bernstein  <mitz@apple.com>
3915
3916         Reviewed by Darin Adler.
3917
3918         - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
3919
3920         * html/HTMLImageLoader.cpp:
3921         (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
3922         image if the 'src' attribute is the empty string and the document's base
3923         URI is a file: URL.
3924
3925 2008-06-27  Sam Weinig  <sam@webkit.org>
3926
3927         Reviewed by Dan Bernstein.
3928
3929         <rdar://problem/6025499> Make Cross-site XHR match the final specification
3930
3931         Update the implemented subset of Access-Control for XMLHttpRequest to the 
3932         latest version. (Editor's Draft 25 May 2008)
3933
3934         - Now differentiates between simple and non-simple cross-site requests, the later
3935           requiring a preflight.
3936         - Now sends request headers cross-site, limited by a blacklist.
3937         - Now allows access to cross-site response headers, limited by a whitelist.
3938         - Now sends request entity body for non-get cross-site requests after preflight.
3939
3940         Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
3941                http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
3942                http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
3943
3944         * xml/XMLHttpRequest.cpp:
3945         (WebCore::isOnAccessControllRequestHeaderBlackList):
3946         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
3947         (WebCore::isOnAccessControlResponseHeaderWhitelist):
3948         (WebCore::XMLHttpRequest::XMLHttpRequest):
3949         (WebCore::XMLHttpRequest::createRequest):
3950         (WebCore::XMLHttpRequest::makeSameOriginRequest):
3951         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
3952         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
3953         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3954         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3955         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3956         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3957         (WebCore::XMLHttpRequest::abort):
3958         (WebCore::XMLHttpRequest::clearRequest):
3959         (WebCore::XMLHttpRequest::setRequestHeader):
3960         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
3961         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3962         (WebCore::XMLHttpRequest::getResponseHeader):
3963         (WebCore::XMLHttpRequest::didFinishLoading):
3964         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
3965         (WebCore::XMLHttpRequest::didReceiveResponse):
3966         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3967         (WebCore::XMLHttpRequest::didReceiveData):
3968         * xml/XMLHttpRequest.h:
3969
3970 2008-06-27  Sam Weinig  <sam@webkit.org>
3971
3972         Rubber-stamped by Mark Rowe.
3973
3974         Clean up sorting in WebCore.xcodeproj.
3975
3976         * WebCore.xcodeproj/project.pbxproj:
3977
3978 2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
3979
3980         Reviewed by Darin Adler.
3981
3982         Remove unnecessary options to make_names.pl command line
3983         http://bugs.webkit.org/show_bug.cgi?id=19777
3984
3985         * DerivedSources.make:
3986         * GNUmakefile.am:
3987
3988 2008-06-27  Adam Barth  <abarth@webkit.org>
3989
3990         Reviewed by Darin Adler.
3991
3992         https://bugs.webkit.org/show_bug.cgi?id=19784
3993
3994         Properly handle untermianted <!-- comments in <textarea>s.
3995
3996         Tests: fast/parser/open-comment-in-script-tricky.html
3997                fast/parser/open-comment-in-style.html
3998                fast/parser/open-comment-in-textarea.html
3999
4000         * html/HTMLTokenizer.cpp:
4001         (WebCore::HTMLTokenizer::finish):
4002
4003 2008-06-27  Adam Barth  <abarth@webkit.org>
4004
4005         Reviewed by Darin Alder.
4006
4007         Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
4008           Text areas in Wikipedia edit pages are empty, following content is missing
4009
4010         Don't treat entities as comment starters in parseSpecial.
4011
4012         Tests: fast/parser/comment-in-iframe.html
4013                fast/parser/entity-comment-in-iframe.html
4014                fast/parser/entity-comment-in-script-tricky.html
4015                fast/parser/entity-comment-in-style.html
4016                fast/parser/entity-comment-in-textarea.html
4017                fast/parser/entity-comment-in-title.html
4018
4019         * html/HTMLTokenizer.cpp:
4020         (WebCore::HTMLTokenizer::parseSpecial):
4021
4022 2008-06-27  Antti Koivisto  <antti@apple.com>
4023
4024         Reviewed by Oliver.
4025         
4026         <rdar://problem/6030720> 
4027         REGRESSION: Discrete animation between incompatible paths does not work
4028
4029         Fall back to discrete path animation if paths are not suitable for morphing.
4030         
4031         Test: svg/custom/animate-path-discrete.svg
4032         
4033         * svg/SVGAnimateElement.cpp:
4034         (WebCore::SVGAnimateElement::calculateAnimatedValue):
4035
4036 2008-06-26  David Smith  <catfish.man@gmail.com>
4037
4038         Reviewed by Sam Weinig.
4039         
4040         https://bugs.webkit.org/show_bug.cgi?id=19002
4041         
4042         Optimize simple id selectors in querySelector/querySelectorAll. 
4043         ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
4044
4045         * dom/Document.h:
4046         (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
4047         * dom/Node.cpp:
4048         (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
4049         * dom/SelectorNodeList.cpp:
4050         (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
4051
4052 2008-06-26  Dan Bernstein  <mitz@apple.com>
4053
4054         Reviewed by Darin Adler.
4055
4056         - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
4057           http://bugs.webkit.org/show_bug.cgi?id=7023
4058
4059         Test: editing/selection/find-in-text-control.html
4060
4061         * WebCore.base.exp: Updated the TextIterator constructor signature.
4062
4063         * editing/TextIterator.cpp:
4064         (WebCore::TextIterator::TextIterator): Added an enterTextControls
4065         boolean parameter that determines whether the iterator should visit text
4066         inside text areas and text fields. Added code to initialize the
4067         m_inShadowContent member variable based on whether the range is in
4068         shadow content.
4069         (WebCore::TextIterator::advance): Added code to step out of shadow
4070         content.
4071         (WebCore::TextIterator::handleReplacedElement): Added code to enter
4072         text controls if desired.
4073         (WebCore::CharacterIterator::CharacterIterator): Added an
4074         enterTextControls boolean parameter that determines whether the iterator
4075         should visit text inside text areas and text fields. This is passed to
4076         the TextIterator constructor.
4077         (WebCore::findPlainText): Changed to use a CharacterIterator that
4078         visits text controls.
4079
4080         * editing/TextIterator.h: Added member variables to track whether the
4081         current node is in a shadow tree and whether the iterator should visit
4082         text controls.
4083
4084         * page/Frame.cpp:
4085         (WebCore::Frame::findString): Changed to find inside text controls.
4086         (WebCore::Frame::markAllMatchesForText): Ditto.
4087
4088         * rendering/RenderTextControl.cpp:
4089         (WebCore::RenderTextControl::innerTextElement): Added.
4090         * rendering/RenderTextControl.h: Added innerTextElement(), a private
4091         accessor method that is accessible to TextIterator through class
4092         friendship.
4093
4094 2008-06-26  Darin Adler  <darin@apple.com>
4095
4096         Reviewed by Geoff.
4097
4098         * bridge/runtime.h: Added include of JSString.h since jsString will soon
4099         change to return a JSString*.
4100
4101 2008-06-26  Adele Peterson  <adele@apple.com>
4102
4103         Fix suggested by Eric Carlson, added by me, reviewed by Adam.
4104
4105         Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
4106
4107         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
4108         Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
4109
4110 2008-06-26  Sam Weinig  <sam@webkit.org>
4111
4112         Reviewed by John Sullivan.
4113
4114         <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
4115
4116         * loader/FrameLoader.cpp:
4117         (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 
4118         DOMWindow when opening a CachedPage.
4119
4120 2008-06-26  Eric Seidel  <eric@webkit.org>
4121
4122         Reviewed by Beth Dakin.
4123
4124         CSS @import statements can cause DocLoader to use
4125         a dead Frame pointer.
4126         https://bugs.webkit.org/show_bug.cgi?id=19618
4127         
4128         The fix is to get rid of the Frame pointer on DocLoader.
4129         
4130         I also took this opportunity to clean up Document::detach
4131         a little to make it clear why we clear the m_frame pointer
4132         there, and to note that in the future we should stop
4133         using Node::detach to mean "tear down the whole rendering
4134         tree and detach from the frame".
4135
4136         Test: I don't know how to make a good test for this, the test
4137         we have is network timing dependent and does not make a good
4138         layout test.
4139
4140         * dom/Document.cpp:
4141         (WebCore::Document::Document):
4142         (WebCore::Document::detach):
4143         (WebCore::Document::clearFramePointer):
4144         * dom/Document.h:
4145         * loader/DocLoader.cpp:
4146         (WebCore::DocLoader::frame):
4147         * loader/DocLoader.h:
4148
4149 2008-06-26  Anders Carlsson  <andersca@apple.com>
4150
4151         Reviewed by Brady.
4152
4153         Don't enumerate document.applets trying to determine if a page contains applets.
4154         Instead, set m_containsPlugIns to true when an applet has been created.
4155         
4156         * loader/FrameLoader.cpp:
4157         (WebCore::FrameLoader::canCachePage):
4158         (WebCore::FrameLoader::createJavaAppletWidget):
4159
4160 2008-06-26  Alexey Proskuryakov  <ap@webkit.org>
4161
4162         Reviewed by Maciej.
4163
4164         Make JSGlobalData per-thread.
4165
4166         * bindings/js/JSDOMBinding.h:
4167         (WebCore::DOMObject::DOMObject):
4168         * bindings/js/JSDOMWindowBase.cpp:
4169         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
4170         * bridge/runtime_object.cpp:
4171         (RuntimeObjectImp::RuntimeObjectImp):
4172         Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
4173         there is no danger for them to be collected on a wrong thread.
4174
4175 2008-06-26  Holger Hans Peter Freyther  <zecke@selfish.org>
4176
4177         Reviewed by Simon.
4178
4179         [svg] Disable plugins for SVG images
4180         The Qt platform allows to have a plugin factory per Page. Now SVG Images
4181         are using a Page and dummy/empty clients for Chrome. The only way to get
4182         the kit from the WebCore::Page is to go through the ChromeClient but this
4183         is not possible when the ChromeClient is an empty client. This leads to a
4184         crash in PluginDataQt.cpp. One way to avoid this would have been the
4185         addition of a rtti like field to ChromeClient to see if it is an empty
4186         client. The other possibility is to not enable plugins for images.
4187
4188         The SVGImage relies on the fact that the document is a SVGDocument and
4189         that the rootElement is a SVGSVGElement. If plugins are used we could
4190         end up with a PluginDocument and crash badly. Do not try to use plugins
4191         if plugins are disabled for the WebCore::Page.
4192
4193         * dom/DOMImplementation.cpp:
4194         (WebCore::DOMImplementation::createDocument):
4195