1 2008-07-01 Christian Dywan <christian@twotoasts.de>
5 * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
7 2008-07-01 Anders Carlsson <andersca@apple.com>
11 Add PluginMainThreadScheduler.{cpp|h} to build.
14 * WebCore.xcodeproj/project.pbxproj:
15 * plugins/PluginMainThreadScheduler.cpp:
17 2008-07-01 Dan Bernstein <mitz@apple.com>
19 Reviewed by Darin Adler.
21 - move the method to set the base writing direction from Frame to Editor
23 * WebCore.base.exp: Updated.
25 (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
26 WritingDirection enum value and added the special behavior when the
27 focused node is a text field or a text area.
29 * page/ContextMenuController.cpp:
30 (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
31 to call the Editor method.
32 * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
35 2008-07-01 Darin Adler <darin@apple.com>
39 - slight tweak of the setHash fix
41 * bindings/js/JSLocationCustom.cpp:
42 (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
44 2008-07-01 Dan Bernstein <mitz@apple.com>
46 Reviewed by Anders Carlsson.
48 - Mac release build fix
52 2008-07-01 Dan Bernstein <mitz@apple.com>
54 Reviewed by Anders Carlsson.
56 - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
58 * css/CSSPrimitiveValue.cpp:
59 (WebCore::CSSPrimitiveValue::cleanup):
61 2008-07-01 Anders Carlsson <andersca@apple.com>
65 Don't add the Mozilla user agent quirk for Flash 10.
67 * plugins/win/PluginPackageWin.cpp:
68 (WebCore::PluginPackage::isPluginBlacklisted):
69 (WebCore::PluginPackage::determineQuirks):
71 2008-07-01 David Kilzer <ddkilzer@apple.com>
73 Move data: URL parsing code in HTMLObjectElement to KURL
75 Reviewed by Ada and Darin.
77 No test cases added since there is no change in behavior.
79 * html/HTMLObjectElement.cpp:
80 (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
81 parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
83 (WebCore::mimeTypeFromDataURL): Added.
85 (WebCore::mimeTypeFromDataURL): Added.
87 2008-07-01 Dan Bernstein <mitz@apple.com>
89 Reviewed by Dave Hyatt.
91 - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
94 (WebCore::CSSParser::addUnresolvedProperty):
96 2008-07-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>
98 Reviewed by Brady Eidson.
100 Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
101 <https://bugs.webkit.org/show_bug.cgi?id=19822>
103 Change JSLocation::setHash() to not schedule navigation in the case
104 where the old fragment is the null String and the new fragment is an
107 * bindings/js/JSLocationCustom.cpp:
108 (WebCore::JSLocation::setHash):
110 2008-06-30 Anders Carlsson <andersca@apple.com>
114 Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in
115 callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
117 * WebCore.vcproj/WebCore.vcproj:
118 Add PluginMainThreadScheduler.{cpp|h}
120 * plugins/PluginMainThreadScheduler.cpp: Added.
121 * plugins/PluginMainThreadScheduler.h: Added.
123 * plugins/PluginView.cpp:
124 (WebCore::PluginView::start):
125 Register with the thread scheduler.
128 (NPN_PluginThreadAsyncCall):
129 Call the thread scheduler.
131 * plugins/win/PluginPackageWin.cpp:
132 (WebCore::PluginPackage::load):
133 Initialize the NPN_PluginThreadAsyncCall callback.
135 * plugins/win/PluginViewWin.cpp:
136 (WebCore::PluginView::stop):
137 Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
138 after the plug-in has been destroyed.
140 2008-07-01 Adam Roben <aroben@apple.com>
142 Roll out r34913, as it broke the Windows build due to bad casting
144 r34913 introduced code that assigned pointers-to-member from a derived
145 class into a base class pointer-to-member type (e.g., assigned a void
146 (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
147 because it could allow us to call SVGUseElement member functions on a
148 different SVGElement-derived class. MSVC rightly flagged this as an
151 Rubberstamped by Anders Carlsson.
153 2008-07-01 Darin Adler <darin@apple.com>
157 * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
158 not working propertly.
160 2008-07-01 Dan Bernstein <mitz@apple.com>
162 Reviewed by Darin Adler.
164 - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
166 * html/CanvasRenderingContext2D.cpp:
167 (WebCore::CanvasRenderingContext2D::createPattern):
169 2008-07-01 Sam Weinig <sam@webkit.org>
171 Reviewed by Darin Adler.
173 Split JSCell and JSNumberCell class declarations out of JSValue.h
175 * ForwardingHeaders/kjs/JSNumberCell.h: Added.
176 * bindings/scripts/CodeGeneratorJS.pm:
177 * bridge/c/c_instance.cpp:
179 2008-07-01 chris fleizach <cfleizach@apple.com>
181 Reviewed by Beth Dakin
183 <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
185 Test: accessibility/radio-button-checkbox-size.html
187 * page/AccessibilityRenderObject.cpp:
188 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
190 2008-07-01 Dan Bernstein <mitz@apple.com>
192 Reviewed by Antti Koivisto.
194 - fix SVG pointer-events layout test failures
196 * css/SVGCSSParser.cpp:
197 (WebCore::CSSParser::parseSVGValue):
199 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
203 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
204 Fix two small problems in the gradient & pattern code.
206 Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
208 * svg/SVGLinearGradientElement.cpp:
209 (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
210 * svg/SVGPatternElement.cpp:
211 (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
212 * svg/SVGRadialGradientElement.cpp:
213 (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
214 (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
216 2008-07-01 Simon Hausmann <hausmann@webkit.org>
218 Fix the build, include SVGTransformList.h instead of
221 * svg/SVGGradientElement.h:
223 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
227 <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
230 Test: fast/encoding/preload-encoding.html
232 * html/PreloadScanner.cpp:
233 (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
236 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
238 Reviewed by Antti & Eric.
240 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
242 SVG Errata states: "All SVG DOM objects that directly correspond to an
243 attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
244 means that any changes made to the attribute are immediately reflected in the
245 corresponding SVG DOM object." (see linked URL on bug report)
247 Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
248 element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
250 Add a new synchronization layer to handle SVG DOM -> XML changes.
252 Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
253 Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
254 Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
256 Added test: svg/custom/svg-xml-dom-sync.html
257 Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
260 (WebCore::Element::Element): Initialize the two new bits.
261 (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
262 (WebCore::Element::getAttribute): Ditto.
263 (WebCore::Element::hasAttributes): Ditto.
264 * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
265 (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
266 * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
267 * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
268 (WebCore::SVGAElement::contextElement): Return non-const value.
269 * svg/SVGAltGlyphElement.h:
270 (WebCore::SVGAltGlyphElement::contextElement): Ditto.
271 * svg/SVGAnimateElement.h:
272 (WebCore::SVGAnimateElement::contextElement): Ditto.
273 * svg/SVGAnimateMotionElement.h:
274 (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
275 * svg/SVGAnimateTransformElement.h:
276 (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
277 * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
278 (WebCore::SVGAnimatedTemplate::toString):
279 (WebCore::SVGAnimatedTemplate::associatedAttributeName):
280 (WebCore::lookupOrCreateWrapper):
281 (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
282 (WebCore::SVGAnimatedAngle::toString):
283 (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
284 (WebCore::SVGAnimatedBoolean::toString):
285 (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
286 (WebCore::SVGAnimatedEnumeration::toString):
287 (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
288 (WebCore::SVGAnimatedInteger::toString):
289 (WebCore::SVGAnimatedLength::SVGAnimatedLength):
290 (WebCore::SVGAnimatedLength::toString):
291 (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
292 (WebCore::SVGAnimatedLengthList::toString):
293 (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
294 (WebCore::SVGAnimatedNumber::toString):
295 (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
296 (WebCore::SVGAnimatedNumberList::toString):
297 (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
298 (WebCore::SVGAnimatedPreserveAspectRatio::toString):
299 (WebCore::SVGAnimatedRect::SVGAnimatedRect):
300 (WebCore::SVGAnimatedRect::toString):
301 (WebCore::SVGAnimatedString::SVGAnimatedString):
302 (WebCore::SVGAnimatedString::toString):
303 (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
304 (WebCore::SVGAnimatedTransformList::toString):
305 (WebCore::SVGAnimatedType::SVGAnimatedType):
306 * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
307 * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
308 (WebCore::SVGCircleElement::contextElement): Return non-const value.
309 * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
310 (WebCore::SVGClipPathElement::contextElement): Return non-const value.
311 * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
312 * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
313 * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
314 (WebCore::SVGCursorElement::SVGCursorElement):
315 * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
316 (WebCore::SVGCursorElement::contextElement): Return non-const value.
317 * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
318 (WebCore::SVGDefsElement::contextElement): Return non-const value.
319 * svg/SVGElement.cpp:
320 (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
321 (WebCore::SVGElement::setSynchronizedSVGAttributes):
322 * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
323 (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
324 (StoredTypeWithDirtyFlag::operator=):
325 (StoredTypeWithDirtyFlag::operator==):
326 (StoredTypeWithDirtyFlag::operator!=):
327 (StoredTypeWithDirtyFlag::operator StoredType):
328 (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
329 (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
330 (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
331 * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
332 (WebCore::SVGEllipseElement::SVGEllipseElement):
333 * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
334 (WebCore::SVGEllipseElement::contextElement): Return non-const value.
335 * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
336 * svg/SVGFEBlendElement.h:
337 (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
338 * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
339 * svg/SVGFEColorMatrixElement.h:
340 (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
341 * svg/SVGFEComponentTransferElement.h:
342 (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
343 * svg/SVGFECompositeElement.h:
344 (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
345 * svg/SVGFEDiffuseLightingElement.h:
346 (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
347 * svg/SVGFEDisplacementMapElement.h:
348 (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
349 * svg/SVGFEFloodElement.h:
350 (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
351 * svg/SVGFEGaussianBlurElement.h:
352 (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
353 * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
354 * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
355 (WebCore::SVGFEImageElement::contextElement): Return non-const value.
356 * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
357 * svg/SVGFEMergeElement.h:
358 (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
359 * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
360 (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
361 * svg/SVGFEOffsetElement.h:
362 (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
363 * svg/SVGFESpecularLightingElement.h:
364 (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
365 * svg/SVGFETileElement.h:
366 (WebCore::SVGFETileElement::contextElement): Return non-const value.
367 * svg/SVGFETurbulenceElement.h:
368 (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
369 * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
370 (WebCore::SVGFilterElement::SVGFilterElement):
371 * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
372 (WebCore::SVGFilterElement::contextElement): Return non-const value.
373 * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
374 (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
375 * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
376 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
377 * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
378 * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
379 * svg/SVGFontElement.h:
380 (WebCore::SVGFontElement::contextElement): Return non-const value.
381 * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
382 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
383 * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
384 (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
385 * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
386 (WebCore::SVGGElement::contextElement): Return non-const value.
387 * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
388 * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
389 * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
390 (WebCore::SVGImageElement::SVGImageElement):
391 * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
392 (WebCore::SVGImageElement::contextElement): Return non-const value.
393 * svg/SVGLengthList.cpp:
394 (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
395 * svg/SVGLengthList.h:
396 * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
397 (WebCore::SVGLineElement::SVGLineElement):
398 * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
399 (WebCore::SVGLineElement::contextElement): Return non-const value.
400 * svg/SVGLinearGradientElement.cpp:
401 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
402 (WebCore::SVGLinearGradientElement::collectGradientProperties):
403 * svg/SVGLinearGradientElement.h:
404 (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
405 * svg/SVGMPathElement.h:
406 (WebCore::SVGMPathElement::contextElement): Return non-const value.
407 * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
408 (WebCore::SVGMarkerElement::SVGMarkerElement):
409 * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
410 (WebCore::SVGMarkerElement::contextElement): Return non-const value.
411 * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
412 (WebCore::SVGMaskElement::SVGMaskElement):
413 * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
414 (WebCore::SVGMaskElement::contextElement): Return non-const value.
415 * svg/SVGNumberList.cpp:
416 (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
417 * svg/SVGNumberList.h:
418 * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
419 (WebCore::SVGPathElement::contextElement): Return non-const value.
420 * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
421 (WebCore::SVGPatternElement::SVGPatternElement):
422 (WebCore::SVGPatternElement::collectPatternProperties):
423 * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
424 (WebCore::SVGPatternElement::contextElement): Return non-const value.
425 * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
426 (WebCore::SVGPolyElement::contextElement): Return non-const value.
427 * svg/SVGPreserveAspectRatio.cpp:
428 (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
429 * svg/SVGPreserveAspectRatio.h:
430 * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
431 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
432 (WebCore::SVGRadialGradientElement::svgAttributeChanged):
433 (WebCore::SVGRadialGradientElement::collectGradientProperties):
434 * svg/SVGRadialGradientElement.h:
435 (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
436 * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
437 (WebCore::SVGRectElement::SVGRectElement):
438 * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
439 (WebCore::SVGRectElement::contextElement): Return non-const value.
440 * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
441 (WebCore::SVGSVGElement::SVGSVGElement):
442 (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
443 * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
444 (WebCore::SVGSVGElement::contextElement): Return non-const value.
445 * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
446 (WebCore::SVGScriptElement::contextElement): Return non-const value.
447 * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
448 * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
449 * svg/SVGStyledTransformableElement.h:
450 * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
451 (WebCore::SVGSwitchElement::contextElement): Return non-const value.
452 * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
453 (WebCore::SVGSymbolElement::contextElement): Return non-const value.
454 * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
455 (WebCore::SVGTRefElement::contextElement): Return non-const value.
456 * svg/SVGTSpanElement.h:
457 (WebCore::SVGTSpanElement::contextElement): Return non-const value.
458 * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
459 (WebCore::SVGTextContentElement::SVGTextContentElement):
460 * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
461 * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
462 * svg/SVGTextElement.h:
463 (WebCore::SVGTextElement::contextElement): Return non-const value.
464 * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
465 (WebCore::SVGTextPathElement::SVGTextPathElement):
466 * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
467 (WebCore::SVGTextPathElement::contextElement): Return non-const value.
468 * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
469 * svg/SVGTextPositioningElement.h:
470 * svg/SVGTransformList.cpp:
471 (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
472 * svg/SVGTransformList.h:
473 * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
474 * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
475 (WebCore::SVGUseElement::SVGUseElement):
476 * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
477 (WebCore::SVGUseElement::contextElement): Return non-const value.
478 * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
479 (WebCore::SVGViewElement::contextElement): Return non-const value.
480 * svg/SVGViewSpec.cpp:
481 (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
482 (WebCore::SVGViewSpec::contextElement): Return non-const value.
485 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
487 Reviewed by Nikolas Zimmermann.
489 Class name changes for SVG Light Effect files. The class names that changed :
491 SVGLightSource -> LightSource
492 SVGDistantLightSource -> DistantLightSource
493 SVGPointLightSource -> PointLightSource
494 SVGSpotLightSource -> SpotLightSource
496 Every other file that is changed is just propagating the class name changes to
499 * svg/SVGFEDiffuseLightingElement.cpp:
500 (WebCore::SVGFEDiffuseLightingElement::updateLights):
501 * svg/SVGFEDistantLightElement.cpp:
502 (WebCore::SVGFEDistantLightElement::lightSource):
503 * svg/SVGFEDistantLightElement.h:
504 * svg/SVGFELightElement.h:
505 * svg/SVGFEPointLightElement.cpp:
506 (WebCore::SVGFEPointLightElement::lightSource):
507 * svg/SVGFEPointLightElement.h:
508 * svg/SVGFESpecularLightingElement.cpp:
509 (WebCore::SVGFESpecularLightingElement::updateLights):
510 * svg/SVGFESpotLightElement.cpp:
511 (WebCore::SVGFESpotLightElement::lightSource):
512 * svg/SVGFESpotLightElement.h:
513 * svg/graphics/filters/SVGDistantLightSource.h:
514 (WebCore::DistantLightSource::DistantLightSource):
515 (WebCore::DistantLightSource::azimuth):
516 (WebCore::DistantLightSource::elevation):
517 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
518 (WebCore::SVGFEDiffuseLighting::lightSource):
519 (WebCore::SVGFEDiffuseLighting::setLightSource):
520 * svg/graphics/filters/SVGFEDiffuseLighting.h:
521 * svg/graphics/filters/SVGFESpecularLighting.cpp:
522 (WebCore::SVGFESpecularLighting::lightSource):
523 (WebCore::SVGFESpecularLighting::setLightSource):
524 * svg/graphics/filters/SVGFESpecularLighting.h:
525 * svg/graphics/filters/SVGLightSource.cpp:
526 (WebCore::PointLightSource::externalRepresentation):
527 (WebCore::SpotLightSource::externalRepresentation):
528 (WebCore::DistantLightSource::externalRepresentation):
529 * svg/graphics/filters/SVGLightSource.h:
531 (WebCore::LightSource::LightSource):
532 (WebCore::LightSource::~LightSource):
533 (WebCore::LightSource::type):
534 * svg/graphics/filters/SVGPointLightSource.h:
535 (WebCore::PointLightSource::PointLightSource):
536 (WebCore::PointLightSource::position):
537 * svg/graphics/filters/SVGSpotLightSource.h:
538 (WebCore::SpotLightSource::SpotLightSource):
539 (WebCore::SpotLightSource::position):
540 (WebCore::SpotLightSource::direction):
541 (WebCore::SpotLightSource::specularExponent):
542 (WebCore::SpotLightSource::limitingConeAngle):
543 * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
544 (WebCore::SVGFEDiffuseLighting::getCIFilter):
545 * svg/graphics/filters/cg/SVGFEHelpersCg.h:
546 * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
547 (WebCore::getLightVectors):
548 * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
549 (WebCore::SVGFESpecularLighting::getCIFilter):
551 2008-07-01 Alp Toker <alp@nuanti.com>
553 Rubber-stamped by Holger.
555 autotools cleanup: move some GTK+-specific sources from libwebcore to
560 2008-07-01 Dan Bernstein <mitz@apple.com>
562 Reviewed by Oliver Hunt.
564 - fix the non-SVG build
566 * css/CSSValueKeywords.in: Added 'all'.
567 * css/SVGCSSValueKeywords.in: Removed 'all'.
569 2008-07-01 Simon Hausmann <hausmann@webkit.org>
571 Build fix, include DateInstance.h.
573 * bridge/qt/qt_runtime.cpp:
575 2008-06-30 Adele Peterson <adele@apple.com>
579 Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
581 Test: fast/forms/search-hidden-cancel-button.html
583 * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
584 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.
586 2008-06-30 Sam Weinig <sam@webkit.org>
588 Rubber-stamped by Darin Adler.
590 Split InternalFunction into its own header file.
592 * ForwardingHeaders/kjs/InternalFunction.h: Added.
593 * bridge/runtime_method.h:
595 2008-06-30 Adele Peterson <adele@apple.com>
599 Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
601 Test: editing/selection/select-all-textarea.html
604 (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
605 (WebCore::Node::shadowTreeRootNode): Added helper function.
607 * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
609 * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
610 * editing/Selection.h:
611 * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
612 * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
613 If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
615 (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
616 (WebCore::Frame::markAllMatchesForText): ditto.
618 2008-06-30 chris fleizach <cfleizach@apple.com>
620 Reviewed by Beth Dakin
622 <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
624 * page/AccessibilityObject.cpp:
625 (WebCore::AccessibilityObject::linkedUIElements):
626 * page/AccessibilityObject.h:
627 * page/AccessibilityRenderObject.cpp:
628 (WebCore::AccessibilityRenderObject::internalLinkElement):
629 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
630 (WebCore::AccessibilityRenderObject::linkedUIElements):
631 * page/AccessibilityRenderObject.h:
632 * page/mac/AccessibilityObjectWrapper.mm:
633 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
635 2008-06-30 Dan Bernstein <mitz@apple.com>
637 Reviewed by Adele Peterson.
639 - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
641 * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
642 Frame::setSelectionBaseWritingDirection().
643 * page/ContextMenuController.cpp:
644 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
645 call Frame::setSelectionBaseWritingDirection().
647 (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
648 focused node is a text field or text area, changes its 'dir' attribute.
649 This is what IE does when the user changes the writing direction in a
650 text control. Otherwise, calls down to Editor::setBaseWritingDirection().
653 2008-06-30 David Kilzer <ddkilzer@apple.com>
655 Improve HTMLObjectElement data encapsulation
657 Reviewed by Dave Hyatt.
659 HTMLObjectElement has some public member variables that should be
660 private with accessor methods.
662 No test cases added since there is no change in behavior.
664 * html/HTMLObjectElement.cpp:
665 (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
666 initialization of member variables to match defined order in header.
667 * html/HTMLObjectElement.h:
668 (WebCore::HTMLObjectElement::classId): Added.
669 (WebCore::HTMLObjectElement::url): Added.
670 (WebCore::HTMLObjectElement::serviceType): Added.
671 * rendering/RenderPartObject.cpp:
672 (WebCore::RenderPartObject::updateWidget): Use new accessor methods
673 in HTMLObjectElement now that its member variables are private.
675 2008-06-30 Dan Bernstein <mitz@apple.com>
677 Reviewed by Anders Carlsson.
679 - remove unused member variable
681 * page/Page.h: Removed Page::m_focusedNode.
683 2008-06-30 Anders Carlsson <andersca@apple.com>
687 <rdar://problem/6014209>
688 Crash when loading manifest from application cache fails
690 There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
691 that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
692 group could be deleted causing us to access freed memory and then crashing.
694 * loader/appcache/ApplicationCacheGroup.cpp:
695 (WebCore::ApplicationCacheGroup::didReceiveResponse):
696 (WebCore::ApplicationCacheGroup::didFail):
697 (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
699 2008-06-30 Adam Roben <aroben@apple.com>
701 Fix <rdar://5954749> Assertion failure due to HashTable's use of
704 Reviewed by Ada Chan.
706 * bindings/js/JSSVGPODTypeWrapper.h:
708 * dom/StyledElement.cpp:
709 * platform/graphics/FontCache.cpp:
710 * platform/graphics/IntSizeHash.h:
712 * platform/text/StringHash.h:
713 * platform/win/COMPtr.h:
714 * svg/SVGAnimatedTemplate.h:
715 Updated all custom HashTraits for HashTable changes.
717 2008-06-30 Simon Hausmann <hausmann@webkit.org>
721 Added missing includes and changed getItem array calls to use get()
724 * bridge/qt/qt_runtime.cpp:
725 (KJS::Bindings::convertValueToQVariant):
727 2008-06-29 David Smith <catfish.man@gmail.com>
729 Rubberstamped by Sam Weinig.
731 Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
733 * dom/TagNodeList.cpp:
734 (WebCore::TagNodeList::nodeMatches):
736 2008-06-29 Dan Bernstein <mitz@apple.com>
738 Reviewed by Darin Adler.
740 - fix SVG layout test regressions
742 * css/CSSFontSelector.cpp:
743 (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
744 again with primitive values, because the @font-face rules SVG fonts
745 create still use a single primitive value rather than a value list.
747 2008-06-29 Dan Bernstein <mitz@apple.com>
749 Reviewed by Sam Weinig.
751 - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
753 Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
754 fast/css/font-face-descriptor-multiple-values.html
756 * css/CSSFontSelector.cpp:
757 (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
758 lists for the descriptor properties.
761 (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
762 (WebCore::CSSParser::parseValue): Added a call to
763 deleteFontFaceOnlyValues() if necessary.
764 (WebCore::CSSParser::parseDeclaration): Ditto.
765 (WebCore::CSSParser::clearProperties): Added code to reset
766 m_hasFontFaceOnlyValues to false.
767 (WebCore::CSSParser::parseFontStyle): Added. If there is a single
768 valid identifier other than 'all', creates a CSSPrimitiveValue and
769 assigns it to the property. If 'all' is the only value, or if there are
770 multiple valid identifiers that are not 'all', creates a CSSValueList
771 and assigns it to the property, and sets m_hasFontFaceOnlyValues to
773 (WebCore::CSSParser::parseFontVariant): Ditto.
774 (WebCore::CSSParser::parseFontWeight): Ditto.
775 (WebCore::CSSParser::createStyleRule): Added a call to
776 deleteFontFaceOnlyValues().
777 (WebCore::CSSParser::createFontFaceRule): Added code to change
778 font descriptor properties that had only one value, and therefore were
779 assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
780 (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
781 invalidates font descriptor properties that had values that are only
782 allowed in @font-face. Those are identified by having CSSValueLists
783 rather than CSSPrimitiveValues as their values.
784 * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
785 font descriptor property values that are only valid in @font-face were
786 encountered. This is used when the style declaration is created (and we
787 finally know if it is @font-face or not) to delete invalid properties
790 2008-06-28 Darin Adler <darin@apple.com>
792 Reviewed by Sam and Cameron.
794 - fix https://bugs.webkit.org/show_bug.cgi?id=19805
795 Array.concat turns missing array elements into "undefined"
797 * bridge/jni/jni_utility.cpp:
798 (KJS::Bindings::convertArrayInstanceToJavaArray):
799 Use get instead of getItem, since we always want to consider values from the
800 prototypes when looking at JavaScript arrays.
802 2008-06-28 Dan Bernstein <mitz@apple.com>
804 Reviewed by Darin Adler.
806 - allow document markers to touch or overlap if they are not of the same type
808 Cannot be tested in DumpRenderTree
811 (WebCore::Document::addMarker):
812 * rendering/InlineTextBox.cpp:
813 (WebCore::InlineTextBox::paintDocumentMarkers):
815 2008-06-28 Sam Weinig <sam@webkit.org>
817 Rubber-stamped by Darin Adler.
819 Update includes after remaming string_object.h to StringObject.h and
820 splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
823 * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
824 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
825 * ForwardingHeaders/kjs/StringPrototype.h: Added.
826 * ForwardingHeaders/kjs/string_object.h: Removed.
827 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
829 2008-06-28 Sam Weinig <sam@webkit.org>
831 Rubber-stamped by Oliver Hunt.
833 Update includes after remaming object_object.h to ObjectPrototype.h and
834 splitting FunctionConstructor out of FunctionPrototype.h
836 * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
837 * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
838 * ForwardingHeaders/kjs/object_object.h: Removed.
839 * bindings/js/JSEventListener.cpp:
840 * bindings/scripts/CodeGeneratorJS.pm:
841 * bridge/qt/qt_instance.cpp:
843 2008-06-28 Dan Bernstein <mitz@apple.com>
845 Reviewed by Darin Adler.
847 - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
849 * html/HTMLImageLoader.cpp:
850 (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
851 image if the 'src' attribute is the empty string and the document's base
854 2008-06-27 Sam Weinig <sam@webkit.org>
856 Reviewed by Dan Bernstein.
858 <rdar://problem/6025499> Make Cross-site XHR match the final specification
860 Update the implemented subset of Access-Control for XMLHttpRequest to the
861 latest version. (Editor's Draft 25 May 2008)
863 - Now differentiates between simple and non-simple cross-site requests, the later
864 requiring a preflight.
865 - Now sends request headers cross-site, limited by a blacklist.
866 - Now allows access to cross-site response headers, limited by a whitelist.
867 - Now sends request entity body for non-get cross-site requests after preflight.
869 Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
870 http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
871 http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
873 * xml/XMLHttpRequest.cpp:
874 (WebCore::isOnAccessControllRequestHeaderBlackList):
875 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
876 (WebCore::isOnAccessControlResponseHeaderWhitelist):
877 (WebCore::XMLHttpRequest::XMLHttpRequest):
878 (WebCore::XMLHttpRequest::createRequest):
879 (WebCore::XMLHttpRequest::makeSameOriginRequest):
880 (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
881 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
882 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
883 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
884 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
885 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
886 (WebCore::XMLHttpRequest::abort):
887 (WebCore::XMLHttpRequest::clearRequest):
888 (WebCore::XMLHttpRequest::setRequestHeader):
889 (WebCore::XMLHttpRequest::setRequestHeaderInternal):
890 (WebCore::XMLHttpRequest::getAllResponseHeaders):
891 (WebCore::XMLHttpRequest::getResponseHeader):
892 (WebCore::XMLHttpRequest::didFinishLoading):
893 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
894 (WebCore::XMLHttpRequest::didReceiveResponse):
895 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
896 (WebCore::XMLHttpRequest::didReceiveData):
897 * xml/XMLHttpRequest.h:
899 2008-06-27 Sam Weinig <sam@webkit.org>
901 Rubber-stamped by Mark Rowe.
903 Clean up sorting in WebCore.xcodeproj.
905 * WebCore.xcodeproj/project.pbxproj:
907 2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
909 Reviewed by Darin Adler.
911 Remove unnecessary options to make_names.pl command line
912 http://bugs.webkit.org/show_bug.cgi?id=19777
914 * DerivedSources.make:
917 2008-06-27 Adam Barth <abarth@webkit.org>
919 Reviewed by Darin Adler.
921 https://bugs.webkit.org/show_bug.cgi?id=19784
923 Properly handle untermianted <!-- comments in <textarea>s.
925 Tests: fast/parser/open-comment-in-script-tricky.html
926 fast/parser/open-comment-in-style.html
927 fast/parser/open-comment-in-textarea.html
929 * html/HTMLTokenizer.cpp:
930 (WebCore::HTMLTokenizer::finish):
932 2008-06-27 Adam Barth <abarth@webkit.org>
934 Reviewed by Darin Alder.
936 Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
937 Text areas in Wikipedia edit pages are empty, following content is missing
939 Don't treat entities as comment starters in parseSpecial.
941 Tests: fast/parser/comment-in-iframe.html
942 fast/parser/entity-comment-in-iframe.html
943 fast/parser/entity-comment-in-script-tricky.html
944 fast/parser/entity-comment-in-style.html
945 fast/parser/entity-comment-in-textarea.html
946 fast/parser/entity-comment-in-title.html
948 * html/HTMLTokenizer.cpp:
949 (WebCore::HTMLTokenizer::parseSpecial):
951 2008-06-27 Antti Koivisto <antti@apple.com>
955 <rdar://problem/6030720>
956 REGRESSION: Discrete animation between incompatible paths does not work
958 Fall back to discrete path animation if paths are not suitable for morphing.
960 Test: svg/custom/animate-path-discrete.svg
962 * svg/SVGAnimateElement.cpp:
963 (WebCore::SVGAnimateElement::calculateAnimatedValue):
965 2008-06-26 David Smith <catfish.man@gmail.com>
967 Reviewed by Sam Weinig.
969 https://bugs.webkit.org/show_bug.cgi?id=19002
971 Optimize simple id selectors in querySelector/querySelectorAll.
972 ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
975 (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
977 (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
978 * dom/SelectorNodeList.cpp:
979 (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
981 2008-06-26 Dan Bernstein <mitz@apple.com>
983 Reviewed by Darin Adler.
985 - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
986 http://bugs.webkit.org/show_bug.cgi?id=7023
988 Test: editing/selection/find-in-text-control.html
990 * WebCore.base.exp: Updated the TextIterator constructor signature.
992 * editing/TextIterator.cpp:
993 (WebCore::TextIterator::TextIterator): Added an enterTextControls
994 boolean parameter that determines whether the iterator should visit text
995 inside text areas and text fields. Added code to initialize the
996 m_inShadowContent member variable based on whether the range is in
998 (WebCore::TextIterator::advance): Added code to step out of shadow
1000 (WebCore::TextIterator::handleReplacedElement): Added code to enter
1001 text controls if desired.
1002 (WebCore::CharacterIterator::CharacterIterator): Added an
1003 enterTextControls boolean parameter that determines whether the iterator
1004 should visit text inside text areas and text fields. This is passed to
1005 the TextIterator constructor.
1006 (WebCore::findPlainText): Changed to use a CharacterIterator that
1007 visits text controls.
1009 * editing/TextIterator.h: Added member variables to track whether the
1010 current node is in a shadow tree and whether the iterator should visit
1014 (WebCore::Frame::findString): Changed to find inside text controls.
1015 (WebCore::Frame::markAllMatchesForText): Ditto.
1017 * rendering/RenderTextControl.cpp:
1018 (WebCore::RenderTextControl::innerTextElement): Added.
1019 * rendering/RenderTextControl.h: Added innerTextElement(), a private
1020 accessor method that is accessible to TextIterator through class
1023 2008-06-26 Darin Adler <darin@apple.com>
1027 * bridge/runtime.h: Added include of JSString.h since jsString will soon
1028 change to return a JSString*.
1030 2008-06-26 Adele Peterson <adele@apple.com>
1032 Fix suggested by Eric Carlson, added by me, reviewed by Adam.
1034 Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
1036 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1037 Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
1039 2008-06-26 Sam Weinig <sam@webkit.org>
1041 Reviewed by John Sullivan.
1043 <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
1045 * loader/FrameLoader.cpp:
1046 (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the
1047 DOMWindow when opening a CachedPage.
1049 2008-06-26 Eric Seidel <eric@webkit.org>
1051 Reviewed by Beth Dakin.
1053 CSS @import statements can cause DocLoader to use
1054 a dead Frame pointer.
1055 https://bugs.webkit.org/show_bug.cgi?id=19618
1057 The fix is to get rid of the Frame pointer on DocLoader.
1059 I also took this opportunity to clean up Document::detach
1060 a little to make it clear why we clear the m_frame pointer
1061 there, and to note that in the future we should stop
1062 using Node::detach to mean "tear down the whole rendering
1063 tree and detach from the frame".
1065 Test: I don't know how to make a good test for this, the test
1066 we have is network timing dependent and does not make a good
1070 (WebCore::Document::Document):
1071 (WebCore::Document::detach):
1072 (WebCore::Document::clearFramePointer):
1074 * loader/DocLoader.cpp:
1075 (WebCore::DocLoader::frame):
1076 * loader/DocLoader.h:
1078 2008-06-26 Anders Carlsson <andersca@apple.com>
1082 Don't enumerate document.applets trying to determine if a page contains applets.
1083 Instead, set m_containsPlugIns to true when an applet has been created.
1085 * loader/FrameLoader.cpp:
1086 (WebCore::FrameLoader::canCachePage):
1087 (WebCore::FrameLoader::createJavaAppletWidget):
1089 2008-06-26 Alexey Proskuryakov <ap@webkit.org>
1093 Make JSGlobalData per-thread.
1095 * bindings/js/JSDOMBinding.h:
1096 (WebCore::DOMObject::DOMObject):
1097 * bindings/js/JSDOMWindowBase.cpp:
1098 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1099 * bridge/runtime_object.cpp:
1100 (RuntimeObjectImp::RuntimeObjectImp):
1101 Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
1102 there is no danger for them to be collected on a wrong thread.
1104 2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org>
1108 [svg] Disable plugins for SVG images
1109 The Qt platform allows to have a plugin factory per Page. Now SVG Images
1110 are using a Page and dummy/empty clients for Chrome. The only way to get
1111 the kit from the WebCore::Page is to go through the ChromeClient but this
1112 is not possible when the ChromeClient is an empty client. This leads to a
1113 crash in PluginDataQt.cpp. One way to avoid this would have been the
1114 addition of a rtti like field to ChromeClient to see if it is an empty
1115 client. The other possibility is to not enable plugins for images.
1117 The SVGImage relies on the fact that the document is a SVGDocument and
1118 that the rootElement is a SVGSVGElement. If plugins are used we could
1119 end up with a PluginDocument and crash badly. Do not try to use plugins
1120 if plugins are disabled for the WebCore::Page.
1122 * dom/DOMImplementation.cpp:
1123 (WebCore::DOMImplementation::createDocument):
1124 * svg/graphics/SVGImage.cpp:
1125 (WebCore::SVGImage::dataChanged):
1127 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
1133 * platform/graphics/qt/SimpleFontDataQt.cpp:
1134 (WebCore::SimpleFontData::SimpleFontData):
1136 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
1140 [svg] Make QtWebKit build more of the SVG support
1141 Add the proper defines and files, update SVGResourceFilterQt.cpp
1142 to be enabled by the filter option and not by experimental svg support
1145 * svg/graphics/qt/SVGResourceFilterQt.cpp:
1146 (WebCore::SVGResourceFilter::createPlatformData):
1147 (WebCore::SVGResourceFilter::prepareFilter):
1149 2008-06-25 Sam Weinig <sam@webkit.org>
1151 Reviewed by Brady Eidson.
1153 Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
1155 * xml/XMLHttpRequest.cpp:
1156 (WebCore::XMLHttpRequest::readyState):
1157 (WebCore::XMLHttpRequest::changeState):
1158 (WebCore::XMLHttpRequest::open):
1159 * xml/XMLHttpRequest.h:
1160 (WebCore::XMLHttpRequest::create):
1161 (WebCore::XMLHttpRequest::):
1163 2008-06-25 Justin Garcia <justin.garcia@apple.com>
1167 <rdar://problem/5994480> Line break lost on some pastes
1169 Merging the the first paragraph of inserted content with the content that came
1170 before the selection that was pasted into would also move content after
1171 the selection that was pasted into if:
1173 1) Only one paragraph was being pasted, and it was not wrapped in a block
1174 2) The selection that was pasted into ended at the end of a block
1175 3) The next paragraph didn't start at the start of a block.
1177 Insert a line break just after the inserted content to separate it from what
1178 comes after and prevent that from happening.
1180 Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
1181 when deleting a paragraph that started or ended with an input element. This was
1182 because its m_startBlock and m_endBlock were still computed with the old deprecated
1183 enclosingBlockFlowOrTableElement().
1185 * editing/DeleteSelectionCommand.cpp:
1186 (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
1187 getting an enclosing block.
1188 (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
1189 block will return 0 if it reaches the root editable element before finding a block,
1190 so if we're deleting inside an inline editable root, m_start/endBlock will
1191 be 0. Removed an early return for this case (we already have test coverage for it).
1192 * editing/ReplaceSelectionCommand.cpp:
1193 (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted
1194 content to separate it from what comes after.
1195 * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
1196 * dom/Node.cpp: Ditto.
1198 2008-06-25 Anders Carlsson <andersca@apple.com>
1200 Reviewed by Dave Hyatt.
1202 Fix refcount leak in CSSVariablesRule.
1204 * css/CSSParser.cpp:
1205 (WebCore::CSSParser::createVariablesRule):
1206 * css/CSSVariablesRule.h:
1207 (WebCore::CSSVariablesRule::create):
1208 (WebCore::CSSVariablesRule::setDeclaration):
1210 2008-06-25 Anders Carlsson <andersca@apple.com>
1214 <rdar://problem/6007111>
1215 https://bugs.webkit.org/show_bug.cgi?id=19516
1216 DOM modification causes Access Violation (NULL pointer?)
1218 Null check the document element.
1220 * html/HTMLParser.cpp:
1221 (WebCore::HTMLParser::handleError):
1223 2008-06-25 Dan Bernstein <mitz@apple.com>
1225 Reviewed by Dave Hyatt.
1227 - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
1229 - fix https://bugs.webkit.org/show_bug.cgi?id=18863
1230 <rdar://problem/5908890> weight mappings with @font-face aren't consistent
1232 Tests: fast/css/font-face-locally-installed.html
1233 fast/css/font-face-multiple-faces.html
1235 * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
1237 * WebCore.xcodeproj/project.pbxproj: Ditto.
1239 * css/CSSFontFace.h:
1240 Made CSSFontFace store descriptors from the @font-face rule, as follows:
1241 (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
1242 (WebCore::CSSFontFace::traitsMask): Added this accessor.
1243 (WebCore::CSSFontFace::addRange): Added.
1244 (WebCore::CSSFontFace::ranges): Added.
1245 (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
1246 (WebCore::CSSFontFace::UnicodeRange::from):
1247 (WebCore::CSSFontFace::UnicodeRange::to):
1248 (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
1249 of UnicodeRanges as member variables.
1251 * css/CSSFontFaceSource.cpp:
1252 Changed the hash key from the font size alone to the font size and
1253 the synthetic style bits, needed if the same source supplies different
1254 synthesized versions.
1255 (WebCore::CSSFontFaceSource::pruneTable):
1256 (WebCore::CSSFontFaceSource::getFontData):
1258 * css/CSSFontFaceSource.h:
1260 * css/CSSFontSelector.cpp:
1261 (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
1262 the contents of the font face, locally-installed font face and segmented
1264 (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
1265 not create segmented font faces, but instead just collect font faces
1266 and annotate them with descriptors (traits and unicode ranges).
1267 (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
1268 font faces by proximity to the desired traits.
1269 (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
1270 font face here and cache it.
1272 * css/CSSFontSelector.h:
1274 * css/CSSSegmentedFontFace.cpp:
1275 Changed to keep a vector of font faces instead of font face ranges, as
1276 font faces now know their Unicode ranges.
1277 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
1278 (WebCore::CSSSegmentedFontFace::isLoaded):
1279 (WebCore::CSSSegmentedFontFace::isValid):
1280 (WebCore::CSSSegmentedFontFace::appendFontFace):
1281 (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
1282 traits parameters, and instead changed to set them on each FontData
1283 separately based on the difference between the desired traits and
1284 the font face's traits.
1286 * css/CSSSegmentedFontFace.h:
1288 * platform/graphics/FontCache.h:
1289 Removed fontExists() and added getTraitsInFamily().
1291 * platform/graphics/FontDescription.cpp:
1292 (WebCore::FontDescription::traitsMask): Added.
1294 * platform/graphics/FontDescription.h:
1296 * platform/graphics/FontTraitsMask.h: Added.
1298 * platform/graphics/GlyphPageTreeNode.cpp:
1299 (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
1300 glyphs from all fonts in the segmented font, using each font in turn to
1301 fill in characters not covered by earlier fonts.
1303 * platform/graphics/gtk/FontCacheGtk.cpp:
1304 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1306 * platform/graphics/mac/FontCacheMac.mm:
1307 (WebCore::FontCache::getTraitsInFamily): Added.
1309 * platform/graphics/qt/FontCacheQt.cpp:
1310 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1312 * platform/graphics/win/FontCacheWin.cpp:
1313 (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
1314 (WebCore::traitsInFamilyEnumProc): Added.
1315 (WebCore::FontCache::getTraitsInFamily): Added.
1317 * platform/graphics/wx/FontCacheWx.cpp:
1318 (WebCore::FontCache::getTraitsInFamily): Added a stub.
1320 * platform/mac/WebFontCache.h:
1321 * platform/mac/WebFontCache.mm:
1322 (toTraitsMask): Added.
1323 (+[WebFontCache getTraits:inFamily:]): Added.
1325 2008-06-24 Anonymous
1327 Reviewed by Darin Adler. Committed by Adam Barth.
1329 https://bugs.webkit.org/show_bug.cgi?id=19470
1331 Check for a null documentElement() to fix four crashes.
1333 * WebCore/dom/Document.cpp:
1334 * WebCore/dom/Node.cpp:
1336 2008-06-24 Adam Barth <abarth@webkit.org>
1338 Reviewed by Darin Adler.
1340 Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
1342 Correctly parse <!-- </textarea> --> inside a <textarea>, matching
1343 Internet Explorer, Firefox, Opera, and HTML 5.
1345 Tests: fast/parser/comment-in-script-tricky.html
1346 fast/parser/comment-in-style.html
1347 fast/parser/comment-in-textarea.html
1348 fast/parser/comment-in-title.html
1350 * html/HTMLTokenizer.cpp:
1351 (WebCore::HTMLTokenizer::parseSpecial):
1353 2008-06-24 Justin Garcia <justin.garcia@apple.com>
1357 <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
1359 * editing/CompositeEditCommand.cpp:
1360 (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
1361 apply styles from the moved paragraph to the destination with applyStyle, which
1362 does selection preservation when it needs to apply block styles. Selection preservation
1363 uses relatively untested code in TextIterator to count VisiblePositions which fails in
1364 this particular test case because it doesn't handle changes in editability properly.
1365 We can avoid this bug by not applying block styles from moved paragraphs. This is
1366 something that should be done anyway, since the moved paragraph should assume the
1367 block styles of the destination.
1368 * editing/EditCommand.cpp:
1369 (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
1370 this function to also include the typing style.
1371 * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
1372 is buggy and should be phased out when we rewrite moveParagraphs.
1374 2008-06-24 Kevin McCullough <kmccullough@apple.com>
1376 -Added a manual test for the profiler.
1378 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
1380 2008-06-24 Sam Weinig <sam@webkit.org>
1382 Reviewed by Anders Carlsson.
1384 Add support for loadstart, abort and error events for XMLHttpRequests.
1386 Tests: http/tests/xmlhttprequest/onabort-event.html
1387 http/tests/xmlhttprequest/onerror-event.html
1388 http/tests/xmlhttprequest/onloadstart-event.html
1390 * bindings/js/JSXMLHttpRequestCustom.cpp:
1391 (WebCore::JSXMLHttpRequest::mark):
1392 (WebCore::JSXMLHttpRequest::onreadystatechange):
1393 (WebCore::JSXMLHttpRequest::onabort):
1394 (WebCore::JSXMLHttpRequest::setOnabort):
1395 (WebCore::JSXMLHttpRequest::onerror):
1396 (WebCore::JSXMLHttpRequest::setOnerror):
1397 (WebCore::JSXMLHttpRequest::onload):
1398 (WebCore::JSXMLHttpRequest::onloadstart):
1399 (WebCore::JSXMLHttpRequest::setOnloadstart):
1400 (WebCore::JSXMLHttpRequest::onprogress):
1402 * xml/XMLHttpRequest.cpp:
1403 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1404 (WebCore::XMLHttpRequest::createRequest):
1405 (WebCore::XMLHttpRequest::abort):
1406 (WebCore::XMLHttpRequest::networkError):
1407 (WebCore::XMLHttpRequest::abortError):
1408 (WebCore::XMLHttpRequest::didFail):
1409 (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
1410 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
1411 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
1412 (WebCore::XMLHttpRequest::dispatchAbortEvent):
1413 (WebCore::XMLHttpRequest::dispatchErrorEvent):
1414 (WebCore::XMLHttpRequest::dispatchLoadEvent):
1415 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
1416 (WebCore::XMLHttpRequest::dispatchProgressEvent):
1417 * xml/XMLHttpRequest.h:
1418 (WebCore::XMLHttpRequest::setOnAbortListener):
1419 (WebCore::XMLHttpRequest::onAbortListener):
1420 (WebCore::XMLHttpRequest::setOnErrorListener):
1421 (WebCore::XMLHttpRequest::onErrorListener):
1422 (WebCore::XMLHttpRequest::setOnLoadStartListener):
1423 (WebCore::XMLHttpRequest::onLoadStartListener):
1424 * xml/XMLHttpRequest.idl:
1426 2008-06-24 Anders Carlsson <andersca@apple.com>
1430 <rdar://problem/5957606>
1431 CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
1433 Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
1434 in case the call do didFail starts a new run loop.
1436 * loader/NetscapePlugInStreamLoader.cpp:
1437 (WebCore::NetscapePlugInStreamLoader::didCancel):
1439 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1443 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1444 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1445 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1446 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1447 Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
1449 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1453 https://bugs.webkit.org/show_bug.cgi?id=19723
1454 REGRESSION(r34648): Some SVG tests crash when running under --threaded
1456 * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
1457 to paint during document destruction, because rendering structures are not kept in a
1458 consistent state then.
1460 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1464 https://bugs.webkit.org/show_bug.cgi?id=19727
1466 Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
1467 many times in Cairo and Qt ports.
1469 * platform/graphics/GraphicsContext.h:
1470 * platform/graphics/GraphicsContext.cpp:
1471 (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
1472 which indicates whether there is a visible shadow to draw or not. Ports
1473 without a platform shadow implementation can use this flag to determine
1474 whether a shadow needs to be drawn manually
1475 * platform/graphics/cairo/FontCairo.cpp:
1476 (WebCore::Font::drawGlyphs):
1477 * platform/graphics/qt/FontQt.cpp:
1478 (WebCore::Font::drawText):
1479 * platform/graphics/qt/GraphicsContextQt.cpp:
1480 (WebCore::GraphicsContext::drawLine): use return from getShadow() to
1481 determine whether to draw the shadow
1483 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1487 https://bugs.webkit.org/show_bug.cgi?id=18459
1489 Clean up and remove unused platform shadow code.
1491 Minor edits by Simon, removed unused TextShadow struct.
1493 * platform/graphics/qt/GraphicsContextQt.cpp:
1494 (WebCore::GraphicsContext::setPlatformShadow):
1495 (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
1496 platform shadow, so just make these functions empty. The shadows are
1497 drawn manually in function like drawLine(), etc.
1499 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1503 https://bugs.webkit.org/show_bug.cgi?id=18459
1505 Implemented basic text-shadow support for the Qt port.
1507 * platform/graphics/qt/FontQt.cpp:
1508 (WebCore::Font::drawText): implement text-shadow support in the Qt port
1509 * platform/graphics/qt/GraphicsContextQt.cpp:
1510 (WebCore::GraphicsContext::drawLine): also draw shadows for text
1511 decorations such as unerlines
1513 2008-06-24 Simon Hausmann <hausmann@webkit.org>
1515 Fix the Qt build, adapt to various JSCore API changes.
1517 * bridge/qt/qt_instance.cpp:
1518 (KJS::Bindings::QtRuntimeObjectImp::construct):
1519 (KJS::Bindings::QtInstance::getRuntimeObject):
1520 (KJS::Bindings::QtInstance::invokeDefaultMethod):
1521 * bridge/qt/qt_runtime.cpp:
1522 (KJS::Bindings::convertQVariantToValue):
1523 (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
1524 (KJS::Bindings::QtRuntimeConnectionMethod::call):
1525 (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
1526 (KJS::Bindings::QtConnectionObject::execute):
1527 * bridge/qt/qt_runtime.h:
1528 (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
1530 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
1532 Remove XMLHttpRequestProgressEvent.cpp from more project files.
1537 2008-06-24 Ariya Hidayat <ariya.hidayat@trolltech.com>
1541 For the Qt port, fix linking with MinGW.
1545 2008-06-23 Darin Adler <darin@apple.com>
1549 Update for JavaScript changes.
1551 - Use CallData and ConstructData instead of the obsolete implementsCall,
1552 callAsFunction, and construct functions.
1554 - Updated native function arguments, specifically to allow a JSValue
1555 rather than a JSObject for the this argument, and to call toThisObject
1556 as needed when treating it as an object.
1558 - Made some more class members private and protected, including virtual
1561 - Eliminated the use of getCallData in the JavaScript bridging code as
1562 a way to check if an instance supports invokeDefaultMethod.
1564 - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
1565 classes. They were using virtual functions simply to share an instance
1566 of the RefCounted template, which was not helpful.
1568 * bindings/js/JSAudioConstructor.cpp:
1569 (WebCore::constructAudio):
1570 (WebCore::JSAudioConstructor::getConstructData):
1571 * bindings/js/JSAudioConstructor.h:
1572 (WebCore::JSAudioConstructor::document):
1573 (WebCore::JSAudioConstructor::classInfo):
1574 * bindings/js/JSClipboardCustom.cpp:
1575 (WebCore::JSClipboard::types):
1576 * bindings/js/JSCustomSQLStatementCallback.cpp:
1577 (WebCore::JSCustomSQLStatementCallback::handleEvent):
1578 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1579 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1580 * bindings/js/JSCustomSQLTransactionCallback.cpp:
1581 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1582 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1583 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1584 * bindings/js/JSCustomVoidCallback.cpp:
1585 (WebCore::JSCustomVoidCallback::handleEvent):
1586 * bindings/js/JSCustomXPathNSResolver.cpp:
1587 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1588 * bindings/js/JSDOMBinding.h:
1589 (WebCore::DOMObject::DOMObject):
1590 * bindings/js/JSDOMWindowBase.cpp:
1591 (WebCore::windowProtoFuncAToB):
1592 (WebCore::windowProtoFuncBToA):
1593 (WebCore::windowProtoFuncOpen):
1594 (WebCore::windowProtoFuncSetTimeout):
1595 (WebCore::windowProtoFuncClearTimeout):
1596 (WebCore::windowProtoFuncSetInterval):
1597 (WebCore::windowProtoFuncAddEventListener):
1598 (WebCore::windowProtoFuncRemoveEventListener):
1599 (WebCore::windowProtoFuncShowModalDialog):
1600 (WebCore::windowProtoFuncNotImplemented):
1601 (WebCore::toJSDOMWindow):
1602 * bindings/js/JSDOMWindowBase.h:
1603 * bindings/js/JSDOMWindowShell.h:
1604 (WebCore::JSDOMWindowShell::classInfo):
1605 * bindings/js/JSEventListener.cpp:
1606 (WebCore::JSAbstractEventListener::handleEvent):
1607 (WebCore::JSLazyEventListener::parseCode):
1608 * bindings/js/JSEventTargetBase.cpp:
1609 (WebCore::retrieveEventTargetAndCorrespondingNode):
1610 (WebCore::jsEventTargetAddEventListener):
1611 (WebCore::jsEventTargetRemoveEventListener):
1612 (WebCore::jsEventTargetDispatchEvent):
1613 * bindings/js/JSEventTargetBase.h:
1614 * bindings/js/JSHTMLAppletElementCustom.cpp:
1615 (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
1616 (WebCore::JSHTMLAppletElement::customPut):
1617 (WebCore::JSHTMLAppletElement::getCallData):
1618 * bindings/js/JSHTMLCollectionCustom.cpp:
1619 (WebCore::callHTMLCollection):
1620 (WebCore::JSHTMLCollection::getCallData):
1621 * bindings/js/JSHTMLDocumentCustom.cpp:
1622 (WebCore::JSHTMLDocument::open):
1623 * bindings/js/JSHTMLEmbedElementCustom.cpp:
1624 (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
1625 (WebCore::JSHTMLEmbedElement::customPut):
1626 (WebCore::JSHTMLEmbedElement::getCallData):
1627 * bindings/js/JSHTMLInputElementBase.cpp:
1628 (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
1629 * bindings/js/JSHTMLInputElementBase.h:
1630 * bindings/js/JSHTMLObjectElementCustom.cpp:
1631 (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
1632 (WebCore::JSHTMLObjectElement::customPut):
1633 (WebCore::JSHTMLObjectElement::getCallData):
1634 * bindings/js/JSHTMLOptionElementConstructor.cpp:
1635 (WebCore::constructHTMLOptionElement):
1636 (WebCore::JSHTMLOptionElementConstructor::getConstructData):
1637 * bindings/js/JSHTMLOptionElementConstructor.h:
1638 (WebCore::JSHTMLOptionElementConstructor::document):
1639 (WebCore::JSHTMLOptionElementConstructor::classInfo):
1640 * bindings/js/JSImageConstructor.cpp:
1641 (WebCore::constructImage):
1642 (WebCore::JSImageConstructor::getConstructData):
1643 * bindings/js/JSImageConstructor.h:
1644 (WebCore::JSImageConstructor::document):
1645 (WebCore::JSImageConstructor::classInfo):
1646 * bindings/js/JSInspectedObjectWrapper.h:
1647 (WebCore::JSInspectedObjectWrapper::classInfo):
1648 * bindings/js/JSInspectorCallbackWrapper.cpp:
1649 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
1650 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1651 (WebCore::JSJavaScriptCallFrame::scopeChain):
1652 * bindings/js/JSNodeFilterCondition.cpp:
1653 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1654 (WebCore::JSNodeFilterCondition::mark):
1655 (WebCore::JSNodeFilterCondition::acceptNode):
1656 * bindings/js/JSNodeFilterCondition.h:
1657 (WebCore::JSNodeFilterCondition::create):
1658 * bindings/js/JSNodeFilterCustom.cpp:
1659 (WebCore::toNodeFilter):
1660 * bindings/js/JSNodeListCustom.cpp:
1661 (WebCore::callNodeList):
1662 (WebCore::JSNodeList::getCallData):
1663 (WebCore::JSNodeList::canGetItemsForName):
1664 (WebCore::JSNodeList::nameGetter):
1665 * bindings/js/JSPluginElementFunctions.cpp:
1666 (WebCore::runtimeObjectGetter):
1667 (WebCore::runtimeObjectPropertyGetter):
1668 (WebCore::runtimeObjectCustomGetOwnPropertySlot):
1669 (WebCore::runtimeObjectCustomPut):
1670 (WebCore::runtimeObjectGetCallData):
1671 (WebCore::pluginInstance):
1672 (WebCore::getRuntimeObject):
1673 (WebCore::callPlugin):
1674 * bindings/js/JSPluginElementFunctions.h:
1675 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1676 (WebCore::JSQuarantinedObjectWrapper::put):
1677 (WebCore::JSQuarantinedObjectWrapper::construct):
1678 (WebCore::JSQuarantinedObjectWrapper::getConstructData):
1679 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
1680 (WebCore::JSQuarantinedObjectWrapper::call):
1681 (WebCore::JSQuarantinedObjectWrapper::getCallData):
1682 * bindings/js/JSQuarantinedObjectWrapper.h:
1683 (WebCore::JSQuarantinedObjectWrapper::className):
1684 * bindings/js/JSRGBColor.cpp:
1685 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1686 (WebCore::constructXMLHttpRequest):
1687 (WebCore::JSXMLHttpRequestConstructor::getConstructData):
1688 * bindings/js/JSXMLHttpRequestConstructor.h:
1689 (WebCore::JSXMLHttpRequestConstructor::document):
1690 (WebCore::JSXMLHttpRequestConstructor::classInfo):
1691 * bindings/js/JSXSLTProcessorConstructor.cpp:
1692 (WebCore::constructXSLTProcessor):
1693 (WebCore::JSXSLTProcessorConstructor::getConstructData):
1694 * bindings/js/JSXSLTProcessorConstructor.h:
1695 (WebCore::JSXSLTProcessorConstructor::classInfo):
1696 * bindings/js/ScheduledAction.cpp:
1697 (WebCore::ScheduledAction::ScheduledAction):
1698 (WebCore::ScheduledAction::execute):
1699 * bindings/js/ScheduledAction.h:
1700 * bindings/objc/WebScriptObject.mm:
1701 (-[WebScriptObject callWebScriptMethod:withArguments:]):
1702 * bindings/scripts/CodeGeneratorJS.pm:
1703 * bridge/NP_jsobject.cpp:
1704 (_NPN_InvokeDefault):
1706 * bridge/c/c_instance.cpp:
1707 (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
1708 * bridge/c/c_instance.h:
1709 * bridge/jni/jni_jsobject.mm:
1710 (JavaJSObject::call):
1711 * bridge/objc/objc_instance.h:
1712 * bridge/objc/objc_instance.mm:
1713 (ObjcInstance::supportsInvokeDefaultMethod):
1714 * bridge/objc/objc_runtime.h:
1715 (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
1716 (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
1717 * bridge/objc/objc_runtime.mm:
1718 (Bindings::webScriptObjectClass):
1719 (Bindings::webUndefinedClass):
1720 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1721 (callObjCFallbackObject):
1722 (ObjcFallbackObjectImp::getCallData):
1723 * bridge/qt/qt_instance.h:
1724 * bridge/runtime.cpp:
1725 (KJS::Bindings::Instance::createRuntimeObject):
1726 (KJS::Bindings::Instance::getInstance):
1728 (KJS::Bindings::Field::~Field):
1729 (KJS::Bindings::Method::~Method):
1730 (KJS::Bindings::Class::~Class):
1731 (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
1732 * bridge/runtime_method.cpp:
1733 (KJS::callRuntimeMethod):
1734 (KJS::RuntimeMethod::getCallData):
1735 * bridge/runtime_method.h:
1736 (KJS::RuntimeMethod::methods):
1737 * bridge/runtime_object.cpp:
1738 (RuntimeObjectImp::defaultValue):
1739 (callRuntimeObject):
1740 (RuntimeObjectImp::getCallData):
1741 * bridge/runtime_object.h:
1742 (KJS::RuntimeObjectImp::getInternalInstance):
1743 (KJS::RuntimeObjectImp::classInfo):
1744 * dom/NodeIterator.h:
1745 * dom/Traversal.cpp:
1749 2008-06-23 Adam Barth <abarth@webkit.org>
1751 Reviewed by Darin Adler.
1753 https://bugs.webkit.org/show_bug.cgi?id=16756
1755 Move isAllowedToLoadLocalResources into SecurityOrigin.
1758 (WebCore::Document::Document):
1759 (WebCore::Document::setURL):
1760 (WebCore::Document::initSecurityContext):
1762 * loader/FrameLoader.cpp:
1763 (WebCore::FrameLoader::canLoad):
1764 * platform/SecurityOrigin.cpp:
1765 (WebCore::SecurityOrigin::SecurityOrigin):
1766 (WebCore::SecurityOrigin::isLocal):
1767 * platform/SecurityOrigin.h:
1768 (WebCore::SecurityOrigin::protocol):
1769 (WebCore::SecurityOrigin::host):
1770 (WebCore::SecurityOrigin::domain):
1771 (WebCore::SecurityOrigin::port):
1772 (WebCore::SecurityOrigin::canLoadLocalResources):
1773 (WebCore::SecurityOrigin::grantLoadLocalResources):
1774 * xml/XMLHttpRequest.cpp:
1775 (WebCore::XMLHttpRequest::setRequestHeader):
1777 2008-06-23 Mark Rowe <mrowe@apple.com>
1779 Fix the Windows build.
1781 * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
1783 2008-06-23 Steve Falkenburg <sfalken@apple.com>
1785 Fix a math error in my last change.
1787 Reviewed by Ada Chan.
1789 * platform/win/FileSystemWin.cpp:
1790 (WebCore::openTemporaryFile):
1792 2008-06-23 Kevin McCullough <kmccullough@apple.com>
1796 * WebCore.vcproj/WebCore.vcproj:
1798 2008-06-23 chris fleizach <cfleizach@apple.com>
1800 Reviewed by Darin Adler.
1802 <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
1804 * page/AccessibilityObject.cpp:
1805 (WebCore::replacedNodeNeedsCharacter):
1806 (WebCore::AccessibilityObject::stringForVisiblePositionRange):
1807 (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
1809 2008-06-23 Steve Falkenburg <sfalken@apple.com>
1811 Added our own mechanism for generating temporary file names.
1813 Reviewed by Ada Chan, Darin Adler.
1815 * platform/win/FileSystemWin.cpp:
1816 (WebCore::openTemporaryFile):
1818 2008-06-23 Sam Weinig <sam@webkit.org>
1820 Remove XMLHttpRequestProgressEvent.cpp from project files.
1822 * WebCore.vcproj/WebCore.vcproj:
1823 * WebCore.xcodeproj/project.pbxproj:
1824 * WebCoreSources.bkl:
1826 2008-06-23 Sam Weinig <sam@webkit.org>
1828 Reviewed by Dave Hyatt.
1832 * xml/XMLHttpRequestProgressEvent.cpp: Removed.
1834 2008-06-23 Sam Weinig <sam@webkit.org>
1836 Rubber-stamped by Tim Hatcher.
1838 Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
1839 and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
1841 * xml/XMLHttpRequest.cpp:
1842 (WebCore::XMLHttpRequest::createRequest):
1843 (WebCore::XMLHttpRequest::makeSameOriginRequest):
1844 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1845 * xml/XMLHttpRequest.h:
1847 2008-06-23 Sam Weinig <sam@webkit.org>
1849 Reviewed by Alexey Proskuryakov.
1851 Some XMLHttpRequest re-organization to aid further enhancements coming soon.
1853 * bindings/js/JSXMLHttpRequestCustom.cpp:
1854 (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
1855 instead of always calling though send(DOMString).
1856 * dom/Document.idl: Adds native converter.
1858 * xml/XMLHttpRequest.cpp:
1859 (WebCore::XMLHttpRequest::open):
1860 (WebCore::XMLHttpRequest::initSend):
1861 (WebCore::XMLHttpRequest::send):
1862 (WebCore::XMLHttpRequest::createRequest):
1863 (WebCore::XMLHttpRequest::sameOriginRequest):
1864 (WebCore::XMLHttpRequest::crossSiteAccessRequest):
1865 (WebCore::XMLHttpRequest::abort):
1866 (WebCore::XMLHttpRequest::clearResponse):
1867 (WebCore::XMLHttpRequest::clearRequest):
1868 (WebCore::XMLHttpRequest::genericError):
1869 (WebCore::XMLHttpRequest::dispatchProgressEvent):
1870 * xml/XMLHttpRequest.h:
1871 (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
1872 (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
1873 (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
1874 (WebCore::XMLHttpRequest::onLoadListener): Ditto.
1875 (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
1876 (WebCore::XMLHttpRequest::onProgressListener): Ditto.
1877 Makes the request entity body a member variable so that the send method
1878 can be more easily broken up.
1880 2008-06-23 Timothy Hatcher <timothy@apple.com>
1882 Make profiles of the same name in the Inspector group in the
1883 sidebar under a collapsable item that contains all the runs.
1885 https://bugs.webkit.org/show_bug.cgi?id=19713
1887 Reviewed by Darin Adler.
1889 * English.lproj/localizedStrings.js: New strings.
1890 * page/inspector/Images/profileGroupIcon.png: Added.
1891 * page/inspector/Images/profileSmallIcon.png: Added.
1892 * page/inspector/ProfilesPanel.js:
1893 (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
1894 Remove the "some-expandable" class from the sidebarTree.
1895 (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
1896 that have the same name as a previous profile into a group. When a
1897 group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
1898 ProfileSidebarTreeElements are appended to the group's element.
1899 (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
1900 Return _mainTitle is it is set.
1901 (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
1902 Set _mainTitle which is an override title.
1903 (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
1904 (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
1905 Show the last profile in the group when selected.
1906 * page/inspector/SidebarTreeElement.js:
1907 (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
1908 (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
1909 update the style to match.
1910 (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
1911 class if the small property is true.
1912 * page/inspector/inspector.css: New styles for profiles groups
1913 and for the small profiles.
1915 2008-06-23 Anders Carlsson <andersca@apple.com>
1919 Make changedDocuments a HashSet.
1922 (WebCore::Document::setDocumentChanged):
1923 (WebCore::Document::updateDocumentsRendering):
1925 2008-06-23 Alexey Proskuryakov <ap@webkit.org>
1927 Reviewed by Mark Rowe.
1929 Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
1930 be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
1931 on a different thread causes crashes.
1933 * bindings/js/JSDOMBinding.h:
1934 (WebCore::DOMObject::DOMObject):
1936 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1938 Reviewed by Darin Adler.
1940 Fix https://bugs.webkit.org/show_bug.cgi?id=19465
1941 Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
1943 Test: editing/input/textarea-arrow-navigation.html
1945 * rendering/RenderText.cpp:
1946 (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
1947 of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
1948 that the cursor doesn't remain on the previous line.
1950 2008-06-22 Robert Blaut <webkit@blaut.biz>
1952 Reviewed by Darin Adler.
1954 Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
1955 Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
1957 Test: fast/parser/input-textarea-inside-select-element.html
1959 * html/HTMLParser.cpp:
1960 (WebCore::HTMLParser::handleError):
1962 2008-06-22 David Krause <david.krause@gmail.com>
1964 Reviewed by Darin Adler.
1966 Fix https://bugs.webkit.org/show_bug.cgi?id=19426
1967 Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
1969 Change ref to addClient and deref to removeClient in code wrapped
1970 by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
1972 * loader/FrameLoader.cpp:
1973 (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
1974 (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
1975 (WebCore::FrameLoader::notifyFinished):
1977 2008-06-22 Robert Blaut <webkit@blaut.biz>
1979 Reviewed by Darin Adler.
1981 Fix https://bugs.webkit.org/show_bug.cgi?id=19520
1982 Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
1984 Test: fast/css/outline-hidden-illegal-value.html
1986 * css/CSSParser.cpp:
1987 (WebCore::CSSParser::parseValue):
1988 * rendering/RenderFlow.cpp:
1989 (WebCore::RenderFlow::paintOutline):
1990 * rendering/RenderObject.cpp:
1991 (WebCore::RenderObject::paintOutline):
1992 * rendering/style/RenderStyle.h:
1993 (WebCore::RenderStyle::outlineWidth):
1994 (WebCore::RenderStyle::outlineOffset):
1996 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
1998 Reviewed by Dan Bernstein.
2000 Fix https://bugs.webkit.org/show_bug.cgi?id=19675
2001 Bug 19675: [GTK] negative text-shadows are not rendered
2003 * platform/graphics/cairo/FontCairo.cpp:
2004 (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
2005 sizes are > 0, while we need to check for != 0.
2007 2008-06-22 kuchhal <kuchhal@yahoo.com>
2009 Reviewed by Darin Adler.
2011 Fix https://bugs.webkit.org/show_bug.cgi?id=19696
2012 Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
2014 * editing/DeleteButtonController.cpp:
2015 (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
2016 if the platform resource could not be loaded.
2018 2008-06-22 kuchhal <kuchhal@yahoo.com>
2020 Reviewed by Darin Adler.
2022 Fix https://bugs.webkit.org/show_bug.cgi?id=19697
2023 Bug 19697: Redundant releaseRef causing memory leak
2025 * platform/win/ClipboardUtilitiesWin.cpp:
2026 (WebCore::fragmentFromCF_HTML):
2028 2008-06-21 Sam Weinig <sam@webkit.org>
2032 * bindings/scripts/CodeGeneratorCOM.pm:
2033 * html/HTMLInputElement.idl:
2035 2008-06-21 Timothy Hatcher <timothy@apple.com>
2037 Fix a typo "new" in the keywords list for hte JavaScript
2038 syntax highlighter. And adds "get" and "set" to the keyword list.
2040 Reviewed by Sam Weinig.
2042 * page/inspector/SourceFrame.js:
2043 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
2044 Fixes the "new" typo and adds "get" and "set".
2046 2008-06-21 David Kilzer <ddkilzer@apple.com>
2048 Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
2050 <https://bugs.webkit.org/show_bug.cgi?id=7931>
2054 Tests: fast/parser/entity-end-iframe-tag.html
2055 fast/parser/entity-end-script-tag.html
2056 fast/parser/entity-end-style-tag.html
2057 fast/parser/entity-end-textarea-tag.html
2058 fast/parser/entity-end-title-tag.html
2059 fast/parser/entity-end-xmp-tag.html
2061 Previously the parser accepted end tags for textarea, title and
2062 iframe elements that contained entity-escaped characters such as
2063 '<'. The fix is to save the position of the last entity-escaped
2064 character converted and to use that to make sure the end tag does
2065 not contain an escaped character.
2067 Note that this was not an issue for script, style and xmp elements
2068 since they already ignored entity-escaped characters.
2070 * html/HTMLTokenizer.cpp:
2071 (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
2072 tag, ignore any text with entity-escaped characters by making sure
2073 lastDecodedEntityPosition is less than the first character of the
2076 2008-06-21 Sam Weinig <sam@webkit.org>
2078 Reviewed by Dan Bernstein.
2080 Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
2081 REGRESSION: Problem with extjs (insertAdjacentHTML)
2083 Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
2085 * html/HTMLElement.cpp:
2086 (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
2087 the DocumentFragment from the html string.
2089 2008-06-21 Adam Barth <abarth@webkit.org>
2091 Reviewed by Sam Weinig.
2093 Log error messages to the console when we deny a request for a URL.
2094 These error messages do not appear in LayoutTests, but they do
2095 appear in the WebInspector.
2097 * dom/XMLTokenizer.cpp:
2098 (WebCore::shouldAllowExternalLoad):
2099 * loader/DocLoader.cpp:
2100 (WebCore::DocLoader::requestResource):
2101 (WebCore::DocLoader::printAccessDeniedMessage):
2102 * loader/DocLoader.h:
2103 * xml/XSLTProcessor.cpp:
2104 (WebCore::docLoaderFunc):
2106 2008-06-21 Adam Barth <abarth@webkit.org>
2108 Reviewed by Sam Weinig.
2110 Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
2111 XSL style sheets allowed across origins
2113 Block cross-orgin loads of XSL style sheets, matching Internet
2114 Explorer, Firefox, and Opera. Also, we now block loading of XBL
2115 across origins, matching Firefox. The XBL behavior does not appear
2116 testable because XBL seems to not be enabled.
2118 Test: http/tests/security/cross-origin-xsl-BLOCKED.html
2120 * loader/DocLoader.cpp:
2121 (WebCore::DocLoader::requestResource):
2123 2008-06-21 Marvin Decker <marv.decker@gmail.com>
2125 Reviewed by Dave Hyatt.
2127 - fix https://bugs.webkit.org/show_bug.cgi?id=19542
2128 <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
2130 Adds a NULL check for getting the small caps page of glyph data. The
2131 page() function can explicitly return null in some cases, and every
2132 other usage in this function does the check.
2134 * platform/graphics/Font.cpp:
2135 (WebCore::Font::glyphDataForCharacter):
2137 2008-06-21 Alex Taylor <darwin@milliamp.org>
2139 Reviewed by Dan Bernstein.
2141 Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
2143 Adds support for border-radius on legend elements.
2144 Fieldsets with a legend and rounded borders now have a clipping region set
2147 Test: fast/borders/fieldsetBorderRadius.html
2149 * rendering/RenderFieldset.cpp:
2150 (WebCore::RenderFieldset::paintBoxDecorations):
2151 (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
2153 2008-06-21 Kevin Ollivier <kevino@theolliviers.com>
2155 wx build fix. Adding CSSVariable* API sources to the Bakefiles.
2157 * WebCoreSources.bkl:
2159 2008-06-20 Sam Weinig <sam@webkit.org>
2163 * bindings/scripts/CodeGeneratorCOM.pm:
2165 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
2167 Gtk build fix: Add files missing in the previous fix (r34705)
2171 2008-06-20 Dan Bernstein <mitz@apple.com>
2173 Reviewed by Sam Weinig.
2175 - fix leak of mask images
2177 * rendering/RenderObject.cpp:
2178 (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
2181 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
2183 Gtk build fix for r34702, r34700 and r34693
2184 Qt build fix for r34700 and r34693
2188 * platform/gtk/RenderThemeGtk.cpp:
2189 * platform/gtk/RenderThemeGtk.h:
2190 * platform/qt/RenderThemeQt.cpp:
2191 * platform/qt/RenderThemeQt.h:
2193 2008-06-20 Sam Weinig <sam@webkit.org>
2195 Reviewed by Adele Peterson.
2197 Add 'files' property to the HTMLInputElement, which returns a FileList object
2198 (when type=file, null otherwise) containing a list of all the files selected.
2199 It currently always contains only 0 or 1 files as multifile input is not supported
2200 yet. The list contains File objects which contains the name and size of the file.
2201 The inspiration for these interfaces is from:
2202 - http://developer.mozilla.org/en/docs/nsIDOMFileList
2203 - http://developer.mozilla.org/en/docs/nsIDOMFile
2205 Also fixes <rdar://problem/6022802>
2207 * DerivedSources.make:
2210 * WebCore.vcproj/WebCore.vcproj:
2211 * WebCore.xcodeproj/project.pbxproj:
2212 * WebCoreSources.bkl:
2213 * bindings/objc/DOMInternal.h:
2214 * bindings/scripts/CodeGenerator.pm:
2215 * bindings/scripts/IDLStructure.pm:
2216 * html/File.cpp: Added.
2217 (WebCore::File::File):
2218 (WebCore::File::fileSize):
2219 * html/File.h: Added.
2220 (WebCore::File::create):
2221 (WebCore::File::fileName):
2222 (WebCore::File::path):
2223 * html/File.idl: Added.
2224 * html/FileList.cpp: Added.
2225 (WebCore::FileList::FileList):
2226 (WebCore::FileList::item):
2227 * html/FileList.h: Added.
2228 (WebCore::FileList::create):
2229 (WebCore::FileList::length):
2230 (WebCore::FileList::isEmpty):
2231 (WebCore::FileList::clear):
2232 (WebCore::FileList::append):
2233 * html/FileList.idl: Added.
2234 * html/HTMLInputElement.cpp:
2235 (WebCore::HTMLInputElement::setInputType):
2236 (WebCore::HTMLInputElement::appendFormData):
2237 (WebCore::HTMLInputElement::value):
2238 (WebCore::HTMLInputElement::setValue):
2239 (WebCore::HTMLInputElement::setValueFromRenderer):
2240 (WebCore::HTMLInputElement::files):
2241 * html/HTMLInputElement.h:
2242 * html/HTMLInputElement.idl:
2243 * page/DOMWindow.idl:
2245 2008-06-20 David Hyatt <hyatt@apple.com>
2247 Make sure CSS variables work inside the inline style attribute.
2251 Added fast/css/variables/inline-style-test.html
2253 * css/CSSMutableStyleDeclaration.cpp:
2254 (WebCore::CSSMutableStyleDeclaration::removeProperty):
2255 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
2257 2008-06-20 David Hyatt <hyatt@apple.com>
2259 Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs. These allow querying of
2260 variables names and values, as well as iteration, setting and removal.
2264 Added multiple new tests to fast/css/variables/
2266 * DerivedSources.make:
2267 * WebCore.xcodeproj/project.pbxproj:
2268 * bindings/js/JSCSSRuleCustom.cpp:
2270 * bindings/objc/DOMInternal.h:
2271 * bindings/scripts/CodeGeneratorJS.pm:
2272 * css/CSSPrimitiveValue.cpp:
2273 (WebCore::CSSPrimitiveValue::parserValue):
2274 * css/CSSVariablesDeclaration.cpp:
2275 (WebCore::CSSVariablesDeclaration::removeVariable):
2276 (WebCore::CSSVariablesDeclaration::setVariable):
2277 (WebCore::CSSVariablesDeclaration::setCssText):
2278 (WebCore::CSSVariablesDeclaration::setChanged):
2279 * css/CSSVariablesDeclaration.h:
2280 * css/CSSVariablesDeclaration.idl: Added.
2281 * css/CSSVariablesRule.h:
2282 * css/CSSVariablesRule.idl: Added.
2284 2008-06-20 Kevin McCullough <kmccullough@apple.com>
2286 Rubber stamped by Adele.
2288 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
2290 2008-06-20 Kevin McCullough <kmccullough@apple.com>
2294 <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
2295 if profiling is started and finished within the same function. (19230)
2296 - Now we profile one more stack frame up from the last frame to allocate
2297 the time spent in it, if it exists.
2300 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
2301 (WebCore::Console::profile): When stating the profiler give a client for
2302 the callback of when the profile actually finishes.
2303 (WebCore::Console::profileEnd): No longer needs to handle the return of
2304 the profile object since it will be retruned in the client's callback.
2305 (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
2307 * page/Console.h: Inherit from the ProfileClient.
2308 * page/InspectorController.cpp:
2309 (WebCore::InspectorController::startUserInitiatedProfiling): Use the
2311 (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
2312 need to handle the profile being returned as it is now handled by the
2314 (WebCore::InspectorController::finishedProfiling): Implement the
2315 ProfileClient callback method.
2316 * page/InspectorController.h: Inherit from the ProfileClient.
2318 2008-06-20 Timothy Hatcher <timothy@apple.com>
2320 Makes the JavaScript syntax highlighter process lines in chunks
2321 so the user interface isn't blocked for large script files.
2323 https://bugs.webkit.org/show_bug.cgi?id=19677
2325 Reviewed by Adam Roben.
2327 * page/inspector/SourceFrame.js:
2328 (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
2329 property on the row instead of getElementsByTagName.
2330 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
2331 cells property on the row instead of getElementsByTagName. Added
2332 a nested processChunk function that highlights 10 lines at a time
2333 This processChunk function is called at an interval of 25ms. The
2334 code is still highlighted quickly, and the user can't tell it wasn't
2335 highlighted all at once.
2337 2008-06-20 Timothy Hatcher <timothy@apple.com>
2339 Fixes a bug where the source view in the Resources panel had a
2340 couple of extra pixels at the bottom when fully scrolled.
2342 Reviewed by Adam Roben.
2344 * page/inspector/SourceFrame.js:
2345 (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
2346 Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
2347 when sizing to fit is being disabled.
2348 * page/inspector/inspector.css:
2349 (.resource-view.headers-visible .source-view-frame): Added the
2350 vertical-align: top property to prevent line alignment from adding extra
2351 pixels on the bottom.
2353 2008-06-20 Timothy Hatcher <timothy@apple.com>
2355 Changed all lineHeight, baselinePosition and verticalPositionHint
2356 calls to return int instead of short. The short was overflowing
2357 when a value greater than 32,767 was encountered.
2359 Fixes: iframes with a height of 32,768px or greater do not layout correctly
2360 https://bugs.webkit.org/show_bug.cgi?id=19679
2362 Reviewed by Dave Hyatt.
2364 Test: fast/css/line-height-overflow.html
2366 * rendering/RenderBR.cpp:
2367 (WebCore::RenderBR::baselinePosition):
2368 * rendering/RenderBR.h:
2369 * rendering/RenderBlock.cpp:
2370 (WebCore::RenderBlock::lineHeight):
2371 * rendering/RenderBlock.h:
2372 * rendering/RenderFlow.cpp:
2373 * rendering/RenderFlow.h:
2374 * rendering/RenderListBox.cpp:
2375 * rendering/RenderListBox.h:
2376 * rendering/RenderListMarker.cpp:
2377 (WebCore::RenderListMarker::lineHeight):
2378 * rendering/RenderListMarker.h:
2379 * rendering/RenderObject.cpp:
2380 (WebCore::RenderObject::verticalPositionHint):
2381 * rendering/RenderObject.h:
2383 * rendering/RenderPath.cpp:
2384 (WebCore::RenderPath::lineHeight):
2385 * rendering/RenderPath.h:
2386 * rendering/RenderReplaced.cpp:
2387 (WebCore::RenderReplaced::lineHeight):
2388 * rendering/RenderReplaced.h:
2389 * rendering/RenderSVGContainer.cpp:
2390 (WebCore::RenderSVGContainer::lineHeight):
2391 * rendering/RenderSVGContainer.h:
2392 * rendering/RenderSVGHiddenContainer.cpp:
2393 (WebCore::RenderSVGHiddenContainer::lineHeight):
2394 * rendering/RenderSVGHiddenContainer.h:
2395 * rendering/RenderSVGRoot.cpp:
2396 (WebCore::RenderSVGRoot::lineHeight):
2397 * rendering/RenderSVGRoot.h:
2398 * rendering/RenderSlider.cpp:
2399 * rendering/RenderSlider.h:
2400 * rendering/RenderTableCell.cpp:
2401 * rendering/RenderTableCell.h:
2402 * rendering/RenderTableCol.h:
2403 * rendering/RenderTableRow.h:
2404 * rendering/RenderTableSection.h:
2405 * rendering/RenderText.cpp:
2406 * rendering/RenderText.h:
2407 * rendering/RenderTextControl.cpp:
2408 * rendering/RenderTextControl.h:
2409 * rendering/RenderTheme.cpp:
2410 * rendering/RenderTheme.h:
2411 * rendering/RenderThemeMac.h:
2412 * rendering/RenderThemeMac.mm:
2413 * rendering/RenderThemeSafari.cpp:
2414 * rendering/RenderThemeSafari.h:
2416 2008-06-20 Dan Bernstein <mitz@apple.com>
2418 Reviewed by Darin Adler.
2420 - fix https://bugs.webkit.org/show_bug.cgi?id=19519
2421 <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
2423 Test: fast/table/prepend-in-anonymous-table.html
2425 * rendering/RenderBlock.cpp:
2426 (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
2427 of inserting before a child that has been wrapped by an anonymous table,
2428 in which case if the new child is the type that needs to be in a table,
2429 it is inserted into the table, and otherwise it is inserted before the
2431 * rendering/RenderTable.cpp:
2432 (WebCore::RenderTable::addChild): Added table-column-group alongside
2433 table-caption as content that can exist inside an anonymous table
2434 without being wrapped in a table section.
2436 2008-06-20 David Hyatt <hyatt@apple.com>
2438 Allow CSS variables to support arbitrary expressions as values instead of just a single term.
2442 Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html
2445 * css/CSSParser.cpp:
2446 (WebCore::CSSParser::addVariable):
2448 * css/CSSStyleSelector.cpp:
2449 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2450 * css/CSSVariablesDeclaration.cpp:
2451 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2452 (WebCore::CSSVariablesDeclaration::getVariableValue):
2453 (WebCore::CSSVariablesDeclaration::addParsedVariable):
2454 (WebCore::CSSVariablesDeclaration::getParsedVariable):
2455 * css/CSSVariablesDeclaration.h:
2456 (WebCore::CSSVariablesDeclaration::create):
2458 2008-06-19 Dan Bernstein <mitz@apple.com>
2460 Reviewed by John Sullivan.
2462 - fix a bug where anonymous tables were inserted in the wrong place
2464 Tests: tables/mozilla/bugs/bug2479-2.html
2465 tables/mozilla/bugs/bug278266.html
2466 tables/mozilla/bugs/bug8411.xml
2468 * rendering/RenderContainer.cpp:
2469 (WebCore::RenderContainer::addChild): Changed to create an anonymous
2470 table and insert it before beforeChild unless the insertion point is
2471 right after an existing anonymous table, in which case the existing
2474 2008-06-19 Justin Garcia <justin.garcia@apple.com>
2478 <https://bugs.webkit.org/show_bug.cgi?id=16049>
2479 execCommand('backColor') fails on collapsed selections
2481 * editing/EditorCommand.cpp:
2482 (WebCore::CommandEntry::): Enable BackColor for caret selections, and
2483 disable ForeColor in plaintext-only regions.
2485 2008-06-19 Justin Garcia <justin.garcia@apple.com>
2489 <https://bugs.webkit.org/show_bug.cgi?id=19653>
2490 Typing style lost when creating list from, indenting or outdenting an empty paragraph
2492 There were two problems. First, moveParagraphs didn't preserve the style of empty paragraphs.
2493 Second, indent, outdent and list creation returned false from preservesTypingStyle.
2494 The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
2495 to those commands, though, because of other bugs.
2497 Cleaned up the implementation of typing style enough to remove FIXMEs for:
2499 <rdar://problem/3769899> Implementation of typing style needs improvement
2501 which has actually been closed for some time now anyway.
2503 * dom/Document.cpp: Removed an unused header.
2504 * editing/CompositeEditCommand.cpp:
2505 (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
2506 * editing/DeleteSelectionCommand.cpp:
2507 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
2508 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
2510 If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
2511 placeholder, not only one that was inserted by deletion. This fixes a bug where deleting
2512 <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't
2514 Don't set the EditCommand's typingStyle, it has been removed (more on that later).
2515 (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
2516 the inserted placeholder because it will find it.
2517 (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the
2518 typing style that was present before it. For example, type a character, Bold, then delete the
2519 character and start typing. The Bold typing style shouldn't stick around. We got this right before
2520 purely by chance. Deletion should preserve a typing style that *it* sets, however.
2521 * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
2522 the inserted placeholder.
2523 * editing/EditCommand.cpp:
2524 (WebCore::EditCommand::apply):
2525 Clearing or not clearing a removed anchor should not be determined by whether or not a command
2526 preservesTypingStyle(). For example, the deletion that removed an anchor (and stored it), may
2527 not preserve the typing style, but that doesn't mean that it should then go and clear the removed
2528 anchor. All high level commands, and all commands that a TypingCommand spawns, except for
2529 text insertions, which should restore a removed anchor, should clear it.
2530 There is no longer a typing style on EditCommand, removed code that cleared it. Code that clears the
2531 *actual* typing style is now in Editor::appliedEditing, just like before.
2532 There is no longer a typing style on EditCommand, removed code to set one.
2533 (WebCore::EditCommand::styleAtPosition): Removed FIXME.
2534 * editing/EditCommand.h:
2535 Removed code assosiated with m_typingStyle.
2536 Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
2537 * editing/Editor.cpp:
2538 (WebCore::Editor::appliedEditing):
2539 Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
2540 request to clear the typing style with that call. Also removed the FIXME about this.
2541 Before, a command would set the Frame's typing style by setting its own typingStyle, and then
2542 letting code here, in appliedEditing pick that up and set it on the Frame. Now, the command
2543 itself sets the Frame's typing style. Deletion is the only command that does this right now.
2544 * editing/IndentOutdentCommand.h:
2545 (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
2546 * editing/InsertLineBreakCommand.cpp:
2547 (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
2548 * editing/InsertListCommand.h:
2549 (WebCore::InsertListCommand::preservesTypingStyle): Added.
2550 * editing/InsertParagraphSeparatorCommand.cpp:
2551 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
2552 * editing/InsertTextCommand.cpp:
2553 (WebCore::InsertTextCommand::input): Removed FIXME.
2554 * editing/ReplaceSelectionCommand.cpp:
2555 (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
2556 the typing style here. It seems like it's something that could wait until after the command
2557 has been performed, since there is no code between this point and the end of the operation
2558 that queries or uses the typing style.
2560 2008-06-19 Dan Bernstein <mitz@apple.com>
2562 Reviewed by Alexey Proskuryakov.
2564 - fix crash in CSSStyleDeclaration::copyPropertiesInSet()
2566 Covered by many editing tests
2568 * css/CSSStyleDeclaration.cpp:
2569 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
2572 2008-06-19 David Hyatt <hyatt@apple.com>
2574 Fix out of bounds bug in CSSVariablesDeclaration's item() method.
2576 Reviewed by Sam, Darin
2578 * css/CSSVariablesDeclaration.cpp:
2579 (WebCore::CSSVariablesDeclaration::item):
2580 * css/CSSVariablesDeclaration.h:
2582 2008-06-19 John Sullivan <sullivan@apple.com>
2586 Tweak to previous checkin
2588 * page/FrameView.cpp:
2589 (WebCore::FrameView::performPostLayoutTasks):
2590 clear m_firstLayoutCallbackPending before performing callback, to avoid recursion
2592 2008-06-19 John Sullivan <sullivan@apple.com>
2596 - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
2598 The didFirstLayout callback was called in a place where trouble would ensue if the client
2599 did any work that would cause the layout to be dirtied. Fixed by delaying the callback
2600 until performPostLayoutTasks.
2602 * page/FrameView.cpp:
2603 new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
2604 (WebCore::FrameViewPrivate::reset):
2605 set m_firstLayoutCallbackPending to false
2606 (WebCore::FrameView::layout):
2607 set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
2608 (WebCore::FrameView::performPostLayoutTasks):
2609 if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending
2611 2008-06-19 David Hyatt <hyatt@apple.com>
2613 Implement some cleanup of CSS variables based off Darin's review comments.
2617 * css/CSSParser.cpp:
2618 (WebCore::CSSParser::parseVariable):
2619 (WebCore::CSSParser::checkForVariables):
2620 (WebCore::CSSParser::addUnresolvedProperty):
2621 * css/CSSStyleSelector.cpp:
2622 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2623 * css/CSSVariableDependentValue.h:
2624 * css/CSSVariablesRule.cpp:
2625 (WebCore::CSSVariablesRule::CSSVariablesRule):
2627 2008-06-19 John Sullivan <sullivan@apple.com>
2629 Rubber-stamped by Dan
2631 Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
2632 for adding a new one in a future patch)
2634 * page/FrameView.cpp:
2635 (WebCore::FrameViewPrivate::FrameViewPrivate):
2636 (WebCore::FrameViewPrivate::reset):
2637 (WebCore::FrameView::~FrameView):
2638 (WebCore::FrameView::resetScrollbars):
2639 (WebCore::FrameView::didFirstLayout):
2640 (WebCore::FrameView::initScrollbars):
2641 (WebCore::FrameView::layoutCount):
2642 (WebCore::FrameView::needsFullRepaint):
2643 (WebCore::FrameView::layoutRoot):
2644 (WebCore::FrameView::layout):
2645 (WebCore::FrameView::scrollTo):
2646 (WebCore::FrameView::useSlowRepaints):
2647 (WebCore::FrameView::setUseSlowRepaints):
2648 (WebCore::FrameView::removeSlowRepaintObject):
2649 (WebCore::FrameView::setScrollbarsMode):
2650 (WebCore::FrameView::setVScrollbarMode):
2651 (WebCore::FrameView::setHScrollbarMode):
2652 (WebCore::FrameView::scheduleRelayout):
2653 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2654 (WebCore::FrameView::layoutPending):
2655 (WebCore::FrameView::needsLayout):
2656 (WebCore::FrameView::unscheduleRelayout):
2657 (WebCore::FrameView::isTransparent):
2658 (WebCore::FrameView::setTransparent):
2659 (WebCore::FrameView::baseBackgroundColor):
2660 (WebCore::FrameView::setBaseBackgroundColor):
2661 (WebCore::FrameView::performPostLayoutTasks):
2662 (WebCore::FrameView::updateOverflowStatus):
2664 2008-06-19 David Hyatt <hyatt@apple.com>
2666 Add initial support for CSS variables. Non-dynamic cases should (hopefully) all work. Things will get
2667 confused if you use the CSS OM to remove variables/inject variables, etc. In addition no DOM APIs are
2668 exposed yet for the new variable interfaces.
2672 Added many tests to fast/css/variables/
2674 * WebCore.xcodeproj/project.pbxproj:
2675 * css/CSSFunctionValue.cpp: Added.
2676 (WebCore::CSSFunctionValue::CSSFunctionValue):
2677 (WebCore::CSSFunctionValue::~CSSFunctionValue):
2678 (WebCore::CSSFunctionValue::cssText):
2679 (WebCore::CSSFunctionValue::parserValue):
2680 * css/CSSFunctionValue.h: Added.
2681 (WebCore::CSSFunctionValue::create):
2683 * css/CSSMutableStyleDeclaration.cpp:
2684 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2685 (WebCore::CSSMutableStyleDeclaration::copy):
2686 * css/CSSMutableStyleDeclaration.h:
2687 (WebCore::CSSMutableStyleDeclaration::create):
2688 (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
2689 * css/CSSParser.cpp:
2691 (WebCore::equalIgnoringCase):
2692 (WebCore::CSSParser::~CSSParser):
2693 (WebCore::CSSParserString::lower):
2694 (WebCore::CSSParser::document):
2695 (WebCore::CSSParser::validUnit):
2696 (WebCore::unitFromString):
2697 (WebCore::CSSParser::checkForOrphanedUnits):
2698 (WebCore::CSSParser::parseValue):
2699 (WebCore::CSSParser::parseFillShorthand):
2700 (WebCore::CSSParser::parseTransitionShorthand):
2701 (WebCore::CSSParser::parseContent):
2702 (WebCore::CSSParser::parseFillImage):
2703 (WebCore::CSSParser::parseFillPosition):
2704 (WebCore::CSSParser::parseFillSize):
2705 (WebCore::CSSParser::parseFillProperty):
2706 (WebCore::CSSParser::parseTransitionDuration):
2707 (WebCore::CSSParser::parseTransitionRepeatCount):
2708 (WebCore::CSSParser::parseTimingFunctionValue):
2709 (WebCore::CSSParser::parseTransitionTimingFunction):
2710 (WebCore::CSSParser::parseTransitionProperty):
2711 (WebCore::skipCommaInDashboardRegion):
2712 (WebCore::CSSParser::parseDashboardRegions):
2713 (WebCore::CSSParser::parseCounterContent):
2714 (WebCore::CSSParser::parseShape):
2715 (WebCore::CSSParser::parseFont):
2716 (WebCore::CSSParser::parseFontFamily):
2717 (WebCore::CSSParser::parseFontFaceSrc):
2718 (WebCore::CSSParser::parseFontFaceUnicodeRange):
2719 (WebCore::CSSParser::parseColorParameters):
2720 (WebCore::CSSParser::parseHSLParameters):
2721 (WebCore::CSSParser::parseColor):
2722 (WebCore::CSSParser::parseColorFromValue):
2723 (WebCore::ShadowParseContext::commitLength):
2724 (WebCore::CSSParser::parseShadow):
2725 (WebCore::CSSParser::parseReflect):
2726 (WebCore::BorderImageParseContext::commitNumber):
2727 (WebCore::BorderImageParseContext::commitWidth):
2728 (WebCore::BorderImageParseContext::commitBorderImage):
2729 (WebCore::CSSParser::parseBorderImage):
2730 (WebCore::CSSParser::parseCounter):
2731 (WebCore::parseGradientPoint):
2732 (WebCore::parseGradientColorStop):
2733 (WebCore::CSSParser::parseGradient):
2734 (WebCore::CSSParser::parseCanvas):
2735 (WebCore::TransformOperationInfo::TransformOperationInfo):
2736 (WebCore::CSSParser::parseTransform):
2737 (WebCore::CSSParser::lex):
2738 (WebCore::CSSParser::text):
2739 (WebCore::CSSParser::createFloatingValueList):
2740 (WebCore::CSSParser::sinkFloatingValueList):
2741 (WebCore::CSSParser::createFloatingFunction):
2742 (WebCore::CSSParser::sinkFloatingFunction):
2743 (WebCore::CSSParser::sinkFloatingValue):
2744 (WebCore::CSSParser::createFloatingMediaQueryExp):
2745 (WebCore::CSSParser::createCharsetRule):
2746 (WebCore::CSSParser::createImportRule):
2747 (WebCore::CSSParser::createVariablesRule):
2748 (WebCore::CSSParser::addVariable):
2749 (WebCore::CSSParser::clearVariables):
2750 (WebCore::CSSParser::parseVariable):
2751 (WebCore::CSSParser::parsePropertyWithResolvedVariables):
2752 (WebCore::CSSParser::checkForVariables):
2753 (WebCore::CSSParser::addUnresolvedProperty):
2754 (WebCore::cssPropertyID):
2755 (WebCore::cssValueKeywordID):
2757 * css/CSSParserValues.cpp: Added.
2758 (WebCore::CSSParserValueList::~CSSParserValueList):
2759 (WebCore::CSSParserValueList::addValue):
2760 (WebCore::CSSParserValueList::deleteValueAt):
2761 (WebCore::CSSParserValue::createCSSValue):
2762 * css/CSSParserValues.h: Added.
2763 (WebCore::CSSParserString::operator String):
2764 (WebCore::CSSParserString::operator AtomicString):
2765 (WebCore::CSSParserValue::):
2766 (WebCore::CSSParserValueList::CSSParserValueList):
2767 (WebCore::CSSParserValueList::size):
2768 (WebCore::CSSParserValueList::current):
2769 (WebCore::CSSParserValueList::next):
2770 (WebCore::CSSParserValueList::valueAt):
2771 (WebCore::CSSParserValueList::clear):
2772 (WebCore::CSSParserValueList::containsVariables):
2773 (WebCore::CSSParserFunction::~CSSParserFunction):
2774 * css/CSSPrimitiveValue.cpp:
2775 (WebCore::CSSPrimitiveValue::getStringValue):
2776 (WebCore::CSSPrimitiveValue::cssText):
2777 (WebCore::CSSPrimitiveValue::parserValue):
2778 * css/CSSPrimitiveValue.h:
2779 (WebCore::CSSPrimitiveValue::):
2780 (WebCore::CSSPrimitiveValue::setPrimitiveType):
2782 (WebCore::CSSRule::):
2784 * css/CSSStyleDeclaration.cpp:
2785 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2786 * css/CSSStyleSelector.cpp:
2787 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2788 (WebCore::CSSStyleSelector::addVariables):
2789 (WebCore::CSSStyleSelector::resolveVariableDependentValue):
2790 (WebCore::CSSRuleSet::addRulesFromSheet):
2791 (WebCore::CSSStyleSelector::applyDeclarations):
2792 * css/CSSStyleSelector.h:
2794 (WebCore::CSSValue::isVariableDependentValue):
2795 (WebCore::CSSValue::parserValue):
2796 * css/CSSValueList.cpp:
2797 (WebCore::CSSValueList::CSSValueList):
2798 (WebCore::CSSValueList::createParserValueList):
2799 * css/CSSValueList.h:
2800 (WebCore::CSSValueList::createFromParserValueList):
2801 * css/CSSVariableDependentValue.cpp: Added.
2802 (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
2803 (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
2804 (WebCore::CSSVariableDependentValue::cssText):
2805 * css/CSSVariableDependentValue.h: Added.
2806 (WebCore::CSSVariableDependentValue::create):
2807 (WebCore::CSSVariableDependentValue::isVariableDependentValue):
2808 (WebCore::CSSVariableDependentValue::valueList):
2809 * css/CSSVariablesDeclaration.cpp: Added.
2810 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2811 (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
2812 (WebCore::CSSVariablesDeclaration::getVariableValue):
2813 (WebCore::CSSVariablesDeclaration::removeVariable):
2814 (WebCore::CSSVariablesDeclaration::setVariable):
2815 (WebCore::CSSVariablesDeclaration::addParsedVariable):
2816 (WebCore::CSSVariablesDeclaration::getParsedVariable):
2817 (WebCore::CSSVariablesDeclaration::length):
2818 (WebCore::CSSVariablesDeclaration::item):
2819 (WebCore::CSSVariablesDeclaration::parentRule):
2820 (WebCore::CSSVariablesDeclaration::cssText):
2821 * css/CSSVariablesDeclaration.h: Added.
2822 (WebCore::CSSVariablesDeclaration::create):
2823 * css/CSSVariablesRule.cpp: Added.
2824 (WebCore::CSSVariablesRule::CSSVariablesRule):
2825 (WebCore::CSSVariablesRule::~CSSVariablesRule):
2826 (WebCore::CSSVariablesRule::cssText):
2827 * css/CSSVariablesRule.h: Added.
2828 (WebCore::CSSVariablesRule::media):
2829 (WebCore::CSSVariablesRule::variables):
2830 (WebCore::CSSVariablesRule::type):
2831 (WebCore::CSSVariablesRule::isVariablesRule):
2832 (WebCore::CSSVariablesRule::setDeclaration):
2833 * css/MediaQueryExp.cpp:
2834 (WebCore::MediaQueryExp::MediaQueryExp):
2835 * css/MediaQueryExp.h:
2836 * css/SVGCSSParser.cpp:
2837 (WebCore::CSSParser::parseSVGValue):
2838 (WebCore::CSSParser::parseSVGStrokeDasharray):
2840 (WebCore::StyleBase::isVariablesRule):
2841 * css/tokenizer.flex:
2843 2008-06-19 Julien Chaffraix <jchaffraix@webkit.org>
2847 Bug 19529 : Empty clients need to be refactored
2848 https://bugs.webkit.org/show_bug.cgi?id=19529
2850 - SVGImageEmptyClients' refactoring in order to be able to use them for other
2853 - Trimmed empty spaces that were pointed out by git.
2855 * WebCore.xcodeproj/project.pbxproj:
2856 * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.
2858 (WebCore::EmptyChromeClient::~EmptyChromeClient):
2859 (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
2860 (WebCore::EmptyEditorClient::~EmptyEditorClient):
2861 (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
2862 (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
2863 (WebCore::EmptyDragClient::~EmptyDragClient):
2864 (WebCore::EmptyDragClient::createDragImageForLink):
2865 (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
2866 Renamed SVGImageEmpty*Client classes to Empty*Client.
2868 * svg/graphics/SVGImage.cpp:
2869 (WebCore::SVGImage::dataChanged):
2870 * svg/graphics/SVGImageEmptyClients.h: Removed.
2872 2008-06-19 Dan Bernstein <mitz@apple.com>
2874 Reviewed by Darin Adler.
2876 - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()
2878 Test: fast/css/font-face-multiple-families.html
2880 Made changes to reflect the fact that the relationship between
2881 CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.
2883 * css/CSSFontFace.cpp:
2884 (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
2885 (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
2886 (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
2887 faces that include this font face.
2888 (WebCore::CSSFontFace::getFontData): Updated to get the font selector
2889 from one of the segmented font faces.
2890 * css/CSSFontFace.h:
2891 (WebCore::CSSFontFace::CSSFontFace):
2892 * css/CSSFontSelector.cpp:
2893 (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
2894 the crash, namely releasing the font face when adding it to the first
2895 family that uses it, making it impossible to add it to the second and
2897 * css/CSSSegmentedFontFace.cpp:
2898 (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
2899 call CSSFontFace::removedFromSegmentedFontFace().
2900 (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
2901 CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().
2903 2008-06-19 Alexey Proskuryakov <ap@webkit.org>
2907 * bridge/qt/qt_runtime.h: Include completion.h.
2909 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
2913 Prepare JavaScript heap for being per-thread.
2915 * ForwardingHeaders/kjs/JSGlobalData.h: Added.
2916 * bindings/js/GCController.cpp:
2918 (WebCore::GCController::gcTimerFired):
2919 (WebCore::GCController::garbageCollectNow):
2920 * bindings/js/JSAudioConstructor.cpp:
2921 (WebCore::JSAudioConstructor::JSAudioConstructor):
2922 * bindings/js/JSCSSRuleCustom.cpp:
2924 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2925 (WebCore::JSCSSStyleDeclaration::nameGetter):
2926 * bindings/js/JSCSSValueCustom.cpp:
2928 * bindings/js/JSCanvasPixelArrayCustom.cpp:
2929 (WebCore::JSCanvasPixelArray::indexGetter):
2931 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2933 * bindings/js/JSClipboardCustom.cpp:
2934 (WebCore::JSClipboard::types):
2935 (WebCore::JSClipboard::getData):
2936 * bindings/js/JSCustomXPathNSResolver.cpp:
2937 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2938 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2939 (WebCore::JSDOMApplicationCache::addEventListener):
2940 (WebCore::JSDOMApplicationCache::removeEventListener):
2941 (WebCore::JSDOMApplicationCache::setOnchecking):
2942 (WebCore::JSDOMApplicationCache::setOnerror):
2943 (WebCore::JSDOMApplicationCache::setOnnoupdate):
2944 (WebCore::JSDOMApplicationCache::setOndownloading):
2945 (WebCore::JSDOMApplicationCache::setOnprogress):
2946 (WebCore::JSDOMApplicationCache::setOnupdateready):
2947 (WebCore::JSDOMApplicationCache::setOncached):
2948 * bindings/js/JSDOMBinding.cpp:
2949 (WebCore::jsStringOrNull):
2950 (WebCore::jsOwnedStringOrNull):
2951 (WebCore::jsStringOrUndefined):
2952 (WebCore::jsStringOrFalse):
2953 (WebCore::nonCachingStaticFunctionGetter):
2954 (WebCore::objectToStringFunctionGetter):
2955 * bindings/js/JSDOMBinding.h:
2956 (WebCore::DOMObject::DOMObject):
2957 (WebCore::cacheDOMObject):
2958 (WebCore::cacheSVGDOMObject):
2959 * bindings/js/JSDOMWindowBase.cpp:
2960 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2961 (WebCore::JSDOMWindowBase::getValueProperty):
2962 (WebCore::JSDOMWindowBase::setListener):
2963 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
2964 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
2965 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
2966 (WebCore::windowProtoFuncAToB):
2967 (WebCore::windowProtoFuncBToA):
2968 (WebCore::windowProtoFuncSetTimeout):
2969 (WebCore::windowProtoFuncSetInterval):
2970 (WebCore::windowProtoFuncAddEventListener):
2971 * bindings/js/JSDOMWindowBase.h:
2972 * bindings/js/JSDOMWindowShell.cpp:
2973 (WebCore::JSDOMWindowShell::operator new):
2974 * bindings/js/JSDOMWindowShell.h:
2975 * bindings/js/JSDocumentCustom.cpp:
2977 * bindings/js/JSElementCustom.cpp:
2978 (WebCore::toJSNewlyCreated):
2979 * bindings/js/JSEventCustom.cpp:
2981 * bindings/js/JSEventListener.cpp:
2982 (WebCore::JSLazyEventListener::eventParameterName):
2983 (WebCore::JSLazyEventListener::parseCode):
2984 * bindings/js/JSEventTargetBase.cpp:
2985 (WebCore::jsEventTargetAddEventListener):
2986 * bindings/js/JSEventTargetBase.h:
2987 (WebCore::JSEventTargetPrototype::self):
2988 * bindings/js/JSEventTargetNode.cpp:
2989 (WebCore::JSEventTargetNode::setListener):
2990 * bindings/js/JSHTMLCollectionCustom.cpp:
2991 (WebCore::getNamedItems):
2993 * bindings/js/JSHTMLFormElementCustom.cpp:
2994 (WebCore::JSHTMLFormElement::nameGetter):
2995 * bindings/js/JSHTMLInputElementBase.cpp:
2996 (WebCore::JSHTMLInputElementBase::getValueProperty):
2997 * bindings/js/JSHTMLOptionElementConstructor.cpp:
2998 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2999 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3000 (WebCore::JSHTMLOptionsCollection::length):
3001 * bindings/js/JSInspectedObjectWrapper.cpp:
3002 (WebCore::JSInspectedObjectWrapper::wrap):
3003 * bindings/js/JSInspectorCallbackWrapper.cpp:
3004 (WebCore::JSInspectorCallbackWrapper::wrap):
3005 * bindings/js/JSLocationCustom.cpp:
3006 (WebCore::JSLocation::toString):
3007 * bindings/js/JSNamedNodesCollection.cpp:
3008 (WebCore::JSNamedNodesCollection::lengthGetter):
3009 * bindings/js/JSNavigatorCustom.cpp:
3010 (WebCore::JSNavigator::appVersion):
3011 * bindings/js/JSNodeCustom.cpp:
3012 (WebCore::createWrapper):
3013 * bindings/js/JSNodeFilterCustom.cpp:
3014 (WebCore::JSNodeFilter::acceptNode):
3015 * bindings/js/JSPluginElementFunctions.cpp:
3016 (WebCore::getRuntimeObject):
3017 * bindings/js/JSRGBColor.cpp:
3018 (WebCore::getJSRGBColor):
3019 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3020 (WebCore::JSSQLResultSetRowList::item):
3021 * bindings/js/JSSVGLazyEventListener.cpp:
3022 (WebCore::JSSVGLazyEventListener::eventParameterName):
3023 * bindings/js/JSStorageCustom.cpp:
3024 (WebCore::JSStorage::nameGetter):
3025 * bindings/js/JSStyleSheetCustom.cpp:
3027 * bindings/js/JSTextCustom.cpp:
3028 (WebCore::toJSNewlyCreated):
3029 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3030 (WebCore::JSXMLHttpRequestConstructor::construct):
3031 * bindings/js/JSXMLHttpRequestCustom.cpp:
3032 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3033 (WebCore::JSXMLHttpRequest::setOnload):
3034 (WebCore::JSXMLHttpRequest::setOnprogress):
3035 (WebCore::JSXMLHttpRequest::getResponseHeader):
3036 (WebCore::JSXMLHttpRequest::addEventListener):
3037 (WebCore::JSXMLHttpRequest::removeEventListener):
3038 * bindings/js/JSXSLTProcessorConstructor.cpp:
3039 (WebCore::JSXSLTProcessorConstructor::construct):
3040 * bindings/js/JSXSLTProcessorCustom.cpp:
3041 (WebCore::JSXSLTProcessor::getParameter):
3042 * bindings/scripts/CodeGeneratorJS.pm:
3043 * bridge/c/c_instance.cpp:
3044 (KJS::Bindings::CInstance::defaultValue):
3045 (KJS::Bindings::CInstance::stringValue):
3046 (KJS::Bindings::CInstance::numberValue):
3047 (KJS::Bindings::CInstance::valueOf):
3048 * bridge/c/c_instance.h:
3049 * bridge/c/c_utility.cpp:
3050 (KJS::Bindings::convertNPVariantToValue):
3051 * bridge/jni/jni_instance.cpp:
3052 (JavaInstance::stringValue):
3053 (JavaInstance::numberValue):
3054 (JavaInstance::invokeMethod):
3055 (JavaInstance::defaultValue):
3056 (JavaInstance::valueOf):
3057 * bridge/jni/jni_instance.h:
3058 * bridge/jni/jni_jsobject.h:
3059 * bridge/jni/jni_jsobject.mm:
3060 (JavaJSObject::call):
3061 (JavaJSObject::setMember):
3062 (JavaJSObject::setSlot):
3063 (JavaJSObject::convertJObjectToValue):
3064 (JavaJSObject::getListFromJArray):
3065 * bridge/jni/jni_objc.mm:
3066 (KJS::Bindings::dispatchJNICall):
3067 * bridge/jni/jni_runtime.cpp:
3068 (JavaArray::convertJObjectToArray):
3069 (JavaField::dispatchValueFromInstance):
3070 (JavaField::valueFromInstance):
3071 (JavaField::dispatchSetValueToInstance):
3072 (JavaArray::valueAt):
3073 * bridge/jni/jni_utility.h:
3074 * bridge/objc/objc_class.mm:
3075 (KJS::Bindings::ObjcClass::fallbackObject):
3076 * bridge/objc/objc_instance.h:
3077 * bridge/objc/objc_instance.mm:
3078 (ObjcInstance::defaultValue):
3079 (ObjcInstance::stringValue):
3080 (ObjcInstance::numberValue):
3081 (ObjcInstance::valueOf):
3082 * bridge/objc/objc_utility.h:
3083 * bridge/objc/objc_utility.mm:
3084 (KJS::Bindings::convertNSStringToString):
3085 (KJS::Bindings::convertObjcValueToValue):
3086 * bridge/runtime.cpp:
3087 (KJS::Bindings::Instance::createRuntimeObject):
3089 (KJS::Bindings::Instance::valueOf):
3090 * bridge/runtime_array.cpp:
3091 (RuntimeArray::lengthGetter):
3092 * bridge/runtime_method.cpp:
3093 (RuntimeMethod::lengthGetter):
3094 * bridge/runtime_object.cpp:
3095 (RuntimeObjectImp::RuntimeObjectImp):
3096 (RuntimeObjectImp::methodGetter):
3097 (RuntimeObjectImp::defaultValue):
3098 * dom/make_names.pl:
3099 * xml/XMLHttpRequest.cpp:
3100 (WebCore::XMLHttpRequest::dropProtection):
3101 * bridge/qt/qt_class.cpp:
3102 (KJS::Bindings::QtClass::fallbackObject):
3103 * bridge/qt/qt_instance.cpp:
3104 (KJS::Bindings::QtRuntimeObjectImp::construct):
3105 (KJS::Bindings::QtInstance::getRuntimeObject):
3106 (KJS::Bindings::QtInstance::invokeDefaultMethod):
3107 (KJS::Bindings::QtInstance::defaultValue):
3108 (KJS::Bindings::QtInstance::stringValue):
3109 (KJS::Bindings::QtInstance::numberValue):
3110 (KJS::Bindings::QtInstance::valueOf):
3111 * bridge/qt/qt_instance.h:
3112 * bridge/qt/qt_runtime.cpp:
3113 (KJS::Bindings::convertValueToQVariant):
3114 (KJS::Bindings::convertQVariantToValue):
3115 (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
3116 (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
3117 (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
3118 (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
3119 (KJS::Bindings::QtConnectionObject::execute):
3120 Pass ExecState* where now required.
3122 2008-06-19 Timothy Hatcher <timothy@apple.com>
3124 Update the JavaScript syntax highlight colors to match Xcode.
3125 This matches the other Xcode colors we are using for HTML.
3127 Reviewed by Dan Bernstein.
3129 * page/inspector/SourceFrame.js:
3131 2008-06-19 Keishi Hattori <casey.hattori@gmail.com>
3133 Added JavaScript syntax highlighting to the Web Inspector.
3135 https://bugs.webkit.org/show_bug.cgi?id=14360
3137 Reviewed by Tim Hatcher and Adam Roben.
3139 * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
3140 * page/inspector/SourceFrame.js:
3141 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
3142 Modifies a line content element.
3143 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
3144 Syntax highlights the entire script.
3145 * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
3147 2008-06-19 Alex Mathews <possessedpenguinbob@gmail.com>
3151 Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
3152 functions and changing raw pointer fields to RefPtrs.
3154 * Configurations/WebCore.xcconfig:
3155 * WebCore.xcodeproj/project.pbxproj:
3156 * svg/SVGFEBlendElement.cpp:
3157 (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
3158 (WebCore::SVGFEBlendElement::filterEffect):
3159 * svg/SVGFEBlendElement.h:
3160 * svg/SVGFEColorMatrixElement.cpp:
3161 (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
3162 (WebCore::SVGFEColorMatrixElement::filterEffect):
3163 * svg/SVGFEColorMatrixElement.h:
3164 * svg/SVGFEComponentTransferElement.cpp:
3165 (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
3166 (WebCore::SVGFEComponentTransferElement::filterEffect):
3167 * svg/SVGFEComponentTransferElement.h:
3168 * svg/SVGFECompositeElement.cpp:
3169 (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
3170 (WebCore::SVGFECompositeElement::filterEffect):
3171 * svg/SVGFECompositeElement.h:
3172 * svg/SVGFEDiffuseLightingElement.cpp:
3173 (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
3174 (WebCore::SVGFEDiffuseLightingElement::filterEffect):
3175 * svg/SVGFEDiffuseLightingElement.h:
3176 * svg/SVGFEDisplacementMapElement.cpp:
3177 (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
3178 (WebCore::SVGFEDisplacementMapElement::filterEffect):
3179 * svg/SVGFEDisplacementMapElement.h:
3180 * svg/SVGFEFloodElement.cpp:
3181 (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
3182 (WebCore::SVGFEFloodElement::filterEffect):
3183 * svg/SVGFEFloodElement.h:
3184 * svg/SVGFEGaussianBlurElement.cpp:
3185 (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
3186 (WebCore::SVGFEGaussianBlurElement::filterEffect):
3187 * svg/SVGFEGaussianBlurElement.h:
3188 * svg/SVGFEImageElement.cpp:
3189 (WebCore::SVGFEImageElement::~SVGFEImageElement):
3190 (WebCore::SVGFEImageElement::filterEffect):
3191 * svg/SVGFEImageElement.h:
3192 * svg/SVGFEMergeElement.cpp:
3193 (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
3194 (WebCore::SVGFEMergeElement::filterEffect):
3195 * svg/SVGFEMergeElement.h:
3196 * svg/SVGFEOffsetElement.cpp:
3197 (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
3198 (WebCore::SVGFEOffsetElement::filterEffect):
3199 * svg/SVGFEOffsetElement.h:
3200 * svg/SVGFESpecularLightingElement.cpp:
3201 (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
3202 (WebCore::SVGFESpecularLightingElement::filterEffect):
3203 * svg/SVGFESpecularLightingElement.h:
3204 * svg/SVGFETileElement.cpp:
3205 (WebCore::SVGFETileElement::~SVGFETileElement):
3206 (WebCore::SVGFETileElement::filterEffect):
3207 * svg/SVGFETileElement.h:
3208 * svg/SVGFETurbulenceElement.cpp:
3209 (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
3210 (WebCore::SVGFETurbulenceElement::filterEffect):
3211 * svg/SVGFETurbulenceElement.h:
3212 * svg/graphics/SVGResourceFilter.cpp:
3213 (WebCore::SVGResourceFilter::addFilterEffect):
3214 * svg/graphics/SVGResourceFilter.h:
3215 * svg/graphics/filters/SVGFEBlend.cpp:
3216 (WebCore::SVGFEBlend::create):
3217 * svg/graphics/filters/SVGFEBlend.h:
3218 * svg/graphics/filters/SVGFEColorMatrix.cpp:
3219 (WebCore::SVGFEColorMatrix::create):
3220 * svg/graphics/filters/SVGFEColorMatrix.h:
3221 * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3222 (WebCore::SVGFEComponentTransfer::create):
3223 * svg/graphics/filters/SVGFEComponentTransfer.h:
3224 * svg/graphics/filters/SVGFEComposite.cpp:
3225 (WebCore::SVGFEComposite::create):
3226 * svg/graphics/filters/SVGFEComposite.h:
3227 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3228 (WebCore::SVGFEConvolveMatrix::create):
3229 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3230 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3231 (WebCore::SVGFEDiffuseLighting::create):
3232 (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
3233 (WebCore::SVGFEDiffuseLighting::lightSource):
3234 (WebCore::SVGFEDiffuseLighting::setLightSource):
3235 * svg/graphics/filters/SVGFEDiffuseLighting.h:
3236 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3237 (WebCore::SVGFEDisplacementMap::create):
3238 * svg/graphics/filters/SVGFEDisplacementMap.h:
3239 * svg/graphics/filters/SVGFEFlood.cpp:
3240 (WebCore::SVGFEFlood::create):
3241 * svg/graphics/filters/SVGFEFlood.h:
3242 * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3243 (WebCore::SVGFEGaussianBlur::create):
3244 * svg/graphics/filters/SVGFEGaussianBlur.h:
3245 * svg/graphics/filters/SVGFEImage.cpp:
3246 (WebCore::SVGFEImage::create):
3247 * svg/graphics/filters/SVGFEImage.h:
3248 * svg/graphics/filters/SVGFEMerge.cpp:
3249 (WebCore::SVGFEMerge::SVGFEMerge):
3250 (WebCore::SVGFEMerge::create):
3251 * svg/graphics/filters/SVGFEMerge.h:
3252 * svg/graphics/filters/SVGFEOffset.cpp:
3253 (WebCore::SVGFEOffset::create):
3254 * svg/graphics/filters/SVGFEOffset.h:
3255 * svg/graphics/filters/SVGFESpecularLighting.cpp:
3256 (WebCore::SVGFESpecularLighting::create):
3257 (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
3258 (WebCore::SVGFESpecularLighting::lightSource):
3259 (WebCore::SVGFESpecularLighting::setLightSource):
3260 * svg/graphics/filters/SVGFESpecularLighting.h:
3261 * svg/graphics/filters/SVGFETile.cpp: Added.
3262 (WebCore::SVGFETile::SVGFETile):
3263 (WebCore::SVGFETile::create):
3264 * svg/graphics/filters/SVGFETile.h:
3265 * svg/graphics/filters/SVGFETurbulence.cpp:
3266 (WebCore::SVGFETurbulence::create):
3267 * svg/graphics/filters/SVGFETurbulence.h:
3268 * svg/graphics/filters/SVGFilterEffect.h:
3269 * svg/graphics/filters/SVGLightSource.h:
3271 2008-06-18 Adele Peterson <adele@apple.com>
3273 Reviewed by Dan Bernstein.
3275 Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.
3277 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3278 Create the media document after we're done processing pdfs and images.
3280 192008-06-17 Dan Bernstein <mitz@apple.com>
3282 Reviewed by Darin Adler.
3284 - fix https://bugs.webkit.org/show_bug.cgi?id=19598
3285 Crash in WebCore::RenderBlock::determineStartPosition
3287 Test: fast/dynamic/floating-to-positioned-2.html
3289 * rendering/RenderObject.cpp:
3290 (WebCore::RenderObject::setStyle): Changed to also remove relatively
3291 positioned floats from object lists when they become positioned, because
3292 then they cease to be floating.
3294 2008-06-18 Darin Adler <darin@apple.com>
3296 Reviewed by Mark Rowe.
3300 * css/CSSMutableStyleDeclaration.cpp:
3301 (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
3302 I missed when changing these objects to start with a refcount of 1.
3304 2008-06-18 Timothy Hatcher <timothy@apple.com>
3306 Add a script build phase to remove the WebKit.qrc file from
3307 WebCore's resources. This file is used for the Qt port, but we
3308 copy the whole inspector folder for connivence and get this file.
3310 Reviewed by Adam Roben.
3312 * WebCore.xcodeproj/project.pbxproj: New script phase.
3314 2008-06-18 Timothy Hatcher <timothy@apple.com>
3316 Combine the Web Inspector's JavaScript resources into one large
3317 script file to speed up loading of the Inspector. This is only
3318 done for Release and Production builds.
3320 Reviewed by Adam Roben.
3322 * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source
3323 script build phase that calls combine-javascript-resources and
3324 moves files around in the build directory.
3325 * combine-javascript-resources: Added.
3327 2008-06-18 Rob Buis <buis@kde.org>
3331 https://bugs.webkit.org/show_bug.cgi?id=18786
3332 Once rendered, SVG text elements removed from DOM continue to be displayed
3334 Repaint the text visual rect before removing it.
3336 * rendering/RenderSVGInlineText.cpp:
3337 (WebCore::RenderSVGInlineText::destroy):
3338 * rendering/RenderSVGInlineText.h:
3340 2008-06-18 Christian Dywan <christian@twotoasts.de>
3342 Gtk build fix, brought up by Dirk Schulze.
3344 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
3346 2008-06-17 Beth Dakin <bdakin@apple.com>
3350 This patch removes all instances of the phrase "TextMarker" from
3351 function names in the C++ accessibility code. TextMarkers only
3352 exists in the Objective-C code.
3354 * page/AccessibilityObject.cpp:
3355 (WebCore::AccessibilityObject::visiblePositionRangeForLine):
3356 (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
3357 (WebCore::AccessibilityObject::positionOfLeftWord):
3358 (WebCore::AccessibilityObject::positionOfRightWord):
3359 (WebCore::AccessibilityObject::leftLineVisiblePositionRange):
3360 (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
3361 (WebCore::AccessibilityObject::sentenceForPosition):
3362 (WebCore::AccessibilityObject::paragraphForPosition):
3363 (WebCore::AccessibilityObject::styleRangeForPosition):
3364 (WebCore::AccessibilityObject::visiblePositionRangeForRange):
3365 (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3366 (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
3367 (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
3368 (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
3369 (WebCore::AccessibilityObject::visiblePositionForPoint):
3370 (WebCore::AccessibilityObject::nextVisiblePosition):
3371 (WebCore::AccessibilityObject::previousVisiblePosition):
3372 (WebCore::AccessibilityObject::nextWordEnd):
3373 (WebCore::AccessibilityObject::previousWordStart):
3374 (WebCore::AccessibilityObject::nextLineEndPosition):
3375 (WebCore::AccessibilityObject::previousLineStartPosition):
3376 (WebCore::AccessibilityObject::nextSentenceEndPosition):
3377 (WebCore::AccessibilityObject::previousSentenceStartPosition):
3378 (WebCore::AccessibilityObject::nextParagraphEndPosition):
3379 (WebCore::AccessibilityObject::previousParagraphStartPosition):
3380 (WebCore::AccessibilityObject::visiblePositionForIndex):
3381 (WebCore::AccessibilityObject::accessibilityObjectForPosition):
3382 (WebCore::AccessibilityObject::lineForPosition):
3383 (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange):
3384 (WebCore::AccessibilityObject::index):
3385 (WebCore::AccessibilityObject::doAXRangeForPosition):
3386 (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
3387 (WebCore::AccessibilityObject::doAXLineForIndex):
3388 * page/AccessibilityObject.h:
3389 * page/AccessibilityRenderObject.cpp:
3390 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
3391 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3392 (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
3393 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3394 (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
3395 (WebCore::AccessibilityRenderObject::index):
3396 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
3397 * page/AccessibilityRenderObject.h:
3398 * page/mac/AccessibilityObjectWrapper.mm:
3399 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3400 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3401 (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
3402 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3404 2008-06-17 Mark Rowe <mrowe@apple.com>
3406 Reviewed by Darin Adler.
3408 <rdar://problem/5775802> WebCore should not force use of GCC 4.0.
3410 * WebCore.xcodeproj/project.pbxproj:
3412 2008-06-17 Darin Adler <darin@apple.com>
3416 - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter
3418 - move handling of non-Attr arguments from the code generation script to the DOM
3419 itself (as with every other type of argument)
3421 * bindings/js/JSNodeFilterCustom.cpp:
3422 (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new.
3424 * bindings/objc/DOM.mm:
3425 (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
3426 Use create instead of new.
3427 (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
3430 * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and
3431 the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism:
3432 It's no longer needed for Attr, was not having any effect for VoidCallback, and was
3433 returning false for all other types.
3436 (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when
3437 the attr is 0 -- this matches what the autogenerated bindings did before.
3438 (WebCore::Element::setAttributeNodeNS): Ditto.
3439 (WebCore::Element::removeAttributeNode): Ditto.
3441 * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to
3442 initialize the refcount to 0.
3444 * html/CanvasPattern.h: Made CachedResourceClient base class private in a
3447 2008-06-17 Adam Roben <aroben@apple.com>
3449 Fix <rdar://6016755> Assertion failure when WebView is child of
3452 Reviewed by Ada Chan.
3456 * platform/win/WindowMessageBroadcaster.cpp:
3457 (WebCore::WindowMessageBroadcaster::addListener): Only subclass the
3458 window when we're adding our first listener. Removed an assertion that
3459 an old WNDPROC was returned -- this will be 0 in the case of a
3460 message-only window. Added an assertion to help catch cases where we
3461 try to subclass the window twice.
3462 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an
3463 assertion that is not correct in the message-only window case.
3465 2008-06-17 Adele Peterson <adele@apple.com>
3467 Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
3469 * loader/MediaDocument.cpp:
3470 * loader/MediaDocument.h:
3472 2008-06-17 Adele Peterson <adele@apple.com>
3474 Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
3476 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3478 2008-06-17 Adele Peterson <adele@apple.com>
3482 Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in
3484 * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class.
3485 * GNUmakefile.am: ditto.
3486 * WebCore.pro: ditto.
3487 * WebCore.vcproj/WebCore.vcproj: ditto.
3488 * WebCoreSources.bkl: ditto.
3490 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
3491 Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument
3492 * dom/Document.h: (WebCore::Document::isMediaDocument): Added.
3494 * loader/MediaDocument.cpp: Added.
3495 (WebCore::MediaTokenizer::MediaTokenizer):
3496 (WebCore::MediaTokenizer::wantsRawData):
3497 (WebCore::MediaTokenizer::write):
3498 (WebCore::MediaTokenizer::createDocumentStructure):
3499 (WebCore::MediaTokenizer::writeRawData):
3500 (WebCore::MediaTokenizer::stopParsing):
3501 (WebCore::MediaTokenizer::finish):
3502 (WebCore::MediaTokenizer::isWaitingForScripts):
3503 (WebCore::MediaDocument::MediaDocument):
3504 (WebCore::MediaDocument::createTokenizer):
3505 * loader/MediaDocument.h: Added.
3506 (WebCore::MediaDocument::create):
3507 (WebCore::MediaDocument::isMediaDocument):
3509 * page/InspectorController.cpp: (WebCore::getResourceDocumentNode):
3510 Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument.
3511 * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added.
3512 * platform/graphics/MediaPlayer.h:
3513 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
3514 Instead of checking the html element to decide if the media is audio, check the player.
3515 This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out.
3517 2008-06-17 Timothy Hatcher <timothy@apple.com>
3519 Adds the file name and line number for call frames next to
3520 the function name in the Call Stack pane.
3522 https://bugs.webkit.org/show_bug.cgi?id=19586
3524 Reviewed by Adam Roben.
3526 * English.lproj/localizedStrings.js: Updated strings.
3527 * page/inspector/CallStackSidebarPane.js:
3528 (WebInspector.CallStackSidebarPane.prototype.update): Create a subtitle
3529 based on the URL and line number.
3531 2008-06-17 Timothy Hatcher <timothy@apple.com>
3533 Use accurate call frame title's based on the call frame type.
3535 https://bugs.webkit.org/show_bug.cgi?id=19585
3537 Reviewed by Geoff Garen.
3539 * English.lproj/localizedStrings.js: Updated strings.
3540 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3541 (WebCore::JSJavaScriptCallFrame::evaluate): Removed the isValid()
3542 check since the evaluate() functiondoes the check already.
3543 (WebCore::JSJavaScriptCallFrame::thisObject): Removed the isValid()
3544 check, since thisObject() does the check and returns null if invalid.
3545 (WebCore::JSJavaScriptCallFrame::type): Return a string
3546 based on the enum value of the type.
3547 (WebCore::JSJavaScriptCallFrame::scopeChain): Removed the isValid()
3548 check, since scopeChain() does the check and returns null if invalid.
3549 So just null check scopeChain().
3550 * page/JavaScriptCallFrame.cpp:
3551 (WebCore::JavaScriptCallFrame::type): Return the DebuggerCallFrame::Type.
3552 Return DebuggerCallFrame::UnknownType if the call frame is invalid.
3553 * page/JavaScriptCallFrame.h:
3554 * page/JavaScriptCallFrame.idl: Add the type property.
3555 * page/inspector/CallStackSidebarPane.js:
3556 (WebInspector.CallStackSidebarPane.prototype.update): Check the type
3557 of the call frame to create the correct title.
3558 * page/inspector/ScriptsPanel.js:
3559 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use the
3560 "(program)" title for the file menu to match the call frames.
3562 2008-06-17 Timothy Hatcher <timothy@apple.com>
3564 Remember the expanded state of objects in the Scope Variables pane when stepping.
3565 https://bugs.webkit.org/show_bug.cgi?id=19584
3567 Reviewed by Adam Roben.
3569 * page/inspector/ObjectPropertiesSection.js:
3570 (WebInspector.ObjectPropertiesSection): Add an optional argument
3571 that is the treeElementConstructor to use when making TreeElements.
3572 (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use
3573 the treeElementConstructor to create TreeElements.
3574 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Use
3575 the treeElementConstructor to create TreeElements.
3576 * page/inspector/ScopeChainSidebarPane.js:
3577 (WebInspector.ScopeChainSidebarPane.prototype.update): Create an
3578 _expandedProperties object on the callframe if one doesn't exist yet.
3579 Pass WebInspector.ScopeVariableTreeElement to the ObjectPropertiesSection
3580 as the TreeElement constructor we want to use.
3581 (WebInspector.ScopeVariableTreeElement): Added.
3582 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Expand if the
3583 propertyIdentifier is in the pane's _expandedProperties.
3584 (WebInspector.ScopeVariableTreeElement.prototype.onexpand): Add the
3585 propertyIdentifier to the pane's _expandedProperties.
3586 (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): Remove the
3587 propertyIdentifier from the pane's _expandedProperties.
3588 (WebInspector.ScopeVariableTreeElement.prototype.get propertyIdentifier):
3589 Return an identifier that has the section title, subtile and propertyPath concatenated.
3590 (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath): Return a string
3591 that has the propertyNames up to the root ancestor concatenated with a period.
3593 2008-06-17 Timothy Hatcher <timothy@apple.com>
3595 Focus the mainPanelsElement in a timeout so it happens after the
3596 initial focus, so it doesn't get reset to the first toolbar button.
3597 This initial focus happens on Mac when the window is made key and
3598 the WebHTMLView becomes the first responder.
3600 https://bugs.webkit.org/show_bug.cgi?id=19587
3602 Reviewed by Adele Peterson.
3604 * page/inspector/inspector.js:
3605 (WebInspector.loaded): Focus the mainPanelsElement in a timeout.
3607 2008-06-17 Timothy Hatcher <timothy@apple.com>
3609 Use tabIndex in the Web Inspector for focusable areas.
3610 https://bugs.webkit.org/show_bug.cgi?id=19583
3612 Reviewed by Adam Roben.
3614 * page/inspector/Console.js:
3615 (WebInspector.Console): No longer make the messagesElement
3616 focusable since the engine handles the case for us. The promptElement
3617 now handles the key events.
3618 (WebInspector.Console.prototype.show): Set the current focus element
3619 to the prompt element.
3620 (WebInspector.Console.prototype.hide): Set the current focus element
3621 to WebInspector.previousFocusElement.
3622 (WebInspector.Console.prototype._messagesFocused): Removed.
3623 * page/inspector/DataGrid.js:
3624 (WebInspector.DataGrid): Remove the focusable class.
3625 * page/inspector/DatabaseQueryView.js:
3626 (WebInspector.DatabaseQueryView): Remove the focusable class. Set
3627 tabIndex to 0. The promptElement now handles the key events.
3628 (WebInspector.DatabaseQueryView.prototype._focused): Removed.
3629 * page/inspector/inspector.css: Updated selectors to use :focus
3630 instead of .focused and .blurred.
3631 * page/inspector/inspector.html: Removed focusable, focused and blurred
3632 classes and added tabindex attributes.
3633 * page/inspector/inspector.js:
3634 (WebInspector.get previousFocusElement): Added. Returns _previousFocusElement.
3635 (WebInspector.set currentFocusElement): Simplified. Stores the previous element
3636 in _previousFocusElement for clients that need it. Calls focus on the passed
3637 in element or blur on the previous element.
3638 (WebInspector.loaded): Removed the event listener for mousedown. Renamed
3639 changeFocus to focusChanged.
3640 (WebInspector.focusChanged): Renamed from changeFocus. Just sets the
3641 currentFocusElement to the event target.
3642 (WebInspector.startEditing): Changed to use tabIndex and blur events.
3643 Add a more robust check for restoring focus to the previous element
3644 when editing finishes that catches focused descendants.
3646 2008-06-17 Timothy Hatcher <timothy@apple.com>
3648 Removed redundant if statements and early returns from
3649 AccessibilityRenderObject::ariaRoleAttribute.
3651 Reviewed by Sam Wenig.
3653 * page/AccessibilityRenderObject.cpp:
3654 (AccessibilityRenderObject::ariaRoleAttribute): Removed redundant if
3655 statements and early returns.
3657 2008-06-17 Timothy Hatcher <timothy@apple.com>
3659 Removed duplicate implementations of setTabIndex. They all matched
3660 the HTMLElement::setTabIndex implementation.
3662 Reviewed by Sam Wenig.
3664 * html/HTMLAnchorElement.cpp: Removed setTabIndex.
3665 * html/HTMLAreaElement.cpp: Ditto.
3666 * html/HTMLFormControlElement.cpp: Ditto.
3667 * html/HTMLFormControlElement.h: Ditto.
3668 * html/HTMLObjectElement.cpp: Ditto.
3669 * html/HTMLObjectElement.h: Ditto.
3671 2008-06-17 Darin Adler <darin@apple.com>
3675 - more of https://bugs.webkit.org/show_bug.cgi?id=17257
3676 start ref counts at 1 instead of 0 for speed
3678 Change StyleBase and all classes derived from it.
3680 * bindings/js/JSRGBColor.cpp:
3681 (WebCore::JSRGBColor::getValueProperty):
3682 * bindings/objc/DOMRGBColor.mm:
3683 (-[DOMRGBColor red]):
3684 (-[DOMRGBColor green]):
3685 (-[DOMRGBColor blue]):
3686 (-[DOMRGBColor alpha]):
3687 * css/CSSBorderImageValue.cpp:
3688 (WebCore::CSSBorderImageValue::cssText):
3689 * css/CSSBorderImageValue.h:
3690 (WebCore::CSSBorderImageValue::create):
3691 * css/CSSCanvasValue.h:
3692 (WebCore::CSSCanvasValue::create):
3693 (WebCore::CSSCanvasValue::setName):
3694 (WebCore::CSSCanvasValue::CSSCanvasValue):
3695 * css/CSSCharsetRule.cpp:
3696 (WebCore::CSSCharsetRule::CSSCharsetRule):
3697 * css/CSSCharsetRule.h:
3698 (WebCore::CSSCharsetRule::create):
3699 (WebCore::CSSCharsetRule::encoding):
3700 (WebCore::CSSCharsetRule::isCharsetRule):
3701 (WebCore::CSSCharsetRule::type):
3702 * css/CSSComputedStyleDeclaration.cpp:
3703 (WebCore::valueForShadow):
3704 (WebCore::valueForNinePieceImage):
3705 (WebCore::valueForReflection):
3706 (WebCore::getPositionOffsetValue):
3707 (WebCore::currentColorOrValidColor):
3708 (WebCore::getBorderRadiusCornerValue):
3709 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3710 * css/CSSComputedStyleDeclaration.h:
3711 (WebCore::computedStyle):
3712 * css/CSSCursorImageValue.h:
3713 (WebCore::CSSCursorImageValue::create):
3714 * css/CSSFontFaceRule.cpp:
3715 (WebCore::CSSFontFaceRule::CSSFontFaceRule):
3716 * css/CSSFontFaceRule.h:
3717 (WebCore::CSSFontFaceRule::create):
3718 (WebCore::CSSFontFaceRule::isFontFaceRule):
3719 (WebCore::CSSFontFaceRule::type):
3720 * css/CSSFontFaceSrcValue.h:
3721 (WebCore::CSSFontFaceSrcValue::create):
3722 (WebCore::CSSFontFaceSrcValue::createLocal):
3723 (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
3724 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
3725 * css/CSSGradientValue.h:
3726 (WebCore::CSSGradientColorStop::CSSGradientColorStop):
3727 (WebCore::CSSGradientValue::create):
3728 (WebCore::CSSGradientValue::CSSGradientValue):
3729 * css/CSSImageGeneratorValue.h:
3730 (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
3731 * css/CSSImageValue.h:
3732 (WebCore::CSSImageValue::create):
3733 * css/CSSImportRule.cpp:
3734 (WebCore::CSSImportRule::CSSImportRule):
3735 (WebCore::CSSImportRule::setCSSStyleSheet):
3736 * css/CSSImportRule.h:
3737 (WebCore::CSSImportRule::create):
3738 (WebCore::CSSImportRule::isImportRule):
3739 (WebCore::CSSImportRule::type):
3740 * css/CSSInheritedValue.h:
3741 (WebCore::CSSInheritedValue::create):
3742 (WebCore::CSSInheritedValue::CSSInheritedValue):
3743 * css/CSSInitialValue.h:
3744 (WebCore::CSSInitialValue::createExplicit):
3745 (WebCore::CSSInitialValue::createImplicit):
3746 (WebCore::CSSInitialValue::CSSInitialValue):
3747 * css/CSSMediaRule.cpp:
3748 (WebCore::CSSMediaRule::CSSMediaRule):
3749 * css/CSSMediaRule.h:
3750 (WebCore::CSSMediaRule::create):
3751 (WebCore::CSSMediaRule::isMediaRule):
3752 (WebCore::CSSMediaRule::type):
3753 * css/CSSMutableStyleDeclaration.cpp:
3754 (WebCore::CSSMutableStyleDeclaration::setProperty):
3755 (WebCore::CSSMutableStyleDeclaration::setStringProperty):
3756 * css/CSSMutableStyleDeclaration.h:
3757 (WebCore::CSSMutableStyleDeclaration::create):
3758 * css/CSSPageRule.cpp:
3759 (WebCore::CSSPageRule::CSSPageRule):
3760 * css/CSSPageRule.h:
3761 (WebCore::CSSPageRule::create):
3762 * css/CSSParser.cpp:
3763 (WebCore::CSSParser::parseColor):
3764 (WebCore::CSSParser::parseValue):
3765 (WebCore::CSSParser::addFillValue):
3766 (WebCore::CSSParser::parseFillShorthand):
3767 (WebCore::CSSParser::addTransitionValue):
3768 (WebCore::CSSParser::parseTransitionShorthand):
3769 (WebCore::CSSParser::parseShorthand):
3770 (WebCore::CSSParser::parseContent):
3771 (WebCore::CSSParser::parseBackgroundColor):
3772 (WebCore::CSSParser::parseFillPositionXY):
3773 (WebCore::CSSParser::parseFillPosition):
3774 (WebCore::CSSParser::parseFillSize):
3775 (WebCore::CSSParser::parseFillProperty):
3776 (WebCore::CSSParser::parseTransitionDuration):
3777 (WebCore::CSSParser::parseTransitionRepeatCount):
3778 (WebCore::CSSParser::parseTransitionTimingFunction):
3779 (WebCore::CSSParser::parseTransitionProperty):
3780 (WebCore::CSSParser::parseDashboardRegions):
3781 (WebCore::CSSParser::parseCounterContent):
3782 (WebCore::CSSParser::parseShape):
3783 (WebCore::CSSParser::parseFont):
3784 (WebCore::CSSParser::parseFontFamily):
3785 (WebCore::CSSParser::parseFontFaceSrc):
3786 (WebCore::CSSParser::parseFontFaceUnicodeRange):
3787 (WebCore::ShadowParseContext::commitValue):
3788 (WebCore::ShadowParseContext::commitLength):
3789 (WebCore::CSSParser::parseShadow):
3790 (WebCore::CSSParser::parseReflect):
3791 (WebCore::BorderImageParseContext::commitNumber):
3792 (WebCore::BorderImageParseContext::commitBorderImage):
3793 (WebCore::CSSParser::parseBorderImage):
3794 (WebCore::CSSParser::parseCounter):
3795 (WebCore::parseGradientPoint):
3796 (WebCore::parseGradientColorStop):
3797 (WebCore::CSSParser::parseGradient):
3798 (WebCore::CSSParser::parseCanvas):
3799 (WebCore::CSSParser::parseTransform):
3800 (WebCore::CSSParser::createMediaList):
3801 (WebCore::CSSParser::createCharsetRule):
3802 (WebCore::CSSParser::createImportRule):
3803 (WebCore::CSSParser::createMediaRule):
3804 (WebCore::CSSParser::createStyleRule):
3805 (WebCore::CSSParser::createFontFaceRule):
3806 * css/CSSPrimitiveValue.h:
3807 (WebCore::CSSPrimitiveValue::):
3808 (WebCore::CSSPrimitiveValue::createIdentifier):
3809 (WebCore::CSSPrimitiveValue::createColor):
3810 (WebCore::CSSPrimitiveValue::create):
3811 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3812 (WebCore::CSSPrimitiveValue::isPrimitiveValue):
3813 * css/CSSQuirkPrimitiveValue.h:
3814 (WebCore::CSSQuirkPrimitiveValue::create):
3815 * css/CSSReflectValue.h:
3816 (WebCore::CSSReflectValue::create):
3818 (WebCore::CSSRule::parentRule):
3819 (WebCore::CSSRule::setCssText):
3821 (WebCore::CSSRule::CSSRule):
3822 (WebCore::CSSRule::isRule):
3823 * css/CSSStyleDeclaration.cpp:
3824 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
3825 * css/CSSStyleDeclaration.h:
3826 * css/CSSStyleRule.cpp:
3827 (WebCore::CSSStyleRule::CSSStyleRule):
3828 * css/CSSStyleRule.h:
3829 (WebCore::CSSStyleRule::create):
3830 (WebCore::CSSStyleRule::isStyleRule):
3831 (WebCore::CSSStyleRule::type):
3832 * css/CSSStyleSelector.cpp:
3833 (WebCore::CSSStyleSelector::CSSStyleSelector):
3834 (WebCore::parseUASheet):
3835 (WebCore::CSSRuleSet::addRulesFromSheet):
3836 (WebCore::CSSStyleSelector::applyProperty):
3837 * css/CSSStyleSheet.cpp:
3838 (WebCore::CSSStyleSheet::checkLoaded):
3839 * css/CSSStyleSheet.h:
3840 (WebCore::CSSStyleSheet::create):
3841 (WebCore::CSSStyleSheet::isCSSStyleSheet):
3842 (WebCore::CSSStyleSheet::type):
3843 * css/CSSTimingFunctionValue.h:
3844 (WebCore::CSSTimingFunctionValue::create):
3845 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3846 (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
3847 * css/CSSTransformValue.cpp:
3848 (WebCore::CSSTransformValue::CSSTransformValue):
3849 (WebCore::CSSTransformValue::~CSSTransformValue):
3850 (WebCore::CSSTransformValue::addValue):
3851 (WebCore::CSSTransformValue::cssText):
3852 * css/CSSTransformValue.h:
3853 (WebCore::CSSTransformValue::create):
3854 * css/CSSUnicodeRangeValue.h:
3855 (WebCore::CSSUnicodeRangeValue::create):
3856 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3857 * css/CSSUnknownRule.h:
3859 (WebCore::CSSValue::isImageGeneratorValue):
3860 (WebCore::CSSValue::isImageValue):
3861 (WebCore::CSSValue::isPrimitiveValue):
3862 (WebCore::CSSValue::isValueList):
3863 (WebCore::CSSValue::isSVGColor):
3864 (WebCore::CSSValue::isSVGPaint):
3865 (WebCore::CSSValue::CSSValue):
3866 * css/CSSValueList.h:
3867 (WebCore::CSSValueList::createCommaSeparated):
3868 (WebCore::CSSValueList::createSpaceSeparated):
3869 (WebCore::CSSValueList::isValueList):
3870 * css/FontFamilyValue.h:
3871 (WebCore::FontFamilyValue::create):
3873 (WebCore::FontValue::create):
3874 (WebCore::FontValue::FontValue):
3875 (WebCore::FontValue::isFontValue):
3876 * css/MediaList.cpp:
3877 (WebCore::MediaList::MediaList):
3878 (WebCore::MediaList::deleteMedium):
3879 (WebCore::MediaList::setMediaText):
3881 (WebCore::MediaList::create):
3882 (WebCore::MediaList::createAllowingDescriptionSyntax):
3883 (WebCore::MediaList::length):
3884 (WebCore::MediaList::mediaQueries):
3885 * css/MediaQueryEvaluator.cpp:
3886 (WebCore::MediaQueryEvaluator::eval):
3887 * css/MediaQueryExp.cpp:
3888 (WebCore::MediaQueryExp::MediaQueryExp):
3889 * css/SVGCSSComputedStyleDeclaration.cpp:
3890 (WebCore::glyphOrientationToCSSPrimitiveValue):
3891 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3892 * css/SVGCSSParser.cpp:
3893 (WebCore::CSSParser::parseSVGValue):
3894 (WebCore::CSSParser::parseSVGStrokeDasharray):
3895 (WebCore::CSSParser::parseSVGPaint):
3896 (WebCore::CSSParser::parseSVGColor):
3897 * css/ShadowValue.h:
3898 (WebCore::ShadowValue::create):
3900 (WebCore::StyleBase::isCSSStyleSheet):
3901 (WebCore::StyleBase::isFontFaceRule):
3902 (WebCore::StyleBase::isRule):
3903 (WebCore::StyleBase::isStyleRule):
3904 (WebCore::StyleBase::isStyleSheet):
3905 (WebCore::StyleBase::isXSLStyleSheet):
3906 (WebCore::StyleBase::StyleBase):
3907 * css/StyleList.cpp:
3909 (WebCore::StyleList::StyleList):
3911 (WebCore::StyleSheet::styleSheetChanged):
3912 (WebCore::StyleSheet::isStyleSheet):
3913 * dom/CSSMappedAttributeDeclaration.h:
3914 (WebCore::CSSMappedAttributeDeclaration::create):
3915 (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
3916 * dom/DOMImplementation.cpp:
3917 (WebCore::DOMImplementation::createCSSStyleSheet):
3919 (WebCore::Document::createCSSStyleDeclaration):
3920 (WebCore::Document::setCSSStyleSheet):
3921 (WebCore::Document::elementSheet):
3922 (WebCore::Document::mappedElementSheet):
3923 (WebCore::Document::recalcStyleSelector):
3925 (WebCore::Node::querySelector):
3926 (WebCore::Node::querySelectorAll):
3928 (WebCore::Position::computedStyle):
3929 * dom/ProcessingInstruction.cpp:
3930 (WebCore::ProcessingInstruction::checkStyleSheet):
3931 (WebCore::ProcessingInstruction::setCSSStyleSheet):
3932 (WebCore::ProcessingInstruction::setXSLStyleSheet):
3933 * dom/ProcessingInstruction.h:
3934 * dom/StyleElement.cpp:
3935 (WebCore::StyleElement::createSheet):
3936 * dom/StyledElement.cpp:
3937 (WebCore::StyledElement::createInlineStyleDecl):
3938 (WebCore::StyledElement::createMappedDecl):
3939 * editing/ApplyStyleCommand.cpp:
3940 (WebCore::ApplyStyleCommand::ApplyStyleCommand):
3941 (WebCore::hasTextDecorationProperty):
3942 (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
3943 * editing/CompositeEditCommand.cpp:
3944 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
3945 * editing/DeleteSelectionCommand.cpp:
3946 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
3947 * editing/Editor.cpp:
3948 (WebCore::Editor::selectionHasStyle):
3949 (WebCore::Editor::setBaseWritingDirection):
3950 * editing/EditorCommand.cpp:
3951 (WebCore::executeApplyStyle):
3952 (WebCore::executeToggleStyle):
3953 (WebCore::executeApplyParagraphStyle):
3954 (WebCore::stateStyle):
3955 * editing/InsertParagraphSeparatorCommand.cpp:
3956 (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
3957 * editing/RemoveFormatCommand.cpp:
3958 (WebCore::RemoveFormatCommand::doApply):
3959 * editing/ReplaceSelectionCommand.cpp:
3960 (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3961 * editing/markup.cpp:
3962 (WebCore::styleFromMatchedRulesForElement):
3963 (WebCore::appendStartMarkup):
3964 * html/HTMLBodyElement.cpp:
3965 (WebCore::HTMLBodyElement::createLinkDecl):
3966 * html/HTMLLinkElement.cpp:
3967 (WebCore::HTMLLinkElement::process):
3968 (WebCore::HTMLLinkElement::setCSSStyleSheet):
3969 * html/HTMLMediaElement.cpp:
3970 (WebCore::HTMLMediaElement::pickMedia):
3971 * html/HTMLTableElement.cpp:
3972 (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
3973 (WebCore::HTMLTableElement::addSharedCellBordersDecl):
3974 (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
3975 (WebCore::HTMLTableElement::addSharedGroupDecls):
3976 * page/DOMWindow.cpp:
3977 (WebCore::DOMWindow::getComputedStyle):
3979 (WebCore::Frame::computeAndSetTypingStyle):
3980 (WebCore::Frame::selectionComputedStyle):
3982 * rendering/style/RenderStyle.cpp:
3983 (WebCore::StyleCachedImage::cssValue):
3984 * rendering/style/RenderStyle.h:
3986 (WebCore::SVGColor::create):
3987 (WebCore::SVGColor::isSVGColor):
3988 * svg/SVGFontFaceElement.cpp:
3989 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3990 (WebCore::SVGFontFaceElement::rebuildFontFace):
3991 * svg/SVGFontFaceNameElement.cpp:
3992 (WebCore::SVGFontFaceNameElement::srcValue):
3993 * svg/SVGFontFaceSrcElement.cpp:
3994 (WebCore::SVGFontFaceSrcElement::srcValue):
3995 * svg/SVGFontFaceUriElement.cpp:
3996 (WebCore::SVGFontFaceUriElement::srcValue):
3998 (WebCore::SVGPaint::SVGPaint):
4000 (WebCore::SVGPaint::create):
4001 (WebCore::SVGPaint::isSVGPaint):
4002 * svg/animation/SMILTimeContainer.cpp:
4003 (WebCore::SMILTimeContainer::baseValueFor):
4004 * xml/XSLImportRule.cpp:
4005 (WebCore::XSLImportRule::XSLImportRule):
4006 (WebCore::XSLImportRule::setXSLStyleSheet):
4007 * xml/XSLImportRule.h:
4008 (WebCore::XSLImportRule::create):
4009 (WebCore::XSLImportRule::href):
4010 (WebCore::XSLImportRule::isImportRule):
4011 * xml/XSLStyleSheet.cpp:
4012 (WebCore::XSLStyleSheet::checkLoaded):
4013 (WebCore::XSLStyleSheet::loadChildSheet):
4014 * xml/XSLStyleSheet.h:
4015 (WebCore::XSLStyleSheet::create):
4016 (WebCore::XSLStyleSheet::createEmbedded):
4017 * xml/XSLTProcessor.cpp:
4018 (WebCore::xsltStylesheetPointer):
4020 2008-06-17 Michelangelo De Simone <m.des@mac.com>
4024 Fix for https://bugs.webkit.org/show_bug.cgi?id=18887
4025 Added support for autofocus controls.
4027 When authors specify the "autofocus" attribute on form controls these
4028 acquire focus automatically as the document is rendered.
4030 Tests: fast/forms/autofocus-attribute.html
4031 fast/forms/autofocus-opera-001.html
4032 fast/forms/autofocus-opera-002.html
4033 fast/forms/autofocus-opera-003.html
4034 fast/forms/autofocus-opera-004.html
4035 fast/forms/autofocus-opera-005.html
4036 fast/forms/autofocus-opera-006.html
4037 fast/forms/autofocus-opera-007.html
4038 fast/forms/autofocus-opera-008.html
4040 * dom/Document.cpp: (WebCore::Document::Document): Initialize the flag to ignore autofocus.
4042 * html/HTMLAttributeNames.in:
4043 * html/HTMLButtonElement.idl:
4044 * html/HTMLFormControlElement.cpp:
4045 (WebCore::HTMLFormControlElement::attach): Sets focus onto the appropriate "autofocus" control
4046 (WebCore::HTMLFormControlElement::autofocus): Autofocus attribute getter
4047 (WebCore::HTMLFormControlElement::setAutofocus): Autofocus attribute setter
4048 * html/HTMLFormControlElement.h:
4049 * html/HTMLInputElement.idl:
4050 * html/HTMLSelectElement.idl:
4051 * html/HTMLTextAreaElement.idl:
4052 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setUserEdited):
4053 Sets the "ignore autofocus" flag on document if the user edited the control.
4054 * rendering/RenderTextControl.h:
4056 2008-06-17 Alp Toker <alp@nuanti.com>
4058 Reviewed by Dave Hyatt and Mark Rowe.
4060 https://bugs.webkit.org/show_bug.cgi?id=19190
4061 [CAIRO] Canvas rendered as black
4063 Make sure the frame alpha transparency flag is set to true unless
4064 we're certain the image data is solid and can be blitted, since the
4065 Cairo backend implements a fast-path for blittable BitmapImages.
4067 Thanks to Dirk Schulze for helping to track down this problem.
4069 * platform/graphics/BitmapImage.cpp:
4070 (WebCore::BitmapImage::frameHasAlphaAtIndex):
4071 * platform/graphics/cairo/ImageCairo.cpp:
4072 (WebCore::BitmapImage::BitmapImage):
4073 * platform/graphics/cg/ImageCG.cpp:
4074 (WebCore::BitmapImage::BitmapImage):
4076 2008-06-17 Ariya Hidayat <ariya.hidayat@trolltech.com>
4080 Fix the Qt port by adding ExecState when necessary.
4082 * bridge/qt/qt_instance.cpp:
4083 (KJS::Bindings::QtInstance::getPropertyNames):
4084 (KJS::Bindings::QtInstance::invokeDefaultMethod):
4085 * bridge/qt/qt_runtime.cpp:
4086 (KJS::Bindings::convertValueToQVariant):
4087 (KJS::Bindings::convertQVariantToValue):
4088 (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
4089 (KJS::Bindings::QtConnectionObject::execute):
4091 2008-06-17 David Hyatt <hyatt@apple.com>
4093 Fix for slow performance on CSS selector tests at:
4095 http://jpsykes.com/153/more-css-performance-testing-pt-2
4097 Fix <style> element processing so that we don't reparse the entire stylesheet as chunks come in from
4098 the network (since this is O(n^2)). Wait for the parser to deliver all of the data before we
4099 process the sheet for the first time.
4103 * html/HTMLStyleElement.cpp:
4104 (WebCore::HTMLStyleElement::finishParsingChildren):
4105 (WebCore::HTMLStyleElement::childrenChanged):
4107 2008-06-16 Dan Bernstein <mitz@apple.com>
4109 Reviewed by Justin Garcia.
4111 - fix <rdar://problem/5973313> REGRESSION (r32508): Down arrow doesn't change caret with non-user entered newlines in textareas
4113 Test: editing/selection/after-line-break.html
4116 (WebCore::Position::getInlineBoxAndOffset): Changed to not include the
4117 position after a line break in its line box, because that position is
4118 actually on the next line.
4120 2008-06-16 Alexey Proskuryakov <ap@webkit.org>
4122 Reviewed by Geoff Garen.
4124 Make Identifier construction use an explicitly passed IdentifierTable.
4126 * platform/text/AtomicString.cpp:
4127 * platform/text/AtomicString.h:
4128 * platform/text/PlatformString.h:
4129 * platform/text/String.cpp:
4130 Removed "operator KJS::Identifier".
4132 * bindings/js/JSCustomSQLStatementCallback.cpp:
4133 (WebCore::JSCustomSQLStatementCallback::handleEvent):
4134 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4135 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
4136 * bindings/js/JSCustomSQLTransactionCallback.cpp:
4137 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
4138 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4139 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
4140 * bindings/js/JSCustomVoidCallback.cpp:
4141 (WebCore::JSCustomVoidCallback::handleEvent):
4142 * bindings/js/JSCustomXPathNSResolver.cpp:
4143 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
4144 * bindings/js/JSDOMWindowBase.cpp:
4145 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
4146 (WebCore::JSDOMWindowBase::updateDocument):
4147 (WebCore::createWindow):
4148 (WebCore::showModalDialog):
4149 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
4150 (WebCore::JSDOMWindowBase::put):
4151 (WebCore::JSDOMWindowBase::clear):
4152 * bindings/js/JSDOMWindowCustom.cpp:
4153 (WebCore::JSDOMWindow::setLocation):
4154 * bindings/js/JSDOMWindowCustom.h:
4155 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
4156 * bindings/js/JSEventListener.cpp:
4157 (WebCore::JSAbstractEventListener::handleEvent):
4158 (WebCore::JSLazyEventListener::parseCode):
4159 * bindings/js/JSEventTargetBase.h: