1 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
3 Reviewed by Oliver Hunt.
5 Prep for more Filter class name changes. Added the first few files for
6 the new Filter architecture to come.
8 * WebCore.xcodeproj/project.pbxproj:
9 * svg/Filter.cpp: Added.
10 (WebCore::Filter::Filter):
11 (WebCore::Filter::create):
12 * svg/Filter.h: Added.
13 * svg/FilterBuilder.h: Added.
14 (WebCore::FilterBuilder::add):
15 (WebCore::FilterBuilder::getEffectById):
16 (WebCore::FilterBuilder::filter):
17 * svg/FilterEffect.cpp: Added.
18 (WebCore::FilterEffect::FilterEffect):
19 (WebCore::FilterEffect::~FilterEffect):
20 * svg/FilterEffect.h: Added.
22 2008-07-01 Christian Dywan <christian@twotoasts.de>
26 * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
28 2008-07-01 Anders Carlsson <andersca@apple.com>
32 Add PluginMainThreadScheduler.{cpp|h} to build.
35 * WebCore.xcodeproj/project.pbxproj:
36 * plugins/PluginMainThreadScheduler.cpp:
38 2008-07-01 Dan Bernstein <mitz@apple.com>
40 Reviewed by Darin Adler.
42 - move the method to set the base writing direction from Frame to Editor
44 * WebCore.base.exp: Updated.
46 (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
47 WritingDirection enum value and added the special behavior when the
48 focused node is a text field or a text area.
50 * page/ContextMenuController.cpp:
51 (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
52 to call the Editor method.
53 * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
56 2008-07-01 Darin Adler <darin@apple.com>
60 - slight tweak of the setHash fix
62 * bindings/js/JSLocationCustom.cpp:
63 (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
65 2008-07-01 Dan Bernstein <mitz@apple.com>
67 Reviewed by Anders Carlsson.
69 - Mac release build fix
73 2008-07-01 Dan Bernstein <mitz@apple.com>
75 Reviewed by Anders Carlsson.
77 - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
79 * css/CSSPrimitiveValue.cpp:
80 (WebCore::CSSPrimitiveValue::cleanup):
82 2008-07-01 Anders Carlsson <andersca@apple.com>
86 Don't add the Mozilla user agent quirk for Flash 10.
88 * plugins/win/PluginPackageWin.cpp:
89 (WebCore::PluginPackage::isPluginBlacklisted):
90 (WebCore::PluginPackage::determineQuirks):
92 2008-07-01 David Kilzer <ddkilzer@apple.com>
94 Move data: URL parsing code in HTMLObjectElement to KURL
96 Reviewed by Ada and Darin.
98 No test cases added since there is no change in behavior.
100 * html/HTMLObjectElement.cpp:
101 (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
102 parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
104 (WebCore::mimeTypeFromDataURL): Added.
106 (WebCore::mimeTypeFromDataURL): Added.
108 2008-07-01 Dan Bernstein <mitz@apple.com>
110 Reviewed by Dave Hyatt.
112 - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
115 (WebCore::CSSParser::addUnresolvedProperty):
117 2008-07-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>
119 Reviewed by Brady Eidson.
121 Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
122 <https://bugs.webkit.org/show_bug.cgi?id=19822>
124 Change JSLocation::setHash() to not schedule navigation in the case
125 where the old fragment is the null String and the new fragment is an
128 * bindings/js/JSLocationCustom.cpp:
129 (WebCore::JSLocation::setHash):
131 2008-06-30 Anders Carlsson <andersca@apple.com>
135 Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in
136 callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
138 * WebCore.vcproj/WebCore.vcproj:
139 Add PluginMainThreadScheduler.{cpp|h}
141 * plugins/PluginMainThreadScheduler.cpp: Added.
142 * plugins/PluginMainThreadScheduler.h: Added.
144 * plugins/PluginView.cpp:
145 (WebCore::PluginView::start):
146 Register with the thread scheduler.
149 (NPN_PluginThreadAsyncCall):
150 Call the thread scheduler.
152 * plugins/win/PluginPackageWin.cpp:
153 (WebCore::PluginPackage::load):
154 Initialize the NPN_PluginThreadAsyncCall callback.
156 * plugins/win/PluginViewWin.cpp:
157 (WebCore::PluginView::stop):
158 Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
159 after the plug-in has been destroyed.
161 2008-07-01 Adam Roben <aroben@apple.com>
163 Roll out r34913, as it broke the Windows build due to bad casting
165 r34913 introduced code that assigned pointers-to-member from a derived
166 class into a base class pointer-to-member type (e.g., assigned a void
167 (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
168 because it could allow us to call SVGUseElement member functions on a
169 different SVGElement-derived class. MSVC rightly flagged this as an
172 Rubberstamped by Anders Carlsson.
174 2008-07-01 Darin Adler <darin@apple.com>
178 * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
179 not working propertly.
181 2008-07-01 Dan Bernstein <mitz@apple.com>
183 Reviewed by Darin Adler.
185 - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
187 * html/CanvasRenderingContext2D.cpp:
188 (WebCore::CanvasRenderingContext2D::createPattern):
190 2008-07-01 Sam Weinig <sam@webkit.org>
192 Reviewed by Darin Adler.
194 Split JSCell and JSNumberCell class declarations out of JSValue.h
196 * ForwardingHeaders/kjs/JSNumberCell.h: Added.
197 * bindings/scripts/CodeGeneratorJS.pm:
198 * bridge/c/c_instance.cpp:
200 2008-07-01 chris fleizach <cfleizach@apple.com>
202 Reviewed by Beth Dakin
204 <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
206 Test: accessibility/radio-button-checkbox-size.html
208 * page/AccessibilityRenderObject.cpp:
209 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
211 2008-07-01 Dan Bernstein <mitz@apple.com>
213 Reviewed by Antti Koivisto.
215 - fix SVG pointer-events layout test failures
217 * css/SVGCSSParser.cpp:
218 (WebCore::CSSParser::parseSVGValue):
220 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
224 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
225 Fix two small problems in the gradient & pattern code.
227 Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
229 * svg/SVGLinearGradientElement.cpp:
230 (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
231 * svg/SVGPatternElement.cpp:
232 (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
233 * svg/SVGRadialGradientElement.cpp:
234 (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
235 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
237 2008-07-01 Simon Hausmann <hausmann@webkit.org>
239 Fix the build, include SVGTransformList.h instead of
242 * svg/SVGGradientElement.h:
244 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
248 <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
251 Test: fast/encoding/preload-encoding.html
253 * html/PreloadScanner.cpp:
254 (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
257 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
259 Reviewed by Antti & Eric.
261 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
263 SVG Errata states: "All SVG DOM objects that directly correspond to an
264 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
265 means that any changes made to the attribute are immediately reflected in the
266 corresponding SVG DOM object." (see linked URL on bug report)
268 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
269 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
271 Add a new synchronization layer to handle SVG DOM -> XML changes.
273 Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
274 Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
275 Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
277 Added test: svg/custom/svg-xml-dom-sync.html
278 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
281 (WebCore::Element::Element): Initialize the two new bits.
282 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
283 (WebCore::Element::getAttribute): Ditto.
284 (WebCore::Element::hasAttributes): Ditto.
285 * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
286 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
287 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
288 * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
289 (WebCore::SVGAElement::contextElement): Return non-const value.
290 * svg/SVGAltGlyphElement.h:
291 (WebCore::SVGAltGlyphElement::contextElement): Ditto.
292 * svg/SVGAnimateElement.h:
293 (WebCore::SVGAnimateElement::contextElement): Ditto.
294 * svg/SVGAnimateMotionElement.h:
295 (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
296 * svg/SVGAnimateTransformElement.h:
297 (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
298 * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
299 (WebCore::SVGAnimatedTemplate::toString):
300 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
301 (WebCore::lookupOrCreateWrapper):
302 (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
303 (WebCore::SVGAnimatedAngle::toString):
304 (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
305 (WebCore::SVGAnimatedBoolean::toString):
306 (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
307 (WebCore::SVGAnimatedEnumeration::toString):
308 (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
309 (WebCore::SVGAnimatedInteger::toString):
310 (WebCore::SVGAnimatedLength::SVGAnimatedLength):
311 (WebCore::SVGAnimatedLength::toString):
312 (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
313 (WebCore::SVGAnimatedLengthList::toString):
314 (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
315 (WebCore::SVGAnimatedNumber::toString):
316 (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
317 (WebCore::SVGAnimatedNumberList::toString):
318 (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
319 (WebCore::SVGAnimatedPreserveAspectRatio::toString):
320 (WebCore::SVGAnimatedRect::SVGAnimatedRect):
321 (WebCore::SVGAnimatedRect::toString):
322 (WebCore::SVGAnimatedString::SVGAnimatedString):
323 (WebCore::SVGAnimatedString::toString):
324 (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
325 (WebCore::SVGAnimatedTransformList::toString):
326 (WebCore::SVGAnimatedType::SVGAnimatedType):
327 * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
328 * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
329 (WebCore::SVGCircleElement::contextElement): Return non-const value.
330 * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
331 (WebCore::SVGClipPathElement::contextElement): Return non-const value.
332 * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
333 * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
334 * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
335 (WebCore::SVGCursorElement::SVGCursorElement):
336 * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
337 (WebCore::SVGCursorElement::contextElement): Return non-const value.
338 * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
339 (WebCore::SVGDefsElement::contextElement): Return non-const value.
340 * svg/SVGElement.cpp:
341 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
342 (WebCore::SVGElement::setSynchronizedSVGAttributes):
343 * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
344 (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
345 (StoredTypeWithDirtyFlag::operator=):
346 (StoredTypeWithDirtyFlag::operator==):
347 (StoredTypeWithDirtyFlag::operator!=):
348 (StoredTypeWithDirtyFlag::operator StoredType):
349 (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
350 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
351 (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
352 * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
353 (WebCore::SVGEllipseElement::SVGEllipseElement):
354 * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
355 (WebCore::SVGEllipseElement::contextElement): Return non-const value.
356 * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
357 * svg/SVGFEBlendElement.h:
358 (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
359 * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
360 * svg/SVGFEColorMatrixElement.h:
361 (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
362 * svg/SVGFEComponentTransferElement.h:
363 (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
364 * svg/SVGFECompositeElement.h:
365 (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
366 * svg/SVGFEDiffuseLightingElement.h:
367 (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
368 * svg/SVGFEDisplacementMapElement.h:
369 (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
370 * svg/SVGFEFloodElement.h:
371 (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
372 * svg/SVGFEGaussianBlurElement.h:
373 (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
374 * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
375 * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
376 (WebCore::SVGFEImageElement::contextElement): Return non-const value.
377 * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
378 * svg/SVGFEMergeElement.h:
379 (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
380 * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
381 (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
382 * svg/SVGFEOffsetElement.h:
383 (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
384 * svg/SVGFESpecularLightingElement.h:
385 (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
386 * svg/SVGFETileElement.h:
387 (WebCore::SVGFETileElement::contextElement): Return non-const value.
388 * svg/SVGFETurbulenceElement.h:
389 (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
390 * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
391 (WebCore::SVGFilterElement::SVGFilterElement):
392 * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
393 (WebCore::SVGFilterElement::contextElement): Return non-const value.
394 * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
395 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
396 * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
397 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
398 * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
399 * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
400 * svg/SVGFontElement.h:
401 (WebCore::SVGFontElement::contextElement): Return non-const value.
402 * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
403 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
404 * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
405 (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
406 * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
407 (WebCore::SVGGElement::contextElement): Return non-const value.
408 * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
409 * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
410 * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
411 (WebCore::SVGImageElement::SVGImageElement):
412 * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
413 (WebCore::SVGImageElement::contextElement): Return non-const value.
414 * svg/SVGLengthList.cpp:
415 (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
416 * svg/SVGLengthList.h:
417 * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
418 (WebCore::SVGLineElement::SVGLineElement):
419 * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
420 (WebCore::SVGLineElement::contextElement): Return non-const value.
421 * svg/SVGLinearGradientElement.cpp:
422 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
423 (WebCore::SVGLinearGradientElement::collectGradientProperties):
424 * svg/SVGLinearGradientElement.h:
425 (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
426 * svg/SVGMPathElement.h:
427 (WebCore::SVGMPathElement::contextElement): Return non-const value.
428 * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
429 (WebCore::SVGMarkerElement::SVGMarkerElement):
430 * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
431 (WebCore::SVGMarkerElement::contextElement): Return non-const value.
432 * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
433 (WebCore::SVGMaskElement::SVGMaskElement):
434 * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
435 (WebCore::SVGMaskElement::contextElement): Return non-const value.
436 * svg/SVGNumberList.cpp:
437 (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
438 * svg/SVGNumberList.h:
439 * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
440 (WebCore::SVGPathElement::contextElement): Return non-const value.
441 * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
442 (WebCore::SVGPatternElement::SVGPatternElement):
443 (WebCore::SVGPatternElement::collectPatternProperties):
444 * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
445 (WebCore::SVGPatternElement::contextElement): Return non-const value.
446 * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
447 (WebCore::SVGPolyElement::contextElement): Return non-const value.
448 * svg/SVGPreserveAspectRatio.cpp:
449 (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
450 * svg/SVGPreserveAspectRatio.h:
451 * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
452 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
453 (WebCore::SVGRadialGradientElement::svgAttributeChanged):
454 (WebCore::SVGRadialGradientElement::collectGradientProperties):
455 * svg/SVGRadialGradientElement.h:
456 (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
457 * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
458 (WebCore::SVGRectElement::SVGRectElement):
459 * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
460 (WebCore::SVGRectElement::contextElement): Return non-const value.
461 * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
462 (WebCore::SVGSVGElement::SVGSVGElement):
463 (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
464 * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
465 (WebCore::SVGSVGElement::contextElement): Return non-const value.
466 * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
467 (WebCore::SVGScriptElement::contextElement): Return non-const value.
468 * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
469 * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
470 * svg/SVGStyledTransformableElement.h:
471 * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
472 (WebCore::SVGSwitchElement::contextElement): Return non-const value.
473 * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
474 (WebCore::SVGSymbolElement::contextElement): Return non-const value.
475 * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
476 (WebCore::SVGTRefElement::contextElement): Return non-const value.
477 * svg/SVGTSpanElement.h:
478 (WebCore::SVGTSpanElement::contextElement): Return non-const value.
479 * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
480 (WebCore::SVGTextContentElement::SVGTextContentElement):
481 * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
482 * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
483 * svg/SVGTextElement.h:
484 (WebCore::SVGTextElement::contextElement): Return non-const value.
485 * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
486 (WebCore::SVGTextPathElement::SVGTextPathElement):
487 * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
488 (WebCore::SVGTextPathElement::contextElement): Return non-const value.
489 * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
490 * svg/SVGTextPositioningElement.h:
491 * svg/SVGTransformList.cpp:
492 (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
493 * svg/SVGTransformList.h:
494 * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
495 * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
496 (WebCore::SVGUseElement::SVGUseElement):
497 * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
498 (WebCore::SVGUseElement::contextElement): Return non-const value.
499 * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
500 (WebCore::SVGViewElement::contextElement): Return non-const value.
501 * svg/SVGViewSpec.cpp:
502 (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
503 (WebCore::SVGViewSpec::contextElement): Return non-const value.
506 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
508 Reviewed by Nikolas Zimmermann.
510 Class name changes for SVG Light Effect files. The class names that changed :
512 SVGLightSource -> LightSource
513 SVGDistantLightSource -> DistantLightSource
514 SVGPointLightSource -> PointLightSource
515 SVGSpotLightSource -> SpotLightSource
517 Every other file that is changed is just propagating the class name changes to
520 * svg/SVGFEDiffuseLightingElement.cpp:
521 (WebCore::SVGFEDiffuseLightingElement::updateLights):
522 * svg/SVGFEDistantLightElement.cpp:
523 (WebCore::SVGFEDistantLightElement::lightSource):
524 * svg/SVGFEDistantLightElement.h:
525 * svg/SVGFELightElement.h:
526 * svg/SVGFEPointLightElement.cpp:
527 (WebCore::SVGFEPointLightElement::lightSource):
528 * svg/SVGFEPointLightElement.h:
529 * svg/SVGFESpecularLightingElement.cpp:
530 (WebCore::SVGFESpecularLightingElement::updateLights):
531 * svg/SVGFESpotLightElement.cpp:
532 (WebCore::SVGFESpotLightElement::lightSource):
533 * svg/SVGFESpotLightElement.h:
534 * svg/graphics/filters/SVGDistantLightSource.h:
535 (WebCore::DistantLightSource::DistantLightSource):
536 (WebCore::DistantLightSource::azimuth):
537 (WebCore::DistantLightSource::elevation):
538 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
539 (WebCore::SVGFEDiffuseLighting::lightSource):
540 (WebCore::SVGFEDiffuseLighting::setLightSource):
541 * svg/graphics/filters/SVGFEDiffuseLighting.h:
542 * svg/graphics/filters/SVGFESpecularLighting.cpp:
543 (WebCore::SVGFESpecularLighting::lightSource):
544 (WebCore::SVGFESpecularLighting::setLightSource):
545 * svg/graphics/filters/SVGFESpecularLighting.h:
546 * svg/graphics/filters/SVGLightSource.cpp:
547 (WebCore::PointLightSource::externalRepresentation):
548 (WebCore::SpotLightSource::externalRepresentation):
549 (WebCore::DistantLightSource::externalRepresentation):
550 * svg/graphics/filters/SVGLightSource.h:
552 (WebCore::LightSource::LightSource):
553 (WebCore::LightSource::~LightSource):
554 (WebCore::LightSource::type):
555 * svg/graphics/filters/SVGPointLightSource.h:
556 (WebCore::PointLightSource::PointLightSource):
557 (WebCore::PointLightSource::position):
558 * svg/graphics/filters/SVGSpotLightSource.h:
559 (WebCore::SpotLightSource::SpotLightSource):
560 (WebCore::SpotLightSource::position):
561 (WebCore::SpotLightSource::direction):
562 (WebCore::SpotLightSource::specularExponent):
563 (WebCore::SpotLightSource::limitingConeAngle):
564 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
565 (WebCore::SVGFEDiffuseLighting::getCIFilter):
566 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
567 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
568 (WebCore::getLightVectors):
569 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
570 (WebCore::SVGFESpecularLighting::getCIFilter):
572 2008-07-01 Alp Toker <alp@nuanti.com>
574 Rubber-stamped by Holger.
576 autotools cleanup: move some GTK+-specific sources from libwebcore to
581 2008-07-01 Dan Bernstein <mitz@apple.com>
583 Reviewed by Oliver Hunt.
585 - fix the non-SVG build
587 * css/CSSValueKeywords.in: Added 'all'.
588 * css/SVGCSSValueKeywords.in: Removed 'all'.
590 2008-07-01 Simon Hausmann <hausmann@webkit.org>
592 Build fix, include DateInstance.h.
594 * bridge/qt/qt_runtime.cpp:
596 2008-06-30 Adele Peterson <adele@apple.com>
600 Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
602 Test: fast/forms/search-hidden-cancel-button.html
604 * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
605 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.
607 2008-06-30 Sam Weinig <sam@webkit.org>
609 Rubber-stamped by Darin Adler.
611 Split InternalFunction into its own header file.
613 * ForwardingHeaders/kjs/InternalFunction.h: Added.
614 * bridge/runtime_method.h:
616 2008-06-30 Adele Peterson <adele@apple.com>
620 Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
622 Test: editing/selection/select-all-textarea.html
625 (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
626 (WebCore::Node::shadowTreeRootNode): Added helper function.
628 * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
630 * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
631 * editing/Selection.h:
632 * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
633 * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
634 If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
636 (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
637 (WebCore::Frame::markAllMatchesForText): ditto.
639 2008-06-30 chris fleizach <cfleizach@apple.com>
641 Reviewed by Beth Dakin
643 <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
645 * page/AccessibilityObject.cpp:
646 (WebCore::AccessibilityObject::linkedUIElements):
647 * page/AccessibilityObject.h:
648 * page/AccessibilityRenderObject.cpp:
649 (WebCore::AccessibilityRenderObject::internalLinkElement):
650 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
651 (WebCore::AccessibilityRenderObject::linkedUIElements):
652 * page/AccessibilityRenderObject.h:
653 * page/mac/AccessibilityObjectWrapper.mm:
654 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
656 2008-06-30 Dan Bernstein <mitz@apple.com>
658 Reviewed by Adele Peterson.
660 - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
662 * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
663 Frame::setSelectionBaseWritingDirection().
664 * page/ContextMenuController.cpp:
665 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
666 call Frame::setSelectionBaseWritingDirection().
668 (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
669 focused node is a text field or text area, changes its 'dir' attribute.
670 This is what IE does when the user changes the writing direction in a
671 text control. Otherwise, calls down to Editor::setBaseWritingDirection().
674 2008-06-30 David Kilzer <ddkilzer@apple.com>
676 Improve HTMLObjectElement data encapsulation
678 Reviewed by Dave Hyatt.
680 HTMLObjectElement has some public member variables that should be
681 private with accessor methods.
683 No test cases added since there is no change in behavior.
685 * html/HTMLObjectElement.cpp:
686 (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
687 initialization of member variables to match defined order in header.
688 * html/HTMLObjectElement.h:
689 (WebCore::HTMLObjectElement::classId): Added.
690 (WebCore::HTMLObjectElement::url): Added.
691 (WebCore::HTMLObjectElement::serviceType): Added.
692 * rendering/RenderPartObject.cpp:
693 (WebCore::RenderPartObject::updateWidget): Use new accessor methods
694 in HTMLObjectElement now that its member variables are private.
696 2008-06-30 Dan Bernstein <mitz@apple.com>
698 Reviewed by Anders Carlsson.
700 - remove unused member variable
702 * page/Page.h: Removed Page::m_focusedNode.
704 2008-06-30 Anders Carlsson <andersca@apple.com>
708 <rdar://problem/6014209>
709 Crash when loading manifest from application cache fails
711 There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
712 that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
713 group could be deleted causing us to access freed memory and then crashing.
715 * loader/appcache/ApplicationCacheGroup.cpp:
716 (WebCore::ApplicationCacheGroup::didReceiveResponse):
717 (WebCore::ApplicationCacheGroup::didFail):
718 (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
720 2008-06-30 Adam Roben <aroben@apple.com>
722 Fix <rdar://5954749> Assertion failure due to HashTable's use of
725 Reviewed by Ada Chan.
727 * bindings/js/JSSVGPODTypeWrapper.h:
729 * dom/StyledElement.cpp:
730 * platform/graphics/FontCache.cpp:
731 * platform/graphics/IntSizeHash.h:
733 * platform/text/StringHash.h:
734 * platform/win/COMPtr.h:
735 * svg/SVGAnimatedTemplate.h:
736 Updated all custom HashTraits for HashTable changes.
738 2008-06-30 Simon Hausmann <hausmann@webkit.org>
742 Added missing includes and changed getItem array calls to use get()
745 * bridge/qt/qt_runtime.cpp:
746 (KJS::Bindings::convertValueToQVariant):
748 2008-06-29 David Smith <catfish.man@gmail.com>
750 Rubberstamped by Sam Weinig.
752 Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
754 * dom/TagNodeList.cpp:
755 (WebCore::TagNodeList::nodeMatches):
757 2008-06-29 Dan Bernstein <mitz@apple.com>
759 Reviewed by Darin Adler.
761 - fix SVG layout test regressions
763 * css/CSSFontSelector.cpp:
764 (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
765 again with primitive values, because the @font-face rules SVG fonts
766 create still use a single primitive value rather than a value list.
768 2008-06-29 Dan Bernstein <mitz@apple.com>
770 Reviewed by Sam Weinig.
772 - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
774 Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
775 fast/css/font-face-descriptor-multiple-values.html
777 * css/CSSFontSelector.cpp:
778 (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
779 lists for the descriptor properties.
782 (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
783 (WebCore::CSSParser::parseValue): Added a call to
784 deleteFontFaceOnlyValues() if necessary.
785 (WebCore::CSSParser::parseDeclaration): Ditto.
786 (WebCore::CSSParser::clearProperties): Added code to reset
787 m_hasFontFaceOnlyValues to false.
788 (WebCore::CSSParser::parseFontStyle): Added. If there is a single
789 valid identifier other than 'all', creates a CSSPrimitiveValue and
790 assigns it to the property. If 'all' is the only value, or if there are
791 multiple valid identifiers that are not 'all', creates a CSSValueList
792 and assigns it to the property, and sets m_hasFontFaceOnlyValues to
794 (WebCore::CSSParser::parseFontVariant): Ditto.
795 (WebCore::CSSParser::parseFontWeight): Ditto.
796 (WebCore::CSSParser::createStyleRule): Added a call to
797 deleteFontFaceOnlyValues().
798 (WebCore::CSSParser::createFontFaceRule): Added code to change
799 font descriptor properties that had only one value, and therefore were
800 assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
801 (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
802 invalidates font descriptor properties that had values that are only
803 allowed in @font-face. Those are identified by having CSSValueLists
804 rather than CSSPrimitiveValues as their values.
805 * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
806 font descriptor property values that are only valid in @font-face were
807 encountered. This is used when the style declaration is created (and we
808 finally know if it is @font-face or not) to delete invalid properties
811 2008-06-28 Darin Adler <darin@apple.com>
813 Reviewed by Sam and Cameron.
815 - fix https://bugs.webkit.org/show_bug.cgi?id=19805
816 Array.concat turns missing array elements into "undefined"
818 * bridge/jni/jni_utility.cpp:
819 (KJS::Bindings::convertArrayInstanceToJavaArray):
820 Use get instead of getItem, since we always want to consider values from the
821 prototypes when looking at JavaScript arrays.
823 2008-06-28 Dan Bernstein <mitz@apple.com>
825 Reviewed by Darin Adler.
827 - allow document markers to touch or overlap if they are not of the same type
829 Cannot be tested in DumpRenderTree
832 (WebCore::Document::addMarker):
833 * rendering/InlineTextBox.cpp:
834 (WebCore::InlineTextBox::paintDocumentMarkers):
836 2008-06-28 Sam Weinig <sam@webkit.org>
838 Rubber-stamped by Darin Adler.
840 Update includes after remaming string_object.h to StringObject.h and
841 splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
844 * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
845 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
846 * ForwardingHeaders/kjs/StringPrototype.h: Added.
847 * ForwardingHeaders/kjs/string_object.h: Removed.
848 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
850 2008-06-28 Sam Weinig <sam@webkit.org>
852 Rubber-stamped by Oliver Hunt.
854 Update includes after remaming object_object.h to ObjectPrototype.h and
855 splitting FunctionConstructor out of FunctionPrototype.h
857 * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
858 * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
859 * ForwardingHeaders/kjs/object_object.h: Removed.
860 * bindings/js/JSEventListener.cpp:
861 * bindings/scripts/CodeGeneratorJS.pm:
862 * bridge/qt/qt_instance.cpp:
864 2008-06-28 Dan Bernstein <mitz@apple.com>
866 Reviewed by Darin Adler.
868 - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
870 * html/HTMLImageLoader.cpp:
871 (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
872 image if the 'src' attribute is the empty string and the document's base
875 2008-06-27 Sam Weinig <sam@webkit.org>
877 Reviewed by Dan Bernstein.
879 <rdar://problem/6025499> Make Cross-site XHR match the final specification
881 Update the implemented subset of Access-Control for XMLHttpRequest to the
882 latest version. (Editor's Draft 25 May 2008)
884 - Now differentiates between simple and non-simple cross-site requests, the later
885 requiring a preflight.
886 - Now sends request headers cross-site, limited by a blacklist.
887 - Now allows access to cross-site response headers, limited by a whitelist.
888 - Now sends request entity body for non-get cross-site requests after preflight.
890 Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
891 http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
892 http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
894 * xml/XMLHttpRequest.cpp:
895 (WebCore::isOnAccessControllRequestHeaderBlackList):
896 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
897 (WebCore::isOnAccessControlResponseHeaderWhitelist):
898 (WebCore::XMLHttpRequest::XMLHttpRequest):
899 (WebCore::XMLHttpRequest::createRequest):
900 (WebCore::XMLHttpRequest::makeSameOriginRequest):
901 (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
902 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
903 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
904 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
905 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
906 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
907 (WebCore::XMLHttpRequest::abort):
908 (WebCore::XMLHttpRequest::clearRequest):
909 (WebCore::XMLHttpRequest::setRequestHeader):
910 (WebCore::XMLHttpRequest::setRequestHeaderInternal):
911 (WebCore::XMLHttpRequest::getAllResponseHeaders):
912 (WebCore::XMLHttpRequest::getResponseHeader):
913 (WebCore::XMLHttpRequest::didFinishLoading):
914 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
915 (WebCore::XMLHttpRequest::didReceiveResponse):
916 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
917 (WebCore::XMLHttpRequest::didReceiveData):
918 * xml/XMLHttpRequest.h:
920 2008-06-27 Sam Weinig <sam@webkit.org>
922 Rubber-stamped by Mark Rowe.
924 Clean up sorting in WebCore.xcodeproj.
926 * WebCore.xcodeproj/project.pbxproj:
928 2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
930 Reviewed by Darin Adler.
932 Remove unnecessary options to make_names.pl command line
933 http://bugs.webkit.org/show_bug.cgi?id=19777
935 * DerivedSources.make:
938 2008-06-27 Adam Barth <abarth@webkit.org>
940 Reviewed by Darin Adler.
942 https://bugs.webkit.org/show_bug.cgi?id=19784
944 Properly handle untermianted <!-- comments in <textarea>s.
946 Tests: fast/parser/open-comment-in-script-tricky.html
947 fast/parser/open-comment-in-style.html
948 fast/parser/open-comment-in-textarea.html
950 * html/HTMLTokenizer.cpp:
951 (WebCore::HTMLTokenizer::finish):
953 2008-06-27 Adam Barth <abarth@webkit.org>
955 Reviewed by Darin Alder.
957 Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
958 Text areas in Wikipedia edit pages are empty, following content is missing
960 Don't treat entities as comment starters in parseSpecial.
962 Tests: fast/parser/comment-in-iframe.html
963 fast/parser/entity-comment-in-iframe.html
964 fast/parser/entity-comment-in-script-tricky.html
965 fast/parser/entity-comment-in-style.html
966 fast/parser/entity-comment-in-textarea.html
967 fast/parser/entity-comment-in-title.html
969 * html/HTMLTokenizer.cpp:
970 (WebCore::HTMLTokenizer::parseSpecial):
972 2008-06-27 Antti Koivisto <antti@apple.com>
976 <rdar://problem/6030720>
977 REGRESSION: Discrete animation between incompatible paths does not work
979 Fall back to discrete path animation if paths are not suitable for morphing.
981 Test: svg/custom/animate-path-discrete.svg
983 * svg/SVGAnimateElement.cpp:
984 (WebCore::SVGAnimateElement::calculateAnimatedValue):
986 2008-06-26 David Smith <catfish.man@gmail.com>
988 Reviewed by Sam Weinig.
990 https://bugs.webkit.org/show_bug.cgi?id=19002
992 Optimize simple id selectors in querySelector/querySelectorAll.
993 ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
996 (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
998 (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
999 * dom/SelectorNodeList.cpp:
1000 (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
1002 2008-06-26 Dan Bernstein <mitz@apple.com>
1004 Reviewed by Darin Adler.
1006 - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
1007 http://bugs.webkit.org/show_bug.cgi?id=7023
1009 Test: editing/selection/find-in-text-control.html
1011 * WebCore.base.exp: Updated the TextIterator constructor signature.
1013 * editing/TextIterator.cpp:
1014 (WebCore::TextIterator::TextIterator): Added an enterTextControls
1015 boolean parameter that determines whether the iterator should visit text
1016 inside text areas and text fields. Added code to initialize the
1017 m_inShadowContent member variable based on whether the range is in
1019 (WebCore::TextIterator::advance): Added code to step out of shadow
1021 (WebCore::TextIterator::handleReplacedElement): Added code to enter
1022 text controls if desired.
1023 (WebCore::CharacterIterator::CharacterIterator): Added an
1024 enterTextControls boolean parameter that determines whether the iterator
1025 should visit text inside text areas and text fields. This is passed to
1026 the TextIterator constructor.
1027 (WebCore::findPlainText): Changed to use a CharacterIterator that
1028 visits text controls.
1030 * editing/TextIterator.h: Added member variables to track whether the
1031 current node is in a shadow tree and whether the iterator should visit
1035 (WebCore::Frame::findString): Changed to find inside text controls.
1036 (WebCore::Frame::markAllMatchesForText): Ditto.
1038 * rendering/RenderTextControl.cpp:
1039 (WebCore::RenderTextControl::innerTextElement): Added.
1040 * rendering/RenderTextControl.h: Added innerTextElement(), a private
1041 accessor method that is accessible to TextIterator through class
1044 2008-06-26 Darin Adler <darin@apple.com>
1048 * bridge/runtime.h: Added include of JSString.h since jsString will soon
1049 change to return a JSString*.
1051 2008-06-26 Adele Peterson <adele@apple.com>
1053 Fix suggested by Eric Carlson, added by me, reviewed by Adam.
1055 Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
1057 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1058 Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
1060 2008-06-26 Sam Weinig <sam@webkit.org>
1062 Reviewed by John Sullivan.
1064 <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
1066 * loader/FrameLoader.cpp:
1067 (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the
1068 DOMWindow when opening a CachedPage.
1070 2008-06-26 Eric Seidel <eric@webkit.org>
1072 Reviewed by Beth Dakin.
1074 CSS @import statements can cause DocLoader to use
1075 a dead Frame pointer.
1076 https://bugs.webkit.org/show_bug.cgi?id=19618
1078 The fix is to get rid of the Frame pointer on DocLoader.
1080 I also took this opportunity to clean up Document::detach
1081 a little to make it clear why we clear the m_frame pointer
1082 there, and to note that in the future we should stop
1083 using Node::detach to mean "tear down the whole rendering
1084 tree and detach from the frame".
1086 Test: I don't know how to make a good test for this, the test
1087 we have is network timing dependent and does not make a good
1091 (WebCore::Document::Document):
1092 (WebCore::Document::detach):
1093 (WebCore::Document::clearFramePointer):
1095 * loader/DocLoader.cpp:
1096 (WebCore::DocLoader::frame):
1097 * loader/DocLoader.h:
1099 2008-06-26 Anders Carlsson <andersca@apple.com>
1103 Don't enumerate document.applets trying to determine if a page contains applets.
1104 Instead, set m_containsPlugIns to true when an applet has been created.
1106 * loader/FrameLoader.cpp:
1107 (WebCore::FrameLoader::canCachePage):
1108 (WebCore::FrameLoader::createJavaAppletWidget):
1110 2008-06-26 Alexey Proskuryakov <ap@webkit.org>
1114 Make JSGlobalData per-thread.
1116 * bindings/js/JSDOMBinding.h:
1117 (WebCore::DOMObject::DOMObject):
1118 * bindings/js/JSDOMWindowBase.cpp:
1119 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1120 * bridge/runtime_object.cpp:
1121 (RuntimeObjectImp::RuntimeObjectImp):
1122 Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
1123 there is no danger for them to be collected on a wrong thread.
1125 2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org>
1129 [svg] Disable plugins for SVG images
1130 The Qt platform allows to have a plugin factory per Page. Now SVG Images
1131 are using a Page and dummy/empty clients for Chrome. The only way to get
1132 the kit from the WebCore::Page is to go through the ChromeClient but this
1133 is not possible when the ChromeClient is an empty client. This leads to a
1134 crash in PluginDataQt.cpp. One way to avoid this would have been the
1135 addition of a rtti like field to ChromeClient to see if it is an empty
1136 client. The other possibility is to not enable plugins for images.
1138 The SVGImage relies on the fact that the document is a SVGDocument and
1139 that the rootElement is a SVGSVGElement. If plugins are used we could
1140 end up with a PluginDocument and crash badly. Do not try to use plugins
1141 if plugins are disabled for the WebCore::Page.
1143 * dom/DOMImplementation.cpp:
1144 (WebCore::DOMImplementation::createDocument):
1145 * svg/graphics/SVGImage.cpp:
1146 (WebCore::SVGImage::dataChanged):
1148 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
1154 * platform/graphics/qt/SimpleFontDataQt.cpp:
1155 (WebCore::SimpleFontData::SimpleFontData):
1157 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
1161 [svg] Make QtWebKit build more of the SVG support
1162 Add the proper defines and files, update SVGResourceFilterQt.cpp
1163 to be enabled by the filter option and not by experimental svg support
1166 * svg/graphics/qt/SVGResourceFilterQt.cpp:
1167 (WebCore::SVGResourceFilter::createPlatformData):
1168 (WebCore::SVGResourceFilter::prepareFilter):
1170 2008-06-25 Sam Weinig <sam@webkit.org>
1172 Reviewed by Brady Eidson.
1174 Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
1176 * xml/XMLHttpRequest.cpp:
1177 (WebCore::XMLHttpRequest::readyState):
1178 (WebCore::XMLHttpRequest::changeState):
1179 (WebCore::XMLHttpRequest::open):
1180 * xml/XMLHttpRequest.h:
1181 (WebCore::XMLHttpRequest::create):
1182 (WebCore::XMLHttpRequest::):
1184 2008-06-25 Justin Garcia <justin.garcia@apple.com>
1188 <rdar://problem/5994480> Line break lost on some pastes
1190 Merging the the first paragraph of inserted content with the content that came
1191 before the selection that was pasted into would also move content after
1192 the selection that was pasted into if:
1194 1) Only one paragraph was being pasted, and it was not wrapped in a block
1195 2) The selection that was pasted into ended at the end of a block
1196 3) The next paragraph didn't start at the start of a block.
1198 Insert a line break just after the inserted content to separate it from what
1199 comes after and prevent that from happening.
1201 Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
1202 when deleting a paragraph that started or ended with an input element. This was
1203 because its m_startBlock and m_endBlock were still computed with the old deprecated
1204 enclosingBlockFlowOrTableElement().
1206 * editing/DeleteSelectionCommand.cpp:
1207 (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
1208 getting an enclosing block.
1209 (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
1210 block will return 0 if it reaches the root editable element before finding a block,
1211 so if we're deleting inside an inline editable root, m_start/endBlock will
1212 be 0. Removed an early return for this case (we already have test coverage for it).
1213 * editing/ReplaceSelectionCommand.cpp:
1214 (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted
1215 content to separate it from what comes after.
1216 * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
1217 * dom/Node.cpp: Ditto.
1219 2008-06-25 Anders Carlsson <andersca@apple.com>
1221 Reviewed by Dave Hyatt.
1223 Fix refcount leak in CSSVariablesRule.
1225 * css/CSSParser.cpp:
1226 (WebCore::CSSParser::createVariablesRule):
1227 * css/CSSVariablesRule.h:
1228 (WebCore::CSSVariablesRule::create):
1229 (WebCore::CSSVariablesRule::setDeclaration):
1231 2008-06-25 Anders Carlsson <andersca@apple.com>
1235 <rdar://problem/6007111>
1236 https://bugs.webkit.org/show_bug.cgi?id=19516
1237 DOM modification causes Access Violation (NULL pointer?)
1239 Null check the document element.
1241 * html/HTMLParser.cpp:
1242 (WebCore::HTMLParser::handleError):
1244 2008-06-25 Dan Bernstein <mitz@apple.com>
1246 Reviewed by Dave Hyatt.
1248 - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
1250 - fix https://bugs.webkit.org/show_bug.cgi?id=18863
1251 <rdar://problem/5908890> weight mappings with @font-face aren't consistent
1253 Tests: fast/css/font-face-locally-installed.html
1254 fast/css/font-face-multiple-faces.html
1256 * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
1258 * WebCore.xcodeproj/project.pbxproj: Ditto.
1260 * css/CSSFontFace.h:
1261 Made CSSFontFace store descriptors from the @font-face rule, as follows:
1262 (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
1263 (WebCore::CSSFontFace::traitsMask): Added this accessor.
1264 (WebCore::CSSFontFace::addRange): Added.
1265 (WebCore::CSSFontFace::ranges): Added.
1266 (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
1267 (WebCore::CSSFontFace::UnicodeRange::from):
1268 (WebCore::CSSFontFace::UnicodeRange::to):
1269 (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
1270 of UnicodeRanges as member variables.
1272 * css/CSSFontFaceSource.cpp:
1273 Changed the hash key from the font size alone to the font size and
1274 the synthetic style bits, needed if the same source supplies different
1275 synthesized versions.
1276 (WebCore::CSSFontFaceSource::pruneTable):
1277 (WebCore::CSSFontFaceSource::getFontData):
1279 * css/CSSFontFaceSource.h:
1281 * css/CSSFontSelector.cpp:
1282 (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
1283 the contents of the font face, locally-installed font face and segmented
1285 (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
1286 not create segmented font faces, but instead just collect font faces
1287 and annotate them with descriptors (traits and unicode ranges).
1288 (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
1289 font faces by proximity to the desired traits.
1290 (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
1291 font face here and cache it.
1293 * css/CSSFontSelector.h:
1295 * css/CSSSegmentedFontFace.cpp:
1296 Changed to keep a vector of font faces instead of font face ranges, as
1297 font faces now know their Unicode ranges.
1298 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
1299 (WebCore::CSSSegmentedFontFace::isLoaded):
1300 (WebCore::CSSSegmentedFontFace::isValid):
1301 (WebCore::CSSSegmentedFontFace::appendFontFace):
1302 (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
1303 traits parameters, and instead changed to set them on each FontData
1304 separately based on the difference between the desired traits and
1305 the font face's traits.
1307 * css/CSSSegmentedFontFace.h:
1309 * platform/graphics/FontCache.h:
1310 Removed fontExists() and added getTraitsInFamily().
1312 * platform/graphics/FontDescription.cpp:
1313 (WebCore::FontDescription::traitsMask): Added.
1315 * platform/graphics/FontDescription.h:
1317 * platform/graphics/FontTraitsMask.h: Added.
1319 * platform/graphics/GlyphPageTreeNode.cpp:
1320 (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
1321 glyphs from all fonts in the segmented font, using each font in turn to
1322 fill in characters not covered by earlier fonts.
1324 * platform/graphics/gtk/FontCacheGtk.cpp:
1325 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1327 * platform/graphics/mac/FontCacheMac.mm:
1328 (WebCore::FontCache::getTraitsInFamily): Added.
1330 * platform/graphics/qt/FontCacheQt.cpp:
1331 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1333 * platform/graphics/win/FontCacheWin.cpp:
1334 (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
1335 (WebCore::traitsInFamilyEnumProc): Added.
1336 (WebCore::FontCache::getTraitsInFamily): Added.
1338 * platform/graphics/wx/FontCacheWx.cpp:
1339 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1341 * platform/mac/WebFontCache.h:
1342 * platform/mac/WebFontCache.mm:
1343 (toTraitsMask): Added.
1344 (+[WebFontCache getTraits:inFamily:]): Added.
1346 2008-06-24 Anonymous
1348 Reviewed by Darin Adler. Committed by Adam Barth.
1350 https://bugs.webkit.org/show_bug.cgi?id=19470
1352 Check for a null documentElement() to fix four crashes.
1354 * WebCore/dom/Document.cpp:
1355 * WebCore/dom/Node.cpp:
1357 2008-06-24 Adam Barth <abarth@webkit.org>
1359 Reviewed by Darin Adler.
1361 Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
1363 Correctly parse <!-- </textarea> --> inside a <textarea>, matching
1364 Internet Explorer, Firefox, Opera, and HTML 5.
1366 Tests: fast/parser/comment-in-script-tricky.html
1367 fast/parser/comment-in-style.html
1368 fast/parser/comment-in-textarea.html
1369 fast/parser/comment-in-title.html
1371 * html/HTMLTokenizer.cpp:
1372 (WebCore::HTMLTokenizer::parseSpecial):
1374 2008-06-24 Justin Garcia <justin.garcia@apple.com>
1378 <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
1380 * editing/CompositeEditCommand.cpp:
1381 (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
1382 apply styles from the moved paragraph to the destination with applyStyle, which
1383 does selection preservation when it needs to apply block styles. Selection preservation
1384 uses relatively untested code in TextIterator to count VisiblePositions which fails in
1385 this particular test case because it doesn't handle changes in editability properly.
1386 We can avoid this bug by not applying block styles from moved paragraphs. This is
1387 something that should be done anyway, since the moved paragraph should assume the
1388 block styles of the destination.
1389 * editing/EditCommand.cpp:
1390 (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
1391 this function to also include the typing style.
1392 * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
1393 is buggy and should be phased out when we rewrite moveParagraphs.
1395 2008-06-24 Kevin McCullough <kmccullough@apple.com>
1397 -Added a manual test for the profiler.
1399 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
1401 2008-06-24 Sam Weinig <sam@webkit.org>
1403 Reviewed by Anders Carlsson.
1405 Add support for loadstart, abort and error events for XMLHttpRequests.
1407 Tests: http/tests/xmlhttprequest/onabort-event.html
1408 http/tests/xmlhttprequest/onerror-event.html
1409 http/tests/xmlhttprequest/onloadstart-event.html
1411 * bindings/js/JSXMLHttpRequestCustom.cpp:
1412 (WebCore::JSXMLHttpRequest::mark):
1413 (WebCore::JSXMLHttpRequest::onreadystatechange):
1414 (WebCore::JSXMLHttpRequest::onabort):
1415 (WebCore::JSXMLHttpRequest::setOnabort):
1416 (WebCore::JSXMLHttpRequest::onerror):
1417 (WebCore::JSXMLHttpRequest::setOnerror):
1418 (WebCore::JSXMLHttpRequest::onload):
1419 (WebCore::JSXMLHttpRequest::onloadstart):
1420 (WebCore::JSXMLHttpRequest::setOnloadstart):
1421 (WebCore::JSXMLHttpRequest::onprogress):
1423 * xml/XMLHttpRequest.cpp:
1424 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1425 (WebCore::XMLHttpRequest::createRequest):
1426 (WebCore::XMLHttpRequest::abort):
1427 (WebCore::XMLHttpRequest::networkError):
1428 (WebCore::XMLHttpRequest::abortError):
1429 (WebCore::XMLHttpRequest::didFail):
1430 (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
1431 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
1432 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
1433 (WebCore::XMLHttpRequest::dispatchAbortEvent):
1434 (WebCore::XMLHttpRequest::dispatchErrorEvent):
1435 (WebCore::XMLHttpRequest::dispatchLoadEvent):
1436 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
1437 (WebCore::XMLHttpRequest::dispatchProgressEvent):
1438 * xml/XMLHttpRequest.h:
1439 (WebCore::XMLHttpRequest::setOnAbortListener):
1440 (WebCore::XMLHttpRequest::onAbortListener):
1441 (WebCore::XMLHttpRequest::setOnErrorListener):
1442 (WebCore::XMLHttpRequest::onErrorListener):
1443 (WebCore::XMLHttpRequest::setOnLoadStartListener):
1444 (WebCore::XMLHttpRequest::onLoadStartListener):
1445 * xml/XMLHttpRequest.idl:
1447 2008-06-24 Anders Carlsson <andersca@apple.com>
1451 <rdar://problem/5957606>
1452 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
1454 Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
1455 in case the call do didFail starts a new run loop.
1457 * loader/NetscapePlugInStreamLoader.cpp:
1458 (WebCore::NetscapePlugInStreamLoader::didCancel):
1460 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1464 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1465 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1466 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1467 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1468 Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
1470 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1474 https://bugs.webkit.org/show_bug.cgi?id=19723
1475 REGRESSION(r34648): Some SVG tests crash when running under --threaded
1477 * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
1478 to paint during document destruction, because rendering structures are not kept in a
1479 consistent state then.
1481 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1485 https://bugs.webkit.org/show_bug.cgi?id=19727
1487 Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
1488 many times in Cairo and Qt ports.
1490 * platform/graphics/GraphicsContext.h:
1491 * platform/graphics/GraphicsContext.cpp:
1492 (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
1493 which indicates whether there is a visible shadow to draw or not. Ports
1494 without a platform shadow implementation can use this flag to determine
1495 whether a shadow needs to be drawn manually
1496 * platform/graphics/cairo/FontCairo.cpp:
1497 (WebCore::Font::drawGlyphs):
1498 * platform/graphics/qt/FontQt.cpp:
1499 (WebCore::Font::drawText):
1500 * platform/graphics/qt/GraphicsContextQt.cpp:
1501 (WebCore::GraphicsContext::drawLine): use return from getShadow() to
1502 determine whether to draw the shadow
1504 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1508 https://bugs.webkit.org/show_bug.cgi?id=18459
1510 Clean up and remove unused platform shadow code.
1512 Minor edits by Simon, removed unused TextShadow struct.
1514 * platform/graphics/qt/GraphicsContextQt.cpp:
1515 (WebCore::GraphicsContext::setPlatformShadow):
1516 (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
1517 platform shadow, so just make these functions empty. The shadows are
1518 drawn manually in function like drawLine(), etc.
1520 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1524 https://bugs.webkit.org/show_bug.cgi?id=18459
1526 Implemented basic text-shadow support for the Qt port.
1528 * platform/graphics/qt/FontQt.cpp:
1529 (WebCore::Font::drawText): implement text-shadow support in the Qt port
1530 * platform/graphics/qt/GraphicsContextQt.cpp:
1531 (WebCore::GraphicsContext::drawLine): also draw shadows for text
1532 decorations such as unerlines
1534 2008-06-24 Simon Hausmann <hausmann@webkit.org>
1536 Fix the Qt build, adapt to various JSCore API changes.
1538 * bridge/qt/qt_instance.cpp:
1539 (KJS::Bindings::QtRuntimeObjectImp::construct):
1540 (KJS::Bindings::QtInstance::getRuntimeObject):
1541 (KJS::Bindings::QtInstance::invokeDefaultMethod):
1542 * bridge/qt/qt_runtime.cpp:
1543 (KJS::Bindings::convertQVariantToValue):
1544 (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
1545 (KJS::Bindings::QtRuntimeConnectionMethod::call):
1546 (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
1547 (KJS::Bindings::QtConnectionObject::execute):
1548 * bridge/qt/qt_runtime.h:
1549 (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
1551 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1553 Remove XMLHttpRequestProgressEvent.cpp from more project files.
1558 2008-06-24 Ariya Hidayat <ariya.hidayat@trolltech.com>
1562 For the Qt port, fix linking with MinGW.
1566 2008-06-23 Darin Adler <darin@apple.com>
1570 Update for JavaScript changes.
1572 - Use CallData and ConstructData instead of the obsolete implementsCall,
1573 callAsFunction, and construct functions.
1575 - Updated native function arguments, specifically to allow a JSValue
1576 rather than a JSObject for the this argument, and to call toThisObject
1577 as needed when treating it as an object.
1579 - Made some more class members private and protected, including virtual
1582 - Eliminated the use of getCallData in the JavaScript bridging code as
1583 a way to check if an instance supports invokeDefaultMethod.
1585 - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
1586 classes. They were using virtual functions simply to share an instance
1587 of the RefCounted template, which was not helpful.
1589 * bindings/js/JSAudioConstructor.cpp:
1590 (WebCore::constructAudio):
1591 (WebCore::JSAudioConstructor::getConstructData):
1592 * bindings/js/JSAudioConstructor.h:
1593 (WebCore::JSAudioConstructor::document):
1594 (WebCore::JSAudioConstructor::classInfo):
1595 * bindings/js/JSClipboardCustom.cpp:
1596 (WebCore::JSClipboard::types):
1597 * bindings/js/JSCustomSQLStatementCallback.cpp:
1598 (WebCore::JSCustomSQLStatementCallback::handleEvent):
1599 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1600 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1601 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1602 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1603 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1604 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1605 * bindings/js/JSCustomVoidCallback.cpp:
1606 (WebCore::JSCustomVoidCallback::handleEvent):
1607 * bindings/js/JSCustomXPathNSResolver.cpp:
1608 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1609 * bindings/js/JSDOMBinding.h:
1610 (WebCore::DOMObject::DOMObject):
1611 * bindings/js/JSDOMWindowBase.cpp:
1612 (WebCore::windowProtoFuncAToB):
1613 (WebCore::windowProtoFuncBToA):
1614 (WebCore::windowProtoFuncOpen):
1615 (WebCore::windowProtoFuncSetTimeout):
1616 (WebCore::windowProtoFuncClearTimeout):
1617 (WebCore::windowProtoFuncSetInterval):
1618 (WebCore::windowProtoFuncAddEventListener):
1619 (WebCore::windowProtoFuncRemoveEventListener):
1620 (WebCore::windowProtoFuncShowModalDialog):
1621 (WebCore::windowProtoFuncNotImplemented):
1622 (WebCore::toJSDOMWindow):
1623 * bindings/js/JSDOMWindowBase.h:
1624 * bindings/js/JSDOMWindowShell.h:
1625 (WebCore::JSDOMWindowShell::classInfo):
1626 * bindings/js/JSEventListener.cpp:
1627 (WebCore::JSAbstractEventListener::handleEvent):
1628 (WebCore::JSLazyEventListener::parseCode):
1629 * bindings/js/JSEventTargetBase.cpp:
1630 (WebCore::retrieveEventTargetAndCorrespondingNode):
1631 (WebCore::jsEventTargetAddEventListener):
1632 (WebCore::jsEventTargetRemoveEventListener):
1633 (WebCore::jsEventTargetDispatchEvent):
1634 * bindings/js/JSEventTargetBase.h:
1635 * bindings/js/JSHTMLAppletElementCustom.cpp:
1636 (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
1637 (WebCore::JSHTMLAppletElement::customPut):
1638 (WebCore::JSHTMLAppletElement::getCallData):
1639 * bindings/js/JSHTMLCollectionCustom.cpp:
1640 (WebCore::callHTMLCollection):
1641 (WebCore::JSHTMLCollection::getCallData):
1642 * bindings/js/JSHTMLDocumentCustom.cpp:
1643 (WebCore::JSHTMLDocument::open):
1644 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1645 (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
1646 (WebCore::JSHTMLEmbedElement::customPut):
1647 (WebCore::JSHTMLEmbedElement::getCallData):
1648 * bindings/js/JSHTMLInputElementBase.cpp:
1649 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
1650 * bindings/js/JSHTMLInputElementBase.h:
1651 * bindings/js/JSHTMLObjectElementCustom.cpp:
1652 (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
1653 (WebCore::JSHTMLObjectElement::customPut):
1654 (WebCore::JSHTMLObjectElement::getCallData):
1655 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1656 (WebCore::constructHTMLOptionElement):
1657 (WebCore::JSHTMLOptionElementConstructor::getConstructData):
1658 * bindings/js/JSHTMLOptionElementConstructor.h:
1659 (WebCore::JSHTMLOptionElementConstructor::document):
1660 (WebCore::JSHTMLOptionElementConstructor::classInfo):
1661 * bindings/js/JSImageConstructor.cpp:
1662 (WebCore::constructImage):
1663 (WebCore::JSImageConstructor::getConstructData):
1664 * bindings/js/JSImageConstructor.h:
1665 (WebCore::JSImageConstructor::document):
1666 (WebCore::JSImageConstructor::classInfo):
1667 * bindings/js/JSInspectedObjectWrapper.h:
1668 (WebCore::JSInspectedObjectWrapper::classInfo):
1669 * bindings/js/JSInspectorCallbackWrapper.cpp:
1670 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
1671 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1672 (WebCore::JSJavaScriptCallFrame::scopeChain):
1673 * bindings/js/JSNodeFilterCondition.cpp:
1674 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1675 (WebCore::JSNodeFilterCondition::mark):
1676 (WebCore::JSNodeFilterCondition::acceptNode):
1677 * bindings/js/JSNodeFilterCondition.h:
1678 (WebCore::JSNodeFilterCondition::create):
1679 * bindings/js/JSNodeFilterCustom.cpp:
1680 (WebCore::toNodeFilter):
1681 * bindings/js/JSNodeListCustom.cpp:
1682 (WebCore::callNodeList):
1683 (WebCore::JSNodeList::getCallData):
1684 (WebCore::JSNodeList::canGetItemsForName):
1685 (WebCore::JSNodeList::nameGetter):
1686 * bindings/js/JSPluginElementFunctions.cpp:
1687 (WebCore::runtimeObjectGetter):
1688 (WebCore::runtimeObjectPropertyGetter):
1689 (WebCore::runtimeObjectCustomGetOwnPropertySlot):
1690 (WebCore::runtimeObjectCustomPut):
1691 (WebCore::runtimeObjectGetCallData):
1692 (WebCore::pluginInstance):
1693 (WebCore::getRuntimeObject):
1694 (WebCore::callPlugin):
1695 * bindings/js/JSPluginElementFunctions.h:
1696 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1697 (WebCore::JSQuarantinedObjectWrapper::put):
1698 (WebCore::JSQuarantinedObjectWrapper::construct):
1699 (WebCore::JSQuarantinedObjectWrapper::getConstructData):
1700 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
1701 (WebCore::JSQuarantinedObjectWrapper::call):
1702 (WebCore::JSQuarantinedObjectWrapper::getCallData):
1703 * bindings/js/JSQuarantinedObjectWrapper.h:
1704 (WebCore::JSQuarantinedObjectWrapper::className):
1705 * bindings/js/JSRGBColor.cpp:
1706 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1707 (WebCore::constructXMLHttpRequest):
1708 (WebCore::JSXMLHttpRequestConstructor::getConstructData):
1709 * bindings/js/JSXMLHttpRequestConstructor.h:
1710 (WebCore::JSXMLHttpRequestConstructor::document):
1711 (WebCore::JSXMLHttpRequestConstructor::classInfo):
1712 * bindings/js/JSXSLTProcessorConstructor.cpp:
1713 (WebCore::constructXSLTProcessor):
1714 (WebCore::JSXSLTProcessorConstructor::getConstructData):
1715 * bindings/js/JSXSLTProcessorConstructor.h:
1716 (WebCore::JSXSLTProcessorConstructor::classInfo):
1717 * bindings/js/ScheduledAction.cpp:
1718 (WebCore::ScheduledAction::ScheduledAction):
1719 (WebCore::ScheduledAction::execute):
1720 * bindings/js/ScheduledAction.h:
1721 * bindings/objc/WebScriptObject.mm:
1722 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1723 * bindings/scripts/CodeGeneratorJS.pm:
1724 * bridge/NP_jsobject.cpp:
1725 (_NPN_InvokeDefault):
1727 * bridge/c/c_instance.cpp:
1728 (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
1729 * bridge/c/c_instance.h:
1730 * bridge/jni/jni_jsobject.mm:
1731 (JavaJSObject::call):
1732 * bridge/objc/objc_instance.h:
1733 * bridge/objc/objc_instance.mm:
1734 (ObjcInstance::supportsInvokeDefaultMethod):
1735 * bridge/objc/objc_runtime.h:
1736 (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
1737 (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
1738 * bridge/objc/objc_runtime.mm:
1739 (Bindings::webScriptObjectClass):
1740 (Bindings::webUndefinedClass):
1741 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1742 (callObjCFallbackObject):
1743 (ObjcFallbackObjectImp::getCallData):
1744 * bridge/qt/qt_instance.h:
1745 * bridge/runtime.cpp:
1746 (KJS::Bindings::Instance::createRuntimeObject):
1747 (KJS::Bindings::Instance::getInstance):
1749 (KJS::Bindings::Field::~Field):
1750 (KJS::Bindings::Method::~Method):
1751 (KJS::Bindings::Class::~Class):
1752 (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
1753 * bridge/runtime_method.cpp:
1754 (KJS::callRuntimeMethod):
1755 (KJS::RuntimeMethod::getCallData):
1756 * bridge/runtime_method.h:
1757 (KJS::RuntimeMethod::methods):
1758 * bridge/runtime_object.cpp:
1759 (RuntimeObjectImp::defaultValue):
1760 (callRuntimeObject):
1761 (RuntimeObjectImp::getCallData):
1762 * bridge/runtime_object.h:
1763 (KJS::RuntimeObjectImp::getInternalInstance):
1764 (KJS::RuntimeObjectImp::classInfo):
1765 * dom/NodeIterator.h:
1766 * dom/Traversal.cpp:
1770 2008-06-23 Adam Barth <abarth@webkit.org>
1772 Reviewed by Darin Adler.
1774 https://bugs.webkit.org/show_bug.cgi?id=16756
1776 Move isAllowedToLoadLocalResources into SecurityOrigin.
1779 (WebCore::Document::Document):
1780 (WebCore::Document::setURL):
1781 (WebCore::Document::initSecurityContext):
1783 * loader/FrameLoader.cpp:
1784 (WebCore::FrameLoader::canLoad):
1785 * platform/SecurityOrigin.cpp:
1786 (WebCore::SecurityOrigin::SecurityOrigin):
1787 (WebCore::SecurityOrigin::isLocal):
1788 * platform/SecurityOrigin.h:
1789 (WebCore::SecurityOrigin::protocol):
1790 (WebCore::SecurityOrigin::host):
1791 (WebCore::SecurityOrigin::domain):
1792 (WebCore::SecurityOrigin::port):
1793 (WebCore::SecurityOrigin::canLoadLocalResources):
1794 (WebCore::SecurityOrigin::grantLoadLocalResources):
1795 * xml/XMLHttpRequest.cpp:
1796 (WebCore::XMLHttpRequest::setRequestHeader):
1798 2008-06-23 Mark Rowe <mrowe@apple.com>
1800 Fix the Windows build.
1802 * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
1804 2008-06-23 Steve Falkenburg <sfalken@apple.com>
1806 Fix a math error in my last change.
1808 Reviewed by Ada Chan.
1810 * platform/win/FileSystemWin.cpp:
1811 (WebCore::openTemporaryFile):
1813 2008-06-23 Kevin McCullough <kmccullough@apple.com>
1817 * WebCore.vcproj/WebCore.vcproj:
1819 2008-06-23 chris fleizach <cfleizach@apple.com>
1821 Reviewed by Darin Adler.
1823 <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
1825 * page/AccessibilityObject.cpp:
1826 (WebCore::replacedNodeNeedsCharacter):
1827 (WebCore::AccessibilityObject::stringForVisiblePositionRange):
1828 (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
1830 2008-06-23 Steve Falkenburg <sfalken@apple.com>
1832 Added our own mechanism for generating temporary file names.
1834 Reviewed by Ada Chan, Darin Adler.
1836 * platform/win/FileSystemWin.cpp:
1837 (WebCore::openTemporaryFile):
1839 2008-06-23 Sam Weinig <sam@webkit.org>
1841 Remove XMLHttpRequestProgressEvent.cpp from project files.
1843 * WebCore.vcproj/WebCore.vcproj:
1844 * WebCore.xcodeproj/project.pbxproj:
1845 * WebCoreSources.bkl:
1847 2008-06-23 Sam Weinig <sam@webkit.org>
1849 Reviewed by Dave Hyatt.
1853 * xml/XMLHttpRequestProgressEvent.cpp: Removed.
1855 2008-06-23 Sam Weinig <sam@webkit.org>
1857 Rubber-stamped by Tim Hatcher.
1859 Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
1860 and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
1862 * xml/XMLHttpRequest.cpp:
1863 (WebCore::XMLHttpRequest::createRequest):
1864 (WebCore::XMLHttpRequest::makeSameOriginRequest):
1865 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1866 * xml/XMLHttpRequest.h:
1868 2008-06-23 Sam Weinig <sam@webkit.org>
1870 Reviewed by Alexey Proskuryakov.
1872 Some XMLHttpRequest re-organization to aid further enhancements coming soon.
1874 * bindings/js/JSXMLHttpRequestCustom.cpp:
1875 (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
1876 instead of always calling though send(DOMString).
1877 * dom/Document.idl: Adds native converter.
1879 * xml/XMLHttpRequest.cpp:
1880 (WebCore::XMLHttpRequest::open):
1881 (WebCore::XMLHttpRequest::initSend):
1882 (WebCore::XMLHttpRequest::send):
1883 (WebCore::XMLHttpRequest::createRequest):
1884 (WebCore::XMLHttpRequest::sameOriginRequest):
1885 (WebCore::XMLHttpRequest::crossSiteAccessRequest):
1886 (WebCore::XMLHttpRequest::abort):
1887 (WebCore::XMLHttpRequest::clearResponse):
1888 (WebCore::XMLHttpRequest::clearRequest):
1889 (WebCore::XMLHttpRequest::genericError):
1890 (WebCore::XMLHttpRequest::dispatchProgressEvent):
1891 * xml/XMLHttpRequest.h:
1892 (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
1893 (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
1894 (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
1895 (WebCore::XMLHttpRequest::onLoadListener): Ditto.
1896 (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
1897 (WebCore::XMLHttpRequest::onProgressListener): Ditto.
1898 Makes the request entity body a member variable so that the send method
1899 can be more easily broken up.
1901 2008-06-23 Timothy Hatcher <timothy@apple.com>
1903 Make profiles of the same name in the Inspector group in the
1904 sidebar under a collapsable item that contains all the runs.
1906 https://bugs.webkit.org/show_bug.cgi?id=19713
1908 Reviewed by Darin Adler.
1910 * English.lproj/localizedStrings.js: New strings.
1911 * page/inspector/Images/profileGroupIcon.png: Added.
1912 * page/inspector/Images/profileSmallIcon.png: Added.
1913 * page/inspector/ProfilesPanel.js:
1914 (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
1915 Remove the "some-expandable" class from the sidebarTree.
1916 (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
1917 that have the same name as a previous profile into a group. When a
1918 group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
1919 ProfileSidebarTreeElements are appended to the group's element.
1920 (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
1921 Return _mainTitle is it is set.
1922 (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
1923 Set _mainTitle which is an override title.
1924 (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
1925 (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
1926 Show the last profile in the group when selected.
1927 * page/inspector/SidebarTreeElement.js:
1928 (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
1929 (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
1930 update the style to match.
1931 (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
1932 class if the small property is true.
1933 * page/inspector/inspector.css: New styles for profiles groups
1934 and for the small profiles.
1936 2008-06-23 Anders Carlsson <andersca@apple.com>
1940 Make changedDocuments a HashSet.
1943 (WebCore::Document::setDocumentChanged):
1944 (WebCore::Document::updateDocumentsRendering):
1946 2008-06-23 Alexey Proskuryakov <ap@webkit.org>
1948 Reviewed by Mark Rowe.
1950 Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
1951 be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
1952 on a different thread causes crashes.
1954 * bindings/js/JSDOMBinding.h:
1955 (WebCore::DOMObject::DOMObject):
1957 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1959 Reviewed by Darin Adler.
1961 Fix https://bugs.webkit.org/show_bug.cgi?id=19465
1962 Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
1964 Test: editing/input/textarea-arrow-navigation.html
1966 * rendering/RenderText.cpp:
1967 (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
1968 of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
1969 that the cursor doesn't remain on the previous line.
1971 2008-06-22 Robert Blaut <webkit@blaut.biz>
1973 Reviewed by Darin Adler.
1975 Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
1976 Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
1978 Test: fast/parser/input-textarea-inside-select-element.html
1980 * html/HTMLParser.cpp:
1981 (WebCore::HTMLParser::handleError):
1983 2008-06-22 David Krause <david.krause@gmail.com>
1985 Reviewed by Darin Adler.
1987 Fix https://bugs.webkit.org/show_bug.cgi?id=19426
1988 Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
1990 Change ref to addClient and deref to removeClient in code wrapped
1991 by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
1993 * loader/FrameLoader.cpp:
1994 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
1995 (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
1996 (WebCore::FrameLoader::notifyFinished):
1998 2008-06-22 Robert Blaut <webkit@blaut.biz>
2000 Reviewed by Darin Adler.
2002 Fix https://bugs.webkit.org/show_bug.cgi?id=19520
2003 Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
2005 Test: fast/css/outline-hidden-illegal-value.html
2007 * css/CSSParser.cpp:
2008 (WebCore::CSSParser::parseValue):
2009 * rendering/RenderFlow.cpp:
2010 (WebCore::RenderFlow::paintOutline):
2011 * rendering/RenderObject.cpp:
2012 (WebCore::RenderObject::paintOutline):
2013 * rendering/style/RenderStyle.h:
2014 (WebCore::RenderStyle::outlineWidth):
2015 (WebCore::RenderStyle::outlineOffset):
2017 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
2019 Reviewed by Dan Bernstein.
2021 Fix https://bugs.webkit.org/show_bug.cgi?id=19675
2022 Bug 19675: [GTK] negative text-shadows are not rendered
2024 * platform/graphics/cairo/FontCairo.cpp:
2025 (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
2026 sizes are > 0, while we need to check for != 0.
2028 2008-06-22 kuchhal <kuchhal@yahoo.com>
2030 Reviewed by Darin Adler.
2032 Fix https://bugs.webkit.org/show_bug.cgi?id=19696
2033 Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
2035 * editing/DeleteButtonController.cpp:
2036 (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
2037 if the platform resource could not be loaded.
2039 2008-06-22 kuchhal <kuchhal@yahoo.com>
2041 Reviewed by Darin Adler.
2043 Fix https://bugs.webkit.org/show_bug.cgi?id=19697
2044 Bug 19697: Redundant releaseRef causing memory leak
2046 * platform/win/ClipboardUtilitiesWin.cpp:
2047 (WebCore::fragmentFromCF_HTML):
2049 2008-06-21 Sam Weinig <sam@webkit.org>
2053 * bindings/scripts/CodeGeneratorCOM.pm:
2054 * html/HTMLInputElement.idl:
2056 2008-06-21 Timothy Hatcher <timothy@apple.com>
2058 Fix a typo "new" in the keywords list for hte JavaScript
2059 syntax highlighter. And adds "get" and "set" to the keyword list.
2061 Reviewed by Sam Weinig.
2063 * page/inspector/SourceFrame.js:
2064 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
2065 Fixes the "new" typo and adds "get" and "set".
2067 2008-06-21 David Kilzer <ddkilzer@apple.com>
2069 Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
2071 <https://bugs.webkit.org/show_bug.cgi?id=7931>
2075 Tests: fast/parser/entity-end-iframe-tag.html
2076 fast/parser/entity-end-script-tag.html
2077 fast/parser/entity-end-style-tag.html
2078 fast/parser/entity-end-textarea-tag.html
2079 fast/parser/entity-end-title-tag.html
2080 fast/parser/entity-end-xmp-tag.html
2082 Previously the parser accepted end tags for textarea, title and
2083 iframe elements that contained entity-escaped characters such as
2084 '<'. The fix is to save the position of the last entity-escaped
2085 character converted and to use that to make sure the end tag does
2086 not contain an escaped character.
2088 Note that this was not an issue for script, style and xmp elements
2089 since they already ignored entity-escaped characters.
2091 * html/HTMLTokenizer.cpp:
2092 (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
2093 tag, ignore any text with entity-escaped characters by making sure
2094 lastDecodedEntityPosition is less than the first character of the
2097 2008-06-21 Sam Weinig <sam@webkit.org>
2099 Reviewed by Dan Bernstein.
2101 Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
2102 REGRESSION: Problem with extjs (insertAdjacentHTML)
2104 Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
2106 * html/HTMLElement.cpp:
2107 (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
2108 the DocumentFragment from the html string.
2110 2008-06-21 Adam Barth <abarth@webkit.org>
2112 Reviewed by Sam Weinig.
2114 Log error messages to the console when we deny a request for a URL.
2115 These error messages do not appear in LayoutTests, but they do
2116 appear in the WebInspector.
2118 * dom/XMLTokenizer.cpp:
2119 (WebCore::shouldAllowExternalLoad):
2120 * loader/DocLoader.cpp:
2121 (WebCore::DocLoader::requestResource):
2122 (WebCore::DocLoader::printAccessDeniedMessage):
2123 * loader/DocLoader.h:
2124 * xml/XSLTProcessor.cpp:
2125 (WebCore::docLoaderFunc):
2127 2008-06-21 Adam Barth <abarth@webkit.org>
2129 Reviewed by Sam Weinig.
2131 Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
2132 XSL style sheets allowed across origins
2134 Block cross-orgin loads of XSL style sheets, matching Internet
2135 Explorer, Firefox, and Opera. Also, we now block loading of XBL
2136 across origins, matching Firefox. The XBL behavior does not appear
2137 testable because XBL seems to not be enabled.
2139 Test: http/tests/security/cross-origin-xsl-BLOCKED.html
2141 * loader/DocLoader.cpp:
2142 (WebCore::DocLoader::requestResource):
2144 2008-06-21 Marvin Decker <marv.decker@gmail.com>
2146 Reviewed by Dave Hyatt.
2148 - fix https://bugs.webkit.org/show_bug.cgi?id=19542
2149 <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
2151 Adds a NULL check for getting the small caps page of glyph data. The
2152 page() function can explicitly return null in some cases, and every
2153 other usage in this function does the check.
2155 * platform/graphics/Font.cpp:
2156 (WebCore::Font::glyphDataForCharacter):
2158 2008-06-21 Alex Taylor <darwin@milliamp.org>
2160 Reviewed by Dan Bernstein.
2162 Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
2164 Adds support for border-radius on legend elements.
2165 Fieldsets with a legend and rounded borders now have a clipping region set
2168 Test: fast/borders/fieldsetBorderRadius.html
2170 * rendering/RenderFieldset.cpp:
2171 (WebCore::RenderFieldset::paintBoxDecorations):
2172 (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
2174 2008-06-21 Kevin Ollivier <kevino@theolliviers.com>
2176 wx build fix. Adding CSSVariable* API sources to the Bakefiles.
2178 * WebCoreSources.bkl:
2180 2008-06-20 Sam Weinig <sam@webkit.org>
2184 * bindings/scripts/CodeGeneratorCOM.pm:
2186 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
2188 Gtk build fix: Add files missing in the previous fix (r34705)
2192 2008-06-20 Dan Bernstein <mitz@apple.com>
2194 Reviewed by Sam Weinig.
2196 - fix leak of mask images
2198 * rendering/RenderObject.cpp:
2199 (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
2202 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
2204 Gtk build fix for r34702, r34700 and r34693
2205 Qt build fix for r34700 and r34693
2209 * platform/gtk/RenderThemeGtk.cpp:
2210 * platform/gtk/RenderThemeGtk.h:
2211 * platform/qt/RenderThemeQt.cpp:
2212 * platform/qt/RenderThemeQt.h:
2214 2008-06-20 Sam Weinig <sam@webkit.org>
2216 Reviewed by Adele Peterson.
2218 Add 'files' property to the HTMLInputElement, which returns a FileList object
2219 (when type=file, null otherwise) containing a list of all the files selected.
2220 It currently always contains only 0 or 1 files as multifile input is not supported
2221 yet. The list contains File objects which contains the name and size of the file.
2222 The inspiration for these interfaces is from:
2223 - http://developer.mozilla.org/en/docs/nsIDOMFileList
2224 - http://developer.mozilla.org/en/docs/nsIDOMFile
2226 Also fixes <rdar://problem/6022802>
2228 * DerivedSources.make:
2231 * WebCore.vcproj/WebCore.vcproj:
2232 * WebCore.xcodeproj/project.pbxproj:
2233 * WebCoreSources.bkl:
2234 * bindings/objc/DOMInternal.h:
2235 * bindings/scripts/CodeGenerator.pm:
2236 * bindings/scripts/IDLStructure.pm:
2237 * html/File.cpp: Added.
2238 (WebCore::File::File):
2239 (WebCore::File::fileSize):
2240 * html/File.h: Added.
2241 (WebCore::File::create):
2242 (WebCore::File::fileName):
2243 (WebCore::File::path):
2244 * html/File.idl: Added.
2245 * html/FileList.cpp: Added.
2246 (WebCore::FileList::FileList):
2247 (WebCore::FileList::item):
2248 * html/FileList.h: Added.
2249 (WebCore::FileList::create):
2250 (WebCore::FileList::length):
2251 (WebCore::FileList::isEmpty):
2252 (WebCore::FileList::clear):
2253 (WebCore::FileList::append):
2254 * html/FileList.idl: Added.
2255 * html/HTMLInputElement.cpp:
2256 (WebCore::HTMLInputElement::setInputType):
2257 (WebCore::HTMLInputElement::appendFormData):
2258 (WebCore::HTMLInputElement::value):
2259 (WebCore::HTMLInputElement::setValue):
2260 (WebCore::HTMLInputElement::setValueFromRenderer):
2261 (WebCore::HTMLInputElement::files):
2262 * html/HTMLInputElement.h:
2263 * html/HTMLInputElement.idl:
2264 * page/DOMWindow.idl:
2266 2008-06-20 David Hyatt <hyatt@apple.com>
2268 Make sure CSS variables work inside the inline style attribute.
2272 Added fast/css/variables/inline-style-test.html
2274 * css/CSSMutableStyleDeclaration.cpp:
2275 (WebCore::CSSMutableStyleDeclaration::removeProperty):
2276 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
2278 2008-06-20 David Hyatt <hyatt@apple.com>
2280 Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs. These allow querying of
2281 variables names and values, as well as iteration, setting and removal.
2285 Added multiple new tests to fast/css/variables/
2287 * DerivedSources.make:
2288 * WebCore.xcodeproj/project.pbxproj:
2289 * bindings/js/JSCSSRuleCustom.cpp:
2291 * bindings/objc/DOMInternal.h:
2292 * bindings/scripts/CodeGeneratorJS.pm:
2293 * css/CSSPrimitiveValue.cpp:
2294 (WebCore::CSSPrimitiveValue::parserValue):
2295 * css/CSSVariablesDeclaration.cpp:
2296 (WebCore::CSSVariablesDeclaration::removeVariable):
2297 (WebCore::CSSVariablesDeclaration::setVariable):
2298 (WebCore::CSSVariablesDeclaration::setCssText):
2299 (WebCore::CSSVariablesDeclaration::setChanged):
2300 * css/CSSVariablesDeclaration.h:
2301 * css/CSSVariablesDeclaration.idl: Added.
2302 * css/CSSVariablesRule.h:
2303 * css/CSSVariablesRule.idl: Added.
2305 2008-06-20 Kevin McCullough <kmccullough@apple.com>
2307 Rubber stamped by Adele.
2309 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
2311 2008-06-20 Kevin McCullough <kmccullough@apple.com>
2315 <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
2316 if profiling is started and finished within the same function. (19230)
2317 - Now we profile one more stack frame up from the last frame to allocate
2318 the time spent in it, if it exists.
2321 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
2322 (WebCore::Console::profile): When stating the profiler give a client for
2323 the callback of when the profile actually finishes.
2324 (WebCore::Console::profileEnd): No longer needs to handle the return of
2325 the profile object since it will be retruned in the client's callback.
2326 (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
2328 * page/Console.h: Inherit from the ProfileClient.
2329 * page/InspectorController.cpp:
2330 (WebCore::InspectorController::startUserInitiatedProfiling): Use the
2332 (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
2333 need to handle the profile being returned as it is now handled by the
2335 (WebCore::InspectorController::finishedProfiling): Implement the
2336 ProfileClient callback method.
2337 * page/InspectorController.h: Inherit from the ProfileClient.
2339 2008-06-20 Timothy Hatcher <timothy@apple.com>
2341 Makes the JavaScript syntax highlighter process lines in chunks
2342 so the user interface isn't blocked for large script files.
2344 https://bugs.webkit.org/show_bug.cgi?id=19677
2346 Reviewed by Adam Roben.
2348 * page/inspector/SourceFrame.js:
2349 (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
2350 property on the row instead of getElementsByTagName.
2351 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
2352 cells property on the row instead of getElementsByTagName. Added
2353 a nested processChunk function that highlights 10 lines at a time
2354 This processChunk function is called at an interval of 25ms. The
2355 code is still highlighted quickly, and the user can't tell it wasn't
2356 highlighted all at once.
2358 2008-06-20 Timothy Hatcher <timothy@apple.com>
2360 Fixes a bug where the source view in the Resources panel had a
2361 couple of extra pixels at the bottom when fully scrolled.
2363 Reviewed by Adam Roben.
2365 * page/inspector/SourceFrame.js:
2366 (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
2367 Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
2368 when sizing to fit is being disabled.
2369 * page/inspector/inspector.css:
2370 (.resource-view.headers-visible .source-view-frame): Added the
2371 vertical-align: top property to prevent line alignment from adding extra
2372 pixels on the bottom.
2374 2008-06-20 Timothy Hatcher <timothy@apple.com>
2376 Changed all lineHeight, baselinePosition and verticalPositionHint
2377 calls to return int instead of short. The short was overflowing
2378 when a value greater than 32,767 was encountered.
2380 Fixes: iframes with a height of 32,768px or greater do not layout correctly
2381 https://bugs.webkit.org/show_bug.cgi?id=19679
2383 Reviewed by Dave Hyatt.
2385 Test: fast/css/line-height-overflow.html
2387 * rendering/RenderBR.cpp:
2388 (WebCore::RenderBR::baselinePosition):
2389 * rendering/RenderBR.h:
2390 * rendering/RenderBlock.cpp:
2391 (WebCore::RenderBlock::lineHeight):
2392 * rendering/RenderBlock.h:
2393 * rendering/RenderFlow.cpp:
2394 * rendering/RenderFlow.h:
2395 * rendering/RenderListBox.cpp:
2396 * rendering/RenderListBox.h:
2397 * rendering/RenderListMarker.cpp:
2398 (WebCore::RenderListMarker::lineHeight):
2399 * rendering/RenderListMarker.h:
2400 * rendering/RenderObject.cpp:
2401 (WebCore::RenderObject::verticalPositionHint):
2402 * rendering/RenderObject.h:
2404 * rendering/RenderPath.cpp:
2405 (WebCore::RenderPath::lineHeight):
2406 * rendering/RenderPath.h:
2407 * rendering/RenderReplaced.cpp:
2408 (WebCore::RenderReplaced::lineHeight):
2409 * rendering/RenderReplaced.h:
2410 * rendering/RenderSVGContainer.cpp:
2411 (WebCore::RenderSVGContainer::lineHeight):
2412 * rendering/RenderSVGContainer.h:
2413 * rendering/RenderSVGHiddenContainer.cpp:
2414 (WebCore::RenderSVGHiddenContainer::lineHeight):
2415 * rendering/RenderSVGHiddenContainer.h:
2416 * rendering/RenderSVGRoot.cpp:
2417 (WebCore::RenderSVGRoot::lineHeight):
2418 * rendering/RenderSVGRoot.h:
2419 * rendering/RenderSlider.cpp:
2420 * rendering/RenderSlider.h:
2421 * rendering/RenderTableCell.cpp:
2422 * rendering/RenderTableCell.h:
2423 * rendering/RenderTableCol.h:
2424 * rendering/RenderTableRow.h:
2425 * rendering/RenderTableSection.h:
2426 * rendering/RenderText.cpp:
2427 * rendering/RenderText.h:
2428 * rendering/RenderTextControl.cpp:
2429 * rendering/RenderTextControl.h:
2430 * rendering/RenderTheme.cpp:
2431 * rendering/RenderTheme.h:
2432 * rendering/RenderThemeMac.h:
2433 * rendering/RenderThemeMac.mm:
2434 * rendering/RenderThemeSafari.cpp:
2435 * rendering/RenderThemeSafari.h:
2437 2008-06-20 Dan Bernstein <mitz@apple.com>
2439 Reviewed by Darin Adler.
2441 - fix https://bugs.webkit.org/show_bug.cgi?id=19519
2442 <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
2444 Test: fast/table/prepend-in-anonymous-table.html
2446 * rendering/RenderBlock.cpp:
2447 (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
2448 of inserting before a child that has been wrapped by an anonymous table,
2449 in which case if the new child is the type that needs to be in a table,
2450 it is inserted into the table, and otherwise it is inserted before the
2452 * rendering/RenderTable.cpp:
2453 (WebCore::RenderTable::addChild): Added table-column-group alongside
2454 table-caption as content that can exist inside an anonymous table
2455 without being wrapped in a table section.
2457 2008-06-20 David Hyatt <hyatt@apple.com>
2459 Allow CSS variables to support arbitrary expressions as values instead of just a single term.
2463 Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html
2466 * css/CSSParser.cpp:
2467 (WebCore::CSSParser::addVariable):
2469 * css/CSSStyleSelector.cpp:
2470 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2471 * css/CSSVariablesDeclaration.cpp:
2472 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2473 (WebCore::CSSVariablesDeclaration::getVariableValue):
2474 (WebCore::CSSVariablesDeclaration::addParsedVariable):
2475 (WebCore::CSSVariablesDeclaration::getParsedVariable):
2476 * css/CSSVariablesDeclaration.h:
2477 (WebCore::CSSVariablesDeclaration::create):
2479 2008-06-19 Dan Bernstein <mitz@apple.com>
2481 Reviewed by John Sullivan.
2483 - fix a bug where anonymous tables were inserted in the wrong place
2485 Tests: tables/mozilla/bugs/bug2479-2.html
2486 tables/mozilla/bugs/bug278266.html
2487 tables/mozilla/bugs/bug8411.xml
2489 * rendering/RenderContainer.cpp:
2490 (WebCore::RenderContainer::addChild): Changed to create an anonymous
2491 table and insert it before beforeChild unless the insertion point is
2492 right after an existing anonymous table, in which case the existing
2495 2008-06-19 Justin Garcia <justin.garcia@apple.com>
2499 <https://bugs.webkit.org/show_bug.cgi?id=16049>
2500 execCommand('backColor') fails on collapsed selections
2502 * editing/EditorCommand.cpp:
2503 (WebCore::CommandEntry::): Enable BackColor for caret selections, and
2504 disable ForeColor in plaintext-only regions.
2506 2008-06-19 Justin Garcia <justin.garcia@apple.com>
2510 <https://bugs.webkit.org/show_bug.cgi?id=19653>
2511 Typing style lost when creating list from, indenting or outdenting an empty paragraph
2513 There were two problems. First, moveParagraphs didn't preserve the style of empty paragraphs.
2514 Second, indent, outdent and list creation returned false from preservesTypingStyle.
2515 The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
2516 to those commands, though, because of other bugs.
2518 Cleaned up the implementation of typing style enough to remove FIXMEs for:
2520 <rdar://problem/3769899> Implementation of typing style needs improvement
2522 which has actually been closed for some time now anyway.
2524 * dom/Document.cpp: Removed an unused header.
2525 * editing/CompositeEditCommand.cpp:
2526 (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
2527 * editing/DeleteSelectionCommand.cpp:
2528 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
2529 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
2531 If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
2532 placeholder, not only one that was inserted by deletion. This fixes a bug where deleting
2533 <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't
2535 Don't set the EditCommand's typingStyle, it has been removed (more on that later).
2536 (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
2537 the inserted placeholder because it will find it.
2538 (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the
2539 typing style that was present before it. For example, type a character, Bold, then delete the
2540 character and start typing. The Bold typing style shouldn't stick around. We got this right before
2541 purely by chance. Deletion should preserve a typing style that *it* sets, however.
2542 * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
2543 the inserted placeholder.
2544 * editing/EditCommand.cpp:
2545 (WebCore::EditCommand::apply):
2546 Clearing or not clearing a removed anchor should not be determined by whether or not a command
2547 preservesTypingStyle(). For example, the deletion that removed an anchor (and stored it), may
2548 not preserve the typing style, but that doesn't mean that it should then go and clear the removed
2549 anchor. All high level commands, and all commands that a TypingCommand spawns, except for
2550 text insertions, which should restore a removed anchor, should clear it.
2551 There is no longer a typing style on EditCommand, removed code that cleared it. Code that clears the
2552 *actual* typing style is now in Editor::appliedEditing, just like before.
2553 There is no longer a typing style on EditCommand, removed code to set one.
2554 (WebCore::EditCommand::styleAtPosition): Removed FIXME.
2555 * editing/EditCommand.h:
2556 Removed code assosiated with m_typingStyle.
2557 Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
2558 * editing/Editor.cpp:
2559 (WebCore::Editor::appliedEditing):
2560 Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
2561 request to clear the typing style with that call. Also removed the FIXME about this.
2562 Before, a command would set the Frame's typing style by setting its own typingStyle, and then
2563 letting code here, in appliedEditing pick that up and set it on the Frame. Now, the command
2564 itself sets the Frame's typing style. Deletion is the only command that does this right now.
2565 * editing/IndentOutdentCommand.h:
2566 (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
2567 * editing/InsertLineBreakCommand.cpp:
2568 (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
2569 * editing/InsertListCommand.h:
2570 (WebCore::InsertListCommand::preservesTypingStyle): Added.
2571 * editing/InsertParagraphSeparatorCommand.cpp:
2572 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
2573 * editing/InsertTextCommand.cpp:
2574 (WebCore::InsertTextCommand::input): Removed FIXME.
2575 * editing/ReplaceSelectionCommand.cpp:
2576 (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
2577 the typing style here. It seems like it's something that could wait until after the command
2578 has been performed, since there is no code between this point and the end of the operation
2579 that queries or uses the typing style.
2581 2008-06-19 Dan Bernstein <mitz@apple.com>
2583 Reviewed by Alexey Proskuryakov.
2585 - fix crash in CSSStyleDeclaration::copyPropertiesInSet()
2587 Covered by many editing tests
2589 * css/CSSStyleDeclaration.cpp:
2590 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
2593 2008-06-19 David Hyatt <hyatt@apple.com>
2595 Fix out of bounds bug in CSSVariablesDeclaration's item() method.
2597 Reviewed by Sam, Darin
2599 * css/CSSVariablesDeclaration.cpp:
2600 (WebCore::CSSVariablesDeclaration::item):
2601 * css/CSSVariablesDeclaration.h:
2603 2008-06-19 John Sullivan <sullivan@apple.com>
2607 Tweak to previous checkin
2609 * page/FrameView.cpp:
2610 (WebCore::FrameView::performPostLayoutTasks):
2611 clear m_firstLayoutCallbackPending before performing callback, to avoid recursion
2613 2008-06-19 John Sullivan <sullivan@apple.com>
2617 - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
2619 The didFirstLayout callback was called in a place where trouble would ensue if the client
2620 did any work that would cause the layout to be dirtied. Fixed by delaying the callback
2621 until performPostLayoutTasks.
2623 * page/FrameView.cpp:
2624 new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
2625 (WebCore::FrameViewPrivate::reset):
2626 set m_firstLayoutCallbackPending to false
2627 (WebCore::FrameView::layout):
2628 set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
2629 (WebCore::FrameView::performPostLayoutTasks):
2630 if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending
2632 2008-06-19 David Hyatt <hyatt@apple.com>
2634 Implement some cleanup of CSS variables based off Darin's review comments.
2638 * css/CSSParser.cpp:
2639 (WebCore::CSSParser::parseVariable):
2640 (WebCore::CSSParser::checkForVariables):
2641 (WebCore::CSSParser::addUnresolvedProperty):
2642 * css/CSSStyleSelector.cpp:
2643 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2644 * css/CSSVariableDependentValue.h:
2645 * css/CSSVariablesRule.cpp:
2646 (WebCore::CSSVariablesRule::CSSVariablesRule):
2648 2008-06-19 John Sullivan <sullivan@apple.com>
2650 Rubber-stamped by Dan
2652 Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
2653 for adding a new one in a future patch)
2655 * page/FrameView.cpp:
2656 (WebCore::FrameViewPrivate::FrameViewPrivate):
2657 (WebCore::FrameViewPrivate::reset):
2658 (WebCore::FrameView::~FrameView):
2659 (WebCore::FrameView::resetScrollbars):
2660 (WebCore::FrameView::didFirstLayout):
2661 (WebCore::FrameView::initScrollbars):
2662 (WebCore::FrameView::layoutCount):
2663 (WebCore::FrameView::needsFullRepaint):
2664 (WebCore::FrameView::layoutRoot):
2665 (WebCore::FrameView::layout):
2666 (WebCore::FrameView::scrollTo):
2667 (WebCore::FrameView::useSlowRepaints):
2668 (WebCore::FrameView::setUseSlowRepaints):
2669 (WebCore::FrameView::removeSlowRepaintObject):
2670 (WebCore::FrameView::setScrollbarsMode):
2671 (WebCore::FrameView::setVScrollbarMode):
2672 (WebCore::FrameView::setHScrollbarMode):
2673 (WebCore::FrameView::scheduleRelayout):
2674 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2675 (WebCore::FrameView::layoutPending):
2676 (WebCore::FrameView::needsLayout):
2677 (WebCore::FrameView::unscheduleRelayout):
2678 (WebCore::FrameView::isTransparent):
2679 (WebCore::FrameView::setTransparent):
2680 (WebCore::FrameView::baseBackgroundColor):
2681 (WebCore::FrameView::setBaseBackgroundColor):
2682 (WebCore::FrameView::performPostLayoutTasks):
2683 (WebCore::FrameView::updateOverflowStatus):
2685 2008-06-19 David Hyatt <hyatt@apple.com>
2687 Add initial support for CSS variables. Non-dynamic cases should (hopefully) all work. Things will get
2688 confused if you use the CSS OM to remove variables/inject variables, etc. In addition no DOM APIs are
2689 exposed yet for the new variable interfaces.
2693 Added many tests to fast/css/variables/
2695 * WebCore.xcodeproj/project.pbxproj:
2696 * css/CSSFunctionValue.cpp: Added.
2697 (WebCore::CSSFunctionValue::CSSFunctionValue):
2698 (WebCore::CSSFunctionValue::~CSSFunctionValue):
2699 (WebCore::CSSFunctionValue::cssText):
2700 (WebCore::CSSFunctionValue::parserValue):
2701 * css/CSSFunctionValue.h: Added.
2702 (WebCore::CSSFunctionValue::create):
2704 * css/CSSMutableStyleDeclaration.cpp:
2705 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2706 (WebCore::CSSMutableStyleDeclaration::copy):
2707 * css/CSSMutableStyleDeclaration.h:
2708 (WebCore::CSSMutableStyleDeclaration::create):
2709 (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
2710 * css/CSSParser.cpp:
2712 (WebCore::equalIgnoringCase):
2713 (WebCore::CSSParser::~CSSParser):
2714 (WebCore::CSSParserString::lower):
2715 (WebCore::CSSParser::document):
2716 (WebCore::CSSParser::validUnit):
2717 (WebCore::unitFromString):
2718 (WebCore::CSSParser::checkForOrphanedUnits):
2719 (WebCore::CSSParser::parseValue):
2720 (WebCore::CSSParser::parseFillShorthand):
2721 (WebCore::CSSParser::parseTransitionShorthand):
2722 (WebCore::CSSParser::parseContent):
2723 (WebCore::CSSParser::parseFillImage):
2724 (WebCore::CSSParser::parseFillPosition):
2725 (WebCore::CSSParser::parseFillSize):
2726 (WebCore::CSSParser::parseFillProperty):
2727 (WebCore::CSSParser::parseTransitionDuration):
2728 (WebCore::CSSParser::parseTransitionRepeatCount):
2729 (WebCore::CSSParser::parseTimingFunctionValue):
2730 (WebCore::CSSParser::parseTransitionTimingFunction):
2731 (WebCore::CSSParser::parseTransitionProperty):
2732 (WebCore::skipCommaInDashboardRegion):
2733 (WebCore::CSSParser::parseDashboardRegions):
2734 (WebCore::CSSParser::parseCounterContent):
2735 (WebCore::CSSParser::parseShape):
2736 (WebCore::CSSParser::parseFont):
2737 (WebCore::CSSParser::parseFontFamily):
2738 (WebCore::CSSParser::parseFontFaceSrc):
2739 (WebCore::CSSParser::parseFontFaceUnicodeRange):
2740 (WebCore::CSSParser::parseColorParameters):
2741 (WebCore::CSSParser::parseHSLParameters):
2742 (WebCore::CSSParser::parseColor):
2743 (WebCore::CSSParser::parseColorFromValue):
2744 (WebCore::ShadowParseContext::commitLength):
2745 (WebCore::CSSParser::parseShadow):
2746 (WebCore::CSSParser::parseReflect):
2747 (WebCore::BorderImageParseContext::commitNumber):
2748 (WebCore::BorderImageParseContext::commitWidth):
2749 (WebCore::BorderImageParseContext::commitBorderImage):
2750 (WebCore::CSSParser::parseBorderImage):
2751 (WebCore::CSSParser::parseCounter):
2752 (WebCore::parseGradientPoint):
2753 (WebCore::parseGradientColorStop):
2754 (WebCore::CSSParser::parseGradient):
2755 (WebCore::CSSParser::parseCanvas):
2756 (WebCore::TransformOperationInfo::TransformOperationInfo):
2757 (WebCore::CSSParser::parseTransform):
2758 (WebCore::CSSParser::lex):
2759 (WebCore::CSSParser::text):
2760 (WebCore::CSSParser::createFloatingValueList):
2761 (WebCore::CSSParser::sinkFloatingValueList):
2762 (WebCore::CSSParser::createFloatingFunction):
2763 (WebCore::CSSParser::sinkFloatingFunction):
2764 (WebCore::CSSParser::sinkFloatingValue):
2765 (WebCore::CSSParser::createFloatingMediaQueryExp):
2766 (WebCore::CSSParser::createCharsetRule):
2767 (WebCore::CSSParser::createImportRule):
2768 (WebCore::CSSParser::createVariablesRule):
2769 (WebCore::CSSParser::addVariable):
2770 (WebCore::CSSParser::clearVariables):
2771 (WebCore::CSSParser::parseVariable):
2772 (WebCore::CSSParser::parsePropertyWithResolvedVariables):
2773 (WebCore::CSSParser::checkForVariables):
2774 (WebCore::CSSParser::addUnresolvedProperty):
2775 (WebCore::cssPropertyID):
2776 (WebCore::cssValueKeywordID):
2778 * css/CSSParserValues.cpp: Added.
2779 (WebCore::CSSParserValueList::~CSSParserValueList):
2780 (WebCore::CSSParserValueList::addValue):
2781 (WebCore::CSSParserValueList::deleteValueAt):
2782 (WebCore::CSSParserValue::createCSSValue):
2783 * css/CSSParserValues.h: Added.
2784 (WebCore::CSSParserString::operator String):
2785 (WebCore::CSSParserString::operator AtomicString):
2786 (WebCore::CSSParserValue::):
2787 (WebCore::CSSParserValueList::CSSParserValueList):
2788 (WebCore::CSSParserValueList::size):
2789 (WebCore::CSSParserValueList::current):
2790 (WebCore::CSSParserValueList::next):
2791 (WebCore::CSSParserValueList::valueAt):
2792 (WebCore::CSSParserValueList::clear):
2793 (WebCore::CSSParserValueList::containsVariables):
2794 (WebCore::CSSParserFunction::~CSSParserFunction):
2795 * css/CSSPrimitiveValue.cpp:
2796 (WebCore::CSSPrimitiveValue::getStringValue):
2797 (WebCore::CSSPrimitiveValue::cssText):
2798 (WebCore::CSSPrimitiveValue::parserValue):
2799 * css/CSSPrimitiveValue.h:
2800 (WebCore::CSSPrimitiveValue::):
2801 (WebCore::CSSPrimitiveValue::setPrimitiveType):
2803 (WebCore::CSSRule::):
2805 * css/CSSStyleDeclaration.cpp:
2806 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2807 * css/CSSStyleSelector.cpp:
2808 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2809 (WebCore::CSSStyleSelector::addVariables):
2810 (WebCore::CSSStyleSelector::resolveVariableDependentValue):
2811 (WebCore::CSSRuleSet::addRulesFromSheet):
2812 (WebCore::CSSStyleSelector::applyDeclarations):
2813 * css/CSSStyleSelector.h:
2815 (WebCore::CSSValue::isVariableDependentValue):
2816 (WebCore::CSSValue::parserValue):
2817 * css/CSSValueList.cpp:
2818 (WebCore::CSSValueList::CSSValueList):
2819 (WebCore::CSSValueList::createParserValueList):
2820 * css/CSSValueList.h:
2821 (WebCore::CSSValueList::createFromParserValueList):
2822 * css/CSSVariableDependentValue.cpp: Added.
2823 (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
2824 (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
2825 (WebCore::CSSVariableDependentValue::cssText):
2826 * css/CSSVariableDependentValue.h: Added.
2827 (WebCore::CSSVariableDependentValue::create):
2828 (WebCore::CSSVariableDependentValue::isVariableDependentValue):
2829 (WebCore::CSSVariableDependentValue::valueList):
2830 * css/CSSVariablesDeclaration.cpp: Added.
2831 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2832 (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
2833 (WebCore::CSSVariablesDeclaration::getVariableValue):
2834 (WebCore::CSSVariablesDeclaration::removeVariable):
2835 (WebCore::CSSVariablesDeclaration::setVariable):
2836 (WebCore::CSSVariablesDeclaration::addParsedVariable):
2837 (WebCore::CSSVariablesDeclaration::getParsedVariable):
2838 (WebCore::CSSVariablesDeclaration::length):
2839 (WebCore::CSSVariablesDeclaration::item):
2840 (WebCore::CSSVariablesDeclaration::parentRule):
2841 (WebCore::CSSVariablesDeclaration::cssText):
2842 * css/CSSVariablesDeclaration.h: Added.
2843 (WebCore::CSSVariablesDeclaration::create):
2844 * css/CSSVariablesRule.cpp: Added.
2845 (WebCore::CSSVariablesRule::CSSVariablesRule):
2846 (WebCore::CSSVariablesRule::~CSSVariablesRule):
2847 (WebCore::CSSVariablesRule::cssText):
2848 * css/CSSVariablesRule.h: Added.
2849 (WebCore::CSSVariablesRule::media):
2850 (WebCore::CSSVariablesRule::variables):
2851 (WebCore::CSSVariablesRule::type):
2852 (WebCore::CSSVariablesRule::isVariablesRule):
2853 (WebCore::CSSVariablesRule::setDeclaration):
2854 * css/MediaQueryExp.cpp:
2855 (WebCore::MediaQueryExp::MediaQueryExp):
2856 * css/MediaQueryExp.h:
2857 * css/SVGCSSParser.cpp:
2858 (WebCore::CSSParser::parseSVGValue):
2859 (WebCore::CSSParser::parseSVGStrokeDasharray):
2861 (WebCore::StyleBase::isVariablesRule):
2862 * css/tokenizer.flex:
2864 2008-06-19 Julien Chaffraix <jchaffraix@webkit.org>
2868 Bug 19529 : Empty clients need to be refactored
2869 https://bugs.webkit.org/show_bug.cgi?id=19529
2871 - SVGImageEmptyClients' refactoring in order to be able to use them for other
2874 - Trimmed empty spaces that were pointed out by git.
2876 * WebCore.xcodeproj/project.pbxproj:
2877 * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.
2879 (WebCore::EmptyChromeClient::~EmptyChromeClient):
2880 (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
2881 (WebCore::EmptyEditorClient::~EmptyEditorClient):
2882 (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
2883 (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
2884 (WebCore::EmptyDragClient::~EmptyDragClient):
2885 (WebCore::EmptyDragClient::createDragImageForLink):
2886 (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
2887 Renamed SVGImageEmpty*Client classes to Empty*Client.
2889 * svg/graphics/SVGImage.cpp:
2890 (WebCore::SVGImage::dataChanged):
2891 * svg/graphics/SVGImageEmptyClients.h: Removed.
2893 2008-06-19 Dan Bernstein <mitz@apple.com>
2895 Reviewed by Darin Adler.
2897 - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()
2899 Test: fast/css/font-face-multiple-families.html
2901 Made changes to reflect the fact that the relationship between
2902 CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.
2904 * css/CSSFontFace.cpp:
2905 (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
2906 (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
2907 (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
2908 faces that include this font face.
2909 (WebCore::CSSFontFace::getFontData): Updated to get the font selector
2910 from one of the segmented font faces.
2911 * css/CSSFontFace.h:
2912 (WebCore::CSSFontFace::CSSFontFace):
2913 * css/CSSFontSelector.cpp:
2914 (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
2915 the crash, namely releasing the font face when adding it to the first
2916 family that uses it, making it impossible to add it to the second and
2918 * css/CSSSegmentedFontFace.cpp:
2919 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
2920 call CSSFontFace::removedFromSegmentedFontFace().
2921 (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
2922 CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().
2924 2008-06-19 Alexey Proskuryakov <ap@webkit.org>
2928 * bridge/qt/qt_runtime.h: Include completion.h.
2930 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
2934 Prepare JavaScript heap for being per-thread.
2936 * ForwardingHeaders/kjs/JSGlobalData.h: Added.
2937 * bindings/js/GCController.cpp:
2939 (WebCore::GCController::gcTimerFired):
2940 (WebCore::GCController::garbageCollectNow):
2941 * bindings/js/JSAudioConstructor.cpp:
2942 (WebCore::JSAudioConstructor::JSAudioConstructor):
2943 * bindings/js/JSCSSRuleCustom.cpp:
2945 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2946 (WebCore::JSCSSStyleDeclaration::nameGetter):
2947 * bindings/js/JSCSSValueCustom.cpp:
2949 * bindings/js/JSCanvasPixelArrayCustom.cpp:
2950 (WebCore::JSCanvasPixelArray::indexGetter):
2952 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2954 * bindings/js/JSClipboardCustom.cpp:
2955 (WebCore::JSClipboard::types):
2956 (WebCore::JSClipboard::getData):
2957 * bindings/js/JSCustomXPathNSResolver.cpp:
2958 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2959 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2960 (WebCore::JSDOMApplicationCache::addEventListener):
2961 (WebCore::JSDOMApplicationCache::removeEventListener):
2962 (WebCore::JSDOMApplicationCache::setOnchecking):
2963 (WebCore::JSDOMApplicationCache::setOnerror):
2964 (WebCore::JSDOMApplicationCache::setOnnoupdate):
2965 (WebCore::JSDOMApplicationCache::setOndownloading):
2966 (WebCore::JSDOMApplicationCache::setOnprogress):
2967 (WebCore::JSDOMApplicationCache::setOnupdateready):
2968 (WebCore::JSDOMApplicationCache::setOncached):
2969 * bindings/js/JSDOMBinding.cpp:
2970 (WebCore::jsStringOrNull):
2971 (WebCore::jsOwnedStringOrNull):
2972 (WebCore::jsStringOrUndefined):
2973 (WebCore::jsStringOrFalse):
2974 (WebCore::nonCachingStaticFunctionGetter):
2975 (WebCore::objectToStringFunctionGetter):
2976 * bindings/js/JSDOMBinding.h:
2977 (WebCore::DOMObject::DOMObject):
2978 (WebCore::cacheDOMObject):
2979 (WebCore::cacheSVGDOMObject):
2980 * bindings/js/JSDOMWindowBase.cpp:
2981 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2982 (WebCore::JSDOMWindowBase::getValueProperty):
2983 (WebCore::JSDOMWindowBase::setListener):
2984 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
2985 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
2986 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
2987 (WebCore::windowProtoFuncAToB):
2988 (WebCore::windowProtoFuncBToA):
2989 (WebCore::windowProtoFuncSetTimeout):
2990 (WebCore::windowProtoFuncSetInterval):
2991 (WebCore::windowProtoFuncAddEventListener):
2992 * bindings/js/JSDOMWindowBase.h:
2993 * bindings/js/JSDOMWindowShell.cpp:
2994 (WebCore::JSDOMWindowShell::operator new):
2995 * bindings/js/JSDOMWindowShell.h:
2996 * bindings/js/JSDocumentCustom.cpp:
2998 * bindings/js/JSElementCustom.cpp:
2999 (WebCore::toJSNewlyCreated):
3000 * bindings/js/JSEventCustom.cpp:
3002 * bindings/js/JSEventListener.cpp:
3003 (WebCore::JSLazyEventListener::eventParameterName):
3004 (WebCore::JSLazyEventListener::parseCode):
3005 * bindings/js/JSEventTargetBase.cpp:
3006 (WebCore::jsEventTargetAddEventListener):
3007 * bindings/js/JSEventTargetBase.h:
3008 (WebCore::JSEventTargetPrototype::self):
3009 * bindings/js/JSEventTargetNode.cpp:
3010 (WebCore::JSEventTargetNode::setListener):
3011 * bindings/js/JSHTMLCollectionCustom.cpp:
3012 (WebCore::getNamedItems):
3014 * bindings/js/JSHTMLFormElementCustom.cpp:
3015 (WebCore::JSHTMLFormElement::nameGetter):
3016 * bindings/js/JSHTMLInputElementBase.cpp:
3017 (WebCore::JSHTMLInputElementBase::getValueProperty):
3018 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3019 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3020 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3021 (WebCore::JSHTMLOptionsCollection::length):
3022 * bindings/js/JSInspectedObjectWrapper.cpp:
3023 (WebCore::JSInspectedObjectWrapper::wrap):
3024 * bindings/js/JSInspectorCallbackWrapper.cpp:
3025 (WebCore::JSInspectorCallbackWrapper::wrap):
3026 * bindings/js/JSLocationCustom.cpp:
3027 (WebCore::JSLocation::toString):
3028 * bindings/js/JSNamedNodesCollection.cpp:
3029 (WebCore::JSNamedNodesCollection::lengthGetter):
3030 * bindings/js/JSNavigatorCustom.cpp:
3031 (WebCore::JSNavigator::appVersion):
3032 * bindings/js/JSNodeCustom.cpp:
3033 (WebCore::createWrapper):
3034 * bindings/js/JSNodeFilterCustom.cpp:
3035 (WebCore::JSNodeFilter::acceptNode):
3036 * bindings/js/JSPluginElementFunctions.cpp:
3037 (WebCore::getRuntimeObject):
3038 * bindings/js/JSRGBColor.cpp:
3039 (WebCore::getJSRGBColor):
3040 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3041 (WebCore::JSSQLResultSetRowList::item):
3042 * bindings/js/JSSVGLazyEventListener.cpp:
3043 (WebCore::JSSVGLazyEventListener::eventParameterName):
3044 * bindings/js/JSStorageCustom.cpp:
3045 (WebCore::JSStorage::nameGetter):
3046 * bindings/js/JSStyleSheetCustom.cpp:
3048 * bindings/js/JSTextCustom.cpp:
3049 (WebCore::toJSNewlyCreated):
3050 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3051 (WebCore::JSXMLHttpRequestConstructor::construct):
3052 * bindings/js/JSXMLHttpRequestCustom.cpp:
3053 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3054 (WebCore::JSXMLHttpRequest::setOnload):
3055 (WebCore::JSXMLHttpRequest::setOnprogress):
3056 (WebCore::JSXMLHttpRequest::getResponseHeader):
3057 (WebCore::JSXMLHttpRequest::addEventListener):
3058 (WebCore::JSXMLHttpRequest::removeEventListener):
3059 * bindings/js/JSXSLTProcessorConstructor.cpp:
3060 (WebCore::JSXSLTProcessorConstructor::construct):
3061 * bindings/js/JSXSLTProcessorCustom.cpp:
3062 (WebCore::JSXSLTProcessor::getParameter):
3063 * bindings/scripts/CodeGeneratorJS.pm:
3064 * bridge/c/c_instance.cpp:
3065 (KJS::Bindings::CInstance::defaultValue):
3066 (KJS::Bindings::CInstance::stringValue):
3067 (KJS::Bindings::CInstance::numberValue):
3068 (KJS::Bindings::CInstance::valueOf):
3069 * bridge/c/c_instance.h:
3070 * bridge/c/c_utility.cpp:
3071 (KJS::Bindings::convertNPVariantToValue):
3072 * bridge/jni/jni_instance.cpp:
3073 (JavaInstance::stringValue):
3074 (JavaInstance::numberValue):
3075 (JavaInstance::invokeMethod):
3076 (JavaInstance::defaultValue):
3077 (JavaInstance::valueOf):
3078 * bridge/jni/jni_instance.h:
3079 * bridge/jni/jni_jsobject.h:
3080 * bridge/jni/jni_jsobject.mm:
3081 (JavaJSObject::call):
3082 (JavaJSObject::setMember):
3083 (JavaJSObject::setSlot):
3084 (JavaJSObject::convertJObjectToValue):
3085 (JavaJSObject::getListFromJArray):
3086 * bridge/jni/jni_objc.mm:
3087 (KJS::Bindings::dispatchJNICall):
3088 * bridge/jni/jni_runtime.cpp:
3089 (JavaArray::convertJObjectToArray):
3090 (JavaField::dispatchValueFromInstance):
3091 (JavaField::valueFromInstance):
3092 (JavaField::dispatchSetValueToInstance):
3093 (JavaArray::valueAt):
3094 * bridge/jni/jni_utility.h:
3095 * bridge/objc/objc_class.mm:
3096 (KJS::Bindings::ObjcClass::fallbackObject):
3097 * bridge/objc/objc_instance.h:
3098 * bridge/objc/objc_instance.mm:
3099 (ObjcInstance::defaultValue):
3100 (ObjcInstance::stringValue):
3101 (ObjcInstance::numberValue):
3102 (ObjcInstance::valueOf):
3103 * bridge/objc/objc_utility.h:
3104 * bridge/objc/objc_utility.mm:
3105 (KJS::Bindings::convertNSStringToString):
3106 (KJS::Bindings::convertObjcValueToValue):
3107 * bridge/runtime.cpp:
3108 (KJS::Bindings::Instance::createRuntimeObject):
3110 (KJS::Bindings::Instance::valueOf):
3111 * bridge/runtime_array.cpp:
3112 (RuntimeArray::lengthGetter):
3113 * bridge/runtime_method.cpp:
3114 (RuntimeMethod::lengthGetter):
3115 * bridge/runtime_object.cpp:
3116 (RuntimeObjectImp::RuntimeObjectImp):
3117 (RuntimeObjectImp::methodGetter):
3118 (RuntimeObjectImp::defaultValue):
3119 * dom/make_names.pl:
3120 * xml/XMLHttpRequest.cpp:
3121 (WebCore::XMLHttpRequest::dropProtection):
3122 * bridge/qt/qt_class.cpp:
3123 (KJS::Bindings::QtClass::fallbackObject):
3124 * bridge/qt/qt_instance.cpp:
3125 (KJS::Bindings::QtRuntimeObjectImp::construct):
3126 (KJS::Bindings::QtInstance::getRuntimeObject):
3127 (KJS::Bindings::QtInstance::invokeDefaultMethod):
3128 (KJS::Bindings::QtInstance::defaultValue):
3129 (KJS::Bindings::QtInstance::stringValue):
3130 (KJS::Bindings::QtInstance::numberValue):
3131 (KJS::Bindings::QtInstance::valueOf):
3132 * bridge/qt/qt_instance.h:
3133 * bridge/qt/qt_runtime.cpp:
3134 (KJS::Bindings::convertValueToQVariant):
3135 (KJS::Bindings::convertQVariantToValue):
3136 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
3137 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
3138 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3139 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
3140 (KJS::Bindings::QtConnectionObject::execute):
3141 Pass ExecState* where now required.
3143 2008-06-19 Timothy Hatcher <timothy@apple.com>
3145 Update the JavaScript syntax highlight colors to match Xcode.
3146 This matches the other Xcode colors we are using for HTML.
3148 Reviewed by Dan Bernstein.
3150 * page/inspector/SourceFrame.js:
3152 2008-06-19 Keishi Hattori <casey.hattori@gmail.com>
3154 Added JavaScript syntax highlighting to the Web Inspector.
3156 https://bugs.webkit.org/show_bug.cgi?id=14360
3158 Reviewed by Tim Hatcher and Adam Roben.
3160 * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
3161 * page/inspector/SourceFrame.js:
3162 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
3163 Modifies a line content element.
3164 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
3165 Syntax highlights the entire script.
3166 * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
3168 2008-06-19 Alex Mathews <possessedpenguinbob@gmail.com>
3172 Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
3173 functions and changing raw pointer fields to RefPtrs.
3175 * Configurations/WebCore.xcconfig:
3176 * WebCore.xcodeproj/project.pbxproj:
3177 * svg/SVGFEBlendElement.cpp:
3178 (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
3179 (WebCore::SVGFEBlendElement::filterEffect):
3180 * svg/SVGFEBlendElement.h:
3181 * svg/SVGFEColorMatrixElement.cpp:
3182 (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
3183 (WebCore::SVGFEColorMatrixElement::filterEffect):
3184 * svg/SVGFEColorMatrixElement.h:
3185 * svg/SVGFEComponentTransferElement.cpp:
3186 (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
3187 (WebCore::SVGFEComponentTransferElement::filterEffect):
3188 * svg/SVGFEComponentTransferElement.h:
3189 * svg/SVGFECompositeElement.cpp:
3190 (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
3191 (WebCore::SVGFECompositeElement::filterEffect):
3192 * svg/SVGFECompositeElement.h:
3193 * svg/SVGFEDiffuseLightingElement.cpp:
3194 (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
3195 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
3196 * svg/SVGFEDiffuseLightingElement.h:
3197 * svg/SVGFEDisplacementMapElement.cpp:
3198 (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
3199 (WebCore::SVGFEDisplacementMapElement::filterEffect):
3200 * svg/SVGFEDisplacementMapElement.h:
3201 * svg/SVGFEFloodElement.cpp:
3202 (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
3203 (WebCore::SVGFEFloodElement::filterEffect):
3204 * svg/SVGFEFloodElement.h:
3205 * svg/SVGFEGaussianBlurElement.cpp:
3206 (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
3207 (WebCore::SVGFEGaussianBlurElement::filterEffect):
3208 * svg/SVGFEGaussianBlurElement.h:
3209 * svg/SVGFEImageElement.cpp:
3210 (WebCore::SVGFEImageElement::~SVGFEImageElement):
3211 (WebCore::SVGFEImageElement::filterEffect):
3212 * svg/SVGFEImageElement.h:
3213 * svg/SVGFEMergeElement.cpp:
3214 (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
3215 (WebCore::SVGFEMergeElement::filterEffect):
3216 * svg/SVGFEMergeElement.h:
3217 * svg/SVGFEOffsetElement.cpp:
3218 (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
3219 (WebCore::SVGFEOffsetElement::filterEffect):
3220 * svg/SVGFEOffsetElement.h:
3221 * svg/SVGFESpecularLightingElement.cpp:
3222 (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
3223 (WebCore::SVGFESpecularLightingElement::filterEffect):
3224 * svg/SVGFESpecularLightingElement.h:
3225 * svg/SVGFETileElement.cpp:
3226 (WebCore::SVGFETileElement::~SVGFETileElement):
3227 (WebCore::SVGFETileElement::filterEffect):
3228 * svg/SVGFETileElement.h:
3229 * svg/SVGFETurbulenceElement.cpp:
3230 (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
3231 (WebCore::SVGFETurbulenceElement::filterEffect):
3232 * svg/SVGFETurbulenceElement.h:
3233 * svg/graphics/SVGResourceFilter.cpp:
3234 (WebCore::SVGResourceFilter::addFilterEffect):
3235 * svg/graphics/SVGResourceFilter.h:
3236 * svg/graphics/filters/SVGFEBlend.cpp:
3237 (WebCore::SVGFEBlend::create):
3238 * svg/graphics/filters/SVGFEBlend.h:
3239 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3240 (WebCore::SVGFEColorMatrix::create):
3241 * svg/graphics/filters/SVGFEColorMatrix.h:
3242 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3243 (WebCore::SVGFEComponentTransfer::create):
3244 * svg/graphics/filters/SVGFEComponentTransfer.h:
3245 * svg/graphics/filters/SVGFEComposite.cpp:
3246 (WebCore::SVGFEComposite::create):
3247 * svg/graphics/filters/SVGFEComposite.h:
3248 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3249 (WebCore::SVGFEConvolveMatrix::create):
3250 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3251 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3252 (WebCore::SVGFEDiffuseLighting::create):
3253 (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
3254 (WebCore::SVGFEDiffuseLighting::lightSource):
3255 (WebCore::SVGFEDiffuseLighting::setLightSource):
3256 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3257 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3258 (WebCore::SVGFEDisplacementMap::create):
3259 * svg/graphics/filters/SVGFEDisplacementMap.h:
3260 * svg/graphics/filters/SVGFEFlood.cpp:
3261 (WebCore::SVGFEFlood::create):
3262 * svg/graphics/filters/SVGFEFlood.h:
3263 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3264 (WebCore::SVGFEGaussianBlur::create):
3265 * svg/graphics/filters/SVGFEGaussianBlur.h:
3266 * svg/graphics/filters/SVGFEImage.cpp:
3267 (WebCore::SVGFEImage::create):
3268 * svg/graphics/filters/SVGFEImage.h:
3269 * svg/graphics/filters/SVGFEMerge.cpp:
3270 (WebCore::SVGFEMerge::SVGFEMerge):
3271 (WebCore::SVGFEMerge::create):
3272 * svg/graphics/filters/SVGFEMerge.h:
3273 * svg/graphics/filters/SVGFEOffset.cpp:
3274 (WebCore::SVGFEOffset::create):
3275 * svg/graphics/filters/SVGFEOffset.h:
3276 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3277 (WebCore::SVGFESpecularLighting::create):
3278 (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
3279 (WebCore::SVGFESpecularLighting::lightSource):
3280 (WebCore::SVGFESpecularLighting::setLightSource):
3281 * svg/graphics/filters/SVGFESpecularLighting.h:
3282 * svg/graphics/filters/SVGFETile.cpp: Added.
3283 (WebCore::SVGFETile::SVGFETile):
3284 (WebCore::SVGFETile::create):
3285 * svg/graphics/filters/SVGFETile.h:
3286 * svg/graphics/filters/SVGFETurbulence.cpp:
3287 (WebCore::SVGFETurbulence::create):
3288 * svg/graphics/filters/SVGFETurbulence.h:
3289 * svg/graphics/filters/SVGFilterEffect.h:
3290 * svg/graphics/filters/SVGLightSource.h:
3292 2008-06-18 Adele Peterson <adele@apple.com>
3294 Reviewed by Dan Bernstein.
3296 Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.
3298 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3299 Create the media document after we're done processing pdfs and images.
3301 192008-06-17 Dan Bernstein <mitz@apple.com>
3303 Reviewed by Darin Adler.
3305 - fix https://bugs.webkit.org/show_bug.cgi?id=19598
3306 Crash in WebCore::RenderBlock::determineStartPosition
3308 Test: fast/dynamic/floating-to-positioned-2.html
3310 * rendering/RenderObject.cpp:
3311 (WebCore::RenderObject::setStyle): Changed to also remove relatively
3312 positioned floats from object lists when they become positioned, because
3313 then they cease to be floating.
3315 2008-06-18 Darin Adler <darin@apple.com>
3317 Reviewed by Mark Rowe.
3321 * css/CSSMutableStyleDeclaration.cpp:
3322 (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
3323 I missed when changing these objects to start with a refcount of 1.
3325 2008-06-18 Timothy Hatcher <timothy@apple.com>
3327 Add a script build phase to remove the WebKit.qrc file from
3328 WebCore's resources. This file is used for the Qt port, but we
3329 copy the whole inspector folder for connivence and get this file.
3331 Reviewed by Adam Roben.
3333 * WebCore.xcodeproj/project.pbxproj: New script phase.
3335 2008-06-18 Timothy Hatcher <timothy@apple.com>
3337 Combine the Web Inspector's JavaScript resources into one large
3338 script file to speed up loading of the Inspector. This is only
3339 done for Release and Production builds.
3341 Reviewed by Adam Roben.
3343 * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source
3344 script build phase that calls combine-javascript-resources and
3345 moves files around in the build directory.
3346 * combine-javascript-resources: Added.
3348 2008-06-18 Rob Buis <buis@kde.org>
3352 https://bugs.webkit.org/show_bug.cgi?id=18786
3353 Once rendered, SVG text elements removed from DOM continue to be displayed
3355 Repaint the text visual rect before removing it.
3357 * rendering/RenderSVGInlineText.cpp:
3358 (WebCore::RenderSVGInlineText::destroy):
3359 * rendering/RenderSVGInlineText.h:
3361 2008-06-18 Christian Dywan <christian@twotoasts.de>
3363 Gtk build fix, brought up by Dirk Schulze.
3365 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
3367 2008-06-17 Beth Dakin <bdakin@apple.com>
3371 This patch removes all instances of the phrase "TextMarker" from
3372 function names in the C++ accessibility code. TextMarkers only
3373 exists in the Objective-C code.
3375 * page/AccessibilityObject.cpp:
3376 (WebCore::AccessibilityObject::visiblePositionRangeForLine):
3377 (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
3378 (WebCore::AccessibilityObject::positionOfLeftWord):
3379 (WebCore::AccessibilityObject::positionOfRightWord):
3380 (WebCore::AccessibilityObject::leftLineVisiblePositionRange):
3381 (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
3382 (WebCore::AccessibilityObject::sentenceForPosition):
3383 (WebCore::AccessibilityObject::paragraphForPosition):
3384 (WebCore::AccessibilityObject::styleRangeForPosition):
3385 (WebCore::AccessibilityObject::visiblePositionRangeForRange):
3386 (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3387 (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
3388 (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
3389 (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
3390 (WebCore::AccessibilityObject::visiblePositionForPoint):
3391 (WebCore::AccessibilityObject::nextVisiblePosition):
3392 (WebCore::AccessibilityObject::previousVisiblePosition):
3393 (WebCore::AccessibilityObject::nextWordEnd):
3394 (WebCore::AccessibilityObject::previousWordStart):
3395 (WebCore::AccessibilityObject::nextLineEndPosition):
3396 (WebCore::AccessibilityObject::previousLineStartPosition):
3397 (WebCore::AccessibilityObject::nextSentenceEndPosition):
3398 (WebCore::AccessibilityObject::previousSentenceStartPosition):
3399 (WebCore::AccessibilityObject::nextParagraphEndPosition):
3400 (WebCore::AccessibilityObject::previousParagraphStartPosition):
3401 (WebCore::AccessibilityObject::visiblePositionForIndex):
3402 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
3403 (WebCore::AccessibilityObject::lineForPosition):
3404 (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange):
3405 (WebCore::AccessibilityObject::index):
3406 (WebCore::AccessibilityObject::doAXRangeForPosition):
3407 (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
3408 (WebCore::AccessibilityObject::doAXLineForIndex):
3409 * page/AccessibilityObject.h:
3410 * page/AccessibilityRenderObject.cpp:
3411 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
3412 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3413 (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
3414 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3415 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
3416 (WebCore::AccessibilityRenderObject::index):
3417 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
3418 * page/AccessibilityRenderObject.h:
3419 * page/mac/AccessibilityObjectWrapper.mm:
3420 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3421 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3422 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
3423 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3425 2008-06-17 Mark Rowe <mrowe@apple.com>
3427 Reviewed by Darin Adler.
3429 <rdar://problem/5775802> WebCore should not force use of GCC 4.0.
3431 * WebCore.xcodeproj/project.pbxproj:
3433 2008-06-17 Darin Adler <darin@apple.com>
3437 - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter
3439 - move handling of non-Attr arguments from the code generation script to the DOM
3440 itself (as with every other type of argument)
3442 * bindings/js/JSNodeFilterCustom.cpp:
3443 (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new.
3445 * bindings/objc/DOM.mm:
3446 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
3447 Use create instead of new.
3448 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
3451 * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and
3452 the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism:
3453 It's no longer needed for Attr, was not having any effect for VoidCallback, and was
3454 returning false for all other types.
3457 (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when
3458 the attr is 0 -- this matches what the autogenerated bindings did before.
3459 (WebCore::Element::setAttributeNodeNS): Ditto.
3460 (WebCore::Element::removeAttributeNode): Ditto.
3462 * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to
3463 initialize the refcount to 0.
3465 * html/CanvasPattern.h: Made CachedResourceClient base class private in a
3468 2008-06-17 Adam Roben <aroben@apple.com>
3470 Fix <rdar://6016755> Assertion failure when WebView is child of
3473 Reviewed by Ada Chan.
3477 * platform/win/WindowMessageBroadcaster.cpp:
3478 (WebCore::WindowMessageBroadcaster::addListener): Only subclass the
3479 window when we're adding our first listener. Removed an assertion that
3480 an old WNDPROC was returned -- this will be 0 in the case of a
3481 message-only window. Added an assertion to help catch cases where we
3482 try to subclass the window twice.
3483 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an
3484 assertion that is not correct in the message-only window case.
3486 2008-06-17 Adele Peterson <adele@apple.com>
3488 Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
3490 * loader/MediaDocument.cpp:
3491 * loader/MediaDocument.h:
3493 2008-06-17 Adele Peterson <adele@apple.com>
3495 Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
3497 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3499 2008-06-17 Adele Peterson <adele@apple.com>
3503 Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in
3505 * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class.
3506 * GNUmakefile.am: ditto.
3507 * WebCore.pro: ditto.
3508 * WebCore.vcproj/WebCore.vcproj: ditto.
3509 * WebCoreSources.bkl: ditto.
3511 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3512 Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument
3513 * dom/Document.h: (WebCore::Document::isMediaDocument): Added.
3515 * loader/MediaDocument.cpp: Added.
3516 (WebCore::MediaTokenizer::MediaTokenizer):
3517 (WebCore::MediaTokenizer::wantsRawData):
3518 (WebCore::MediaTokenizer::write):
3519 (WebCore::MediaTokenizer::createDocumentStructure):
3520 (WebCore::MediaTokenizer::writeRawData):
3521 (WebCore::MediaTokenizer::stopParsing):
3522 (WebCore::MediaTokenizer::finish):
3523 (WebCore::MediaTokenizer::isWaitingForScripts):
3524 (WebCore::MediaDocument::MediaDocument):
3525 (WebCore::MediaDocument::createTokenizer):
3526 * loader/MediaDocument.h: Added.
3527 (WebCore::MediaDocument::create):
3528 (WebCore::MediaDocument::isMediaDocument):
3530 * page/InspectorController.cpp: (WebCore::getResourceDocumentNode):
3531 Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument.
3532 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added.
3533 * platform/graphics/MediaPlayer.h:
3534 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
3535 Instead of checking the html element to decide if the media is audio, check the player.
3536 This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out.
3538 2008-06-17 Timothy Hatcher <timothy@apple.com>
3540 Adds the file name and line number for call frames next to