2008-07-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-07-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2
3         Reviewed by Geoff.
4
5         Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
6         <https://bugs.webkit.org/show_bug.cgi?id=19907>
7
8         Clear exceptions set on ExecStates before returning from NPAPI
9         callbacks, in order to avoid causing problems for the next script that
10         executes.
11
12         While fixing this bug, the question was raised of whether we are
13         correctly propagating exception information back to the caller:
14
15         Bug 19936: Correctly propagate exception information from NPAPI callbacks
16         <https://bugs.webkit.org/show_bug.cgi?id=19936>
17
18         * bridge/NP_jsobject.cpp:
19         (_NPN_InvokeDefault):
20         (_NPN_Invoke):
21         (_NPN_Evaluate):
22         (_NPN_GetProperty):
23         (_NPN_SetProperty):
24         (_NPN_RemoveProperty):
25         (_NPN_HasProperty):
26         (_NPN_HasMethod):
27         (_NPN_Enumerate):
28
29 2008-07-07  Dan Bernstein  <mitz@apple.com>
30
31         Reviewed by Darin Adler.
32
33         - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
34
35         * css/CSSFontFaceSource.cpp:
36         (WebCore::CSSFontFaceSource::getFontData): Added a null check because
37         docLoader() can return 0 now.
38         * css/CSSFontSelector.cpp:
39         (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
40         (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
41         (WebCore::CSSFontSelector::fontLoaded): Ditto.
42         (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
43         (WebCore::fontDataForGenericFamily): Added a null check of document.
44         * css/CSSFontSelector.h:
45         (WebCore::CSSFontSelector::clearDocument): Added.
46         * css/CSSStyleSelector.cpp:
47         (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
48         CSSFontSelector::clearDocument(). When the style selector is destroyed,
49         there is no guarantee that the document will continue to exist.
50
51 2008-07-07  Julien Chaffraix  <jchaffraix@webkit.org>
52
53         Not reviewed.
54
55         No svg build fix.
56
57         * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
58         * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
59
60 2008-07-07  Michelangelo De Simone  <m.des@mac.com>
61
62         Reviewed by Adele.
63
64         Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
65
66         URL: http://www.w3.org/TR/web-forms-2/#relation
67
68         Tests: fast/css/readonly-pseudoclass-opera-001.html
69                fast/css/readonly-pseudoclass-opera-002.html
70                fast/css/readonly-pseudoclass-opera-003.html
71                fast/css/readonly-pseudoclass-opera-004.html
72                fast/css/readonly-pseudoclass-opera-005.html
73
74         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
75         Added "read-only" and "read-write" values for PseudoType extraction.
76         * css/CSSSelector.h: (WebCore::CSSSelector::):
77         Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
78         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
79         Checks to determine whether to match :read-only and :read-write pseudoclasses on
80         text controls.
81
82 2008-07-07  Sam Weinig  <sam@webkit.org>
83
84         Reviewed by Geoffrey Garen.
85
86         Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
87         querySelectorAll should throw an exception if a NSResolver is passed in.
88
89         - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
90           as the second argument to querySelector or querySelectorAll.
91
92         Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
93
94         * bindings/js/JSDocumentCustom.cpp:
95         (WebCore::JSDocument::querySelector):
96         (WebCore::JSDocument::querySelectorAll):
97         * bindings/js/JSElementCustom.cpp:
98         (WebCore::JSElement::querySelector):
99         (WebCore::JSElement::querySelectorAll):
100         * dom/Document.idl:
101         * dom/Element.idl:
102
103 2008-07-07  Brady Eidson  <beidson@apple.com>
104
105         Reviewed by Mitz and Geoff
106
107         Test: fast/loader/empty-ref-versus-no-ref.html
108
109         Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
110         "all DOM operations stop working when location.hash set to '#'"
111
112         The underlying problem is that KURL didn't really know the difference between "empty ref"
113         and "no ref at all" when changing the ref.  So changing to the empty ref in JS ended up 
114         affecting removal of the ref, which ended up causing an infinite load load, also killing
115         javascript.
116
117         * platform/KURL.cpp:
118         (WebCore::KURL::setRef):  Changed "isEmpty()" to "isNull()", since NULL has the special 
119           meaning of "no ref at all" while empty means "empty ref"
120
121 2008-07-07  Kevin McCullough  <kmccullough@apple.com>
122
123         Reviewed by Darin.
124
125         Because profiler.h no longer #includes profile.h we need to explicitly
126         include it in console.cpp.
127
128         * page/Console.cpp:
129
130 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
131
132         Not reviewed. Build fix.
133
134         Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
135
136         * svg/SVGFEColorMatrixElement.cpp:
137         * svg/SVGFEDiffuseLightingElement.cpp:
138         * svg/SVGFEImageElement.cpp:
139         * svg/SVGFELightElement.cpp:
140         * svg/SVGFESpecularLightingElement.cpp:
141
142 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
143
144         Reviewed by Antti.
145
146         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
147
148         Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
149         Remove unneccessary parameters of all macros.
150
151         SVG Errata states: "All SVG DOM objects that directly correspond to an
152         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
153         means that any changes made to the attribute are immediately reflected in the
154         corresponding SVG DOM object." (see linked URL on bug report)
155
156         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
157         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
158
159         Add a new synchronization layer to handle SVG DOM -> XML changes.
160
161         Added test: svg/custom/svg-xml-dom-sync.html
162         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
163
164         * dom/Element.cpp:
165         (WebCore::Element::Element): Initialize the two new bits.
166         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
167         (WebCore::Element::getAttribute): Ditto.
168         (WebCore::Element::hasAttributes): Ditto.
169         * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
170         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
171         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
172         * svg/SVGAElement.cpp:
173         * svg/SVGAElement.h:
174         * svg/SVGAnimatedTemplate.h:
175         (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
176         * svg/SVGCircleElement.cpp:
177         (WebCore::SVGCircleElement::SVGCircleElement):
178         * svg/SVGCircleElement.h:
179         * svg/SVGClipPathElement.cpp:
180         * svg/SVGClipPathElement.h:
181         * svg/SVGComponentTransferFunctionElement.cpp:
182         * svg/SVGComponentTransferFunctionElement.h:
183         * svg/SVGCursorElement.cpp:
184         (WebCore::SVGCursorElement::SVGCursorElement):
185         * svg/SVGCursorElement.h:
186         * svg/SVGElement.cpp:
187         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
188         (WebCore::SVGElement::setSynchronizedSVGAttributes):
189         * svg/SVGElement.h:
190         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
191         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
192         (WebCore::SVGElement::addSVGPropertySynchronizer):
193         * svg/SVGEllipseElement.cpp:
194         * svg/SVGEllipseElement.h:
195         * svg/SVGExternalResourcesRequired.cpp:
196         * svg/SVGExternalResourcesRequired.h:
197         * svg/SVGFEBlendElement.cpp:
198         * svg/SVGFEBlendElement.h:
199         * svg/SVGFEColorMatrixElement.cpp:
200         * svg/SVGFEColorMatrixElement.h:
201         * svg/SVGFEComponentTransferElement.cpp:
202         * svg/SVGFEComponentTransferElement.h:
203         * svg/SVGFECompositeElement.cpp:
204         * svg/SVGFECompositeElement.h:
205         * svg/SVGFEDiffuseLightingElement.cpp:
206         * svg/SVGFEDiffuseLightingElement.h:
207         * svg/SVGFEDisplacementMapElement.cpp:
208         * svg/SVGFEDisplacementMapElement.h:
209         * svg/SVGFEGaussianBlurElement.cpp:
210         * svg/SVGFEGaussianBlurElement.h:
211         * svg/SVGFEImageElement.cpp:
212         * svg/SVGFEImageElement.h:
213         * svg/SVGFELightElement.cpp:
214         * svg/SVGFELightElement.h:
215         * svg/SVGFEMergeNodeElement.cpp:
216         * svg/SVGFEMergeNodeElement.h:
217         * svg/SVGFEOffsetElement.cpp:
218         * svg/SVGFEOffsetElement.h:
219         * svg/SVGFESpecularLightingElement.cpp:
220         * svg/SVGFESpecularLightingElement.h:
221         * svg/SVGFETileElement.cpp:
222         * svg/SVGFETileElement.h:
223         * svg/SVGFETurbulenceElement.cpp:
224         * svg/SVGFETurbulenceElement.h:
225         * svg/SVGFilterElement.cpp:
226         * svg/SVGFilterElement.h:
227         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
228         * svg/SVGFilterPrimitiveStandardAttributes.h:
229         * svg/SVGFitToViewBox.cpp:
230         * svg/SVGFitToViewBox.h:
231         * svg/SVGForeignObjectElement.cpp:
232         * svg/SVGForeignObjectElement.h:
233         * svg/SVGGradientElement.cpp:
234         * svg/SVGGradientElement.h:
235         * svg/SVGImageElement.cpp:
236         * svg/SVGImageElement.h:
237         * svg/SVGLineElement.cpp:
238         * svg/SVGLineElement.h:
239         * svg/SVGLinearGradientElement.cpp:
240         * svg/SVGLinearGradientElement.h:
241         * svg/SVGMarkerElement.cpp:
242         * svg/SVGMarkerElement.h:
243         * svg/SVGMaskElement.cpp:
244         * svg/SVGMaskElement.h:
245         * svg/SVGPathElement.cpp:
246         * svg/SVGPathElement.h:
247         * svg/SVGPatternElement.cpp:
248         * svg/SVGPatternElement.h:
249         * svg/SVGRadialGradientElement.cpp:
250         * svg/SVGRadialGradientElement.h:
251         * svg/SVGRectElement.cpp:
252         * svg/SVGRectElement.h:
253         * svg/SVGSVGElement.cpp:
254         * svg/SVGSVGElement.h:
255         * svg/SVGScriptElement.h:
256         * svg/SVGStopElement.cpp:
257         * svg/SVGStopElement.h:
258         * svg/SVGStyledElement.cpp:
259         * svg/SVGStyledElement.h:
260         * svg/SVGStyledTransformableElement.cpp:
261         * svg/SVGStyledTransformableElement.h:
262         * svg/SVGSymbolElement.h:
263         * svg/SVGTextContentElement.cpp:
264         * svg/SVGTextContentElement.h:
265         * svg/SVGTextElement.cpp:
266         * svg/SVGTextElement.h:
267         * svg/SVGTextPathElement.cpp:
268         * svg/SVGTextPathElement.h:
269         * svg/SVGTextPositioningElement.cpp:
270         * svg/SVGTextPositioningElement.h:
271         * svg/SVGURIReference.cpp:
272         * svg/SVGURIReference.h:
273         * svg/SVGUseElement.cpp:
274         * svg/SVGUseElement.h:
275         * svg/SVGViewElement.h:
276         * svg/SynchronizableTypeWrapper.h: Added.
277
278 2008-07-07  Nikolas Zimmermann  <zimmermann@kde.org>
279
280         Reviewed by Oliver.
281
282         Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
283
284         Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
285
286         Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
287         Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
288         in SVGAnimatedTemplate.
289
290         * svg/SVGAnimatedTemplate.h:
291         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
292         (WebCore::lookupOrCreateWrapper):
293         (WebCore::SVGAnimatedTypeValue::null):
294         (WebCore::SVGAnimatedTypeValue::toString):
295         (WebCore::):
296         * svg/SVGDocumentExtensions.h:
297         (WebCore::SVGDocumentExtensions::baseValue):
298         * svg/SVGLengthList.cpp:
299         (WebCore::SVGLengthList::valueAsString):
300         * svg/SVGLengthList.h:
301         * svg/SVGNumberList.cpp:
302         (WebCore::SVGNumberList::valueAsString):
303         * svg/SVGNumberList.h:
304         * svg/SVGPreserveAspectRatio.cpp:
305         (WebCore::SVGPreserveAspectRatio::valueAsString):
306         * svg/SVGPreserveAspectRatio.h:
307         * svg/SVGTransformList.cpp:
308         (SVGTransformList::valueAsString):
309         * svg/SVGTransformList.h:
310
311 2008-07-06  Sam Weinig  <sam@webkit.org>
312
313         Reviewed by Dan Bernstein.
314
315         Rename "Access-Contol-Origin" to "Origin" to match the latest
316         Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
317
318         * xml/XMLHttpRequest.cpp:
319         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
320         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
321         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
322
323 2008-07-06  Dan Bernstein  <mitz@apple.com>
324
325         - try to fix the Windows build
326
327         * WebCore.vcproj/WebCore.vcproj:
328
329 2008-07-06  Dan Bernstein  <mitz@apple.com>
330
331         - add missing brace
332
333         * platform/graphics/qt/FontCacheQt.cpp:
334
335 2008-07-06  Dan Bernstein  <mitz@apple.com>
336
337         - try to fix the Qt build
338
339         * platform/graphics/qt/FontCacheQt.cpp:
340         (WebCore::FontCache::addClient):
341         (WebCore::FontCache::removeClient):
342
343 2008-07-06  Sam Weinig  <sam@webkit.org>
344
345         Reviewed by Cameron Zwarich.
346
347         Add #include for kjs/protect.h.
348
349         * xml/XMLHttpRequest.cpp:
350         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
351
352 2008-07-06  David Kilzer  <ddkilzer@apple.com>
353
354         Save a few more bits in RenderStyle
355
356         Reviewed by Darin.
357
358         No test cases added since there is no change in behavior.
359
360         This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
361         WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
362         and WebCore::RenderStyle::noninherited_flags from using 49 bits to
363         47 bits.
364
365         * rendering/style/RenderStyle.h:
366         (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
367         since EMarqueeBehavior has 4 items.
368         (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
369         4 bits to 3 bits since ETextAlign has 8 items.
370         (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
371         4 bits to 3 bits since EOverflow has 6 items.
372         (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
373
374 2008-07-06  Dan Bernstein  <mitz@apple.com>
375
376         Reviewed by Darin Adler.
377
378         - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
379
380         * css/CSSFontSelector.cpp:
381         (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
382         FontCache::addClient().
383         (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
384         FontCache::removeClient().
385         (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
386         font cache when it is invalidated, and ensures that the document is
387         updated.
388
389         * css/CSSFontSelector.h:
390
391         * platform/graphics/Font.cpp:
392         (WebCore::Font::operator==): Added code to compare the font fallback
393         lists' font cache generations.
394
395         * platform/graphics/FontCache.cpp:
396         (WebCore::FontCache::addClient): Added.
397         (WebCore::FontCache::removeClient): Added.
398         (WebCore::FontCache::generation): Added.
399         (WebCore::FontCache::invalidate): Added. Deletes the platform data
400         cache, increments the generation counter, and notifies all clients.
401
402         * platform/graphics/FontCache.h:
403
404         * platform/graphics/FontFallbackList.cpp:
405         (WebCore::FontFallbackList::FontFallbackList): Added initialization of
406         m_generation.
407         (WebCore::FontFallbackList::invalidate): Added code to reset
408         m_generation.
409         (WebCore::FontFallbackList::fontDataAt): Added an assertion.
410         (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
411         (WebCore::FontFallbackList::setPlatformFont): Ditto.
412
413         * platform/graphics/FontFallbackList.h:
414         (WebCore::FontFallbackList::generation): Added. Returns the font cache
415         generation used to populate the list.
416
417         * platform/graphics/FontSelector.h:
418         (WebCore::FontSelector::fontCacheInvalidated): Added.
419
420         * platform/graphics/mac/FontCacheMac.mm:
421         (WebCore::fontCacheATSNotificationCallback): Added. Calls
422         FontCache::invalidate().
423         (WebCore::FontCache::platformInit): Added code to register for ATS
424         notifications.
425
426         * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
427
428 2008-07-05  Sam Weinig  <sam@webkit.org>
429
430         Rubber-stamped by Cameron Zwarich.
431
432         Rename list.h/cpp to ArgList.h/cpp.
433
434         * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
435         * ForwardingHeaders/kjs/list.h: Removed.
436         * WebCore.vcproj/WebCore.vcproj:
437         * bridge/qt/qt_instance.cpp:
438         * page/Console.cpp:
439
440 2008-07-05  Sam Weinig  <sam@webkit.org>
441
442         Rubber-stamped by Cameron Zwarich.
443
444         Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and 
445         the functions on the global object out of JSFunction.h/cpp.
446
447         * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
448         * bindings/js/JSDOMBinding.cpp:
449
450 2008-07-05  Dan Bernstein  <mitz@apple.com>
451
452         Rubber-stamped by Sam Weinig.
453
454         - rename BidiIterator and BidiState
455
456         Renamed BidiIterator to InlineIterator and BidiState
457         to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
458         to "resolver".
459
460         * rendering/RenderBlock.h:
461         * rendering/RootInlineBox.h:
462         * rendering/bidi.cpp:
463         (WebCore::InlineIterator::InlineIterator):
464         (WebCore::operator==):
465         (WebCore::operator!=):
466         (WebCore::bidiNext):
467         (WebCore::bidiFirst):
468         (WebCore::InlineIterator::increment):
469         (WebCore::InlineBidiResolver::increment):
470         (WebCore::InlineIterator::atEnd):
471         (WebCore::InlineIterator::current):
472         (WebCore::InlineIterator::direction):
473         (WebCore::chopMidpointsAt):
474         (WebCore::checkMidpoints):
475         (WebCore::addMidpoint):
476         (WebCore::appendRunsForObject):
477         (WebCore::InlineBidiResolver::appendRun):
478         (WebCore::RenderBlock::bidiReorderLine):
479         (WebCore::buildCompactRuns):
480         (WebCore::RenderBlock::layoutInlineChildren):
481         (WebCore::RenderBlock::determineStartPosition):
482         (WebCore::RenderBlock::determineEndPosition):
483         (WebCore::RenderBlock::matchedEndLine):
484         (WebCore::skipNonBreakingSpace):
485         (WebCore::requiresLineBox):
486         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
487         (WebCore::RenderBlock::skipWhitespace):
488         (WebCore::shouldSkipWhitespaceAfterStartObject):
489         (WebCore::RenderBlock::findNextLineBreak):
490
491 2008-07-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
492
493         Rubber-stamped by Oliver Hunt
494
495         Coding style fix
496
497         * html/CanvasRenderingContext2D.cpp: Indentation fix
498
499 2008-07-04  Oliver Hunt  <oliver@apple.com>
500
501         Fix windows build
502
503         * WebCore.vcproj/WebCore.vcproj:
504
505 2008-07-04  Sam Weinig  <sam@webkit.org>
506
507         Fix Qt build.
508
509         * bridge/qt/qt_instance.cpp:
510
511 2008-07-04  Sam Weinig  <sam@webkit.org>
512
513         Rubber-stamped by Dan Bernstein.
514
515         Split Error and GetterSetter out of JSObject.h.
516
517         * ForwardingHeaders/kjs/Error.h: Added.
518         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
519         * bindings/js/JSClipboardCustom.cpp:
520         * bindings/js/JSDOMWindowBase.cpp:
521         * bindings/js/JSEventTargetBase.cpp:
522         * bindings/js/JSHTMLDocumentCustom.cpp:
523         * bindings/js/JSXMLHttpRequestCustom.cpp:
524         * bindings/scripts/CodeGeneratorJS.pm:
525         * bridge/NP_jsobject.cpp:
526         * bridge/jni/jni_instance.cpp:
527         * bridge/jni/jni_runtime.cpp:
528         * bridge/objc/objc_instance.mm:
529         * bridge/objc/objc_runtime.mm:
530         * bridge/objc/objc_utility.h:
531         * bridge/runtime_array.cpp:
532         * bridge/runtime_method.cpp:
533         * bridge/runtime_object.cpp:
534
535 2008-07-04  David D. Kilzer  <ddkilzer@webkit.org>
536
537         Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
538
539         <https://bugs.webkit.org/show_bug.cgi?id=15290>
540         <rdar://problem/5509173>
541
542         Reviewed by Dan Bernstein.
543
544         Tests: webarchive/archive-empty-frame-dom.html
545                webarchive/doctype.html
546
547         * editing/markup.cpp:
548         (WebCore::createFullMarkup): If the Node is a Document or a
549         DocumentType, don't prepend the <!DOCTYPE> tag since that will
550         cause it to be duplicated.
551         * loader/archive/cf/LegacyWebArchive.cpp:
552         (WebCore::LegacyWebArchive::create): Ditto.
553
554 2008-07-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
555
556         Gtk build fix
557
558         * GNUmakefile.am:
559
560 2008-07-04  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
561
562         Reviewed by Eric Seidel.
563
564         Bring our implementation of the Netscape plugin API closer to current
565         code style guidelines.
566
567         * bridge/NP_jsobject.cpp:
568         (getListFromVariantArgs):
569         (jsAllocate):
570         (jsDeallocate):
571         (_NPN_CreateScriptObject):
572         (_NPN_CreateNoScriptObject):
573         (_NPN_InvokeDefault):
574         (_NPN_Invoke):
575         (_NPN_Evaluate):
576         (_NPN_GetProperty):
577         (_NPN_SetProperty):
578         (_NPN_RemoveProperty):
579         (_NPN_HasProperty):
580         (_NPN_HasMethod):
581         (_NPN_Enumerate):
582         * bridge/npruntime_impl.h:
583
584 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
585
586         Fix the Qt/Windows build.
587
588         * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
589         sources, so that it is always compiled.
590         * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
591         Windows header.
592         * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
593         that are defined by Windows already.
594         * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
595         that are now platform-independent in plugin/PluginDatabase.cpp.
596
597 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
598
599         Fix the Mac build for real, don't define listDirectory() twice.
600
601         * platform/mac/FileSystemMac.mm:
602
603 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
604
605         Prospective Mac build fix.
606
607         * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
608         * platform/posix/FileSystemPOSIX.cpp: Ditto.
609
610 2008-07-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
611
612         Reviewed by Simon.
613
614         Move duplicated code from each PluginDatabaseXX-implementation
615         to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
616         compiling plugins for.
617
618         This make the code cleaner and we can share common patterns.
619         The only implementation left which is specific is the Win
620         implementation (also used by QtWebKit/Win), but we might
621         want to move that too.
622
623         * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
624         * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
625         * plugins/PluginDatabase.cpp:
626         (WebCore::PluginDatabase::defaultPluginDirectories):
627         (WebCore::PluginDatabase::isPreferredPluginDirectory):
628         (WebCore::PluginDatabase::getPluginPathsInDirectories):
629         * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
630         * plugins/qt/PluginDatabaseQt.cpp: Removed.
631         * plugins/wx/PluginDatabaseWx.cpp: Removed.
632         * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
633
634 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
635
636         Fix the Wx build.
637
638         * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
639         build.
640         * page/FocusController.cpp:
641         (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
642         layoutIfNeededRecursive does not exist for the Wx port.
643
644 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
645
646         Fix the Gtk build, adapt to renamed files.
647
648         * GNUmakefile.am:
649
650 2008-07-04  Simon Hausmann  <hausmann@webkit.org>
651
652         Fix the Qt build, adapt to renamed files.
653
654         * WebCore.pro:
655
656 2008-07-03  Oliver Hunt  <oliver@apple.com>
657
658         Reviewed by Eric Seidel.
659
660         Move filter implementations to platform directory.
661
662         * WebCore.vcproj/WebCore.vcproj
663         * WebCore.xcodeproj/project.pbxproj:
664         * svg/SVGComponentTransferFunctionElement.h:
665         * svg/SVGFEBlendElement.h:
666         * svg/SVGFEColorMatrixElement.h:
667         * svg/SVGFEComponentTransferElement.h:
668         * svg/SVGFECompositeElement.h:
669         * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
670         * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
671         * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
672         * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
673         * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
674         * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
675         * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
676         * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
677
678 2008-07-03  Alex Mathews  <possessedpenguinbob@gmail.com>
679
680         Reviewed by Oliver Hunt.
681
682         Bug 19835: WebKit needs cross-platform filter system
683         <https://bugs.webkit.org/show_bug.cgi?id=19835>
684
685         More class refactoring in preparation for cross-platform filter
686         implementation.
687
688         * WebCore.xcodeproj/project.pbxproj:
689         * svg/FilterEffect.h:
690         * svg/SVGComponentTransferFunctionElement.cpp:
691         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
692         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
693         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
694         * svg/SVGComponentTransferFunctionElement.h:
695         * svg/SVGFEColorMatrixElement.cpp:
696         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
697         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
698         (WebCore::SVGFEColorMatrixElement::filterEffect):
699         (WebCore::SVGFEColorMatrixElement::build):
700         * svg/SVGFEColorMatrixElement.h:
701         * svg/SVGFEComponentTransferElement.cpp:
702         (WebCore::SVGFEComponentTransferElement::filterEffect):
703         (WebCore::SVGFEComponentTransferElement::build):
704         * svg/SVGFEComponentTransferElement.h:
705         * svg/SVGFECompositeElement.cpp:
706         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
707         (WebCore::SVGFECompositeElement::parseMappedAttribute):
708         (WebCore::SVGFECompositeElement::filterEffect):
709         (WebCore::SVGFECompositeElement::build):
710         * svg/SVGFECompositeElement.h:
711         * svg/graphics/filters/SVGFEBlend.cpp:
712         * svg/graphics/filters/SVGFEBlend.h:
713         * svg/graphics/filters/SVGFEColorMatrix.cpp:
714         (WebCore::FEColorMatrix::FEColorMatrix):
715         (WebCore::FEColorMatrix::create):
716         (WebCore::FEColorMatrix::type):
717         (WebCore::FEColorMatrix::setType):
718         (WebCore::FEColorMatrix::values):
719         (WebCore::FEColorMatrix::setValues):
720         (WebCore::FEColorMatrix::apply):
721         (WebCore::FEColorMatrix::dump):
722         * svg/graphics/filters/SVGFEColorMatrix.h:
723         (WebCore::):
724         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
725         (WebCore::FEComponentTransfer::FEComponentTransfer):
726         (WebCore::FEComponentTransfer::create):
727         (WebCore::FEComponentTransfer::redFunction):
728         (WebCore::FEComponentTransfer::setRedFunction):
729         (WebCore::FEComponentTransfer::greenFunction):
730         (WebCore::FEComponentTransfer::setGreenFunction):
731         (WebCore::FEComponentTransfer::blueFunction):
732         (WebCore::FEComponentTransfer::setBlueFunction):
733         (WebCore::FEComponentTransfer::alphaFunction):
734         (WebCore::FEComponentTransfer::setAlphaFunction):
735         (WebCore::FEComponentTransfer::apply):
736         (WebCore::FEComponentTransfer::dump):
737         * svg/graphics/filters/SVGFEComponentTransfer.h:
738         (WebCore::):
739         (WebCore::ComponentTransferFunction::ComponentTransferFunction):
740         * svg/graphics/filters/SVGFEComposite.cpp:
741         (WebCore::FEComposite::FEComposite):
742         (WebCore::FEComposite::create):
743         (WebCore::FEComposite::operation):
744         (WebCore::FEComposite::setOperation):
745         (WebCore::FEComposite::k1):
746         (WebCore::FEComposite::setK1):
747         (WebCore::FEComposite::k2):
748         (WebCore::FEComposite::setK2):
749         (WebCore::FEComposite::k3):
750         (WebCore::FEComposite::setK3):
751         (WebCore::FEComposite::k4):
752         (WebCore::FEComposite::setK4):
753         (WebCore::FEComposite::apply):
754         (WebCore::FEComposite::dump):
755         * svg/graphics/filters/SVGFEComposite.h:
756         (WebCore::):
757         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
758         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
759         * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
760
761 2008-07-03  Dan Bernstein  <mitz@apple.com>
762
763         Reviewed by John Sullivan.
764
765         - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
766
767         Test: fast/text/international/bidi-AN-after-empty-run.html
768
769         * platform/text/BidiResolver.h:
770         (WebCore::::appendRun): Changed to reset the current direction and
771         "end of run" direction even in the empty run case.
772         * rendering/bidi.cpp:
773         (WebCore::BidiState::appendRun): Ditto.
774
775 2008-07-02  Jon Honeycutt  <jhoneycutt@apple.com>
776
777         <rdar://5983747> Safari crashes trying to load the SilverLight plugin
778
779         If a plug-in returned an error code from NPP_NewStream, we would call
780         NPP_DestroyStream while cleaning up the request. We now only call
781         NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
782
783         Reviewed by Anders.
784
785         * plugins/PluginStream.cpp:
786         (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
787         don't set m_streamState to StreamStarted, and return after calling
788         cancelAndDestroyStream.
789         (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
790         the stream didn't start successfully.
791
792 2008-07-03  David Hyatt  <hyatt@apple.com>
793
794         Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
795         Mac.  Revert updateControlTints and add the layout call outside of it in the already-existing
796         !PLATFORM(MAC) ifdef in FocusController's setActive method.
797
798         Reviewed by ggaren, weinig
799
800         * page/FocusController.cpp:
801         (WebCore::FocusController::setActive):
802         * page/FrameView.cpp:
803         (WebCore::FrameView::updateControlTints):
804
805 2008-07-03  Alexey Proskuryakov  <ap@webkit.org>
806
807         Reviewed by Darin.
808
809         https://bugs.webkit.org/show_bug.cgi?id=19884
810         Locating a store at www.366.ru doesn't work
811
812         Test: fast/forms/submit-with-base.html
813
814         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
815         as missing one - ignore base URL.
816
817 2008-07-03  Dan Bernstein  <mitz@apple.com>
818
819         Reviewed by John Sullivan.
820
821         - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
822
823         * page/FrameView.cpp:
824         (WebCore::FrameView::updateControlTints): Changed to update layout
825         recursively and not just for the top-level frame.
826
827 2008-07-03  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
828
829         Reviewed by Geoff.
830
831         Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
832         https://bugs.webkit.org/show_bug.cgi?id=19853
833
834         Remove the body of _NPN_SetException(), because it was simply calling
835         throwError(), which sets an exception on an ExecState but does not
836         actually handle it. The presence of an exception on the global ExecState
837         causes assertions that there is no exception set on that ExecState to
838         fail, as well as causing Machine::execute() to mistakingly return 0 in
839         some cases, as it assumes the presence of an exception implies that it
840         has run out of memory.
841
842         * bridge/NP_jsobject.cpp:
843         (_NPN_SetException):
844
845 2008-07-03  Maciej Katafiasz  <mathrick@gmail.com>
846
847         Gtk build fix with SVG filters enabled
848
849         * GNUmakefile.am: Include missing SVG filter sources
850
851 2008-07-03  Simon Hausmann  <hausmann@webkit.org>
852
853         Fix the Qt build, added FilterEffect to the build.
854
855         * WebCore.pro:
856
857 2008-07-02  Brady Eidson  <beidson@apple.com>
858
859         Reviewed by Mitz Pettel and John Sullivan
860
861         Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading] 
862         inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
863
864         Test: fast/loader/stop-provisional-loads.html
865
866         * loader/FrameLoader.cpp:
867         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
868           by the prepareForLoadStart() call, null check it again.
869
870 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
871
872         Reviewed by Oliver Hunt.
873
874         Renaming of class SVGFEBlend to FEBlend as well as removing
875         a little bit of antiquated code. This includes the removal of
876         SVGFEBlendCg.mm; the feBlend element will now no longer
877         render. 
878
879         * WebCore.xcodeproj/project.pbxproj:
880         * svg/FilterBuilder.h:
881         (WebCore::FilterBuilder::add):
882         (WebCore::FilterBuilder::getEffectById):
883         * svg/SVGFEBlendElement.cpp:
884         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
885         (WebCore::SVGFEBlendElement::parseMappedAttribute):
886         (WebCore::SVGFEBlendElement::filterEffect):
887         (WebCore::SVGFEBlendElement::build):
888         * svg/SVGFEBlendElement.h:
889         * svg/SVGFilterPrimitiveStandardAttributes.h:
890         * svg/graphics/filters/SVGFEBlend.cpp:
891         (WebCore::FEBlend::FEBlend):
892         (WebCore::FEBlend::create):
893         (WebCore::FEBlend::in2):
894         (WebCore::FEBlend::setIn2):
895         (WebCore::FEBlend::blendMode):
896         (WebCore::FEBlend::setBlendMode):
897         (WebCore::FEBlend::apply):
898         (WebCore::FEBlend::dump):
899         * svg/graphics/filters/SVGFEBlend.h:
900         (WebCore::):
901         * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
902
903 2008-07-02  Beth Dakin  <bdakin@apple.com>
904
905         Reviewed by Darin.
906
907         Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
908         and
909         <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
910
911         * page/AccessibilityObject.h:
912         (WebCore::AccessibilityObject::isSlider):
913         * page/AccessibilityRenderObject.cpp:
914         (WebCore::AccessibilityRenderObject::isSlider):
915         (WebCore::AccessibilityRenderObject::valueForRange):
916         (WebCore::AccessibilityRenderObject::maxValueForRange):
917         (WebCore::AccessibilityRenderObject::minValueForRange):
918         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We 
919         were addressing the generic has-an-ARIA-role case too early here.
920         (WebCore::AccessibilityRenderObject::focusedUIElement): This is a 
921         bug I ran into while testing role='spinbutton', spinbutton is a 
922         role that can have an active descendant. But we were always trying 
923         to forward focus to the active descendant, even if one was not 
924         specified. 
925         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): 
926         'spinbutton' maps to ProgressIndicatorRole.
927         (WebCore::RoleEntry::):
928         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
929         * page/AccessibilityRenderObject.h:
930         * page/mac/AccessibilityObjectWrapper.mm:
931         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
932         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
933
934 2008-07-02  Dan Bernstein  <mitz@apple.com>
935
936         Reviewed by Adam Roben.
937
938         - Windows build fix
939
940         Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
941         the ERROR macro is defined in <wingdi.h>.
942
943         * xml/XPathGrammar.y:
944         * xml/XPathParser.cpp:
945         (WebCore::XPath::Parser::lexString):
946         (WebCore::XPath::Parser::nextTokenInternal):
947
948 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
949
950         Inspired and reviewed by Mark Rowe.
951
952         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
953
954         * bindings/objc/ExceptionHandlers.h:
955         * bindings/objc/WebScriptObject.mm:
956         * dom/Document.cpp:
957         * dom/Node.cpp:
958         * page/Frame.cpp:
959         * page/InspectorController.cpp:
960         * page/JavaScriptProfileNode.cpp:
961         * page/mac/FrameMac.mm:
962         * platform/mac/ThreadCheck.mm:
963         * xml/XMLHttpRequest.cpp:
964
965 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
966
967         Fix the Gtk build.
968
969         * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
970         (WebCore::PluginView::paint):
971         (WebCore::PluginView::handleKeyboardEvent):
972         (WebCore::PluginView::handleMouseEvent):
973         (WebCore::PluginView::setNPWindowRect):
974         (WebCore::PluginView::stop):
975         (WebCore::PluginView::init):
976
977 2008-07-02  Simon Hausmann  <hausmann@webkit.org>
978
979         Build fixes.
980
981         * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
982         build.
983         * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
984         * bridge/qt/qt_runtime.cpp: Ditto.
985         (KJS::Bindings::convertValueToQVariant):
986         (KJS::Bindings::convertQVariantToValue):
987         (KJS::Bindings::QtRuntimeMetaMethod::call):
988         (KJS::Bindings::QtRuntimeConnectionMethod::call):
989         (KJS::Bindings::QtConnectionObject::execute):
990         * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
991         JavaScriptCore/JSValue.h.
992         * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
993         (WebCore::PluginView::setNPWindowRect): Ditto.
994         (WebCore::PluginView::stop): Ditto.
995         (WebCore::PluginView::init): Ditto.
996
997 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
998
999         Build fix.
1000
1001         * plugins/PluginView.cpp:
1002         (WebCore::PluginView::start):
1003         (WebCore::getString):
1004         (WebCore::PluginView::performRequest):
1005         (WebCore::PluginView::bindingInstance):
1006         * plugins/win/PluginViewWin.cpp:
1007         (WebCore::PluginView::dispatchNPEvent):
1008         (WebCore::PluginView::setNPWindowRect):
1009         (WebCore::PluginView::stop):
1010         Pass false to JSLock and JSLock::DropAllLocks constructors.
1011
1012 2008-07-01  Oliver Hunt  <oliver@apple.com>
1013
1014         Reviewed by Geoff Garen.
1015
1016         <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
1017
1018         In order to fix this we now make the rendering context and the canvas element
1019         share the same reference count, ensuring that references to the rendering
1020         context will force the canvas element to remain live as well.
1021
1022         Test: fast/canvas/canvas-longlived-context.html
1023
1024         * html/CanvasRenderingContext2D.cpp:
1025         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
1026         (WebCore::CanvasRenderingContext2D::createImageData):
1027         (WebCore::CanvasRenderingContext2D::getImageData):
1028         (WebCore::CanvasRenderingContext2D::putImageData):
1029         * html/CanvasRenderingContext2D.h:
1030         (WebCore::CanvasRenderingContext2D::create):
1031         * html/HTMLCanvasElement.cpp:
1032         (WebCore::HTMLCanvasElement::getContext):
1033         * html/HTMLCanvasElement.h:
1034
1035 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
1036
1037         Reviewed by Darin.
1038
1039         Disable JSLock for per-thread contexts.
1040
1041         * bridge/runtime_root.cpp:
1042         (KJS::Bindings::RootObject::invalidate):
1043         (KJS::Bindings::RootObject::gcProtect):
1044         (KJS::Bindings::RootObject::gcUnprotect):
1045         Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
1046
1047         * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
1048         to indicate that protected value list can be concurrently accessed from multiple threads now.
1049
1050         * xml/XMLHttpRequest.cpp:
1051         (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
1052         as fake locks cannot deadlock, and there is no danger that someone will try to take a real
1053         JSLock on the main thread while we are waiting for response.
1054         (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
1055         around gcProtect/gcUnprotect now.
1056         (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
1057         JSGlobalData::threadInstance().
1058
1059         * bindings/js/GCController.cpp:
1060         (WebCore::collect):
1061         (WebCore::GCController::gcTimerFired):
1062         (WebCore::GCController::garbageCollectNow):
1063         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
1064         * bindings/js/JSCustomSQLStatementCallback.cpp:
1065         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1066         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1067         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1068         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1069         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1070         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1071         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1072         * bindings/js/JSCustomVoidCallback.cpp:
1073         (WebCore::JSCustomVoidCallback::handleEvent):
1074         * bindings/js/JSCustomXPathNSResolver.cpp:
1075         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1076         * bindings/js/JSDOMWindowBase.cpp:
1077         (WebCore::DOMWindowTimer::~DOMWindowTimer):
1078         (WebCore::JSDOMWindowBase::clear):
1079         (WebCore::JSDOMWindowBase::timerFired):
1080         * bindings/js/JSEventCustom.cpp:
1081         (WebCore::toJS):
1082         * bindings/js/JSEventListener.cpp:
1083         (WebCore::JSAbstractEventListener::handleEvent):
1084         (WebCore::JSLazyEventListener::parseCode):
1085         * bindings/js/JSNodeFilterCondition.cpp:
1086         (WebCore::JSNodeFilterCondition::acceptNode):
1087         * bindings/js/ScheduledAction.cpp:
1088         (WebCore::ScheduledAction::execute):
1089         * bindings/js/ScriptController.cpp:
1090         (WebCore::ScriptController::evaluate):
1091         (WebCore::ScriptController::clear):
1092         (WebCore::ScriptController::createHTMLEventHandler):
1093         (WebCore::ScriptController::createSVGEventHandler):
1094         (WebCore::ScriptController::initScript):
1095         (WebCore::ScriptController::updateDocument):
1096         * bindings/objc/WebScriptObject.mm:
1097         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1098         (-[WebScriptObject evaluateWebScript:]):
1099         (-[WebScriptObject setValue:forKey:]):
1100         (-[WebScriptObject valueForKey:]):
1101         (-[WebScriptObject removeWebScriptKey:]):
1102         (-[WebScriptObject stringRepresentation]):
1103         (-[WebScriptObject webScriptValueAtIndex:]):
1104         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1105         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1106         * bridge/NP_jsobject.cpp:
1107         (_NPN_InvokeDefault):
1108         (_NPN_Invoke):
1109         (_NPN_Evaluate):
1110         (_NPN_GetProperty):
1111         (_NPN_SetProperty):
1112         (_NPN_RemoveProperty):
1113         (_NPN_HasProperty):
1114         (_NPN_HasMethod):
1115         (_NPN_SetException):
1116         (_NPN_Enumerate):
1117         * bridge/c/c_class.cpp:
1118         (KJS::Bindings::CClass::~CClass):
1119         (KJS::Bindings::CClass::methodsNamed):
1120         (KJS::Bindings::CClass::fieldNamed):
1121         * bridge/c/c_instance.cpp:
1122         (KJS::Bindings::CInstance::invokeMethod):
1123         (KJS::Bindings::CInstance::invokeDefaultMethod):
1124         (KJS::Bindings::CInstance::getPropertyNames):
1125         * bridge/c/c_runtime.cpp:
1126         (KJS::Bindings::CField::valueFromInstance):
1127         (KJS::Bindings::CField::setValueToInstance):
1128         * bridge/c/c_utility.cpp:
1129         (KJS::Bindings::convertValueToNPVariant):
1130         (KJS::Bindings::convertNPVariantToValue):
1131         * bridge/jni/jni_class.cpp:
1132         (JavaClass::JavaClass):
1133         (JavaClass::~JavaClass):
1134         * bridge/jni/jni_instance.cpp:
1135         (JavaInstance::stringValue):
1136         * bridge/jni/jni_jsobject.mm:
1137         (JavaJSObject::call):
1138         (JavaJSObject::eval):
1139         (JavaJSObject::getMember):
1140         (JavaJSObject::setMember):
1141         (JavaJSObject::removeMember):
1142         (JavaJSObject::getSlot):
1143         (JavaJSObject::setSlot):
1144         (JavaJSObject::toString):
1145         (JavaJSObject::convertValueToJObject):
1146         (JavaJSObject::convertJObjectToValue):
1147         * bridge/jni/jni_objc.mm:
1148         (KJS::Bindings::dispatchJNICall):
1149         * bridge/jni/jni_runtime.cpp:
1150         (JavaMethod::signature):
1151         * bridge/jni/jni_runtime.h:
1152         (KJS::Bindings::JavaString::JavaString):
1153         (KJS::Bindings::JavaString::_commonInit):
1154         (KJS::Bindings::JavaString::~JavaString):
1155         (KJS::Bindings::JavaString::UTF8String):
1156         * bridge/jni/jni_utility.cpp:
1157         (KJS::Bindings::convertArrayInstanceToJavaArray):
1158         (KJS::Bindings::convertValueToJValue):
1159         * bridge/npruntime.cpp:
1160         (_NPN_GetStringIdentifier):
1161         * bridge/objc/objc_instance.mm:
1162         (ObjcInstance::moveGlobalExceptionToExecState):
1163         (ObjcInstance::invokeMethod):
1164         (ObjcInstance::invokeDefaultMethod):
1165         (ObjcInstance::setValueOfUndefinedField):
1166         (ObjcInstance::getValueOfUndefinedField):
1167         * bridge/objc/objc_runtime.mm:
1168         (ObjcField::valueFromInstance):
1169         (ObjcField::setValueToInstance):
1170         * bridge/objc/objc_utility.mm:
1171         (KJS::Bindings::convertValueToObjcValue):
1172         (KJS::Bindings::convertNSStringToString):
1173         (KJS::Bindings::convertObjcValueToValue):
1174         * bridge/runtime.cpp:
1175         (KJS::Bindings::Instance::createRuntimeObject):
1176         * dom/Document.cpp:
1177         (WebCore::Document::~Document):
1178         * dom/Node.cpp:
1179         (WebCore::Node::setDocument):
1180         * history/CachedPage.cpp:
1181         (WebCore::CachedPage::CachedPage):
1182         (WebCore::CachedPage::restore):
1183         (WebCore::CachedPage::clear):
1184         * html/HTMLPlugInElement.cpp:
1185         (WebCore::HTMLPlugInElement::createNPObject):
1186         * loader/FrameLoader.cpp:
1187         (WebCore::getString):
1188         * page/Frame.cpp:
1189         (WebCore::Frame::bindingRootObject):
1190         (WebCore::Frame::windowScriptNPObject):
1191         (WebCore::Frame::clearScriptObjects):
1192         * page/InspectorController.cpp:
1193         (WebCore::jsStringRef):
1194         (WebCore::ConsoleMessage::ConsoleMessage):
1195         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1196         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
1197         (WebCore::getResourceDocumentNode):
1198         (WebCore::search):
1199         (WebCore::inspectedWindow):
1200         (WebCore::wrapCallback):
1201         (WebCore::currentCallFrame):
1202         (WebCore::profiles):
1203         (WebCore::InspectorController::focusNode):
1204         (WebCore::InspectorController::addDatabaseScriptResource):
1205         (WebCore::InspectorController::addScriptProfile):
1206         * page/JavaScriptCallFrame.cpp:
1207         (WebCore::JavaScriptCallFrame::evaluate):
1208         * page/JavaScriptProfileNode.cpp:
1209         (WebCore::getTotalTime):
1210         (WebCore::getSelfTime):
1211         (WebCore::getTotalPercent):
1212         (WebCore::getSelfPercent):
1213         (WebCore::getNumberOfCalls):
1214         (WebCore::getChildren):
1215         (WebCore::getVisible):
1216         * page/mac/FrameMac.mm:
1217         (WebCore::Frame::windowScriptObject):
1218         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
1219         doesn't need locking. In the future, it may be possible to remove some of these if we
1220         establish that this won't make JSC assertions fail (and that we don't want to add such
1221         assertions either).
1222         Added includes that are now needed.
1223
1224 2008-07-01  Dan Bernstein  <mitz@apple.com>
1225
1226         Reviewed by Oliver Hunt.
1227
1228         - fix a CSSParserValueList leak seen on the build bot
1229
1230         * css/CSSParser.cpp:
1231         (WebCore::BorderImageParseContext::commitBorderImage):
1232
1233 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
1234
1235         Reviewed by Oliver Hunt.
1236
1237         Prep for more Filter class name changes. Added the first few files for
1238         the new Filter architecture to come.
1239
1240         * WebCore.xcodeproj/project.pbxproj:
1241         * svg/Filter.cpp: Added.
1242         (WebCore::Filter::Filter):
1243         (WebCore::Filter::create):
1244         * svg/Filter.h: Added.
1245         * svg/FilterBuilder.h: Added.
1246         (WebCore::FilterBuilder::add):
1247         (WebCore::FilterBuilder::getEffectById):
1248         (WebCore::FilterBuilder::filter):
1249         * svg/FilterEffect.cpp: Added.
1250         (WebCore::FilterEffect::FilterEffect):
1251         (WebCore::FilterEffect::~FilterEffect):
1252         * svg/FilterEffect.h: Added.
1253
1254 2008-07-01  Christian Dywan  <christian@twotoasts.de>
1255
1256         Gtk+ build fix.
1257
1258         * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
1259
1260 2008-07-01  Anders Carlsson  <andersca@apple.com>
1261
1262         Reviewed by Darin.
1263
1264         Add PluginMainThreadScheduler.{cpp|h} to build.
1265         
1266         * WebCore.base.exp:
1267         * WebCore.xcodeproj/project.pbxproj:
1268         * plugins/PluginMainThreadScheduler.cpp:
1269
1270 2008-07-01  Dan Bernstein  <mitz@apple.com>
1271
1272         Reviewed by Darin Adler.
1273
1274         - move the method to set the base writing direction from Frame to Editor
1275
1276         * WebCore.base.exp: Updated.
1277         * editing/Editor.cpp:
1278         (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
1279         WritingDirection enum value and added the special behavior when the
1280         focused node is a text field or a text area.
1281         * editing/Editor.h:
1282         * page/ContextMenuController.cpp:
1283         (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
1284         to call the Editor method.
1285         * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
1286         * page/Frame.h:
1287
1288 2008-07-01  Darin Adler  <darin@apple.com>
1289
1290         Reviewed by Oliver.
1291
1292         - slight tweak of the setHash fix
1293
1294         * bindings/js/JSLocationCustom.cpp:
1295         (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
1296
1297 2008-07-01  Dan Bernstein  <mitz@apple.com>
1298
1299         Reviewed by Anders Carlsson.
1300
1301         - Mac release build fix
1302
1303         * page/Console.cpp:
1304
1305 2008-07-01  Dan Bernstein  <mitz@apple.com>
1306
1307         Reviewed by Anders Carlsson.
1308
1309         - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
1310
1311         * css/CSSPrimitiveValue.cpp:
1312         (WebCore::CSSPrimitiveValue::cleanup):
1313
1314 2008-07-01  Anders Carlsson  <andersca@apple.com>
1315
1316         Reviewed by Jon.
1317
1318         Don't add the Mozilla user agent quirk for Flash 10.
1319         
1320         * plugins/win/PluginPackageWin.cpp:
1321         (WebCore::PluginPackage::isPluginBlacklisted):
1322         (WebCore::PluginPackage::determineQuirks):
1323
1324 2008-07-01  David Kilzer  <ddkilzer@apple.com>
1325
1326         Move data: URL parsing code in HTMLObjectElement to KURL
1327
1328         Reviewed by Ada and Darin.
1329
1330         No test cases added since there is no change in behavior.
1331
1332         * html/HTMLObjectElement.cpp:
1333         (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
1334         parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
1335         * platform/KURL.cpp:
1336         (WebCore::mimeTypeFromDataURL): Added.
1337         * platform/KURL.h:
1338         (WebCore::mimeTypeFromDataURL): Added.
1339
1340 2008-07-01  Dan Bernstein  <mitz@apple.com>
1341
1342         Reviewed by Dave Hyatt.
1343
1344         - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
1345
1346         * css/CSSParser.cpp:
1347         (WebCore::CSSParser::addUnresolvedProperty):
1348
1349 2008-07-01  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1350
1351         Reviewed by Brady Eidson.
1352
1353         Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
1354         <https://bugs.webkit.org/show_bug.cgi?id=19822>
1355
1356         Change JSLocation::setHash() to not schedule navigation in the case
1357         where the old fragment is the null String and the new fragment is an
1358         empty String.
1359
1360         * bindings/js/JSLocationCustom.cpp:
1361         (WebCore::JSLocation::setHash):
1362
1363 2008-06-30  Anders Carlsson  <andersca@apple.com>
1364
1365         Reviewed by Adam.
1366
1367         Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in 
1368         callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
1369         
1370         * WebCore.vcproj/WebCore.vcproj:
1371         Add PluginMainThreadScheduler.{cpp|h}
1372         
1373         * plugins/PluginMainThreadScheduler.cpp: Added.
1374         * plugins/PluginMainThreadScheduler.h: Added.
1375
1376         * plugins/PluginView.cpp:
1377         (WebCore::PluginView::start):
1378         Register with the thread scheduler.
1379         
1380         * plugins/npapi.cpp:
1381         (NPN_PluginThreadAsyncCall):
1382         Call the thread scheduler.
1383         
1384         * plugins/win/PluginPackageWin.cpp:
1385         (WebCore::PluginPackage::load):
1386         Initialize the NPN_PluginThreadAsyncCall callback.
1387         
1388         * plugins/win/PluginViewWin.cpp:
1389         (WebCore::PluginView::stop):
1390         Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
1391         after the plug-in has been destroyed.
1392
1393 2008-07-01  Adam Roben  <aroben@apple.com>
1394
1395         Roll out r34913, as it broke the Windows build due to bad casting
1396
1397         r34913 introduced code that assigned pointers-to-member from a derived
1398         class into a base class pointer-to-member type (e.g., assigned a void
1399         (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
1400         because it could allow us to call SVGUseElement member functions on a
1401         different SVGElement-derived class. MSVC rightly flagged this as an
1402         error.
1403
1404         Rubberstamped by Anders Carlsson.
1405
1406 2008-07-01  Darin Adler  <darin@apple.com>
1407
1408         - fix build
1409
1410         * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
1411         not working propertly.
1412
1413 2008-07-01  Dan Bernstein  <mitz@apple.com>
1414
1415         Reviewed by Darin Adler.
1416
1417         - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
1418
1419         * html/CanvasRenderingContext2D.cpp:
1420         (WebCore::CanvasRenderingContext2D::createPattern):
1421
1422 2008-07-01  Sam Weinig  <sam@webkit.org>
1423
1424         Reviewed by Darin Adler.
1425
1426         Split JSCell and JSNumberCell class declarations out of JSValue.h
1427
1428         * ForwardingHeaders/kjs/JSNumberCell.h: Added.
1429         * bindings/scripts/CodeGeneratorJS.pm:
1430         * bridge/c/c_instance.cpp:
1431
1432 2008-07-01  chris fleizach  <cfleizach@apple.com>
1433
1434         Reviewed by Beth Dakin
1435
1436         <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
1437
1438         Test: accessibility/radio-button-checkbox-size.html
1439
1440         * page/AccessibilityRenderObject.cpp:
1441         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1442
1443 2008-07-01  Dan Bernstein  <mitz@apple.com>
1444
1445         Reviewed by Antti Koivisto.
1446
1447         - fix SVG pointer-events layout test failures
1448
1449         * css/SVGCSSParser.cpp:
1450         (WebCore::CSSParser::parseSVGValue):
1451
1452 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
1453
1454         Reviewed by Antti.
1455
1456         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
1457         Fix two small problems in the gradient & pattern code.
1458
1459         Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
1460
1461         * svg/SVGLinearGradientElement.cpp:
1462         (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
1463         * svg/SVGPatternElement.cpp:
1464         (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
1465         * svg/SVGRadialGradientElement.cpp:
1466         (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
1467         (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
1468
1469 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
1470
1471         Fix the build, include SVGTransformList.h instead of
1472         SVGTransformlist.h
1473
1474         * svg/SVGGradientElement.h:
1475
1476 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
1477
1478         Reviewed by Antti.
1479
1480         <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
1481         the first time.
1482
1483         Test: fast/encoding/preload-encoding.html
1484
1485         * html/PreloadScanner.cpp:
1486         (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
1487         starting a load.
1488
1489 2008-07-01  Nikolas Zimmermann  <zimmermann@kde.org>
1490
1491         Reviewed by Antti & Eric.
1492
1493         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
1494
1495         SVG Errata states: "All SVG DOM objects that directly correspond to an
1496         attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
1497         means that any changes made to the attribute are immediately reflected in the
1498         corresponding SVG DOM object." (see linked URL on bug report)
1499
1500         Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
1501         element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
1502
1503         Add a new synchronization layer to handle SVG DOM -> XML changes.
1504
1505         Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
1506         Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
1507         Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
1508
1509         Added test: svg/custom/svg-xml-dom-sync.html
1510         Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
1511
1512         * dom/Element.cpp:
1513         (WebCore::Element::Element): Initialize the two new bits.
1514         (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
1515         (WebCore::Element::getAttribute): Ditto.
1516         (WebCore::Element::hasAttributes): Ditto.
1517         * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
1518         (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
1519         * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
1520         * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1521         (WebCore::SVGAElement::contextElement): Return non-const value.
1522         * svg/SVGAltGlyphElement.h:
1523         (WebCore::SVGAltGlyphElement::contextElement): Ditto.
1524         * svg/SVGAnimateElement.h:
1525         (WebCore::SVGAnimateElement::contextElement): Ditto.
1526         * svg/SVGAnimateMotionElement.h:
1527         (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
1528         * svg/SVGAnimateTransformElement.h:
1529         (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
1530         * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
1531         (WebCore::SVGAnimatedTemplate::toString):
1532         (WebCore::SVGAnimatedTemplate::associatedAttributeName):
1533         (WebCore::lookupOrCreateWrapper):
1534         (WebCore::SVGAnimatedAngle::SVGAnimatedAngle): 
1535         (WebCore::SVGAnimatedAngle::toString):
1536         (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
1537         (WebCore::SVGAnimatedBoolean::toString):
1538         (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
1539         (WebCore::SVGAnimatedEnumeration::toString):
1540         (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
1541         (WebCore::SVGAnimatedInteger::toString):
1542         (WebCore::SVGAnimatedLength::SVGAnimatedLength):
1543         (WebCore::SVGAnimatedLength::toString):
1544         (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
1545         (WebCore::SVGAnimatedLengthList::toString):
1546         (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
1547         (WebCore::SVGAnimatedNumber::toString):
1548         (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
1549         (WebCore::SVGAnimatedNumberList::toString):
1550         (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
1551         (WebCore::SVGAnimatedPreserveAspectRatio::toString):
1552         (WebCore::SVGAnimatedRect::SVGAnimatedRect):
1553         (WebCore::SVGAnimatedRect::toString):
1554         (WebCore::SVGAnimatedString::SVGAnimatedString):
1555         (WebCore::SVGAnimatedString::toString):
1556         (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
1557         (WebCore::SVGAnimatedTransformList::toString):
1558         (WebCore::SVGAnimatedType::SVGAnimatedType):
1559         * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1560         * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1561         (WebCore::SVGCircleElement::contextElement): Return non-const value.
1562         * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1563         (WebCore::SVGClipPathElement::contextElement): Return non-const value.
1564         * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1565         * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
1566         * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1567         (WebCore::SVGCursorElement::SVGCursorElement):
1568         * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
1569         (WebCore::SVGCursorElement::contextElement): Return non-const value.
1570         * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1571         (WebCore::SVGDefsElement::contextElement): Return non-const value.
1572         * svg/SVGElement.cpp:
1573         (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
1574         (WebCore::SVGElement::setSynchronizedSVGAttributes):
1575         * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
1576         (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
1577         (StoredTypeWithDirtyFlag::operator=):
1578         (StoredTypeWithDirtyFlag::operator==):
1579         (StoredTypeWithDirtyFlag::operator!=):
1580         (StoredTypeWithDirtyFlag::operator StoredType):
1581         (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
1582         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
1583         (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
1584         * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1585         (WebCore::SVGEllipseElement::SVGEllipseElement):
1586         * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1587         (WebCore::SVGEllipseElement::contextElement): Return non-const value.
1588         * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
1589         * svg/SVGFEBlendElement.h:
1590         (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
1591         * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1592         * svg/SVGFEColorMatrixElement.h:
1593         (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
1594         * svg/SVGFEComponentTransferElement.h:
1595         (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
1596         * svg/SVGFECompositeElement.h:
1597         (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
1598         * svg/SVGFEDiffuseLightingElement.h:
1599         (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
1600         * svg/SVGFEDisplacementMapElement.h:
1601         (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
1602         * svg/SVGFEFloodElement.h:
1603         (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
1604         * svg/SVGFEGaussianBlurElement.h:
1605         (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
1606         * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1607         * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1608         (WebCore::SVGFEImageElement::contextElement): Return non-const value.
1609         * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
1610         * svg/SVGFEMergeElement.h:
1611         (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
1612         * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
1613         (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
1614         * svg/SVGFEOffsetElement.h:
1615         (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
1616         * svg/SVGFESpecularLightingElement.h:
1617         (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
1618         * svg/SVGFETileElement.h:
1619         (WebCore::SVGFETileElement::contextElement): Return non-const value.
1620         * svg/SVGFETurbulenceElement.h:
1621         (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
1622         * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1623         (WebCore::SVGFilterElement::SVGFilterElement):
1624         * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1625         (WebCore::SVGFilterElement::contextElement): Return non-const value.
1626         * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
1627         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
1628         * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1629         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
1630         * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1631         * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
1632         * svg/SVGFontElement.h:
1633         (WebCore::SVGFontElement::contextElement): Return non-const value.
1634         * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1635         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
1636         * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1637         (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
1638         * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1639         (WebCore::SVGGElement::contextElement): Return non-const value.
1640         * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1641         * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1642         * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
1643         (WebCore::SVGImageElement::SVGImageElement):
1644         * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1645         (WebCore::SVGImageElement::contextElement): Return non-const value.
1646         * svg/SVGLengthList.cpp:
1647         (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
1648         * svg/SVGLengthList.h:
1649         * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1650         (WebCore::SVGLineElement::SVGLineElement):
1651         * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1652         (WebCore::SVGLineElement::contextElement): Return non-const value.
1653         * svg/SVGLinearGradientElement.cpp:
1654         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
1655         (WebCore::SVGLinearGradientElement::collectGradientProperties):
1656         * svg/SVGLinearGradientElement.h:
1657         (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
1658         * svg/SVGMPathElement.h:
1659         (WebCore::SVGMPathElement::contextElement): Return non-const value.
1660         * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
1661         (WebCore::SVGMarkerElement::SVGMarkerElement):
1662         * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1663         (WebCore::SVGMarkerElement::contextElement): Return non-const value.
1664         * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1665         (WebCore::SVGMaskElement::SVGMaskElement):
1666         * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1667         (WebCore::SVGMaskElement::contextElement): Return non-const value.
1668         * svg/SVGNumberList.cpp:
1669         (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
1670         * svg/SVGNumberList.h:
1671         * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1672         (WebCore::SVGPathElement::contextElement): Return non-const value.
1673         * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
1674         (WebCore::SVGPatternElement::SVGPatternElement):
1675         (WebCore::SVGPatternElement::collectPatternProperties):
1676         * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1677         (WebCore::SVGPatternElement::contextElement): Return non-const value.
1678         * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1679         (WebCore::SVGPolyElement::contextElement): Return non-const value.
1680         * svg/SVGPreserveAspectRatio.cpp:
1681         (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
1682         * svg/SVGPreserveAspectRatio.h:
1683         * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1684         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
1685         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
1686         (WebCore::SVGRadialGradientElement::collectGradientProperties):
1687         * svg/SVGRadialGradientElement.h:
1688         (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
1689         * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1690         (WebCore::SVGRectElement::SVGRectElement):
1691         * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1692         (WebCore::SVGRectElement::contextElement): Return non-const value.
1693         * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1694         (WebCore::SVGSVGElement::SVGSVGElement):
1695         (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
1696         * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1697         (WebCore::SVGSVGElement::contextElement): Return non-const value.
1698         * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1699         (WebCore::SVGScriptElement::contextElement): Return non-const value.
1700         * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
1701         * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1702         * svg/SVGStyledTransformableElement.h:
1703         * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1704         (WebCore::SVGSwitchElement::contextElement): Return non-const value.
1705         * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1706         (WebCore::SVGSymbolElement::contextElement): Return non-const value.
1707         * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1708         (WebCore::SVGTRefElement::contextElement): Return non-const value.
1709         * svg/SVGTSpanElement.h:
1710         (WebCore::SVGTSpanElement::contextElement): Return non-const value.
1711         * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1712         (WebCore::SVGTextContentElement::SVGTextContentElement):
1713         * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1714         * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1715         * svg/SVGTextElement.h:
1716         (WebCore::SVGTextElement::contextElement): Return non-const value.
1717         * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1718         (WebCore::SVGTextPathElement::SVGTextPathElement):
1719         * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1720         (WebCore::SVGTextPathElement::contextElement): Return non-const value.
1721         * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
1722         * svg/SVGTextPositioningElement.h:
1723         * svg/SVGTransformList.cpp:
1724         (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
1725         * svg/SVGTransformList.h:
1726         * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
1727         * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
1728         (WebCore::SVGUseElement::SVGUseElement):
1729         * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1730         (WebCore::SVGUseElement::contextElement): Return non-const value.
1731         * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
1732         (WebCore::SVGViewElement::contextElement): Return non-const value.
1733         * svg/SVGViewSpec.cpp:
1734         (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
1735         (WebCore::SVGViewSpec::contextElement): Return non-const value.
1736         * svg/SVGViewSpec.h:
1737
1738 2008-07-01  Alex Mathews  <possessedpenguinbob@gmail.com>
1739
1740         Reviewed by Nikolas Zimmermann.
1741
1742         Class name changes for SVG Light Effect files. The class names that changed :
1743
1744         SVGLightSource -> LightSource
1745         SVGDistantLightSource -> DistantLightSource
1746         SVGPointLightSource -> PointLightSource
1747         SVGSpotLightSource -> SpotLightSource
1748
1749         Every other file that is changed is just propagating the class name changes to
1750         dependent files.
1751
1752         * svg/SVGFEDiffuseLightingElement.cpp:
1753         (WebCore::SVGFEDiffuseLightingElement::updateLights):
1754         * svg/SVGFEDistantLightElement.cpp:
1755         (WebCore::SVGFEDistantLightElement::lightSource):
1756         * svg/SVGFEDistantLightElement.h:
1757         * svg/SVGFELightElement.h:
1758         * svg/SVGFEPointLightElement.cpp:
1759         (WebCore::SVGFEPointLightElement::lightSource):
1760         * svg/SVGFEPointLightElement.h:
1761         * svg/SVGFESpecularLightingElement.cpp:
1762         (WebCore::SVGFESpecularLightingElement::updateLights):
1763         * svg/SVGFESpotLightElement.cpp:
1764         (WebCore::SVGFESpotLightElement::lightSource):
1765         * svg/SVGFESpotLightElement.h:
1766         * svg/graphics/filters/SVGDistantLightSource.h:
1767         (WebCore::DistantLightSource::DistantLightSource):
1768         (WebCore::DistantLightSource::azimuth):
1769         (WebCore::DistantLightSource::elevation):
1770         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1771         (WebCore::SVGFEDiffuseLighting::lightSource):
1772         (WebCore::SVGFEDiffuseLighting::setLightSource):
1773         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1774         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1775         (WebCore::SVGFESpecularLighting::lightSource):
1776         (WebCore::SVGFESpecularLighting::setLightSource):
1777         * svg/graphics/filters/SVGFESpecularLighting.h:
1778         * svg/graphics/filters/SVGLightSource.cpp:
1779         (WebCore::PointLightSource::externalRepresentation):
1780         (WebCore::SpotLightSource::externalRepresentation):
1781         (WebCore::DistantLightSource::externalRepresentation):
1782         * svg/graphics/filters/SVGLightSource.h:
1783         (WebCore::):
1784         (WebCore::LightSource::LightSource):
1785         (WebCore::LightSource::~LightSource):
1786         (WebCore::LightSource::type):
1787         * svg/graphics/filters/SVGPointLightSource.h:
1788         (WebCore::PointLightSource::PointLightSource):
1789         (WebCore::PointLightSource::position):
1790         * svg/graphics/filters/SVGSpotLightSource.h:
1791         (WebCore::SpotLightSource::SpotLightSource):
1792         (WebCore::SpotLightSource::position):
1793         (WebCore::SpotLightSource::direction):
1794         (WebCore::SpotLightSource::specularExponent):
1795         (WebCore::SpotLightSource::limitingConeAngle):
1796         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
1797         (WebCore::SVGFEDiffuseLighting::getCIFilter):
1798         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
1799         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
1800         (WebCore::getLightVectors):
1801         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
1802         (WebCore::SVGFESpecularLighting::getCIFilter):
1803
1804 2008-07-01  Alp Toker  <alp@nuanti.com>
1805
1806         Rubber-stamped by Holger.
1807
1808         autotools cleanup: move some GTK+-specific sources from libwebcore to
1809         libwebcoregtk.
1810
1811         * GNUmakefile.am:
1812
1813 2008-07-01  Dan Bernstein  <mitz@apple.com>
1814
1815         Reviewed by Oliver Hunt.
1816
1817         - fix the non-SVG build
1818
1819         * css/CSSValueKeywords.in: Added 'all'.
1820         * css/SVGCSSValueKeywords.in: Removed 'all'.
1821
1822 2008-07-01  Simon Hausmann  <hausmann@webkit.org>
1823
1824         Build fix, include DateInstance.h.
1825
1826         * bridge/qt/qt_runtime.cpp:
1827
1828 2008-06-30  Adele Peterson  <adele@apple.com>
1829
1830         Reviewed by Oliver.
1831
1832         Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
1833
1834         Test: fast/forms/search-hidden-cancel-button.html
1835
1836         * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
1837           Don't start capturing mouse events if the cancel button isn't visible.  This was causing the button to start but never stop capturing mouse events.
1838
1839 2008-06-30  Sam Weinig  <sam@webkit.org>
1840
1841         Rubber-stamped by Darin Adler.
1842
1843         Split InternalFunction into its own header file.
1844
1845         * ForwardingHeaders/kjs/InternalFunction.h: Added.
1846         * bridge/runtime_method.h:
1847
1848 2008-06-30  Adele Peterson  <adele@apple.com>
1849
1850         Reviewed by Anders.
1851
1852         Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
1853
1854         Test: editing/selection/select-all-textarea.html
1855
1856         * dom/Node.cpp:
1857         (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
1858         (WebCore::Node::shadowTreeRootNode): Added helper function.
1859         * dom/Node.h:
1860         * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
1861         * dom/Range.h:
1862         * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
1863         * editing/Selection.h:
1864         * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
1865         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
1866         If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
1867         * page/Frame.cpp:
1868         (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
1869         (WebCore::Frame::markAllMatchesForText): ditto.
1870
1871 2008-06-30  chris fleizach  <cfleizach@apple.com>
1872
1873         Reviewed by Beth Dakin
1874
1875         <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
1876
1877         * page/AccessibilityObject.cpp:
1878         (WebCore::AccessibilityObject::linkedUIElements):
1879         * page/AccessibilityObject.h:
1880         * page/AccessibilityRenderObject.cpp:
1881         (WebCore::AccessibilityRenderObject::internalLinkElement):
1882         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
1883         (WebCore::AccessibilityRenderObject::linkedUIElements):
1884         * page/AccessibilityRenderObject.h:
1885         * page/mac/AccessibilityObjectWrapper.mm:
1886         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1887
1888 2008-06-30  Dan Bernstein  <mitz@apple.com>
1889
1890         Reviewed by Adele Peterson.
1891
1892         - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
1893
1894         * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
1895         Frame::setSelectionBaseWritingDirection().
1896         * page/ContextMenuController.cpp:
1897         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
1898         call Frame::setSelectionBaseWritingDirection().
1899         * page/Frame.cpp:
1900         (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
1901         focused node is a text field or text area, changes its 'dir' attribute.
1902         This is what IE does when the user changes the writing direction in a
1903         text control. Otherwise, calls down to Editor::setBaseWritingDirection().
1904         * page/Frame.h:
1905
1906 2008-06-30  David Kilzer  <ddkilzer@apple.com>
1907
1908         Improve HTMLObjectElement data encapsulation
1909
1910         Reviewed by Dave Hyatt.
1911
1912         HTMLObjectElement has some public member variables that should be
1913         private with accessor methods.
1914
1915         No test cases added since there is no change in behavior.
1916
1917         * html/HTMLObjectElement.cpp:
1918         (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
1919         initialization of member variables to match defined order in header.
1920         * html/HTMLObjectElement.h:
1921         (WebCore::HTMLObjectElement::classId): Added.
1922         (WebCore::HTMLObjectElement::url): Added.
1923         (WebCore::HTMLObjectElement::serviceType): Added.
1924         * rendering/RenderPartObject.cpp:
1925         (WebCore::RenderPartObject::updateWidget): Use new accessor methods
1926         in HTMLObjectElement now that its member variables are private.
1927
1928 2008-06-30  Dan Bernstein  <mitz@apple.com>
1929
1930         Reviewed by Anders Carlsson.
1931
1932         - remove unused member variable
1933
1934         * page/Page.h: Removed Page::m_focusedNode.
1935
1936 2008-06-30  Anders Carlsson  <andersca@apple.com>
1937
1938         Reviewed by Adam.
1939
1940         <rdar://problem/6014209>
1941         Crash when loading manifest from application cache fails
1942         
1943         There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
1944         that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
1945         group could be deleted causing us to access freed memory and then crashing.
1946         
1947         * loader/appcache/ApplicationCacheGroup.cpp:
1948         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1949         (WebCore::ApplicationCacheGroup::didFail):
1950         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
1951
1952 2008-06-30  Adam Roben  <aroben@apple.com>
1953
1954         Fix <rdar://5954749> Assertion failure due to HashTable's use of
1955         operator&
1956
1957         Reviewed by Ada Chan.
1958
1959         * bindings/js/JSSVGPODTypeWrapper.h:
1960         * dom/Document.h:
1961         * dom/StyledElement.cpp:
1962         * platform/graphics/FontCache.cpp:
1963         * platform/graphics/IntSizeHash.h:
1964         (WTF::):
1965         * platform/text/StringHash.h:
1966         * platform/win/COMPtr.h:
1967         * svg/SVGAnimatedTemplate.h:
1968         Updated all custom HashTraits for HashTable changes.
1969
1970 2008-06-30  Simon Hausmann  <hausmann@webkit.org>
1971
1972         Fix the Qt build.
1973
1974         Added missing includes and changed getItem array calls to use get()
1975         instead.
1976
1977         * bridge/qt/qt_runtime.cpp:
1978         (KJS::Bindings::convertValueToQVariant):
1979
1980 2008-06-29  David Smith  <catfish.man@gmail.com>
1981
1982         Rubberstamped by Sam Weinig.
1983
1984         Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
1985
1986         * dom/TagNodeList.cpp:
1987         (WebCore::TagNodeList::nodeMatches):
1988
1989 2008-06-29  Dan Bernstein  <mitz@apple.com>
1990
1991         Reviewed by Darin Adler.
1992
1993         - fix SVG layout test regressions
1994
1995         * css/CSSFontSelector.cpp:
1996         (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
1997         again with primitive values, because the @font-face rules SVG fonts
1998         create still use a single primitive value rather than a value list.
1999
2000 2008-06-29  Dan Bernstein  <mitz@apple.com>
2001
2002         Reviewed by Sam Weinig.
2003
2004         - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
2005
2006         Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
2007                fast/css/font-face-descriptor-multiple-values.html
2008
2009         * css/CSSFontSelector.cpp:
2010         (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
2011         lists for the descriptor properties.
2012
2013         * css/CSSParser.cpp:
2014         (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
2015         (WebCore::CSSParser::parseValue): Added a call to
2016         deleteFontFaceOnlyValues() if necessary.
2017         (WebCore::CSSParser::parseDeclaration): Ditto.
2018         (WebCore::CSSParser::clearProperties): Added code to reset
2019         m_hasFontFaceOnlyValues to false.
2020         (WebCore::CSSParser::parseFontStyle): Added. If there is a single
2021         valid identifier other than 'all', creates a CSSPrimitiveValue and
2022         assigns it to the property. If 'all' is the only value, or if there are
2023         multiple valid identifiers that are not 'all', creates a CSSValueList
2024         and assigns it to the property, and sets m_hasFontFaceOnlyValues to
2025         true.
2026         (WebCore::CSSParser::parseFontVariant): Ditto.
2027         (WebCore::CSSParser::parseFontWeight): Ditto.
2028         (WebCore::CSSParser::createStyleRule): Added a call to
2029         deleteFontFaceOnlyValues().
2030         (WebCore::CSSParser::createFontFaceRule): Added code to change
2031         font descriptor properties that had only one value, and therefore were
2032         assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
2033         (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
2034         invalidates font descriptor properties that had values that are only
2035         allowed in @font-face. Those are identified by having CSSValueLists
2036         rather than CSSPrimitiveValues as their values.
2037         * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
2038         font descriptor property values that are only valid in @font-face were
2039         encountered. This is used when the style declaration is created (and we
2040         finally know if it is @font-face or not) to delete invalid properties
2041         if needed.
2042
2043 2008-06-28  Darin Adler  <darin@apple.com>
2044
2045         Reviewed by Sam and Cameron.
2046
2047         - fix https://bugs.webkit.org/show_bug.cgi?id=19805
2048           Array.concat turns missing array elements into "undefined"
2049
2050         * bridge/jni/jni_utility.cpp:
2051         (KJS::Bindings::convertArrayInstanceToJavaArray):
2052         Use get instead of getItem, since we always want to consider values from the
2053         prototypes when looking at JavaScript arrays.
2054
2055 2008-06-28  Dan Bernstein  <mitz@apple.com>
2056
2057         Reviewed by Darin Adler.
2058
2059         - allow document markers to touch or overlap if they are not of the same type
2060
2061         Cannot be tested in DumpRenderTree
2062
2063         * dom/Document.cpp:
2064         (WebCore::Document::addMarker):
2065         * rendering/InlineTextBox.cpp:
2066         (WebCore::InlineTextBox::paintDocumentMarkers):
2067
2068 2008-06-28  Sam Weinig  <sam@webkit.org>
2069
2070         Rubber-stamped by Darin Adler.
2071
2072         Update includes after remaming string_object.h to StringObject.h and
2073         splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
2074         and StringPrototype.
2075
2076         * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
2077         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
2078         * ForwardingHeaders/kjs/StringPrototype.h: Added.
2079         * ForwardingHeaders/kjs/string_object.h: Removed.
2080         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2081
2082 2008-06-28  Sam Weinig  <sam@webkit.org>
2083
2084         Rubber-stamped by Oliver Hunt.
2085
2086         Update includes after remaming object_object.h to ObjectPrototype.h and
2087         splitting FunctionConstructor out of FunctionPrototype.h
2088
2089         * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
2090         * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
2091         * ForwardingHeaders/kjs/object_object.h: Removed.
2092         * bindings/js/JSEventListener.cpp:
2093         * bindings/scripts/CodeGeneratorJS.pm:
2094         * bridge/qt/qt_instance.cpp:
2095
2096 2008-06-28  Dan Bernstein  <mitz@apple.com>
2097
2098         Reviewed by Darin Adler.
2099
2100         - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
2101
2102         * html/HTMLImageLoader.cpp:
2103         (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
2104         image if the 'src' attribute is the empty string and the document's base
2105         URI is a file: URL.
2106
2107 2008-06-27  Sam Weinig  <sam@webkit.org>
2108
2109         Reviewed by Dan Bernstein.
2110
2111         <rdar://problem/6025499> Make Cross-site XHR match the final specification
2112
2113         Update the implemented subset of Access-Control for XMLHttpRequest to the 
2114         latest version. (Editor's Draft 25 May 2008)
2115
2116         - Now differentiates between simple and non-simple cross-site requests, the later
2117           requiring a preflight.
2118         - Now sends request headers cross-site, limited by a blacklist.
2119         - Now allows access to cross-site response headers, limited by a whitelist.
2120         - Now sends request entity body for non-get cross-site requests after preflight.
2121
2122         Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
2123                http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
2124                http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
2125
2126         * xml/XMLHttpRequest.cpp:
2127         (WebCore::isOnAccessControllRequestHeaderBlackList):
2128         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
2129         (WebCore::isOnAccessControlResponseHeaderWhitelist):
2130         (WebCore::XMLHttpRequest::XMLHttpRequest):
2131         (WebCore::XMLHttpRequest::createRequest):
2132         (WebCore::XMLHttpRequest::makeSameOriginRequest):
2133         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
2134         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
2135         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
2136         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2137         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
2138         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2139         (WebCore::XMLHttpRequest::abort):
2140         (WebCore::XMLHttpRequest::clearRequest):
2141         (WebCore::XMLHttpRequest::setRequestHeader):
2142         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
2143         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2144         (WebCore::XMLHttpRequest::getResponseHeader):
2145         (WebCore::XMLHttpRequest::didFinishLoading):
2146         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
2147         (WebCore::XMLHttpRequest::didReceiveResponse):
2148         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
2149         (WebCore::XMLHttpRequest::didReceiveData):
2150         * xml/XMLHttpRequest.h:
2151
2152 2008-06-27  Sam Weinig  <sam@webkit.org>
2153
2154         Rubber-stamped by Mark Rowe.
2155
2156         Clean up sorting in WebCore.xcodeproj.
2157
2158         * WebCore.xcodeproj/project.pbxproj:
2159
2160 2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
2161
2162         Reviewed by Darin Adler.
2163
2164         Remove unnecessary options to make_names.pl command line
2165         http://bugs.webkit.org/show_bug.cgi?id=19777
2166
2167         * DerivedSources.make:
2168         * GNUmakefile.am:
2169
2170 2008-06-27  Adam Barth  <abarth@webkit.org>
2171
2172         Reviewed by Darin Adler.
2173
2174         https://bugs.webkit.org/show_bug.cgi?id=19784
2175
2176         Properly handle untermianted <!-- comments in <textarea>s.
2177
2178         Tests: fast/parser/open-comment-in-script-tricky.html
2179                fast/parser/open-comment-in-style.html
2180                fast/parser/open-comment-in-textarea.html
2181
2182         * html/HTMLTokenizer.cpp:
2183         (WebCore::HTMLTokenizer::finish):
2184
2185 2008-06-27  Adam Barth  <abarth@webkit.org>
2186
2187         Reviewed by Darin Alder.
2188
2189         Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
2190           Text areas in Wikipedia edit pages are empty, following content is missing
2191
2192         Don't treat entities as comment starters in parseSpecial.
2193
2194         Tests: fast/parser/comment-in-iframe.html
2195                fast/parser/entity-comment-in-iframe.html
2196                fast/parser/entity-comment-in-script-tricky.html
2197                fast/parser/entity-comment-in-style.html
2198                fast/parser/entity-comment-in-textarea.html
2199                fast/parser/entity-comment-in-title.html
2200
2201         * html/HTMLTokenizer.cpp:
2202         (WebCore::HTMLTokenizer::parseSpecial):
2203
2204 2008-06-27  Antti Koivisto  <antti@apple.com>
2205
2206         Reviewed by Oliver.
2207         
2208         <rdar://problem/6030720> 
2209         REGRESSION: Discrete animation between incompatible paths does not work
2210
2211         Fall back to discrete path animation if paths are not suitable for morphing.
2212         
2213         Test: svg/custom/animate-path-discrete.svg
2214         
2215         * svg/SVGAnimateElement.cpp:
2216         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2217
2218 2008-06-26  David Smith  <catfish.man@gmail.com>
2219
2220         Reviewed by Sam Weinig.
2221         
2222         https://bugs.webkit.org/show_bug.cgi?id=19002
2223         
2224         Optimize simple id selectors in querySelector/querySelectorAll. 
2225         ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
2226
2227         * dom/Document.h:
2228         (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
2229         * dom/Node.cpp:
2230         (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
2231         * dom/SelectorNodeList.cpp:
2232         (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
2233
2234 2008-06-26  Dan Bernstein  <mitz@apple.com>
2235
2236         Reviewed by Darin Adler.
2237
2238         - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
2239           http://bugs.webkit.org/show_bug.cgi?id=7023
2240
2241         Test: editing/selection/find-in-text-control.html
2242
2243         * WebCore.base.exp: Updated the TextIterator constructor signature.
2244
2245         * editing/TextIterator.cpp:
2246         (WebCore::TextIterator::TextIterator): Added an enterTextControls
2247         boolean parameter that determines whether the iterator should visit text
2248         inside text areas and text fields. Added code to initialize the
2249         m_inShadowContent member variable based on whether the range is in
2250         shadow content.
2251         (WebCore::TextIterator::advance): Added code to step out of shadow
2252         content.
2253         (WebCore::TextIterator::handleReplacedElement): Added code to enter
2254         text controls if desired.
2255         (WebCore::CharacterIterator::CharacterIterator): Added an
2256         enterTextControls boolean parameter that determines whether the iterator
2257         should visit text inside text areas and text fields. This is passed to
2258         the TextIterator constructor.
2259         (WebCore::findPlainText): Changed to use a CharacterIterator that
2260         visits text controls.
2261
2262         * editing/TextIterator.h: Added member variables to track whether the
2263         current node is in a shadow tree and whether the iterator should visit
2264         text controls.
2265
2266         * page/Frame.cpp:
2267         (WebCore::Frame::findString): Changed to find inside text controls.
2268         (WebCore::Frame::markAllMatchesForText): Ditto.
2269
2270         * rendering/RenderTextControl.cpp:
2271         (WebCore::RenderTextControl::innerTextElement): Added.
2272         * rendering/RenderTextControl.h: Added innerTextElement(), a private
2273         accessor method that is accessible to TextIterator through class
2274         friendship.
2275
2276 2008-06-26  Darin Adler  <darin@apple.com>
2277
2278         Reviewed by Geoff.
2279
2280         * bridge/runtime.h: Added include of JSString.h since jsString will soon
2281         change to return a JSString*.
2282
2283 2008-06-26  Adele Peterson  <adele@apple.com>
2284
2285         Fix suggested by Eric Carlson, added by me, reviewed by Adam.
2286
2287         Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
2288
2289         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
2290         Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
2291
2292 2008-06-26  Sam Weinig  <sam@webkit.org>
2293
2294         Reviewed by John Sullivan.
2295
2296         <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
2297
2298         * loader/FrameLoader.cpp:
2299         (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the 
2300         DOMWindow when opening a CachedPage.
2301
2302 2008-06-26  Eric Seidel  <eric@webkit.org>
2303
2304         Reviewed by Beth Dakin.
2305
2306         CSS @import statements can cause DocLoader to use
2307         a dead Frame pointer.
2308         https://bugs.webkit.org/show_bug.cgi?id=19618
2309         
2310         The fix is to get rid of the Frame pointer on DocLoader.
2311         
2312         I also took this opportunity to clean up Document::detach
2313         a little to make it clear why we clear the m_frame pointer
2314         there, and to note that in the future we should stop
2315         using Node::detach to mean "tear down the whole rendering
2316         tree and detach from the frame".
2317
2318         Test: I don't know how to make a good test for this, the test
2319         we have is network timing dependent and does not make a good
2320         layout test.
2321
2322         * dom/Document.cpp:
2323         (WebCore::Document::Document):
2324         (WebCore::Document::detach):
2325         (WebCore::Document::clearFramePointer):
2326         * dom/Document.h:
2327         * loader/DocLoader.cpp:
2328         (WebCore::DocLoader::frame):
2329         * loader/DocLoader.h:
2330
2331 2008-06-26  Anders Carlsson  <andersca@apple.com>
2332
2333         Reviewed by Brady.
2334
2335         Don't enumerate document.applets trying to determine if a page contains applets.
2336         Instead, set m_containsPlugIns to true when an applet has been created.
2337         
2338         * loader/FrameLoader.cpp:
2339         (WebCore::FrameLoader::canCachePage):
2340         (WebCore::FrameLoader::createJavaAppletWidget):
2341
2342 2008-06-26  Alexey Proskuryakov  <ap@webkit.org>
2343
2344         Reviewed by Maciej.
2345
2346         Make JSGlobalData per-thread.
2347
2348         * bindings/js/JSDOMBinding.h:
2349         (WebCore::DOMObject::DOMObject):
2350         * bindings/js/JSDOMWindowBase.cpp:
2351         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2352         * bridge/runtime_object.cpp:
2353         (RuntimeObjectImp::RuntimeObjectImp):
2354         Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
2355         there is no danger for them to be collected on a wrong thread.
2356
2357 2008-06-26  Holger Hans Peter Freyther  <zecke@selfish.org>
2358
2359         Reviewed by Simon.
2360
2361         [svg] Disable plugins for SVG images
2362         The Qt platform allows to have a plugin factory per Page. Now SVG Images
2363         are using a Page and dummy/empty clients for Chrome. The only way to get
2364         the kit from the WebCore::Page is to go through the ChromeClient but this
2365         is not possible when the ChromeClient is an empty client. This leads to a
2366         crash in PluginDataQt.cpp. One way to avoid this would have been the
2367         addition of a rtti like field to ChromeClient to see if it is an empty
2368         client. The other possibility is to not enable plugins for images.
2369
2370         The SVGImage relies on the fact that the document is a SVGDocument and
2371         that the rootElement is a SVGSVGElement. If plugins are used we could
2372         end up with a PluginDocument and crash badly. Do not try to use plugins
2373         if plugins are disabled for the WebCore::Page.
2374
2375         * dom/DOMImplementation.cpp:
2376         (WebCore::DOMImplementation::createDocument):
2377         * svg/graphics/SVGImage.cpp:
2378         (WebCore::SVGImage::dataChanged):
2379
2380 2008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>
2381
2382         Reviewed by Simon.
2383
2384         CodingStyle fixes
2385
2386         * platform/graphics/qt/SimpleFontDataQt.cpp:
2387         (WebCore::SimpleFontData::SimpleFontData):
2388
2389 2008-06-25  Holger Hans Peter Freyther  <zecke@selfish.org>
2390
2391         Reviewed by Simon.
2392
2393         [svg] Make QtWebKit build more of the SVG support
2394         Add the proper defines and files, update SVGResourceFilterQt.cpp
2395         to be enabled by the filter option and not by experimental svg support
2396
2397         * WebCore.pro:
2398         * svg/graphics/qt/SVGResourceFilterQt.cpp:
2399         (WebCore::SVGResourceFilter::createPlatformData):
2400         (WebCore::SVGResourceFilter::prepareFilter):
2401
2402 2008-06-25  Sam Weinig  <sam@webkit.org>
2403
2404         Reviewed by Brady Eidson.
2405
2406         Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
2407
2408         * xml/XMLHttpRequest.cpp:
2409         (WebCore::XMLHttpRequest::readyState):
2410         (WebCore::XMLHttpRequest::changeState):
2411         (WebCore::XMLHttpRequest::open):
2412         * xml/XMLHttpRequest.h:
2413         (WebCore::XMLHttpRequest::create):
2414         (WebCore::XMLHttpRequest::):
2415
2416 2008-06-25  Justin Garcia  <justin.garcia@apple.com>
2417
2418         Reviewed by John.
2419
2420         <rdar://problem/5994480> Line break lost on some pastes
2421         
2422         Merging the the first paragraph of inserted content with the content that came
2423         before the selection that was pasted into would also move content after 
2424         the selection that was pasted into if:
2425         
2426         1) Only one paragraph was being pasted, and it was not wrapped in a block
2427         2) The selection that was pasted into ended at the end of a block
2428         3) The next paragraph didn't start at the start of a block.
2429         
2430         Insert a line break just after the inserted content to separate it from what 
2431         comes after and prevent that from happening.
2432         
2433         Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
2434         when deleting a paragraph that started or ended with an input element.  This was
2435         because its m_startBlock and m_endBlock were still computed with the old deprecated
2436         enclosingBlockFlowOrTableElement().
2437         
2438         * editing/DeleteSelectionCommand.cpp:
2439         (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
2440         getting an enclosing block.
2441         (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
2442         block will return 0 if it reaches the root editable element before finding a block,
2443         so if we're deleting inside an inline editable root, m_start/endBlock will
2444         be 0.  Removed an early return for this case (we already have test coverage for it).
2445         * editing/ReplaceSelectionCommand.cpp:
2446         (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted 
2447         content to separate it from what comes after.
2448         * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
2449         * dom/Node.cpp: Ditto.
2450
2451 2008-06-25  Anders Carlsson  <andersca@apple.com>
2452
2453         Reviewed by Dave Hyatt.
2454
2455         Fix refcount leak in CSSVariablesRule.
2456
2457         * css/CSSParser.cpp:
2458         (WebCore::CSSParser::createVariablesRule):
2459         * css/CSSVariablesRule.h:
2460         (WebCore::CSSVariablesRule::create):
2461         (WebCore::CSSVariablesRule::setDeclaration):
2462
2463 2008-06-25  Anders Carlsson  <andersca@apple.com>
2464
2465         Reviewed by Mitz.
2466
2467         <rdar://problem/6007111> 
2468         https://bugs.webkit.org/show_bug.cgi?id=19516
2469         DOM modification causes Access Violation (NULL pointer?)
2470         
2471         Null check the document element.
2472         
2473         * html/HTMLParser.cpp:
2474         (WebCore::HTMLParser::handleError):
2475
2476 2008-06-25  Dan Bernstein  <mitz@apple.com>
2477
2478         Reviewed by Dave Hyatt.
2479
2480         - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
2481
2482         - fix https://bugs.webkit.org/show_bug.cgi?id=18863
2483           <rdar://problem/5908890> weight mappings with @font-face aren't consistent
2484
2485         Tests: fast/css/font-face-locally-installed.html
2486                fast/css/font-face-multiple-faces.html
2487
2488         * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
2489
2490         * WebCore.xcodeproj/project.pbxproj: Ditto.
2491
2492         * css/CSSFontFace.h:
2493         Made CSSFontFace store descriptors from the @font-face rule, as follows:
2494         (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
2495         (WebCore::CSSFontFace::traitsMask): Added this accessor.
2496         (WebCore::CSSFontFace::addRange): Added.
2497         (WebCore::CSSFontFace::ranges): Added.
2498         (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
2499         (WebCore::CSSFontFace::UnicodeRange::from):
2500         (WebCore::CSSFontFace::UnicodeRange::to):
2501         (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
2502         of UnicodeRanges as member variables.
2503
2504         * css/CSSFontFaceSource.cpp:
2505         Changed the hash key from the font size alone to the font size and
2506         the synthetic style bits, needed if the same source supplies different
2507         synthesized versions.
2508         (WebCore::CSSFontFaceSource::pruneTable):
2509         (WebCore::CSSFontFaceSource::getFontData):
2510
2511         * css/CSSFontFaceSource.h:
2512
2513         * css/CSSFontSelector.cpp:
2514         (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
2515         the contents of the font face, locally-installed font face and segmented
2516         font tables.
2517         (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
2518         not create segmented font faces, but instead just collect font faces
2519         and annotate them with descriptors (traits and unicode ranges).
2520         (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
2521         font faces by proximity to the desired traits.
2522         (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
2523         font face here and cache it.
2524
2525         * css/CSSFontSelector.h:
2526
2527         * css/CSSSegmentedFontFace.cpp:
2528         Changed to keep a vector of font faces instead of font face ranges, as
2529         font faces now know their Unicode ranges.
2530         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
2531         (WebCore::CSSSegmentedFontFace::isLoaded):
2532         (WebCore::CSSSegmentedFontFace::isValid):
2533         (WebCore::CSSSegmentedFontFace::appendFontFace):
2534         (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
2535         traits parameters, and instead changed to set them on each FontData
2536         separately based on the difference between the desired traits and
2537         the font face's traits.
2538
2539         * css/CSSSegmentedFontFace.h:
2540
2541         * platform/graphics/FontCache.h:
2542         Removed fontExists() and added getTraitsInFamily().
2543
2544         * platform/graphics/FontDescription.cpp:
2545         (WebCore::FontDescription::traitsMask): Added.
2546
2547         * platform/graphics/FontDescription.h:
2548
2549         * platform/graphics/FontTraitsMask.h: Added.
2550
2551         * platform/graphics/GlyphPageTreeNode.cpp:
2552         (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
2553         glyphs from all fonts in the segmented font, using each font in turn to
2554         fill in characters not covered by earlier fonts.
2555
2556         * platform/graphics/gtk/FontCacheGtk.cpp:
2557         (WebCore::FontCache::getTraitsInFamily): Added a stub.
2558
2559         * platform/graphics/mac/FontCacheMac.mm:
2560         (WebCore::FontCache::getTraitsInFamily): Added.
2561
2562         * platform/graphics/qt/FontCacheQt.cpp:
2563         (WebCore::FontCache::getTraitsInFamily): Added a stub.
2564
2565         * platform/graphics/win/FontCacheWin.cpp:
2566         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
2567         (WebCore::traitsInFamilyEnumProc): Added.
2568         (WebCore::FontCache::getTraitsInFamily): Added.
2569
2570         * platform/graphics/wx/FontCacheWx.cpp:
2571         (WebCore::FontCache::getTraitsInFamily): Added a stub.
2572
2573         * platform/mac/WebFontCache.h:
2574         * platform/mac/WebFontCache.mm:
2575         (toTraitsMask): Added.
2576         (+[WebFontCache getTraits:inFamily:]): Added.
2577
2578 2008-06-24  Anonymous
2579
2580         Reviewed by Darin Adler.  Committed by Adam Barth.
2581
2582         https://bugs.webkit.org/show_bug.cgi?id=19470
2583
2584         Check for a null documentElement() to fix four crashes.
2585
2586         * WebCore/dom/Document.cpp:
2587         * WebCore/dom/Node.cpp:
2588
2589 2008-06-24  Adam Barth  <abarth@webkit.org>
2590
2591         Reviewed by Darin Adler.
2592
2593         Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
2594
2595         Correctly parse <!-- </textarea> --> inside a <textarea>, matching
2596         Internet Explorer, Firefox, Opera, and HTML 5.
2597
2598         Tests: fast/parser/comment-in-script-tricky.html
2599                fast/parser/comment-in-style.html
2600                fast/parser/comment-in-textarea.html
2601                fast/parser/comment-in-title.html
2602
2603         * html/HTMLTokenizer.cpp:
2604         (WebCore::HTMLTokenizer::parseSpecial):
2605
2606 2008-06-24  Justin Garcia  <justin.garcia@apple.com>
2607
2608         Reviewed by John.
2609
2610         <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
2611         
2612         * editing/CompositeEditCommand.cpp:
2613         (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
2614         apply styles from the moved paragraph to the destination with applyStyle, which
2615         does selection preservation when it needs to apply block styles.  Selection preservation 
2616         uses relatively untested code in TextIterator to count VisiblePositions which fails in 
2617         this particular test case because it doesn't handle changes in editability properly.  
2618         We can avoid this bug by not applying block styles from moved paragraphs.  This is 
2619         something that should be done anyway, since the moved paragraph should assume the 
2620         block styles of the destination.
2621         * editing/EditCommand.cpp:
2622         (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
2623         this function to also include the typing style.
2624         * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
2625         is buggy and should be phased out when we rewrite moveParagraphs.
2626
2627 2008-06-24  Kevin McCullough  <kmccullough@apple.com>
2628
2629         -Added a manual test for the profiler.
2630
2631         * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
2632
2633 2008-06-24  Sam Weinig  <sam@webkit.org>
2634
2635         Reviewed by Anders Carlsson.
2636
2637         Add support for loadstart, abort and error events for XMLHttpRequests.
2638
2639         Tests: http/tests/xmlhttprequest/onabort-event.html
2640                http/tests/xmlhttprequest/onerror-event.html
2641                http/tests/xmlhttprequest/onloadstart-event.html
2642
2643         * bindings/js/JSXMLHttpRequestCustom.cpp:
2644         (WebCore::JSXMLHttpRequest::mark):
2645         (WebCore::JSXMLHttpRequest::onreadystatechange):
2646         (WebCore::JSXMLHttpRequest::onabort):
2647         (WebCore::JSXMLHttpRequest::setOnabort):
2648         (WebCore::JSXMLHttpRequest::onerror):
2649         (WebCore::JSXMLHttpRequest::setOnerror):
2650         (WebCore::JSXMLHttpRequest::onload):
2651         (WebCore::JSXMLHttpRequest::onloadstart):
2652         (WebCore::JSXMLHttpRequest::setOnloadstart):
2653         (WebCore::JSXMLHttpRequest::onprogress):
2654         * dom/EventNames.h:
2655         * xml/XMLHttpRequest.cpp:
2656         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2657         (WebCore::XMLHttpRequest::createRequest):
2658         (WebCore::XMLHttpRequest::abort):
2659         (WebCore::XMLHttpRequest::networkError):
2660         (WebCore::XMLHttpRequest::abortError):
2661         (WebCore::XMLHttpRequest::didFail):
2662         (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
2663         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
2664         (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
2665         (WebCore::XMLHttpRequest::dispatchAbortEvent):
2666         (WebCore::XMLHttpRequest::dispatchErrorEvent):
2667         (WebCore::XMLHttpRequest::dispatchLoadEvent):
2668         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
2669         (WebCore::XMLHttpRequest::dispatchProgressEvent):
2670         * xml/XMLHttpRequest.h:
2671         (WebCore::XMLHttpRequest::setOnAbortListener):
2672         (WebCore::XMLHttpRequest::onAbortListener):
2673         (WebCore::XMLHttpRequest::setOnErrorListener):
2674         (WebCore::XMLHttpRequest::onErrorListener):
2675         (WebCore::XMLHttpRequest::setOnLoadStartListener):
2676         (WebCore::XMLHttpRequest::onLoadStartListener):
2677         * xml/XMLHttpRequest.idl:
2678
2679 2008-06-24  Anders Carlsson  <andersca@apple.com>
2680
2681         Reviewed by Mitz.
2682
2683         <rdar://problem/5957606>
2684         CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
2685
2686         Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
2687         in case the call do didFail starts a new run loop.
2688         
2689         * loader/NetscapePlugInStreamLoader.cpp:
2690         (WebCore::NetscapePlugInStreamLoader::didCancel):
2691
2692 2008-06-24  Alexey Proskuryakov  <ap@webkit.org>
2693
2694         Release build fix.
2695
2696         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2697         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2698         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2699         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2700         Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
2701
2702 2008-06-24  Alexey Proskuryakov  <ap@webkit.org>
2703
2704         Reviewed by Darin.
2705
2706         https://bugs.webkit.org/show_bug.cgi?id=19723
2707         REGRESSION(r34648): Some SVG tests crash when running under --threaded
2708
2709         * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
2710         to paint during document destruction, because rendering structures are not kept in a
2711         consistent state then.
2712
2713 2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
2714
2715         Reviewed by Darin.
2716
2717         https://bugs.webkit.org/show_bug.cgi?id=19727
2718
2719         Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
2720         many times in Cairo and Qt ports.
2721
2722         * platform/graphics/GraphicsContext.h:
2723         * platform/graphics/GraphicsContext.cpp:
2724         (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
2725         which indicates whether there is a visible shadow to draw or not.  Ports
2726         without a platform shadow implementation can use this flag to determine
2727         whether a shadow needs to be drawn manually
2728         * platform/graphics/cairo/FontCairo.cpp:
2729         (WebCore::Font::drawGlyphs):
2730         * platform/graphics/qt/FontQt.cpp:
2731         (WebCore::Font::drawText):
2732         * platform/graphics/qt/GraphicsContextQt.cpp:
2733         (WebCore::GraphicsContext::drawLine): use return from getShadow() to
2734         determine whether to draw the shadow
2735
2736 2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
2737
2738         Reviewed by Simon.
2739
2740         https://bugs.webkit.org/show_bug.cgi?id=18459
2741
2742         Clean up and remove unused platform shadow code.
2743
2744         Minor edits by Simon, removed unused TextShadow struct.
2745
2746         * platform/graphics/qt/GraphicsContextQt.cpp:
2747         (WebCore::GraphicsContext::setPlatformShadow):
2748         (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
2749         platform shadow, so just make these functions empty.  The shadows are
2750         drawn manually in function like drawLine(), etc.
2751
2752 2008-06-24  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
2753
2754         Reviewed by Simon.
2755
2756         https://bugs.webkit.org/show_bug.cgi?id=18459
2757
2758         Implemented basic text-shadow support for the Qt port.
2759
2760         * platform/graphics/qt/FontQt.cpp:
2761         (WebCore::Font::drawText): implement text-shadow support in the Qt port
2762         * platform/graphics/qt/GraphicsContextQt.cpp:
2763         (WebCore::GraphicsContext::drawLine): also draw shadows for text
2764         decorations such as unerlines
2765
2766 2008-06-24  Simon Hausmann  <hausmann@webkit.org>
2767
2768         Fix the Qt build, adapt to various JSCore API changes.
2769
2770         * bridge/qt/qt_instance.cpp:
2771         (KJS::Bindings::QtRuntimeObjectImp::construct):
2772         (KJS::Bindings::QtInstance::getRuntimeObject):
2773         (KJS::Bindings::QtInstance::invokeDefaultMethod):
2774         * bridge/qt/qt_runtime.cpp:
2775         (KJS::Bindings::convertQVariantToValue):
2776         (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
2777         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2778         (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
2779         (KJS::Bindings::QtConnectionObject::execute):
2780         * bridge/qt/qt_runtime.h:
2781         (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
2782
2783 2008-06-24  Alexey Proskuryakov  <ap@webkit.org>
2784
2785         Remove XMLHttpRequestProgressEvent.cpp from more project files.
2786
2787         * GNUmakefile.am:
2788         * WebCore.pro:
2789
2790 2008-06-24  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2791
2792         Reviewed by Simon.
2793
2794         For the Qt port, fix linking with MinGW.
2795
2796         * WebCore.pro:
2797
2798 2008-06-23  Darin Adler  <darin@apple.com>
2799
2800         Reviewed by Geoff.
2801
2802         Update for JavaScript changes.
2803
2804         - Use CallData and ConstructData instead of the obsolete implementsCall,
2805           callAsFunction, and construct functions.
2806
2807         - Updated native function arguments, specifically to allow a JSValue
2808           rather than a JSObject for the this argument, and to call toThisObject
2809           as needed when treating it as an object.
2810
2811         - Made some more class members private and protected, including virtual
2812           function overrides.
2813
2814         - Eliminated the use of getCallData in the JavaScript bridging code as
2815           a way to check if an instance supports invokeDefaultMethod.
2816
2817         - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
2818           classes. They were using virtual functions simply to share an instance
2819           of the RefCounted template, which was not helpful.
2820
2821         * bindings/js/JSAudioConstructor.cpp:
2822         (WebCore::constructAudio):
2823         (WebCore::JSAudioConstructor::getConstructData):
2824         * bindings/js/JSAudioConstructor.h:
2825         (WebCore::JSAudioConstructor::document):
2826         (WebCore::JSAudioConstructor::classInfo):
2827         * bindings/js/JSClipboardCustom.cpp:
2828         (WebCore::JSClipboard::types):
2829         * bindings/js/JSCustomSQLStatementCallback.cpp:
2830         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2831         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2832         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2833         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2834         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2835         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2836         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2837         * bindings/js/JSCustomVoidCallback.cpp:
2838         (WebCore::JSCustomVoidCallback::handleEvent):
2839         * bindings/js/JSCustomXPathNSResolver.cpp:
2840         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2841         * bindings/js/JSDOMBinding.h:
2842         (WebCore::DOMObject::DOMObject):
2843         * bindings/js/JSDOMWindowBase.cpp:
2844         (WebCore::windowProtoFuncAToB):
2845         (WebCore::windowProtoFuncBToA):
2846         (WebCore::windowProtoFuncOpen):
2847         (WebCore::windowProtoFuncSetTimeout):
2848         (WebCore::windowProtoFuncClearTimeout):
2849         (WebCore::windowProtoFuncSetInterval):
2850         (WebCore::windowProtoFuncAddEventListener):
2851         (WebCore::windowProtoFuncRemoveEventListener):
2852         (WebCore::windowProtoFuncShowModalDialog):
2853         (WebCore::windowProtoFuncNotImplemented):
2854         (WebCore::toJSDOMWindow):
2855         * bindings/js/JSDOMWindowBase.h:
2856         * bindings/js/JSDOMWindowShell.h:
2857         (WebCore::JSDOMWindowShell::classInfo):
2858         * bindings/js/JSEventListener.cpp:
2859         (WebCore::JSAbstractEventListener::handleEvent):
2860         (WebCore::JSLazyEventListener::parseCode):
2861         * bindings/js/JSEventTargetBase.cpp:
2862         (WebCore::retrieveEventTargetAndCorrespondingNode):
2863         (WebCore::jsEventTargetAddEventListener):
2864         (WebCore::jsEventTargetRemoveEventListener):
2865         (WebCore::jsEventTargetDispatchEvent):
2866         * bindings/js/JSEventTargetBase.h:
2867         * bindings/js/JSHTMLAppletElementCustom.cpp:
2868         (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
2869         (WebCore::JSHTMLAppletElement::customPut):
2870         (WebCore::JSHTMLAppletElement::getCallData):
2871         * bindings/js/JSHTMLCollectionCustom.cpp:
2872         (WebCore::callHTMLCollection):
2873         (WebCore::JSHTMLCollection::getCallData):
2874         * bindings/js/JSHTMLDocumentCustom.cpp:
2875         (WebCore::JSHTMLDocument::open):
2876         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2877         (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
2878         (WebCore::JSHTMLEmbedElement::customPut):
2879         (WebCore::JSHTMLEmbedElement::getCallData):
2880         * bindings/js/JSHTMLInputElementBase.cpp:
2881         (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
2882         * bindings/js/JSHTMLInputElementBase.h:
2883         * bindings/js/JSHTMLObjectElementCustom.cpp:
2884         (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
2885         (WebCore::JSHTMLObjectElement::customPut):
2886         (WebCore::JSHTMLObjectElement::getCallData):
2887         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2888         (WebCore::constructHTMLOptionElement):
2889         (WebCore::JSHTMLOptionElementConstructor::getConstructData):
2890         * bindings/js/JSHTMLOptionElementConstructor.h:
2891         (WebCore::JSHTMLOptionElementConstructor::document):
2892         (WebCore::JSHTMLOptionElementConstructor::classInfo):
2893         * bindings/js/JSImageConstructor.cpp:
2894         (WebCore::constructImage):
2895         (WebCore::JSImageConstructor::getConstructData):
2896         * bindings/js/JSImageConstructor.h:
2897         (WebCore::JSImageConstructor::document):
2898         (WebCore::JSImageConstructor::classInfo):
2899         * bindings/js/JSInspectedObjectWrapper.h:
2900         (WebCore::JSInspectedObjectWrapper::classInfo):
2901         * bindings/js/JSInspectorCallbackWrapper.cpp:
2902         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
2903         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2904         (WebCore::JSJavaScriptCallFrame::scopeChain):
2905         * bindings/js/JSNodeFilterCondition.cpp:
2906         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2907         (WebCore::JSNodeFilterCondition::mark):
2908         (WebCore::JSNodeFilterCondition::acceptNode):
2909         * bindings/js/JSNodeFilterCondition.h:
2910         (WebCore::JSNodeFilterCondition::create):
2911         * bindings/js/JSNodeFilterCustom.cpp:
2912         (WebCore::toNodeFilter):
2913         * bindings/js/JSNodeListCustom.cpp:
2914         (WebCore::callNodeList):
2915         (WebCore::JSNodeList::getCallData):
2916         (WebCore::JSNodeList::canGetItemsForName):
2917         (WebCore::JSNodeList::nameGetter):
2918         * bindings/js/JSPluginElementFunctions.cpp:
2919         (WebCore::runtimeObjectGetter):
2920         (WebCore::runtimeObjectPropertyGetter):
2921         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
2922         (WebCore::runtimeObjectCustomPut):
2923         (WebCore::runtimeObjectGetCallData):
2924         (WebCore::pluginInstance):
2925         (WebCore::getRuntimeObject):
2926         (WebCore::callPlugin):
2927         * bindings/js/JSPluginElementFunctions.h:
2928         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2929         (WebCore::JSQuarantinedObjectWrapper::put):
2930         (WebCore::JSQuarantinedObjectWrapper::construct):
2931         (WebCore::JSQuarantinedObjectWrapper::getConstructData):
2932         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
2933         (WebCore::JSQuarantinedObjectWrapper::call):
2934         (WebCore::JSQuarantinedObjectWrapper::getCallData):
2935         * bindings/js/JSQuarantinedObjectWrapper.h:
2936         (WebCore::JSQuarantinedObjectWrapper::className):
2937         * bindings/js/JSRGBColor.cpp:
2938         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2939         (WebCore::constructXMLHttpRequest):
2940         (WebCore::JSXMLHttpRequestConstructor::getConstructData):
2941         * bindings/js/JSXMLHttpRequestConstructor.h:
2942         (WebCore::JSXMLHttpRequestConstructor::document):
2943         (WebCore::JSXMLHttpRequestConstructor::classInfo):
2944         * bindings/js/JSXSLTProcessorConstructor.cpp:
2945         (WebCore::constructXSLTProcessor):
2946         (WebCore::JSXSLTProcessorConstructor::getConstructData):
2947         * bindings/js/JSXSLTProcessorConstructor.h:
2948         (WebCore::JSXSLTProcessorConstructor::classInfo):
2949         * bindings/js/ScheduledAction.cpp:
2950         (WebCore::ScheduledAction::ScheduledAction):
2951         (WebCore::ScheduledAction::execute):
2952         * bindings/js/ScheduledAction.h:
2953         * bindings/objc/WebScriptObject.mm:
2954         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2955         * bindings/scripts/CodeGeneratorJS.pm:
2956         * bridge/NP_jsobject.cpp:
2957         (_NPN_InvokeDefault):
2958         (_NPN_Invoke):
2959         * bridge/c/c_instance.cpp:
2960         (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
2961         * bridge/c/c_instance.h:
2962         * bridge/jni/jni_jsobject.mm:
2963         (JavaJSObject::call):
2964         * bridge/objc/objc_instance.h:
2965         * bridge/objc/objc_instance.mm:
2966         (ObjcInstance::supportsInvokeDefaultMethod):
2967         * bridge/objc/objc_runtime.h:
2968         (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
2969         (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
2970         * bridge/objc/objc_runtime.mm:
2971         (Bindings::webScriptObjectClass):
2972         (Bindings::webUndefinedClass):
2973         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2974         (callObjCFallbackObject):
2975         (ObjcFallbackObjectImp::getCallData):
2976         * bridge/qt/qt_instance.h:
2977         * bridge/runtime.cpp:
2978         (KJS::Bindings::Instance::createRuntimeObject):
2979         (KJS::Bindings::Instance::getInstance):
2980         * bridge/runtime.h:
2981         (KJS::Bindings::Field::~Field):
2982         (KJS::Bindings::Method::~Method):
2983         (KJS::Bindings::Class::~Class):
2984         (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
2985         * bridge/runtime_method.cpp:
2986         (KJS::callRuntimeMethod):
2987         (KJS::RuntimeMethod::getCallData):
2988         * bridge/runtime_method.h:
2989         (KJS::RuntimeMethod::methods):
2990         * bridge/runtime_object.cpp:
2991         (RuntimeObjectImp::defaultValue):
2992         (callRuntimeObject):
2993         (RuntimeObjectImp::getCallData):
2994         * bridge/runtime_object.h:
2995         (KJS::RuntimeObjectImp::getInternalInstance):
2996         (KJS::RuntimeObjectImp::classInfo):
2997         * dom/NodeIterator.h:
2998         * dom/Traversal.cpp:
2999         * dom/Traversal.h:
3000         * dom/TreeWalker.h:
3001
3002 2008-06-23  Adam Barth  <abarth@webkit.org>
3003
3004         Reviewed by Darin Adler.
3005
3006         https://bugs.webkit.org/show_bug.cgi?id=16756
3007
3008         Move isAllowedToLoadLocalResources into SecurityOrigin.
3009
3010         * dom/Document.cpp:
3011         (WebCore::Document::Document):
3012         (WebCore::Document::setURL):
3013         (WebCore::Document::initSecurityContext):
3014         * dom/Document.h:
3015         * loader/FrameLoader.cpp:
3016         (WebCore::FrameLoader::canLoad):
3017         * platform/SecurityOrigin.cpp:
3018         (WebCore::SecurityOrigin::SecurityOrigin):
3019         (WebCore::SecurityOrigin::isLocal):
3020         * platform/SecurityOrigin.h:
3021         (WebCore::SecurityOrigin::protocol):
3022         (WebCore::SecurityOrigin::host):
3023         (WebCore::SecurityOrigin::domain):
3024         (WebCore::SecurityOrigin::port):
3025         (WebCore::SecurityOrigin::canLoadLocalResources):
3026         (WebCore::SecurityOrigin::grantLoadLocalResources):
3027         * xml/XMLHttpRequest.cpp:
3028         (WebCore::XMLHttpRequest::setRequestHeader):
3029
3030 2008-06-23  Mark Rowe  <mrowe@apple.com>
3031
3032         Fix the Windows build.
3033
3034         * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
3035
3036 2008-06-23  Steve Falkenburg  <sfalken@apple.com>
3037
3038         Fix a math error in my last change.
3039         
3040         Reviewed by Ada Chan.
3041
3042         * platform/win/FileSystemWin.cpp:
3043         (WebCore::openTemporaryFile):
3044
3045 2008-06-23  Kevin McCullough  <kmccullough@apple.com>
3046
3047         -Build fix.
3048
3049         * WebCore.vcproj/WebCore.vcproj:
3050
3051 2008-06-23  chris fleizach  <cfleizach@apple.com>
3052
3053         Reviewed by Darin Adler.
3054
3055         <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
3056
3057         * page/AccessibilityObject.cpp:
3058         (WebCore::replacedNodeNeedsCharacter):
3059         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3060         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
3061
3062 2008-06-23  Steve Falkenburg  <sfalken@apple.com>
3063
3064         Added our own mechanism for generating temporary file names.
3065         
3066         Reviewed by Ada Chan, Darin Adler.
3067
3068         * platform/win/FileSystemWin.cpp:
3069         (WebCore::openTemporaryFile):
3070
3071 2008-06-23  Sam Weinig  <sam@webkit.org>
3072
3073         Remove XMLHttpRequestProgressEvent.cpp from project files.
3074
3075         * WebCore.vcproj/WebCore.vcproj:
3076         * WebCore.xcodeproj/project.pbxproj:
3077         * WebCoreSources.bkl:
3078
3079 2008-06-23  Sam Weinig  <sam@webkit.org>
3080
3081         Reviewed by Dave Hyatt.
3082
3083         Remove empty file.
3084
3085         * xml/XMLHttpRequestProgressEvent.cpp: Removed.
3086
3087 2008-06-23  Sam Weinig  <sam@webkit.org>
3088
3089         Rubber-stamped by Tim Hatcher.
3090
3091         Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
3092         and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
3093
3094         * xml/XMLHttpRequest.cpp:
3095         (WebCore::XMLHttpRequest::createRequest):
3096         (WebCore::XMLHttpRequest::makeSameOriginRequest):
3097         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
3098         * xml/XMLHttpRequest.h:
3099
3100 2008-06-23  Sam Weinig  <sam@webkit.org>
3101
3102         Reviewed by Alexey Proskuryakov.
3103
3104         Some XMLHttpRequest re-organization to aid further enhancements coming soon.
3105
3106         * bindings/js/JSXMLHttpRequestCustom.cpp:
3107         (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
3108         instead of always calling though send(DOMString).
3109         * dom/Document.idl: Adds native converter.
3110
3111         * xml/XMLHttpRequest.cpp:
3112         (WebCore::XMLHttpRequest::open):
3113         (WebCore::XMLHttpRequest::initSend):
3114         (WebCore::XMLHttpRequest::send):
3115         (WebCore::XMLHttpRequest::createRequest):
3116         (WebCore::XMLHttpRequest::sameOriginRequest):
3117         (WebCore::XMLHttpRequest::crossSiteAccessRequest):
3118         (WebCore::XMLHttpRequest::abort):
3119         (WebCore::XMLHttpRequest::clearResponse):
3120         (WebCore::XMLHttpRequest::clearRequest):
3121         (WebCore::XMLHttpRequest::genericError):
3122         (WebCore::XMLHttpRequest::dispatchProgressEvent):
3123         * xml/XMLHttpRequest.h:
3124         (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
3125         (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
3126         (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
3127         (WebCore::XMLHttpRequest::onLoadListener): Ditto.
3128         (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
3129         (WebCore::XMLHttpRequest::onProgressListener): Ditto.
3130         Makes the request entity body a member variable so that the send method
3131         can be more easily broken up.
3132
3133 2008-06-23  Timothy Hatcher  <timothy@apple.com>
3134
3135         Make profiles of the same name in the Inspector group in the
3136         sidebar under a collapsable item that contains all the runs.
3137
3138         https://bugs.webkit.org/show_bug.cgi?id=19713
3139
3140         Reviewed by Darin Adler.
3141
3142         * English.lproj/localizedStrings.js: New strings.
3143         * page/inspector/Images/profileGroupIcon.png: Added.
3144         * page/inspector/Images/profileSmallIcon.png: Added.
3145         * page/inspector/ProfilesPanel.js:
3146         (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
3147         Remove the "some-expandable" class from the sidebarTree.
3148         (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
3149         that have the same name as a previous profile into a group. When a
3150         group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
3151         ProfileSidebarTreeElements are appended to the group's element. 
3152         (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
3153         Return _mainTitle is it is set.
3154         (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
3155         Set _mainTitle which is an override title.
3156         (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
3157         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
3158         Show the last profile in the group when selected.
3159         * page/inspector/SidebarTreeElement.js:
3160         (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
3161         (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
3162         update the style to match.
3163         (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
3164         class if the small property is true.
3165         * page/inspector/inspector.css: New styles for profiles groups
3166         and for the small profiles.
3167
3168 2008-06-23  Anders Carlsson  <andersca@apple.com>
3169
3170         Reviewed by Geoff.
3171
3172         Make changedDocuments a HashSet.
3173
3174         * dom/Document.cpp:
3175         (WebCore::Document::setDocumentChanged):
3176         (WebCore::Document::updateDocumentsRendering):
3177
3178 2008-06-23  Alexey Proskuryakov  <ap@webkit.org>
3179
3180         Reviewed by Mark Rowe.
3181
3182         Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
3183         be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
3184         on a different thread causes crashes.
3185
3186         * bindings/js/JSDOMBinding.h:
3187         (WebCore::DOMObject::DOMObject):
3188
3189 2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
3190
3191         Reviewed by Darin Adler.
3192
3193         Fix https://bugs.webkit.org/show_bug.cgi?id=19465
3194         Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
3195
3196         Test: editing/input/textarea-arrow-navigation.html
3197
3198         * rendering/RenderText.cpp:
3199         (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
3200         of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
3201         that the cursor doesn't remain on the previous line.
3202
3203 2008-06-22  Robert Blaut  <webkit@blaut.biz>
3204
3205         Reviewed by Darin Adler.
3206
3207         Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
3208         Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
3209
3210         Test: fast/parser/input-textarea-inside-select-element.html
3211
3212         * html/HTMLParser.cpp:
3213         (WebCore::HTMLParser::handleError):
3214
3215 2008-06-22  David Krause  <david.krause@gmail.com>
3216
3217         Reviewed by Darin Adler.
3218
3219         Fix https://bugs.webkit.org/show_bug.cgi?id=19426
3220         Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
3221
3222         Change ref to addClient and deref to removeClient in code wrapped
3223         by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
3224
3225         * loader/FrameLoader.cpp:
3226         (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
3227         (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
3228         (WebCore::FrameLoader::notifyFinished):
3229
3230 2008-06-22  Robert Blaut  <webkit@blaut.biz>
3231
3232         Reviewed by Darin Adler.
3233
3234         Fix https://bugs.webkit.org/show_bug.cgi?id=19520
3235         Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
3236
3237         Test: fast/css/outline-hidden-illegal-value.html
3238
3239         * css/CSSParser.cpp:
3240         (WebCore::CSSParser::parseValue):
3241         * rendering/RenderFlow.cpp:
3242         (WebCore::RenderFlow::paintOutline):
3243         * rendering/RenderObject.cpp:
3244         (WebCore::RenderObject::paintOutline):
3245         * rendering/style/RenderStyle.h:
3246         (WebCore::RenderStyle::outlineWidth):
3247         (WebCore::RenderStyle::outlineOffset):
3248
3249 2008-06-22  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
3250
3251         Reviewed by Dan Bernstein.
3252
3253         Fix https://bugs.webkit.org/show_bug.cgi?id=19675
3254         Bug 19675: [GTK] negative text-shadows are not rendered
3255
3256         * platform/graphics/cairo/FontCairo.cpp:
3257         (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
3258         sizes are > 0, while we need to check for != 0.
3259
3260 2008-06-22  kuchhal  <kuchhal@yahoo.com>
3261
3262         Reviewed by Darin Adler.
3263
3264         Fix https://bugs.webkit.org/show_bug.cgi?id=19696
3265         Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
3266
3267         * editing/DeleteButtonController.cpp:
3268         (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
3269         if the platform resource could not be loaded.
3270
3271 2008-06-22  kuchhal  <kuchhal@yahoo.com>
3272
3273         Reviewed by Darin Adler.
3274
3275         Fix https://bugs.webkit.org/show_bug.cgi?id=19697
3276         Bug 19697: Redundant releaseRef causing memory leak
3277
3278         * platform/win/ClipboardUtilitiesWin.cpp:
3279         (WebCore::fragmentFromCF_HTML):
3280
3281 2008-06-21  Sam Weinig  <sam@webkit.org>
3282
3283         Fix Windows build.
3284
3285         * bindings/scripts/CodeGeneratorCOM.pm:
3286         * html/HTMLInputElement.idl:
3287
3288 2008-06-21  Timothy Hatcher  <timothy@apple.com>
3289
3290         Fix a typo "new" in the keywords list for hte JavaScript
3291         syntax highlighter. And adds "get" and "set" to the keyword list.
3292
3293         Reviewed by Sam Weinig.
3294
3295         * page/inspector/SourceFrame.js:
3296         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
3297         Fixes the "new" typo and adds "get" and "set".
3298
3299 2008-06-21  David Kilzer  <ddkilzer@apple.com>
3300
3301         Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
3302
3303         <https://bugs.webkit.org/show_bug.cgi?id=7931>
3304
3305         Reviewed by Darin.
3306
3307         Tests: fast/parser/entity-end-iframe-tag.html
3308                fast/parser/entity-end-script-tag.html
3309                fast/parser/entity-end-style-tag.html
3310                fast/parser/entity-end-textarea-tag.html
3311                fast/parser/entity-end-title-tag.html
3312                fast/parser/entity-end-xmp-tag.html
3313
3314         Previously the parser accepted end tags for textarea, title and
3315         iframe elements that contained entity-escaped characters such as
3316         '&lt;'.  The fix is to save the position of the last entity-escaped
3317         character converted and to use that to make sure the end tag does
3318         not contain an escaped character.
3319
3320         Note that this was not an issue for script, style and xmp elements
3321         since they already ignored entity-escaped characters.
3322
3323         * html/HTMLTokenizer.cpp:
3324         (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
3325         tag, ignore any text with entity-escaped characters by making sure
3326         lastDecodedEntityPosition is less than the first character of the
3327         end tag.
3328
3329 2008-06-21  Sam Weinig  <sam@webkit.org>
3330
3331         Reviewed by Dan Bernstein.
3332
3333         Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
3334         REGRESSION: Problem with extjs (insertAdjacentHTML)
3335
3336         Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
3337
3338         * html/HTMLElement.cpp:
3339         (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
3340         the DocumentFragment from the html string.
3341
3342 2008-06-21  Adam Barth  <abarth@webkit.org>
3343
3344         Reviewed by Sam Weinig.
3345
3346         Log error messages to the console when we deny a request for a URL.
3347         These error messages do not appear in LayoutTests, but they do
3348         appear in the WebInspector.
3349
3350         * dom/XMLTokenizer.cpp:
3351         (WebCore::shouldAllowExternalLoad):
3352         * loader/DocLoader.cpp:
3353         (WebCore::DocLoader::requestResource):
3354         (WebCore::DocLoader::printAccessDeniedMessage):
3355         * loader/DocLoader.h:
3356         * xml/XSLTProcessor.cpp:
3357         (WebCore::docLoaderFunc):
3358
3359 2008-06-21  Adam Barth  <abarth@webkit.org>
3360
3361         Reviewed by Sam Weinig.
3362
3363         Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
3364           XSL style sheets allowed across origins
3365
3366         Block cross-orgin loads of XSL style sheets, matching Internet
3367         Explorer, Firefox, and Opera.  Also, we now block loading of XBL
3368         across origins, matching Firefox.  The XBL behavior does not appear
3369         testable because XBL seems to not be enabled.
3370
3371         Test: http/tests/security/cross-origin-xsl-BLOCKED.html
3372
3373         * loader/DocLoader.cpp:
3374         (WebCore::DocLoader::requestResource):
3375
3376 2008-06-21  Marvin Decker  <marv.decker@gmail.com>
3377
3378         Reviewed by Dave Hyatt.
3379
3380         - fix https://bugs.webkit.org/show_bug.cgi?id=19542
3381           <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
3382
3383         Adds a NULL check for getting the small caps page of glyph data. The
3384         page() function can explicitly return null in some cases, and every
3385         other usage in this function does the check.
3386
3387         * platform/graphics/Font.cpp:
3388         (WebCore::Font::glyphDataForCharacter):
3389
3390 2008-06-21  Alex Taylor  <darwin@milliamp.org>
3391
3392         Reviewed by Dan Bernstein.
3393
3394         Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
3395
3396         Adds support for border-radius on legend elements.
3397         Fieldsets with a legend and rounded borders now have a clipping region set
3398         around the legend.
3399         
3400         Test: fast/borders/fieldsetBorderRadius.html
3401
3402         * rendering/RenderFieldset.cpp:
3403         (WebCore::RenderFieldset::paintBoxDecorations):
3404         (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
3405
3406 2008-06-21  Kevin Ollivier  <kevino@theolliviers.com>
3407
3408         wx build fix. Adding CSSVariable* API sources to the Bakefiles.
3409
3410         * WebCoreSources.bkl:
3411
3412 2008-06-20  Sam Weinig  <sam@webkit.org>
3413
3414         Fix Windows build.
3415
3416         * bindings/scripts/CodeGeneratorCOM.pm:
3417
3418 2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
3419
3420         Gtk build fix: Add files missing in the previous fix (r34705)
3421
3422         * GNUmakefile.am:
3423
3424 2008-06-20  Dan Bernstein  <mitz@apple.com>
3425
3426         Reviewed by Sam Weinig.
3427
3428         - fix leak of mask images
3429
3430         * rendering/RenderObject.cpp:
3431         (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
3432         the mask box image.
3433
3434 2008-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
3435
3436         Gtk build fix for r34702, r34700 and r34693
3437         Qt build fix for r34700 and r34693
3438
3439         * GNUmakefile.am:
3440         * WebCore.pro:
3441         * platform/gtk/RenderThemeGtk.cpp:
3442         * platform/gtk/RenderThemeGtk.h:
3443         * platform/qt/RenderThemeQt.cpp:
3444         * platform/qt/RenderThemeQt.h:
3445
3446 2008-06-20  Sam Weinig  <sam@webkit.org>
3447
3448         Reviewed by Adele Peterson.
3449
3450         Add 'files' property to the HTMLInputElement, which returns a FileList object 
3451         (when type=file, null otherwise) containing a list of all the files selected.
3452         It currently always contains only 0 or 1 files as multifile input is not supported 
3453         yet.  The list contains File objects which contains the name and size of the file. 
3454         The inspiration for these interfaces is from:
3455             - http://developer.mozilla.org/en/docs/nsIDOMFileList
3456             - http://developer.mozilla.org/en/docs/nsIDOMFile
3457
3458         Also fixes <rdar://problem/6022802>
3459
3460         * DerivedSources.make:
3461         * GNUmakefile.am:
3462         * WebCore.pro:
3463         * WebCore.vcproj/WebCore.vcproj:
3464         * WebCore.xcodeproj/project.pbxproj:
3465         * WebCoreSources.bkl:
3466         * bindings/objc/DOMInternal.h:
3467         * bindings/scripts/CodeGenerator.pm:
3468         * bindings/scripts/IDLStructure.pm:
3469         * html/File.cpp: Added.
3470         (WebCore::File::File):
3471         (WebCore::File::fileSize):
3472         * html/File.h: Added.
3473         (WebCore::File::create):
3474         (WebCore::File::fileName):
3475         (WebCore::File::path):
3476         * html/File.idl: Added.
3477         * html/FileList.cpp: Added.
3478         (WebCore::FileList::FileList):
3479         (WebCore::FileList::item):
3480         * html/FileList.h: Added.
3481         (WebCore::FileList::create):
3482         (WebCore::FileList::length):
3483         (WebCore::FileList::isEmpty):
3484         (WebCore::FileList::clear):
3485         (WebCore::FileList::append):
3486         * html/FileList.idl: Added.
3487         * html/HTMLInputElement.cpp:
3488         (WebCore::HTMLInputElement::setInputType):
3489         (WebCore::HTMLInputElement::appendFormData):
3490         (WebCore::HTMLInputElement::value):
3491         (WebCore::HTMLInputElement::setValue):
3492         (WebCore::HTMLInputElement::setValueFromRenderer):
3493         (WebCore::HTMLInputElement::files):
3494         * html/HTMLInputElement.h:
3495         * html/HTMLInputElement.idl:
3496         * page/DOMWindow.idl:
3497
3498 2008-06-20  David Hyatt  <hyatt@apple.com>
3499
3500         Make sure CSS variables work inside the inline style attribute.
3501
3502         Reviewed by Beth
3503
3504         Added fast/css/variables/inline-style-test.html
3505
3506         * css/CSSMutableStyleDeclaration.cpp:
3507         (WebCore::CSSMutableStyleDeclaration::removeProperty):
3508         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
3509
3510 2008-06-20  David Hyatt  <hyatt@apple.com>
3511
3512         Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs.  These allow querying of
3513         variables names and values, as well as iteration, setting and removal.
3514
3515         Reviewed by Sam
3516
3517         Added multiple new tests to fast/css/variables/
3518
3519         * DerivedSources.make:
3520         * WebCore.xcodeproj/project.pbxproj:
3521         * bindings/js/JSCSSRuleCustom.cpp:
3522         (WebCore::toJS):
3523         * bindings/objc/DOMInternal.h:
3524         * bindings/scripts/CodeGeneratorJS.pm:
3525         * css/CSSPrimitiveValue.cpp:
3526         (WebCore::CSSPrimitiveValue::parserValue):
3527         * css/CSSVariablesDeclaration.cpp:
3528         (WebCore::CSSVariablesDeclaration::removeVariable):
3529         (WebCore::CSSVariablesDeclaration::setVariable):
3530         (WebCore::CSSVariablesDeclaration::setCssText):
3531         (WebCore::CSSVariablesDeclaration::setChanged):
3532         * css/CSSVariablesDeclaration.h:
3533         * css/CSSVariablesDeclaration.idl: Added.
3534         * css/CSSVariablesRule.h:
3535         * css/CSSVariablesRule.idl: Added.
3536
3537 2008-06-20  Kevin McCullough  <kmccullough@apple.com>
3538
3539         Rubber stamped by Adele. 
3540
3541         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
3542
3543 2008-06-20  Kevin McCullough  <kmccullough@apple.com>
3544
3545         Reviewed by Tim.
3546
3547         <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
3548         if profiling is started and finished within the same function. (19230)
3549         - Now we profile one more stack frame up from the last frame to allocate
3550         the time spent in it, if it exists.
3551
3552         * page/Console.cpp:
3553         * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
3554         (WebCore::Console::profile): When stating the profiler give a client for
3555         the callback of when the profile actually finishes.
3556         (WebCore::Console::profileEnd): No longer needs to handle the return of
3557         the profile object since it will be retruned in the client's callback.
3558         (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
3559         callback method.
3560         * page/Console.h: Inherit from the ProfileClient.
3561         * page/InspectorController.cpp:
3562         (WebCore::InspectorController::startUserInitiatedProfiling): Use the
3563         client callback.
3564         (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
3565         need to handle the profile being returned as it is now handled by the
3566         client callback.
3567         (WebCore::InspectorController::finishedProfiling): Implement the
3568         ProfileClient callback method.
3569         * page/InspectorController.h: Inherit from the ProfileClient.
3570
3571 2008-06-20  Timothy Hatcher  <timothy@apple.com>
3572
3573         Makes t