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